[node-blue] peerId in Node reinreichen

Hi @sathya,

Für mein System wäre es total praktisch, wenn man die peerId oder den peerNamen in eine Node reinreichen könnte. Dadurch könnte ich viele Elemente in Subflows auslagern, die aktuell keinen Sinn machen.

Man müsste nur die peerId optional machen, und diese dann aus der Nachricht nehmen, falls vorhanden. Falls nicht vorhanden eine Fehlermeldung ins Log. Falls der peer vom falschen Typ ist, natürlich auch eine Fehlermeldung.

Im Moment muss ich einzelne Attribute der peers in den Subflow reinreichen und dann die entsprechenden Veränderungen wieder raus.

Wäre toll, wenn das einfacher gehen würde. :wink:

Du meinst, dass aus dem Variable-In node einfach im Message-Object diese Info’s standardmäßig mitgegeben werden? Quasi Metainfos als Eigenschaften $message?

Finde ich gut :+1:

Ja, so ungefähr. Nur nicht nur aus Variable-In, sondern auch manuell über die Change-Node.

Ich habe zum Beispiel an meinen Wecker einen “Sonnenaufgang” mit Hue-Lampen angebunden. Das ist nichts anderes als diverse “Light-Nodes”. Da ich die aber “Hardcodieren” muss, muss ich den Flow kopieren.

image

Könnte ich die “216” jetzt als peerId reingeben, könnte das ein einfacher Subflow ohne Ausgang werden. PeerId rein, und es geht los. (Die ganze Logik (Geschwindigkeit, Farbwechsel), ist in den Light-Nodes)

In den Light und Variable-In-Nodes wäre die peerId leer und würde dann aus $message[‘peerId’] gelesen werden. Ganz analog zu mqtt-out.

Verstehe was du meinst, finde ich gut. Bei mir habe ich das Problem umschifft, indem ich für den Ausgang mqtt nehme und da entsprechend das Topic variabel anpasse.

Ja, in vielen Fällen geht das. Man könnte auch eine php-Node und dann setValue/getValue verwenden, schon hätte man eine Variable Variable-In-Out-Node.

Hilft aber nicht wenn man die Light-Node verwendet, da diese den zeitlichen Ablauf steuert.

Ich denke auch, dass man die Wiederverwendbarkeit von Subflows dadurch stark erhöhen kann. Auch ausserhalb der eigenen Homegear-Instanz. Ein Subflow, der funktioniert, sobald man die entsprechende peerId reingibt ist einfacher von anderen verwendbar als einer, in dem man in 10 Knoten die peerId austauschen muss.

1 Like