UND und OR Verknüpfungen in Redmatic

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

Moderator: Co-Administratoren

Antworten
pflanzenreich
Beiträge: 3
Registriert: 20.01.2019, 11:22

UND und OR Verknüpfungen in Redmatic

Beitrag von pflanzenreich » 20.01.2019, 12:03

Habe als Neuling Probleme mit UND und OR Verknüpfungen.
Ich habe bereits herausgefunden, dass das System mit „msg“ von node-red nicht ideal für Logikverknüpfungen wie UND etc. ist.
Mein Problem ist, ich habe eine Homematic-Systemvariable (Rollo1VAR) die den Stellzustand eines Rolladen-Aktors mit zu;offen;Schatten schaltet.

Der Wert „Schatten“ in der Variabel ist vom Sonnenstand (ein bestimmter Azimuthbereich), Sonne scheint (ermittelt durch Temperaturdifferenzsenor) und durch die Variable Rollo1VAR (Schattenposition nur bei Rollo1VAR=offen) selbst abhängig.

D.h. ich habe drei Eingänge zu einem Logik-Node (Combine logic), die aber nur bei Änderung ein Signal an das Node senden. Die Variable soll auf Schatten wechseln, wenn alle drei „Zugänge“ zum Logik-Node „Wahr“ sind. Sobald einer auf „Falsch“ schaltet oder verbleibt, soll die Variable auf „offen“ schalten/stehen. Eine typische UND-Verküpfung.

Leider habe ich nur ein paar rudimentäre BASIC-Programmierkenntnisse aus meiner Jugend, sodass ich das Problem gerne mit Standard-Nodes lösen möchte.
Die Umsetzung dieser eigentlich einfachen UND-Verknüfung ist mir noch nicht gelungen. Für Hilfe wäre ich sehr dankbar.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von hobbyquaker » 20.01.2019, 12:27

pflanzenreich hat geschrieben:
20.01.2019, 12:03
Ich habe bereits herausgefunden, dass das System mit „msg“ von node-red nicht ideal für Logikverknüpfungen wie UND etc. ist.
Es erfordert ein Umdenken ;-) Machbar ist das schon, nur eben nicht nach dem Prinzip dass an einem Eingang ein Zustand "anliegt".
pflanzenreich hat geschrieben:
20.01.2019, 12:03
D.h. ich habe drei Eingänge zu einem Logik-Node (Combine logic), die aber nur bei Änderung ein Signal an das Node senden. Die Variable soll auf Schatten wechseln, wenn alle drei „Zugänge“ zum Logik-Node „Wahr“ sind. Sobald einer auf „Falsch“ schaltet oder verbleibt, soll die Variable auf „offen“ schalten/stehen. Eine typische UND-Verküpfung.
Genau das tut doch ein Combine Logic Node wenn man ihn auf "AND" konfiguriert. Das Ergebnis kannst dann mit einem Change Node im "Context" speichern und dann an anderen Stellen mit dem Switch Node basierend auf dem Ergebnis die Nachrichten umleiten.

pflanzenreich
Beiträge: 3
Registriert: 20.01.2019, 11:22

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von pflanzenreich » 20.01.2019, 14:37

Erstmals vielen Dank für die Anpassung von Node-red als Homematic add-on. Dies ist für Einsteiger ein einfacher Beginn und funktioniert hervorragend!

Ich fürchte, ich habe ein grundsätzliches Verständnisproblem mit dem Logik-node.

Ich habe versucht eine einfache Simulationsschaltung für das logic-node zu erstellen. Die drei Eingänge auf der linken Seite sollen meinen drei Parametern (Sonnen scheint etc.) entsprechen.
Was ich nun erwartet/erhofft habe ist, wenn ich bei allen Eingängen true auslösen erhalte ich am Ausgang des logic-node ein true. Sofern ich einen von drei Eingängen mit false schalte, erhalte ich beim Logik-node-Ausgang falsch. Dies geht nicht. Er leitet nur den gedrückten Input zum Ausgang ohne Verknüpfung.
Logic Node.JPG

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von hobbyquaker » 20.01.2019, 15:33

Die Change Nodes in Deinem Beispielscreenshots sollten überflüssig sein. Woran es aber vermutlich hängt: der Combine Logic Node hält die Nachrichten anhand ihres Topics auseinander. Du musst also sicherstellen dass Du in Deinen Inject Nodes auch 3 verschiedene Topics mitschickst.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von hobbyquaker » 20.01.2019, 15:35

So funktioniert es:
Bildschirmfoto 2019-01-20 um 15.35.00.png

Code: Alles auswählen

