Systemvariable für Funktion auslesen

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

hmpos365
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

Beitrag von hmpos365 » 02.10.2019, 09:01

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?
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

hobbyquaker
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

Beitrag von hobbyquaker » 02.10.2019, 17:41

hmpos365 hat geschrieben:
02.10.2019, 09:01
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?
"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.

pegasusmk
Beiträge: 7
Registriert: 18.09.2012, 20:14
Hat sich bedankt: 2 Mal

Re: Systemvariable für Funktion auslesen

Beitrag von pegasusmk » 10.05.2020, 10:50

hobbyquaker hat geschrieben:
01.10.2019, 17:41
Die 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).
Hi hobbyquaker,

erstmal herzlichen Dank für dieses Supertool! :D

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.

Benutzeravatar
didiator
Beiträge: 97
Registriert: 21.12.2017, 13:25
System: CCU
Wohnort: Lübesse

Re: Systemvariable für Funktion auslesen

Beitrag von didiator » 31.08.2020, 13:47

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?

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;
}
Leider ist er das nicht. Ich bekomme die Meldung

Code: Alles auswählen

TypeError: Cannot read property 'values' of undefined
, 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:

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

Garbsen
Beiträge: 295
Registriert: 12.07.2017, 21:08
Hat sich bedankt: 1 Mal
Danksagung erhalten: 14 Mal

Re: Systemvariable für Funktion auslesen

Beitrag von Garbsen » 28.09.2020, 23:38

HenningK hat geschrieben:
30.09.2019, 20:11
Man 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.
Hallo, genau das versuche ich derzeit und schaffe es nicht. Ich habe generell noch Probleme im Verständnis von 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

Antworten

Zurück zu „RedMatic“