NEWS
ioBroker Script Funktionen in NR
-
Ich ziehe gerade meine Redmatic NR Installation in eine NR ioBroker um. In meinen Logiken verwende ich z.T. Homematic Methoden, z.B. putParamset, reportValueUsage etc.
In ioBroker liese sich das ja über Skripte, so ähnlich lösen, z.B.
sendTo('hm-rpc.1', 'reportValueUsage', {ID: '00019D89A3647F:2', paramType: 'PRESS_SHORT', params: 1}, res => { log(JSON.stringify(res)); });
Gibt es eine Möglichkeit solche Skriptaufrufe auch in NR (z.B. function-node) zu verwenden und den Rückgabewert weiter zu verarbeiten?
-
@sineos Nein gibt es nicht. Es gibt ein offenes Issue-Enhancement um via „sendTo“ etwas an andere Adapter zu schicken, ist aber nicht implementiert. Wenn Du hauptsächlich mit NR arbeiten willst, musst im Moment solche Requests über in selbsterstellte Datenpunkte schreiben, die dann ein JS triggern und das Ergebins wieder zur Verfügung stellen, um es in NR weiter zu verarbeiten.
-
Habe ich fast befürchtet. Das ist bitter. Danke für die Antwort.
-
@sineos sagte in ioBroker Script Funktionen in NR:
Habe ich fast befürchtet. Das ist bitter. Danke für die Antwort.
Ich versuch mal was zu basteln. - Ja Du kannst ja mal einen Daumen nach oben geben - vielleicht bewegt sich dann was:
https://github.com/ioBroker/ioBroker.node-red/issues/291 -
@mickym Das wäre klasse. Man kann ja in den NR function nodes auch externe Module laden, aber da bin ich leider auch nicht weiter gekommen, quasi "mal schnell" die ioB script API hier rein zu ziehen.
-
@sineos Nein das wird nicht gehen. Das habe ich mit @apollon77 schon abgeklärt. Man wird im NR leider nicht die gesamte iobroker JS library angeboten bekommen. Also auch so was wie Objekte löschen etc. musst Du über den JS Adapter machen. Wie gesagt, ich versuche über einen Datenpunkt ein JS anzutriggern und dann muss man sehen.
-
Quasi ein hässlicher work-around, den man auch für andere Sachen anwenden könnte:
on("0_userdata.0.randTrigger", function (obj) { sendTo('hm-rpc.0', 'rssiInfo', {}, res => { setState("0_userdata.0.hmRSSI", res); }); });
Schön ist das aber nicht
-
@sineos Ja - anders gehts nicht. Ich versuch das nur gerade etwas generischer zu machen und schauen, ob man mit einem DP auskommt. Aber ich sehe da brauchst Du meine Hilfe nicht.
-
@sineos sagte in ioBroker Script Funktionen in NR:
Schön ist das aber nicht
Aber es zeigt immerhin, wie integrativ der iobroker ist, um so systemübergreifend zum Ergebnis zu kommen.
-
@mickym said in ioBroker Script Funktionen in NR:
Aber es zeigt immerhin, wie integrativ der iobroker ist, um so systemübergreifend zum Ergebnis zu kommen.
ioB ist klasse, da gibt es keine Frage. Harte Kanten und Ecken gibt es immer, egal bei welchem Produkt. Wichtig ist, dass es eine Lösung gibt. Schöne Lösungen natürlich bevorzugt
Vielen Dank für Deine Hilfe nochmal @mickym -
@sineos So ich hab mal versucht, dass ganze generisch für verschiedene Adapter mit Flow Beispielen zu machen.
Getest habe ich mal MQTT und SQL. Kannst ja mal testen, ob es für Homematic auch tut, ich hab nur kein Homematic deswegen kann ich es mit diesem Adapter nicht testen.Hier mal die Beschreibung in einem eigenen Thread:
https://forum.iobroker.net/topic/57210/nodered-sendto-proxy-mit-jsDie verschiedenen Kommandos könntest Du auch einfach einschleusen, indem Du eine msg.xxx Eigenschaft auf msg.sendTo.command verschiebst bevor ich in der ChangeNode das ganze dann zur payload mache.