[Gelöst]Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

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

Moderator: Co-Administratoren

Antworten
AndiM
Beiträge: 3
Registriert: 30.08.2021, 17:20
System: CCU

[Gelöst]Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

Beitrag von AndiM » 03.07.2023, 19:40

Hallo!
Ich habe folgende Konstellation Raspimatic (3.65.11.20221218), habe dort Redmatic installiert (7.2.1).
Mein Wunsch: Systemvariablen (Zahlenwerte) aus HM in Rednode importieren und weiter verarbeiten.

Ich berechne im HM per Skript einen Wert in schreibe diesen mit diesem Skript in eine Systemvariable, nennen wir den Wert P_Max.
In HM wird in der Übersicht der Sysvars dieser Wert erst nach einer Aktualisierung richtig angezeigt, warum auch immer, stört mich aber prinzipiell nicht.
In Redmatic habe ich nun schon viele Varianten ausprobiert und bekomme diesen Wert nicht automatisiert angezeigt.
Wenn ich in HM manuell einen Wert in P_Max eintrage und OK drücke, dann kommt er in Redmatic an.
Ich habe auch schon ein RPC Event in Kombination mit Poll versucht. Das RPC Event löst einen Trigger aus, der dann auf den Poll Node geht, abe der Wert P_Max wird nicht eingelesen. Starte ich das Programm erstmalig, dann wird der Wert P_Max ebenfalls eingelesen.

Eine andere Sysvar, die nur boolsche Werte annehmen kann, wird per Programm (nicht Skript) berechnet und wird
a) in der Sysvar Übersicht in HM sofort geändert, ohne, dass die Seite neu geladen werden muss und
b) auch in Redmatic sofort richtig angezeigt, ohne dass ich das RPC Event auslösen muss.

Kann Redmatic keine Zahlenwerte aus Sysvars übernehmen? Aber dann dürfte das ja gar nicht funktionieren, auch nicht beim erstmaligen Start oder manueller EIngabe des Wertes der Sysvar P_Max in HM.

Wo kann ich noch schauen, bzw. welche Informationen werden benötigt, damit mir eventuell jemand weiterhelfen kann?
Ich habe auch schon mit und ohne Passwort versucht, bei Listen adress die Adresse der Raspi,matic eingetragen, das macht irgendwie alles keinen Unterschied. Auch de- und wieder installieren hat nichts geholfen.
Rednode_Zahlenwert_nIO.png
Einstellung Zahlenwert
Rednode_Zahlenwert_nIO.png (9.61 KiB) 774 mal betrachtet
Rednode_boolscherWert_OK.png
Einstellung boolscher Wert
Rednode_boolscherWert_OK.png (9.27 KiB) 774 mal betrachtet
EInstellung_localhost.jpg
Einstellung localhost
Rednode_Nodes.png
Nodes
Vielen Dank schon einmal

Viele Grüße
Andi
Zuletzt geändert von AndiM am 04.07.2023, 19:19, insgesamt 1-mal geändert.

[sprotte80]
Beiträge: 337
Registriert: 05.10.2020, 18:37
System: CCU
Hat sich bedankt: 30 Mal
Danksagung erhalten: 25 Mal

Re: Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

Beitrag von [sprotte80] » 03.07.2023, 21:20

Hi
AndiM hat geschrieben:
03.07.2023, 19:40
Ich berechne im HM per Skript einen Wert in schreibe diesen mit diesem Skript in eine Systemvariable
Script posten

Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.

Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.

Benutzeravatar
Baxxy
Beiträge: 10979
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 624 Mal
Danksagung erhalten: 2269 Mal

Re: Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

Beitrag von Baxxy » 03.07.2023, 21:33

Systemvariablen erzeugen keinen RPC-Event und werden grundsätzlich von NR zyklisch (Rega poll enabled / Rega poll interval (s) xx) gepollt.

Bei einem zyklischen oder angestoßenem Rega-Poll sollten eigentlich alle SysVar-Werte aktualisiert werden.

Benutzeravatar
Henke
Beiträge: 1536
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 144 Mal
Danksagung erhalten: 309 Mal

Re: Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

Beitrag von Henke » 03.07.2023, 21:34

AndiM hat geschrieben:
03.07.2023, 19:40
In HM wird in der Übersicht der Sysvars dieser Wert erst nach einer Aktualisierung richtig angezeigt, warum auch immer, stört mich aber prinzipiell nicht.
Das ist für mich ein Hinweis, das in dem Script was nicht stimmt und daraus die folgenden Probleme kommen.
In NodeRed ist es egal, ob die Systemvariable bool, Zahl oder String ist.

Generell ist der Import von Systemvariablen in NodeRed etwas problematisch, da sie verzögert (bei dir alle 10 Sekunden) aktualisiert werden.
Mit der Poll Node kann zusätzlich diese Aktualisierung angefordert werden, doch die ist bei deinem Flow falsch eingesetzt.
EIn Poll Node mit einem Trigger davor reicht.

Um dieses Problem zu umgehen, würde ich die Berechnung der Systemvariable in NodeRed machen und das Ergebnis dann in eine Systemvariable schreiben. Damit ist das Ergebnis aktuell in NodeRed und zeitnah in der CCU.

AndiM
Beiträge: 3
Registriert: 30.08.2021, 17:20
System: CCU

Re: Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

Beitrag von AndiM » 04.07.2023, 19:19

Ich habe den Fehler gefunden.
Das Problem lag im Skript im HM.
Und zwar wurde in der SysVar ÜBersicht die die Variable ja nicht aktualisiert.
Im Skript habe ich die SysVar mit
Sysvar1.Variable(wert); beschrieben.
RIchtig ist aber
Sysvar1.State(wert). SO wird die Überswicht sofort aktualisiert und auch im Rednote übernommen, ganz ohne irgendwelches RPC getue.

Für jeden, der das evtl. auch mal hat.

Grüße
Andi M

[sprotte80]
Beiträge: 337
Registriert: 05.10.2020, 18:37
System: CCU
Hat sich bedankt: 30 Mal
Danksagung erhalten: 25 Mal

Re: Systemvariablen (Zahlenwert) in Redmatic anzeigen und automatisiert aktualisieren

Beitrag von [sprotte80] » 04.07.2023, 19:57

Hi
AndiM hat geschrieben:
04.07.2023, 19:19
Das Problem lag im Skript im HM.
Drum die Frage nach dem Script.
AndiM hat geschrieben:
04.07.2023, 19:19
Sysvar1.Variable(wert); beschrieben.
RIchtig ist aber
Sysvar1.State(wert). SO wird die Überswicht sofort aktualisiert und auch im Rednote übernommen, ganz ohne irgendwelches RPC getue.
Beides ist richtig.
Nur in deinem Fall die falsche Wahl
Kommt halt drauf an was du tun willst.
.Variable() löst halt kein Event aus. Gibt halt auch Fälle wo man das nicht will

Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.

Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.

Antworten

Zurück zu „RedMatic“