id's are applied to sketch after saving

development
Thiemann96 5 years ago
parent 8439f7581f
commit 28baa05d78

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

@ -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);

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

@ -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 })
})
}
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" },
]
}

Loading…
Cancel
Save