NEWS
Flow Optimieren
-
Also könnte ich das Change ersetzen durch etwas anders und setze true oder false im Gegensatz zu dem UI Schalter, denn der sendet ja auch immer nach dem schalten den Status. `
Das sollte kein Problem sein. Dem 2. change (1002) ist ja schnurz ob im eingehen Payload true oder false drinsteht. Es negiert einfach nur flow.B1002 und kopiert das dann in den payload. Da kannst du natürlich deine eigene Logik zwischenschalten.
Erstmal würde ich genau festlegen, welche Schalter/Taster (inkl. Alexa) gibt es für die bestimmte Lampe und wie soll die auf die Schalter reagieren.
-
Echt schade, das jeder Entwickler verschiedene Argumente benutzt.. Alexa hat "Brightness", Hue hat "brightness", Homekit hat wieder nen anders Kommando
true, false, ON: 1, ON: 2, On:true, On:false…..........
Das alles in eine Reihe geschaltet zu bekommen entwickelt sich zu einem Mysterium mit vielen Switches und Changes
Und nur weil ich gerne die Farbe und Helligkeit dazu schalten wollte.
Bin schon kurz davor alles einzelne zu schalten und jeweils nen Response zu senden, das wird so mega Aufwendig.. hatte mir mit Node-Red eigentlich ne Vereinfachung gewünscht.
Falls du noch einen Tipp dazu hättest wie ich alles mit einander verknüpfen kann gerne her damit. ansonsten ist das Projekt "Helligkeit und Farbe" gestorben
-
> Falls du noch einen Tipp…
Ich glaub, ich kann da nicht mehr viel Erhellendes beitragen ;-( Vlt. solltest du dein spezielles HUE-Anliegen nochmal separat vortragen. Evtl. kann ja ein anderer HUE Nutzer weiterhelfen.Mir ist ehrlich gesagt das ganze Konzept diesbezüglich noch unklar.
Ich hab zwar auch ne ganze Reihe Zigbee Geräte am laufen, aber die steuere ich mit ioBroker und einem CC2231 Stick.
Generell sollte es ja etwa so laufen:
Du hast pro Aktor eine zentrale Instanz, die die aktuellen Werte exakt wiederspiegeln (Ist ja bei Zigbee durch die Rückmeldung eigentlich gewährleistet).
In ioB sind das dann die states des Aktors (An/Aus, Helligkeit usw.)
Ich schalte so eine Lampe mit den verschiedensten Aktoren (Programme (NR/JS), Alexa, mechanische Schalter (Zigbee oder Fremdsysteme) usw.)
Wenn ich die Lampe schalte, frage ich die zentrale Instanz nach dem Istwert und ändere die dann entsprechend. Programmen könne da auch automatisch reagieren, wenn sich der Zustand ändert.
Alle UIs bekommen den dann automatisch mitgeteilt (direkt oder per Abfrage), so dass sie zumindest vor einem Schaltvorgang den Istzustand kennen.
Ein Problem taucht da allenfalls bei mechanischen Schaltern (Kippschaltern) auf, wenn deren Kippstellung mit einem Zustand (An/Aus) gekoppelt sind.
Hier mal ein Bild von einer Testsite wo man das erkennt.
1 - sind nodes, die den aktuellen Status der Steckdosen automatisch aus ioB bekommen.
2 - sind die switches auf der Site. Die repräsentieren einmal den aktuellen Zustand (Eingang) und wenn sie (von Hand) geschaltet werden geben sie den Schaltbefehl an den ioB-State weiter (3)
Damit ist eigentlich immer alles aktuell. Egal ob (und von wo) sonst noch ein Schaltbefehl kommt, er wird durch die Nodes (1) erkannt und weitergereicht.
Aber ich fürchte fast, die prinzipielle Arbeitsweise ist dir längst bekannt und wir reden etwas aneinander vorbei
deshalb ziehe ich mich an dieser Stelle mal zurück.
-
Kannste mir nochmal auf die Sprünge helfen ?
habe jetzt versucht jedes Endgerät einzelnd anzugeben und Response direkt zu jedem Schalter zu legen.
Wenn ich jetzt von Alexa, Siri oder UI den Schalter stelle habe ich nen Dauerloop (An/AUS)
den ich mir nicht erklären kann..
! ````
[
{
"id": "a0c0d924.b3d988",
"type": "ioBroker out",
"z": "2bb0004a.cbc48",
"name": "SonOff_C POWER",
"topic": "sonoff.0.SonOff_C.POWER",
"ack": "false",
"autoCreate": "false",
"x": 1170,
"y": 270,
"wires": []
},
{
"id": "428031e2.f5977",
"type": "link in",
"z": "2bb0004a.cbc48",
"name": "O_Sonnoff_C",
"links": [
"8cfbf04a.7469e",
"388cdce9.cea744",
"8aa14f9a.3ce9b"
],
"x": 1025,
"y": 270,
"wires": [
[
"880915ca.448818",
"a0c0d924.b3d988"
]
]
},
{
"id": "388cdce9.cea744",
"type": "link out",
"z": "2bb0004a.cbc48",
"name": "",
"links": [
"428031e2.f5977"
],
"x": 955,
"y": 270,
"wires": []
},
{
"id": "bb4df350.ce077",
"type": "ioBroker in",
"z": "2bb0004a.cbc48",
"name": "SonOff_C.POWER",
"topic": "sonoff.0.SonOff_C.POWER",
"payloadType": "value",
"onlyack": "",
"func": "all",
"gap": "",
"x": 490,
"y": 270,
"wires": [
[
"e15f2113.366d5",
"c3494d91.0eabc"
]
]
},
{
"id": "e15f2113.366d5",
"type": "link out",
"z": "2bb0004a.cbc48",
"name": "I_Sonnoff_C",
"links": [
"a88ed9b7.0becd8",
"53976e2d.e28b1"
],
"x": 665,
"y": 270,
"wires": []
},
{
"id": "a88ed9b7.0becd8",
"type": "link in",
"z": "2bb0004a.cbc48",
"name": "",
"links": [
"e15f2113.366d5"
],
"x": 735,
"y": 270,
"wires": [
[
"501e6dc.e513994"
]
]
},
{
"id": "501e6dc.e513994",
"type": "ui_switch",
"z": "2bb0004a.cbc48",
"name": "",
"label": "Bett",
"tooltip": "",
"group": "77b38fe6.6da53",
"order": 1,
"width": 0,
"height": 0,
"passthru": true,
"decouple": "false",
"topic": "",
"style": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "",
"oncolor": "",
"offvalue": "false",
"offvalueType": "bool",
"officon": "",
"offcolor": "",
"x": 850,
"y": 270,
"wires": [
[
"388cdce9.cea744"
]
]
},
{
"id": "c3494d91.0eabc",
"type": "debug",
"z": "2bb0004a.cbc48",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"x": 670,
"y": 370,
"wires": []
},
{
"id": "880915ca.448818",
"type": "debug",
"z": "2bb0004a.cbc48",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"x": 1190,
"y": 480,
"wires": []
},
{
"id": "77b38fe6.6da53",
"type": "ui_group",
"z": "",
"name": "Schlafzimmer",
"tab": "69efe83c.6a7968",
"order": 4,
"disp": true,
"width": "4",
"collapse": false
},
{
"id": "69efe83c.6a7968",
"type": "ui_tab",
"z": "",
"name": "Wohnung",
"icon": "dashboard"
}
] -
Da dürfte dein Dauer-loop sein.
Mit diesem Haken sagst du, dass dass Signal am Eingang zum Ausgang durchgereicht wird.
Wenn nun ein Signal am State wechselt, landet es am switch-eingang wund wird zum switch-ausgang weitergereicht. Da hängt wiederum dein state dran und schon bist du im Loop;-)
Dieser Haken macht nur Sinn, wenn Eingangs- und Ausgabe-state unterschiedlich sind.
-
Verdammt, ich wusste das es einen Haken gibt
Danke jetzt läuft es Perfekt deine Tipps sind goldig
Hier mein Aktueller Flow, jetzt kann ich diese noch aufteilen in mehrere Flows und habe alles aktuell
-
Schade, dass es keinen Preis für Schönheit gibt ; den hättest du sicher :lol:
Hut Ab !
-
HAHA jetzt wollen wir aber mal nicht übertreiben
Ich gebe mir mühe das ich auch in 2 Jahren noch weiß was ich da getan habe
-
PS. einen Hinweis noch.
Ich geh mal davon aus, dass du ganz genau weist, wer da auf deinem Flow mit wem connected. Um das auch nach Wochen noch zu wissen, setze ich gerne comment-nodes ein.
Ich habe meinen ersten Post diesbezüglich nochmal ergänzt.
-
Japp genau, das mache ich dann kurz vorm Zerteilen in die einzelnen Flows.. jetzt für alles auf einmal war es einfacher in einem Flow.
Ich muss die ganzen Link`s auch noch beschriften und dann kommen später die Comments