mirror of
https://github.com/sensebox/blockly-app
synced 2025-07-05 22:30:21 +02:00
id's are applied to sketch after saving
This commit is contained in:
parent
8439f7581f
commit
28baa05d78
4 changed files with 75 additions and 66 deletions
|
@ -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…
Add table
Reference in a new issue