NEWS
Node-red iobroker Objekte in homekit einbinden
-
- Welchen Haken - Hast Du den Haken in Deiner HomeKit KonfigNode rausgenommen?
Das ist Prio 1.
- Den Haken in der Iobroker IN Node "Send only on then ack === true" den reinmachen und nicht rausmachen.
-
- den Haken bei "Allow Message Passthrough" habe ich rausgenomme
- den haken habe ich gerade gesetzt - trotzdem geht der Schalter nach ein paar Sekunden wieder aus - das muss doch an dem ACK Flag liegen, denn wenn ich den Status im iobroker Objekt setze passiert das gleiche wenn ich nicht "bestätige"
-
@minta79 sagte in Node-red iobroker Objekte in homekit einbinden:
@mickym ja den Haken bei "Allow Message Passthrough"
Wie gesagt und den Haken in der iobroker IN rein machen.
Die erste Nachricht dürfte gar nicht mehr rein kommen:
ACK = false.
Die Payload sollte dann auch nur noch false durchlassen - sprich Lampe ist ausgeschaltet.
-
@mickym Ausgabe sieht jetzt so aus
-
-
Nun die payload aus der homekit Node hast Du nicht ausgeklappt - da sehe ich nicht viel.
- Klapp das mal aus.
-
Die iobroker IN Node passt doch nun, es kommt nur noch eine Nachricht mit ACK = True und da ist die Steckdose aus (payload = false)
-
Hast Du die iobroker IN Node wieder mit der HomeKit NOde verbunden?.
Es sollte ja nun wenn Du das Objekt im iobroker schaltest, nichts mehr aus der Homekit Node rauskommen. Es sollte nur noch eine Nachricht rauskommen, wenn Du über die Home App schaltest.
Wie gesagt schaut aber eigentlich gut aus . dass kein ACK Flag gesetzt wird. Zu guter Letzt klemmst Du einfach die iobroker out Node ab und schaust ob Du einen Unterschied feststellen kannst, wenn Du aus der HomeApp oder über die iobrokerIn Node etwas in die Homekit App schickst.
-
-
@mickym Habe den Node wieder verbunden. Hier der komplette flow und die Ausgabe, wenn ich im iobroker objekt manuell schalte
-
@mickym Habe den out node abgeklemmt.
So sieht es aus, wenn ich über den homekit schalter schalte:
und so wenn ich das iobroker objekt manuell anpasse
-
@minta79 Wenn Du manuell schaltest sehe ich momentan nur AUS in der iobroker IN Node.
Ja schaut doch gut aus. Im ersten Fall ist ausgeschaltet, im zweiten eingeschaltet. Kommt so aus der IN Node - jedesmal eindeutig mit ACK = true raus.
Es sollte wenn Du nun manuell im iobroker schaltest keine Nachricht mehr aus der Homekit Node rauskommen und so sieht es doch jetzt aus.
Sprich wenn Du über jarvis oder sonst wie im iobroker schaltest, sollte in Deiner HomeApp immer der korrekte Status angezeigt werden und keine Nachricht aus der Homekit Node kommen.
-
@mickym said in Node-red iobroker Objekte in homekit einbinden:
Es sollte wenn Du nun manuell im iobroker schaltest keine Nachricht mehr aus der Homekit Node rauskommen.
Kommt auch nicht.
Aber der Schalter bleibt einfach nicht an, wenn ich ihn über Homekit betätige
-
@minta79 Nochmal Du hast doch gerade die Verbindung zur iobroker out gekappt - also kannst Du über HomeApp nicht schalten. Kannst Du das nicht einfach lassen und nur schauen, ob an aus angezeigt wird, wenn Du im iobroker schaltest?
WICHTIG ist doch nun erst mal, dass der korrekte Status in der HomeApp angezeigt wird, wenn Du im iobroker schaltest und keine Nachricht rauskommt. Ist denn das der Fall???
-
@mickym said in Node-red iobroker Objekte in homekit einbinden:
WICHTIG ist doch nun erst mal, dass der korrekte Status in der HomeApp angezeigt wird, wenn Du im iobroker schaltest und keine Nachricht rauskommt. Ist denn das der Fall??
Das funktioniert.
-
@minta79 OK - dann ist die EIngabeseite ok.
So wie sieht Deine ChangeNode aus mit der Du in die iobroker-out Node schreibst.
-
-
@minta79 Ok und wenn Du in der Home App schaltest - dann zeig diese Nachricht nochmal.
So ich habe es nun bei mir alles nachgestellt:
Auf der Eingabeseite kann ich on oder off eingeben, es wird der korrekte Status in der HomeApp angezeigt, wird aber keine Nachricht durchgelassen.
Schalte ich in der Home App kommt richtig:
Deine Ausgabe hilft mir nichts Du musst alle Objekte und payloads ausklappen!!!
-
-
@minta79 Die iobroker In Nodes interessieren nicht mehr - das hast Du doch schon bestätigt, dass das funktioniert.
Im Prinzip geht es doch nur darum, ob die App ausgibt, wenn eingeschaltet:
payload.On = true
oder ausgeschaltet:
payload.On = false
Wenn das richtig rauskommt, dann muss auch das schalten gehen. Natürlich muss in der iobroker Out Node ein command und kein value stehen.
-
@mickym ok. Irgendwie ist hier grad was durcheinander. Aber das bekomme ich jetzt grad nicht raus. Wenn ich im iobroker True/false setzte schaltet die Steckdose gar nicht. Wenn ich den HomeKit Schalter drücke bekomme ich sie nur aus. Keine Ahnung. Ich schaue das morgen in Ruhe noch mal an.
Vielen Dank noch mal bis hierhin!!!! -
@mickym Das funktioniert soweit. Allerdings muss ich sowohl im HomeKit als auch in Jarvis den Schalter bei an zweimal drücken, bis die Steckdose schaltet (siehe Video). Bei aus geht es bei beiden sofort. Ich habe den Haken bei "Send only on then ack==true" im in-Node wieder rausgenommen, denn mit ging es irgendwie gar nicht. Hast du noch eine Idee woran das liegen könnte?
RPReplay_Final16411111702.mov
NACHTRAG: Habe es gerade mit einer anderen Steckdose (meross) probiert, in dem ich den Flow kopiert habe und nur das Objekt ausgetauscht habe. Da funktioniert es einwandfrei. Scheint an der shelly Steckdose zu liegen.Und beim Rolladen habe ich das Problem, wenn ich den über Jarvis steuere bleibt der Schalter in homekit so stehen:
Hier die Ausgabe
-
@minta79 Nun bei dem Rollladen musst Du halt wenn Du über Jarvis steuerst auch noch die Node mit der Position als TargetState füttern. Ansonsten stellt die Node halt nur fest dass CurrentPosition nicht mit TargetPosition übereinstimmt. Also einfach die Position triggern lassen und dann die Node mit der TargetPosition füttern. Nachdem ja insgesamt das Passthrough ausgeschaltet wurde (und das funktioniert - habe es ja selbst getestet), sollte es somit auch keine Endlosschleifen mehr geben.
Das mit dem Send only when ack==true rauszunehmen, halte ich nicht für sinnvoll. Ich meine Du kannst mit dem iobroker manuell steuern, ob ein state bestätigt oder nicht bestätigt gesetzt wird und ob es funktioniert oder nicht. Normalerweise sende eine Visualisierung unbestätigte Werte wie vis, jarvis oder auch HomeKit an den Adapter. Der sendet das dann an die Hardware und bestätigt das dann auch mit ACK=true.
In Node-Red kannst Du überprüfen, welche Nachrichten rein kommen und in diesem Fall geht es ja nur darum, dass der Status richtig angezeigt wird. Zur Statusübermittlung an die NOde brauchen wir nur bestätigte Nachrichten.Wenn Du steuerst musst halt immer darauf achten, dass Du in Deiner iobroker Out Node nur ACK=false schickst und das machst Du indem Du immer commands nie values schickst.
-
@mickym
Das mit dem Rolladen hat geklappt
Den Haken bei "Send only when ack==true" habe ich wieder reingesetzt,Warum die Shelly Steckdose so komisch reagiert und ich die zweimal anschalten muss, wie im Video oben zu sehen, weißt du auch nicht oder?