Erklärung Variablen
@VALUE@
Der Platzhalter @VALUE@ wird verwendet um einen Wert aus dem Element weiterzugeben:
- AO:
Hier wird die Variable durch eine Ganze Zahl ersetzt (0,1,2,3,4, …) - DO:
Hier wird die Variable durch 0 oder 1 ersetzt (bei >1 wird eine 1 ausgegeben)
@VALUE:0[false],1[true]@
Dieser Platzhalter wird verwendet, um die Werte „true“ oder „false“ anstatt den standardmäßigen „0“ und „1“ zu verschicken:
- Wörtern:
@VALUE:0[false],1[true]@ Hier wird die Variable mit dem übergebenen Wert als AO oder DO als Text ersetzt. Bsp.:
Bei einer 0 wird false eingesetzt
Bei einer 1 wird true eingesetzt
TEXT@Parameter=@VALUE@
Diese Form wird vor Allem für das Einlesen von Werten als AI (analoger Input) verwendet. Der Platzhalter @VALUE@ ersetzt die Zahl nach dem Parameter/Text:
Bsp.: | Hka_Mw1.sWirkleistung=5,67 |
TEXT@Hka_Mw1.sWirkleistung=@VALUE@ |
JSON@VALUE
Dieser Parameter wird zum Suchen eines Wertes in einem JSON-Objekt verwendet. Der Platzhalter VALUE wird mit dem gewünschtem Suchobjekt ersetzt. Für eine detaillierte Beschreibung der auslesbaren JSON und die dazu benötigten Query API des Controllers konsultieren Sie das Handbuch zu „myGEKKO Query API“.
Bsp.: | JSON@twilight.status |
Der gefundene Wert wird umgewandelt, sodass dieser als AI verwendet werden kann. |
Bsp.: | JSON@item0.sumstate.value[0] JSON@temperatures[0].value JSON@lights.sumstate[3].value[0] |
Arrays (Felder an Werten) können mit eckigen Klammern [ ] abgerufen werden. Beachten Sie dass Array-Nummerierungen bei 0 starten. Arrays können auch ineinander verschaltelt sein. |
JSON@FIELD@VALUE
Diese Form dient dazu im JSON Objekt nach dem Feld „FIELD“ zu suchen und dessen Wert mit „VALUE“ zu vergleichen. Sofern der Wert übereinstimmt, so wird eine 1 zurückgegeben, ansonsten eine 0.
Bsp.: | JSON@status.effect@none |
Sucht in diesem Objekt nach dem Feld „status.effect“. Ist der Wert dieses Objektes „none“ so wird das Ergebnis auf 1 ansonsten auf 0 gesetzt.Der gefundene Wert wird umgewandelt, sodass dieser als AI verwendet werden kann. |
Beispiele
- TEXT@conn-state:
Wertet z.B. aus ob die Antwort aus dem Text conn_state besteht und setzt dementsprechend den Wert auf 1 bzw. auf 0. - JSON@twilight.status:
Nimmt als Antwort ein JSON Objekt und sucht in diesem Objekt nach dem Feld „twilight.status“ und wandelt diesen Wert um, sodass dieser als AI verwendet werden kann. Gültig sind sämtliche numerischen Werte sowie auch True/False. - JSON@temperatures[0].value:
Befindet sich im JSON-Objekt ein Array, kann dieser Ausdruck verwendet werden um ein spezifisches Feld auszulesen. - JSON@lights.item0.sumstate.value[1]:
Ein bestimmter Wert in einem Array kann so ausgelesen werden. - JSON@status.effect@none:
Nimmt als Antwort ein JSON Objekt und sucht in diesem Objekt nach dem Feld „status.effect“. Ist der Wert dieses Objektes „none“ so wird das Ergebnis auf 1 ansonsten auf 0 gesetzt. - TEXT@Hka_Mw1.sWirkleistung=@VALUE@:
Wertet die Zahl nach dem Parameter „Hka_Mw1.sWirkleistung=“ aus und wandelt diese entsprechend um und kann in einem AI genutzt werden. Bsp.: Hka_Mw1.sWirkleistung=5,67