Probleme mit der combine-logic

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

Moderator: Co-Administratoren

Antworten
tloeffel
Beiträge: 198
Registriert: 13.09.2017, 05:11

Probleme mit der combine-logic

Beitrag von tloeffel » 14.06.2019, 22:16

Hallo Zusammen,

ich tüftele so ein bisschen herum und komme an dieser Stelle nicht weiter.

Fallbeschreibung:
"Nor", "Oder" und "und" sollen verschaltet werden. Aber es funktioniert nicht. Vor allem bei einem Deploy passieren komische Sachen.

Fall 1:
190614_Logic1.PNG
190614_Logic1.PNG (17.88 KiB) 270 mal betrachtet


Auswirkungen:
Logic "and" schaltet nach Deploy immer durch (siehe unten). Sobald ich den SEC-SC bediene schaltet das "und" wieder normal.
190614_Logic 2.PNG
190614_Logic 2.PNG (11.18 KiB) 270 mal betrachtet

Code: Alles auswählen

[{"id":"e577694f.206a38","type":"comment","z":"323b3290.61ed06","name":"Markiese bei Wind und Regen einfahren","info":"","x":247.75,"y":882.75,"wires":[]},{"id":"d7cf556.beb0f28","type":"ccu-value","z":"323b3290.61ed06","name":"","iface":"HmIP-RF","channel":"00185709ACB1F4:1 Terr-SWO-PR mSender","datapoint":"RAINING","mode":"","start":true,"change":true,"cache":true,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":264.3666687011719,"y":993.75,"wires":[["a9de3a62.26f1b"]]},{"id":"65e2cbb4.3cfdcc","type":"ccu-value","z":"323b3290.61ed06","name":"","iface":"BidCos-RF","channel":"OEQ0169990:1 Terr-Sec-SC-2-Markiese:1","datapoint":"STATE","mode":"","start":true,"change":true,"cache":true,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":281.3666687011719,"y":1043.75,"wires":[["a9de3a62.26f1b"]]},{"id":"a9de3a62.26f1b","type":"combine-logic","z":"323b3290.61ed06","name":"","topic":"","operator":"or","defer":250,"timeout":0,"distinction":"topic","x":486.36669921875,"y":1015.25,"wires":[["8015ee03.f15158"]]},{"id":"8015ee03.f15158","type":"combine-logic","z":"323b3290.61ed06","name":"","topic":"","operator":"and","defer":250,"timeout":0,"distinction":"topic","x":785.36669921875,"y":1015.25,"wires":[["8811dd57.bd8978"]]},{"id":"5eb10e9c.3073e","type":"ccu-sysvar","z":"323b3290.61ed06","name":"CCU2_Reboot","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":254.36666870117188,"y":938.75,"wires":[["316e8d16.57b88a"]]},{"id":"8811dd57.bd8978","type":"debug","z":"323b3290.61ed06","name":"Ergebnis","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":979.36669921875,"y":1014.75,"wires":[]},{"id":"316e8d16.57b88a","type":"combine-logic","z":"323b3290.61ed06","name":"","topic":"","operator":"nor","defer":250,"timeout":0,"distinction":"topic","x":483.75,"y":938.75,"wires":[["8015ee03.f15158"]]},{"id":"38263145.35ea0e","type":"ccu-connection","z":"","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048"}]

So geht es:
Mit Variablen scheint es zu funktionieren, auch nach einem Deploy.
190614_Logic_Vari.PNG
190614_Logic_Vari.PNG (23.83 KiB) 270 mal betrachtet

Sehr komisch... Welchen Fehler mache ich denn da?

Gruß Thomas
972 Kanäle in 165 Geräten: Davon 16 HM, 145 HMIP, 2 Gruppen und 2 CUXD Geräte

hobbyquaker
Beiträge: 3224
Registriert: 12.07.2009, 20:01
Kontaktdaten:

Re: Probleme mit der combine-logic

Beitrag von hobbyquaker » 14.06.2019, 22:45

Damit die Eingangsnachrichten von den Combine Nodes auseinandergehalten werden können müssen sie alle ein individuelles msg.topic Attribut mitbringen. Ist das gegeben? Kannst mal die Nachrichten die in die Combine Nodes reingehen auch ausgeben lassen und zeigen?

