OK, das habe ich verstanden. Ich ging zunächst davon aus, dass es ein anderer Weg sei, als über die betreffende Node (rpc event).
Trotzdem nochmal die Frage: Nodes, wie "value", "get value" oder auch "switch", greifen doch auch auf Datenpunkte zu, und das auch, ohne dass im "cpu-connection-node" die Einstellung für den context store auf default steht. Lauschen die auch auf einen Datenpunkt-Event und wie greifen die diesen dann ab?
Systemvariable für Funktion auslesen
Moderator: Co-Administratoren
-
- Beiträge: 56
- Registriert: 07.02.2018, 13:03
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: 06686 Lützen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 3 Mal
Re: Systemvariable für Funktion auslesen
VG
Hubert
RaspberryMatic z.Zt in Version 3.73.9.20231130 mit
RedMatic Version 7.2.1
Weiterhin
RaspberryMatic als OVA unter VMware in Version 3.73.9.20231130 mit
RedMatic Version 7.2.1
Hubert
RaspberryMatic z.Zt in Version 3.73.9.20231130 mit
RedMatic Version 7.2.1
Weiterhin
RaspberryMatic als OVA unter VMware in Version 3.73.9.20231130 mit
RedMatic Version 7.2.1
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Systemvariable für Funktion auslesen
"Value" verhält sich am Ausgang wie "RPC Event", der reicht nur (gefiltert) eingehende Events durch. "Get Value" und "Switch" greifen auf den internen Cache des ccu-connection Nodes zu. Der ist immer vorhanden, unabhängig davon wie der Context Store konfiguriert ist. Schaltet man den Context Store an bewirkt dass nur dass das sowieso immer vorhandene Cache Objekt in den Context hinein referenziert wird. Der Cache ist wie gesagt immer aktuell, er wird durch eingehende Events sofort aktualisiert.hmpos365 hat geschrieben: ↑02.10.2019, 09:01OK, das habe ich verstanden. Ich ging zunächst davon aus, dass es ein anderer Weg sei, als über die betreffende Node (rpc event).
Trotzdem nochmal die Frage: Nodes, wie "value", "get value" oder auch "switch", greifen doch auch auf Datenpunkte zu, und das auch, ohne dass im "cpu-connection-node" die Einstellung für den context store auf default steht. Lauschen die auch auf einen Datenpunkt-Event und wie greifen die diesen dann ab?
Re: Systemvariable für Funktion auslesen
Hi hobbyquaker,hobbyquaker hat geschrieben: ↑01.10.2019, 17:41Die Werte erhält der ccu-connection Node von den Schnittstellenprozessen per Push, d.h. sie sind immer aktuell. Ausnahme sind hier nur die Systemvariablen da die Rega keinen Push Mechanismus bietet, möglicher Workaround siehe https://github.com/rdmtc/RedMatic/wiki/ ... -poll-node
Ich selbst nutze den direkten Zugriff auf die Werte via Context übrigens gar nicht, arbeite immer mit dem "RPC Event" oder dem "Value" Node oder wenn ich abseits von Events auf die Werte zugreifen will mit dem "Get Value" Node (der eigentlich nichts anderes ist als ein komfortableres Frontend für den Zugriff auf den Context).
erstmal herzlichen Dank für dieses Supertool!
Ich arbeite immer mal wieder mit redmatic, da ich meine Heizkörpersteuerung nach nodered übertragen will. Da ich die Logik hauptsächlich mit Boolschen Variablen (Systemvariablen) umgesetzt habe, bin ich auf das beschriebene Problem beim Monitoren der Variablen gestoßen. Ich benutze hier den sysvar node, um den Inhalt der Variablen ins Dashboard zu schreiben. Dort erscheint aber nichts, wenn ich den Flow deploye; erst wenn ich per Programm in der RaspberryMatic oder per Schalter im Dashboard den Zustand der Variablen verändere, wird der Inhalt dargestellt. Das wäre aber wirklich eine Krücke, erst mal einen Schalter hin und her zu schalten, um den aktuellen Zustand zu erfahren.
Wäre die Lösung wirklich nur das Beispiel mit dem ccu-poll-node? Oder habe ich da was falsch verstanden?
Vielen Dank schon mal für die Antwort.
Re: Systemvariable für Funktion auslesen
Hallo,
ich habe noch eine Frage zum Namen der CCU. Hier wird immer ccu-localhost verwendet. Ich vermute, dass ich diesen Namen mit dem Namen meiner CCU ersetzen muss. Dieser heißt bei mir "Raspberry".
Müsste dann nicht folgender Code ausführbar sein?
Leider ist er das nicht. Ich bekomme die Meldung , was wohl soviel bedeutet, dass das CCUData-Objekt nicht initialisiert wurde. Was mache ich hier falsch?
Am Ende des Tages möchte ich einen Datenpunkt auslesen:
ich habe noch eine Frage zum Namen der CCU. Hier wird immer ccu-localhost verwendet. Ich vermute, dass ich diesen Namen mit dem Namen meiner CCU ersetzen muss. Dieser heißt bei mir "Raspberry".
Müsste dann nicht folgender Code ausführbar sein?
Code: Alles auswählen
ccuData = global.get("Raspberry");
if (!ccuData.values)
{
msg.payload = "CCU hat keine Daten geliefert";
return msg;
}
else
{
msg.payload = "CCU hat Daten geliefert";
return msg;
}
Code: Alles auswählen
TypeError: Cannot read property 'values' of undefined
Am Ende des Tages möchte ich einen Datenpunkt auslesen:
Code: Alles auswählen
var t = ccuData.values['PEQ1195774:1.LEVEL'];
if (t) {
msg.payload = t.value;
}
---------------------------------------------------------------
stay original...
Debmatic auf der Basis von Paspberry Pi4, SSD
ca. 90 HM, HmIP und Wired Geräte
HB-RF-ETH
Alexa Anbindung
Node-Red
stay original...
Debmatic auf der Basis von Paspberry Pi4, SSD
ca. 90 HM, HmIP und Wired Geräte
HB-RF-ETH
Alexa Anbindung
Node-Red
-
- Beiträge: 295
- Registriert: 12.07.2017, 21:08
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 14 Mal
Re: Systemvariable für Funktion auslesen
Hallo, genau das versuche ich derzeit und schaffe es nicht. Ich habe generell noch Probleme im Verständnis von Variablen.HenningK hat geschrieben: ↑30.09.2019, 20:11Man kann auch eine globale NodeRED variable definiere und diese bei Änderung der CCU Variable aktualisieren.
Aus einer Function/Template/etc kann dann einfach auf die NodeRED variable zugegriffen werden.
Ich halte mittlerweile (fast) alle Daten in NodeRED Variablen.
Kannst du mir Deine Lösung bitte beschreiben?
512 Kanäle in 101 Geräten und 145 CUxD-Kanäle in 19 CUxD-Geräten:
--------------------------------------------
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/Downloads/eq3/downl ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
--------------------------------------------
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/Downloads/eq3/downl ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907