From 28baa05d78894aa1f5728db5dcec6a50d8b56b71 Mon Sep 17 00:00:00 2001 From: Thiemann96 Date: Mon, 17 Feb 2020 16:12:18 +0100 Subject: [PATCH] id's are applied to sketch after saving --- src/pages/add-item/add-item.html | 7 +- src/pages/add-item/add-item.ts | 5 +- src/pages/configuration/configuration.html | 2 +- src/pages/configuration/configuration.ts | 127 ++++++++++++--------- 4 files changed, 75 insertions(+), 66 deletions(-) diff --git a/src/pages/add-item/add-item.html b/src/pages/add-item/add-item.html index bb6f849..8d7f7e1 100644 --- a/src/pages/add-item/add-item.html +++ b/src/pages/add-item/add-item.html @@ -13,7 +13,7 @@ - Type + Typ HDC1080(Air temperature & relative humidity) BMP280(Air pressure) @@ -25,11 +25,6 @@ - - Description - - - Sensor ID diff --git a/src/pages/add-item/add-item.ts b/src/pages/add-item/add-item.ts index fb4a8b3..c492466 100644 --- a/src/pages/add-item/add-item.ts +++ b/src/pages/add-item/add-item.ts @@ -16,14 +16,13 @@ import { IonicPage, NavController, ViewController } from 'ionic-angular'; export class AddItemPage { title:string; - type:string; + typ:string; id:string; constructor(public navCtrl: NavController, public view: ViewController) { } saveSensor(){ let newSensor = { - title:this.title, - type:this.type, + typ:this.typ, id:this.id } this.view.dismiss(newSensor); diff --git a/src/pages/configuration/configuration.html b/src/pages/configuration/configuration.html index 8643788..98aaa40 100644 --- a/src/pages/configuration/configuration.html +++ b/src/pages/configuration/configuration.html @@ -44,7 +44,7 @@ - {{sensor.title}} {{sensor.id}} + {{sensor.typ}} {{sensor.id}} diff --git a/src/pages/configuration/configuration.ts b/src/pages/configuration/configuration.ts index c74ca79..c9b8058 100644 --- a/src/pages/configuration/configuration.ts +++ b/src/pages/configuration/configuration.ts @@ -1,5 +1,5 @@ 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 { HttpClient } from '@angular/common/http'; import { AddItemPage } from '../add-item/add-item'; @@ -17,19 +17,19 @@ import { SensorDetailPage } from '../sensor-detail/sensor-detail'; templateUrl: 'configuration.html', }) export class ConfigurationPage { - public sensors=[]; - temp : string; - humi : string; - lux : string; - uv : string; - pm10 : string; - pm25 : string; - ssid:string; - pw:string; - pressure:string; - rain:string; - senseboxid:string; - constructor(public navCtrl: NavController, public navParams: NavParams,private http:HttpClient,public modalCtrl:ModalController) { + public sensors = []; + temp: string; + humi: string; + lux: string; + uv: string; + pm10: string; + pm25: string; + ssid: string; + pw: string; + pressure: string; + rain: string; + senseboxid: string; + constructor(public navCtrl: NavController, public navParams: NavParams, private http: HttpClient, public modalCtrl: ModalController) { } applyTemplate(template, properties) { @@ -39,49 +39,64 @@ export class ConfigurationPage { returnValue += templateFragments[0]; for (var i = 1; i < templateFragments.length; i++) { - var fragmentSections = templateFragments[i].split("}@", 2); - returnValue += properties[fragmentSections[0]]; - returnValue += fragmentSections[1]; - } + var fragmentSections = templateFragments[i].split("}@", 2); + returnValue += properties[fragmentSections[0]]; + returnValue += fragmentSections[1]; + } return returnValue; -} - async uploadStandardSketch(){ + } + uploadStandardSketch() { var values = { SSID: this.ssid, - PASSWORD:this.pw, - INGRESS_DOMAIN:"ingress.opensensemap.org", - SENSEBOX_ID:this.senseboxid, - defineSensors:this.buildDefines(), - 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 - + PASSWORD: this.pw, + INGRESS_DOMAIN: "ingress.opensensemap.org", + SENSEBOX_ID: this.senseboxid, + defineSensors: this.buildDefines(), + NUM_SENSORS: this.sensors.length, }; - this.http.get("assets/templates/homev2Wifi.tpl",{responseType:"text"}).subscribe(data=>{ - let sketch = this.applyTemplate(data,values); + this.sensors.map((sensor)=>{ + 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) - this.navCtrl.push(OtaWizardPage, { sketch }) + this.navCtrl.push(OtaWizardPage, { sketch }) }) } - buildDefines(){ - let defineString ="" - this.sensors.map((sensor)=>{ - defineString+="#define "+sensor.type+"_CONNECTED\n" + buildDefines() { + let defineString = "" + this.sensors.map((sensor) => { + defineString += "#define " + sensor.typ + "_CONNECTED\n" }) return defineString; } - addSensor(){ + addSensor() { let addModal = this.modalCtrl.create(AddItemPage); - addModal.onDidDismiss((sensor)=>{ - if(sensor){ + addModal.onDidDismiss((sensor) => { + if (sensor) { this.saveSensor(sensor); } }) @@ -90,26 +105,26 @@ export class ConfigurationPage { } - saveSensor(sensor){ + saveSensor(sensor) { this.sensors.push(sensor); // add define statements } - - viewSensor(sensor){ - this.navCtrl.push(SensorDetailPage,{ - sensor:sensor + + viewSensor(sensor) { + this.navCtrl.push(SensorDetailPage, { + sensor: sensor }) } - removeSensor(sensor){ - this.sensors = this.sensors.filter((sensorF)=>{ - return sensor!=sensorF - }) - } + removeSensor(sensor) { + this.sensors = this.sensors.filter((sensorF) => { + return sensor != sensorF + }) + } ionViewDidLoad() { - this.sensors =[ - {title:"Temperatur",type:"HDC1080",id:"09327523"}, + this.sensors = [ + { typ: "HDC1080", id: "5bb610bf043f3f001b6a4c55" }, ] }