tloeffel
Beiträge: 198
Registriert: 13.09.2017, 05:11

Re: Probleme mit der combine-logic

Beitrag von tloeffel » 16.06.2019, 02:37

Hallo Hobbyquaker,

Du hast mir den entscheidenden Tipp gegeben, danke Dir!
Wobei es sich wieder zeigt, was ich noch alles noch nicht verstehe :-).

Dies bedeutet nun das "msg.topic" quasi der Name von der Nachricht (als Identifizierung) ist und msg.payload enthält ja die Nachricht selbst.

Hier die Lösung auf Basis Deines Tipps:
Aus dem "nor" und dem "or" kommen als Topic = "" heraus. Ich habe einfach zum Testen Topic="nor" und Topic="or" in dem Flow hinterlegt. Dann ging es.

Lieben Gruß Thomas
972 Kanäle in 165 Geräten: Davon 16 HM, 145 HMIP, 2 Gruppen und 2 CUXD Geräte

tloeffel
Beiträge: 198
Registriert: 13.09.2017, 05:11

Re: Probleme mit der combine-logic

Beitrag von tloeffel » 16.06.2019, 03:06

Hallo Hobbyquaker,

hier eine neue Frage :-).

Um keine unnötigen Funkmeldungen zu erzeugen soll der Flow nachfragen ob die Markise ausgefahren ist. Allerdings habe ich den Sensor HM-Sec-SC-2 im Einsatz, der reagiert auf die Bewegung der Markise. Bei zu hartem Wackeln löst er aus. Dieses leider bei viel Wind im Sekundentakt. Bis die Markise eingefahren ist, kann es somit zu mehrfachen Auslösungen kommen.
Gibt es eine „node“ die eine Meldung akzeptiert und erst nach z.B. 20 Sekunden wieder erneut etwas durchlässt? Vielleicht hast Du auch eine bessere Idee 😊.


Hier die Flow:
190616 Markiese.PNG

Gruß Thomas
972 Kanäle in 165 Geräten: Davon 16 HM, 145 HMIP, 2 Gruppen und 2 CUXD Geräte

tloeffel
Beiträge: 198
Registriert: 13.09.2017, 05:11

Re: Probleme mit der combine-logic

Beitrag von tloeffel » 16.06.2019, 03:49

Hallo Hobbyquaker,

ich habe ein bisschen getüftelt. Es funktioniert. Aber vielleicht hast Du eine kürzere, oder bessere Lösung :-).


Mit der Node: "node-red-contrib-deduplicate-adv"
190616 Markise 2.PNG
Lieben Gruß Thomas
972 Kanäle in 165 Geräten: Davon 16 HM, 145 HMIP, 2 Gruppen und 2 CUXD Geräte

vore
Beiträge: 97
Registriert: 28.11.2011, 20:31

Re: Probleme mit der combine-logic

Beitrag von vore » 20.06.2019, 22:44

Hallo Thomas,
wie hast du das msg.topic Attribut gesetzt? Stehe vor dem gleichen Problem. Payload ist klar.. aber gibt es eine Node die das setzen der msg.topic erlaubt?
Gruß
Vore
System: Asus TinkerS mit RaspberryMatic und Cubietruck mit IOBroker

hobbyquaker
Beiträge: 3224
Registriert: 12.07.2009, 20:01
Kontaktdaten:

Re: Probleme mit der combine-logic

Beitrag von hobbyquaker » 20.06.2019, 22:53

Die CCU Nodes haben fast alle in ihrer Konfiguration die Möglichkeit das Topic Attribut mittels Platzhaltern zusammenzusetzen (z.B. ${channelName})

Ansonsten ist es grundsätzlich mit dem Change Node möglich beliebige Attribute jeder Nachricht zu ändern:
Bildschirmfoto 2019-06-20 um 22.53.02.png

vore
Beiträge: 97
Registriert: 28.11.2011, 20:31

Re: Probleme mit der combine-logic

Beitrag von vore » 23.06.2019, 17:24

Danke Hobbyquaker..

Gruß
Vore
System: Asus TinkerS mit RaspberryMatic und Cubietruck mit IOBroker

Antworten

Zurück zu „RedMatic“