id's are applied to sketch after saving

development
Thiemann96 5 years ago
parent 8439f7581f
commit 28baa05d78

@ -13,7 +13,7 @@
<ion-list> <ion-list>
<ion-item> <ion-item>
<ion-label floating>Type</ion-label> <ion-label floating>Typ</ion-label>
<ion-select [(ngModel)]="typ"> <ion-select [(ngModel)]="typ">
<ion-option value="HDC1080">HDC1080(Air temperature & relative humidity)</ion-option> <ion-option value="HDC1080">HDC1080(Air temperature & relative humidity)</ion-option>
<ion-option value="BMP280">BMP280(Air pressure)</ion-option> <ion-option value="BMP280">BMP280(Air pressure)</ion-option>
@ -25,11 +25,6 @@
</ion-select> </ion-select>
</ion-item> </ion-item>
<ion-item>
<ion-label floating>Description</ion-label>
<ion-input type="text" [(ngModel)]="type"></ion-input>
</ion-item>
<ion-item> <ion-item>
<ion-label floating>Sensor ID</ion-label> <ion-label floating>Sensor ID</ion-label>

@ -16,14 +16,13 @@ import { IonicPage, NavController, ViewController } from 'ionic-angular';
export class AddItemPage { export class AddItemPage {
title:string; title:string;
type:string; typ:string;
id:string; id:string;
constructor(public navCtrl: NavController, public view: ViewController) { constructor(public navCtrl: NavController, public view: ViewController) {
} }
saveSensor(){ saveSensor(){
let newSensor = { let newSensor = {
title:this.title, typ:this.typ,
type:this.type,
id:this.id id:this.id
} }
this.view.dismiss(newSensor); this.view.dismiss(newSensor);

@ -44,7 +44,7 @@
<ion-row *ngFor="let sensor of sensors;let i=index;let last = last;let first=first" > <ion-row *ngFor="let sensor of sensors;let i=index;let last = last;let first=first" >
<ion-col col-8> <ion-col col-8>
<ion-item (click)="viewSensor(sensor)"> <ion-item (click)="viewSensor(sensor)">
<ion-label>{{sensor.title}} {{sensor.id}}</ion-label> <ion-label>{{sensor.typ}} {{sensor.id}}</ion-label>
</ion-item> </ion-item>
</ion-col> </ion-col>
<ion-col *ngIf="!first" col-2> <ion-col *ngIf="!first" col-2>

@ -1,5 +1,5 @@
import { Component, } from '@angular/core'; import { Component, } from '@angular/core';
import { IonicPage, NavController, NavParams, ModalController} from 'ionic-angular'; import { IonicPage, NavController, NavParams, ModalController } from 'ionic-angular';
import { OtaWizardPage } from '../ota-wizard/ota-wizard'; import { OtaWizardPage } from '../ota-wizard/ota-wizard';
import { HttpClient } from '@angular/common/http'; import { HttpClient } from '@angular/common/http';
import { AddItemPage } from '../add-item/add-item'; import { AddItemPage } from '../add-item/add-item';
@ -17,19 +17,19 @@ import { SensorDetailPage } from '../sensor-detail/sensor-detail';
templateUrl: 'configuration.html', templateUrl: 'configuration.html',
}) })
export class ConfigurationPage { export class ConfigurationPage {
public sensors=[]; public sensors = [];
temp : string; temp: string;
humi : string; humi: string;
lux : string; lux: string;
uv : string; uv: string;
pm10 : string; pm10: string;
pm25 : string; pm25: string;
ssid:string; ssid: string;
pw:string; pw: string;
pressure:string; pressure: string;
rain:string; rain: string;
senseboxid:string; senseboxid: string;
constructor(public navCtrl: NavController, public navParams: NavParams,private http:HttpClient,public modalCtrl:ModalController) { constructor(public navCtrl: NavController, public navParams: NavParams, private http: HttpClient, public modalCtrl: ModalController) {
} }
applyTemplate(template, properties) { applyTemplate(template, properties) {
@ -39,49 +39,64 @@ export class ConfigurationPage {
returnValue += templateFragments[0]; returnValue += templateFragments[0];
for (var i = 1; i < templateFragments.length; i++) { for (var i = 1; i < templateFragments.length; i++) {
var fragmentSections = templateFragments[i].split("}@", 2); var fragmentSections = templateFragments[i].split("}@", 2);
returnValue += properties[fragmentSections[0]]; returnValue += properties[fragmentSections[0]];
returnValue += fragmentSections[1]; returnValue += fragmentSections[1];
} }
return returnValue; return returnValue;
} }
async uploadStandardSketch(){ uploadStandardSketch() {
var values = { var values = {
SSID: this.ssid, SSID: this.ssid,
PASSWORD:this.pw, PASSWORD: this.pw,
INGRESS_DOMAIN:"ingress.opensensemap.org", INGRESS_DOMAIN: "ingress.opensensemap.org",
SENSEBOX_ID:this.senseboxid, SENSEBOX_ID: this.senseboxid,
defineSensors:this.buildDefines(), defineSensors: this.buildDefines(),
NUM_SENSORS:this.sensors.length, NUM_SENSORS: this.sensors.length,
TEMPERSENSOR_ID:this.temp,
RELLUFSENSOR_ID:this.humi,
BELEUCSENSOR_ID:this.lux,
UVINTESENSOR_ID:this.uv,
LUFTDRSENOSR_ID:this.pressure,
REGENMSENSOR_ID:this.rain,
PM10SENSOR_ID:this.pm10,
PM25SENSOR_ID:this.pm25
}; };
this.http.get("assets/templates/homev2Wifi.tpl",{responseType:"text"}).subscribe(data=>{ this.sensors.map((sensor)=>{
let sketch = this.applyTemplate(data,values); switch (sensor.typ) {
case "HDC1080":
values["TEMPERSENSOR_ID"] = sensor.id
values["RELLUFSENSOR_ID"] = sensor.id2
break;
case "BMP280":
values["LUFTDRSENSOR_ID"] = sensor.id
break;
case "TSL45315":
values["BELEUCSENSOR_ID"] = sensor.id
break;
case "VEML6070":
values["UVINTESENSOR_ID"] = sensor.id
break;
case "SDS1001":
values["PM10SENSORID"] = sensor.id
values["PM25SENSOR_ID"] = sensor.id2
break;
default:
break;
}
})
this.http.get("assets/templates/homev2Wifi.tpl", { responseType: "text" }).subscribe(data => {
let sketch = this.applyTemplate(data, values);
console.log(sketch) console.log(sketch)
this.navCtrl.push(OtaWizardPage, { sketch }) this.navCtrl.push(OtaWizardPage, { sketch })
}) })
} }
buildDefines(){ buildDefines() {
let defineString ="" let defineString = ""
this.sensors.map((sensor)=>{ this.sensors.map((sensor) => {
defineString+="#define "+sensor.type+"_CONNECTED\n" defineString += "#define " + sensor.typ + "_CONNECTED\n"
}) })
return defineString; return defineString;
} }
addSensor(){ addSensor() {
let addModal = this.modalCtrl.create(AddItemPage); let addModal = this.modalCtrl.create(AddItemPage);
addModal.onDidDismiss((sensor)=>{ addModal.onDidDismiss((sensor) => {
if(sensor){ if (sensor) {
this.saveSensor(sensor); this.saveSensor(sensor);
} }
}) })
@ -90,26 +105,26 @@ export class ConfigurationPage {
} }
saveSensor(sensor){ saveSensor(sensor) {
this.sensors.push(sensor); this.sensors.push(sensor);
// add define statements // add define statements
} }
viewSensor(sensor){ viewSensor(sensor) {
this.navCtrl.push(SensorDetailPage,{ this.navCtrl.push(SensorDetailPage, {
sensor:sensor sensor: sensor
}) })
} }
removeSensor(sensor){ removeSensor(sensor) {
this.sensors = this.sensors.filter((sensorF)=>{ this.sensors = this.sensors.filter((sensorF) => {
return sensor!=sensorF return sensor != sensorF
}) })
} }
ionViewDidLoad() { ionViewDidLoad() {
this.sensors =[ this.sensors = [
{title:"Temperatur",type:"HDC1080",id:"09327523"}, { typ: "HDC1080", id: "5bb610bf043f3f001b6a4c55" },
] ]
} }

Loading…
Cancel
Save