NEWS
Node-Red Homekit und Rollladen Problem
-
Ich wollte mal versuchen neben dem yahka auch Node-red zu benutzen für die Anbindung an Homekit. beim Yahka Adapter hängt Siri sich ab und zu auf.
Also mein erster Versuch mit Node-red und ich habe im Debug Fenster einen Fehler:
4.8.2021, 21:34:44 node: function
function : (error)
"TypeError: Cannot read property 'TargetPosition' of undefinedEingebunden habe die Fibaro RollerShutter2
Flow
Vielleicht kann mir ja einer sagen wo das Problem liegt oder einen Knoten im Kopf habe.
Danke für eure Hilfe. -
@typ1er Du versuchst eine Eigenschaft TargetPosition von einem nicht definierten Objekt zu beschreiben. Hört halt auf so was in function Nodes zu packen.
-
@mickym Ich habe versucht aus dem Homekitschalter den Zahlenwert zu extrahieren um damit den Wert in ioBroker zu schreiben.
Aus dem Schalter kommen die Werte so raus:
4.8.2021, 21:55:31node: 11
msg.payload : Object
object
TargetPosition: 4 -
@typ1er Ok dafür braucht man aber keine function Node, das macht man mit einer Change Node:
Allerdings warum machst Du die function Node dazwischen, wenn Du dann in der Range Node nicht auf die Eigenschaft sondern wieder auf die das Objekt gehst:
Das macht doch dann keinen Sinn???
Mit Deiner Function Node setzt Du doch die Payload auf die TargetPosition???
Ansonsten funktioniert Deine function Node habe es gerade getestet:
Dein Problem ist aber meines Erachtens, dass Du wahrscheinlich aus der homekit Node nichts rausbekommst - bzw. das Objekt nicht gesetzt ist:
Du filterst nach einem Topic das Du gar nicht gesetzt hast
-
Die Function Node hatte ich schon rausgeschmissen nach deinem Kommentar und gegen die Change Node getauscht. Die Homekit Node bringt nach jedem deploy noch 4x "undefined", was ich mit dem zusätzlichen switch(ist nicht null) rausgefiltert habe. Ansonsten funktioniert es jetzt.
Flow -
@typ1er
Ich importiere zwar Deine Flows - um es nachzuvolliehen, wäre aber schön wenn Du den Code nicht nur in dem Spoiler verpackst, sondern in die CodeTags packst, dann kann man das nämlich mit einem Click in die Zwischenablage kopieren und muss nicht den ganzen Code abscrollen.
Gut Du hast das jetzt mit der switch Node rausgefiltert, aber wäre es nicht mit einer Debug Node interssant (das Nachrichtenobjekt) zu anaylisieren, woher das kommt?
Das Filtern hilft - ich würde aber ggf. die Ursache abstellen - aber das ist dann wohl eine philosophische Frage.
Kann das Problem an sich nicht nachvollziehen. Bei mir kommen die Nachrichten auch nach einem Deploy als Objekte raus: