Seite 1 von 1

"undefined" Value beim erstellen von Blockly

Verfasst: 15. Apr 2023 08:03
von Norick
ich möchte von einem Gerät dass ich per serieller Schnittstell angeschlossen habe den Wert auslesen. Das Gerät schickt die Daten welche ich schon einlesen kann. Nun habe ich dazu ein Blockly erstellt dass so aussieht:
Block.PNG

Der code zeigt mir dann dies:

Code: Alles auswählen

var WetterstationData, Aussentemperatur;

if (typeof this.storedValues === 'undefined') {
  this.storedValues = [];
}


WetterstationData = itemRegistry.getItem('Wetterstation_Dach_Datastream');
this.storedValues[Aussentemperatur] = (WetterstationData.slice(0, 6));
events.sendCommand(WetterstationData, WetterstationData);
print(Aussentemperatur);

Was heisst hier den "undefined"? Muss ich hier noch zusätzlich irgendwo eine Variable lokal speichern oder?


Danke

Re: "undefined" Value beim erstellen von Blockly

Verfasst: 15. Apr 2023 12:18
von udo1toni
.storedValues sind "Variablen" die über die Laufzeit einer Rule hinaus aufbewahrt werden. Das machst Du mit dem store value Block.
Bevor Du diesen nutzen kannst, muss er initialisiert werden. Das muss aber nur bei der ersten Nutzung der Rule passieren (nachdem openHAB gestartet wurde). Deshalb prüft Blockly zu BEginn der Rule automatisch, ob der Bereich bereits definiert ist. Ist das nicht der Fall, initialisiert es den Speicherbereich.