[{"id":"560a9beb.9488e4","type":"inject","z":"b0ef0eb7.390ad","name":"","topic":"1","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":120,"wires":[["5bfcf6d3.8ef8f8"]]},{"id":"c2c5d67c.58a628","type":"inject","z":"b0ef0eb7.390ad","name":"","topic":"1","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":160,"wires":[["5bfcf6d3.8ef8f8"]]},{"id":"250c0be7.728474","type":"inject","z":"b0ef0eb7.390ad","name":"","topic":"2","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":200,"wires":[["5bfcf6d3.8ef8f8"]]},{"id":"cce889fb.00dfc8","type":"inject","z":"b0ef0eb7.390ad","name":"","topic":"2","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":240,"wires":[["5bfcf6d3.8ef8f8"]]},{"id":"8c767798.854ee8","type":"inject","z":"b0ef0eb7.390ad","name":"","topic":"3","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":280,"wires":[["5bfcf6d3.8ef8f8"]]},{"id":"91daed22.e3715","type":"inject","z":"b0ef0eb7.390ad","name":"","topic":"3","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":320,"wires":[["5bfcf6d3.8ef8f8"]]},{"id":"fa2f0181.e6ea6","type":"debug","z":"b0ef0eb7.390ad","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":440,"y":220,"wires":[]},{"id":"5bfcf6d3.8ef8f8","type":"combine-logic","z":"b0ef0eb7.390ad","name":"","topic":"","operator":"and","defer":250,"timeout":0,"distinction":"topic","x":280,"y":220,"wires":[["fa2f0181.e6ea6"]]}]

pflanzenreich
Beiträge: 3
Registriert: 20.01.2019, 11:22

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von pflanzenreich » 20.01.2019, 16:49

Ja das war wohl der Fehler. In der Simulation klappt es jetzt.
Wenn ich das Logik-Node auf Distinction "_msgid" umstelle, benötige ich dann drei verschieden msg.payload. Z.B. msg.payload1, msg.payload2, msg.payload3 analog zu den drei verschiedenen Topics um die Logik-Aktion auszulösen?

Jedenfalls vielen Dank. Ich werde es jetzt bei meiner Rollordensteuerung anwenden.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von hobbyquaker » 20.01.2019, 18:02

Distinct nach msg id ist für Deinen Anwendungsfall ungeeignet, Du musst die Eingangswerte Deiner logischen Verknüpfung zwingend über msg.topic auseinanderhalten.

VolGra
Beiträge: 86
Registriert: 24.03.2012, 11:40
Hat sich bedankt: 19 Mal
Danksagung erhalten: 2 Mal

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von VolGra » 07.04.2024, 17:10

Bei mir klappt bei gleicher Aufgabenstellung (7 UND-Eingänge), selbstredend alle H = Ausgang H trotz folgender Einstellungen ein Test nicht: Injektoren mit msg.topic true/false und AND-Distinction auf _msgid. Der Eingang der logi hängt auf false. Wenn ich die Injektoren zurück auf msg.payload setze und deploye, habe ich nach bei injizieren von dreimal true am Ausgang false-true-false. Eigentlich dürfte sich ja nach einer Runde true Am Ausgang nichts mehr tun
Was mache ich (Anfänger bei RedMatic nach den ersten 10 realisierten Flows) nur falsch?! Beigefügt noch ein BildBild
hobbyquaker hat geschrieben:
20.01.2019, 18:02
von hobbyquaker » 20.01.2019, 18:02
Distinct nach msg id ist für Deinen Anwendungsfall ungeeignet, Du musst die Eingangswerte Deiner logischen Verknüpfung zwingend über msg.topic auseinanderhalten.
ist mir nicht ganz klar, was dies bedeutet
Vielen Dank im Voraus für Eure/Deine Hilfe
Dateianhänge
Testflow.png

vore
Beiträge: 166
Registriert: 28.11.2011, 20:31
System: CCU und Access Point
Hat sich bedankt: 5 Mal
Danksagung erhalten: 5 Mal

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von vore » 08.04.2024, 20:12

Hallo!
Das ist bei Node Red etwas schwierig mit den AND und ORs.
Die einzelnen zu verknüpfenden Element müssen über msg-topic unterschiedlich sein.
Sprich:
Taster 1 -> msg.topic=taster1 -> msg.payload= true oder false
Taster 2 -> msg.topic=taster2 -> msg.payload= true oder false
Taster 3 -> msg.topic=taster3 -> msg.payload= true oder false

Oder so Tristan das hier macht:
Und:
https://www.youtube.com/shorts/ONPqfdKz1tQ

Oder:
https://www.youtube.com/shorts/ONPqfdKz1tQ

Gruß

Vore
System: Asus TinkerS mit RaspberryMatic und Cubietruck mit IOBroker

VolGra
Beiträge: 86
Registriert: 24.03.2012, 11:40
Hat sich bedankt: 19 Mal
Danksagung erhalten: 2 Mal

Re: UND und OR Verknüpfungen in Redmatic

Beitrag von VolGra » 09.04.2024, 10:02

Hallo Vore,
auf die Idee, mal in youtube zu schauen, bin ich nicht gekommen :oops:
Mit denLinks und Deiner verbalen Beschreibung dürfte ich alle nötigen Informationen haben - vielen Dank! :D

Antworten

Zurück zu „RedMatic“