Node-Red Homematic put_paramset Variable on_time , JSON string zu number

Hallo,

mit dem call-service “put_paramset” möchte ich einen HomematicIP-Schaltaktor einschalten und gleichzeitig eine Einschaltdauer (“on_time”) übergeben. Dies funktioniert auch wunderbar mit einer fixen Zahl im JSON-Editor.

Gerne würde ich die Einschaltdauer variabel übergeben wollen “mit msg.dauer (als Zahl)”

    "paramset": {
        "ON_TIME": "{{dauer}}",
        "STATE": true
    }

Leider funktioniert das so nicht da “{{dauer}}” als ein string-Wert an den HmIP-Aktor übergeben wird, dieser benötigt aber einen number-Wert.

Übergebe ich nur {{dauer}} (ohne " ") funktioniert alles soweit, nur der JSON-Editor bringt dann einen SyntaxError.

Kann mir jemand helfen, den Editor glücklich zu machen :grinning:

Kenne mich mit den Feinheiten auch nicht perfekt aus, aber ich übergebe die variable Zeit an ein Funktion-Node um auf Millisekunden umzurechnen und übergebe das dann an einen DELAY-Node

grafik

Danke für den Hinweis. Gerne möchte ich DELAY-Node vermeiden.
Die Möglichkeit via ON_TIME bietet mir mehr Sicherheit im Fehlerfall.
Es hängen Bewässerungskreise dran, welche selbstständig Stoppen sollen, selbst wenn Home Assistent offline ist

Moin,
wenn ich mit NodeRED Homematic steuere mach ich das ohne den umweg über Homeassistent.
Wenn du das zur NodeRED Addon config hinzufügst bekommst du die Nodes zum steuern von Homematic

npm_packages:
  - node-red-contrib-ccu

Ich finde das darüber leichter.

LG
Tobi

Hi,
danke für den Tipp. Ich habe mal einen Blick drauf geworfen, doch ganz schlau werde ich nicht daraus.

Kannst du mir ein Beispiel mit einer ON_TIME zeigen?

Vielen Dank

Muss ich heute Abend mal gucken ob ich ein Gerät habe was ON_TIME unterstützt da ich momentan kein HomematicIP-Schaltaktor in Betrieb habe.

LG
Tobi

Ich habe das Problemchen mit dem SyntaxError im Editor und meiner ON_TIME lösen können :grin:

Ich habe den Editor in Node-Red auf JASONata (J:) umgestellt und die Data call-service entsprechend angepasst

{"device_id":"XXXXXXXXXXXXXXXXXXXXXXXXXX","channel":"10","paramset_key":"VALUES","paramset":{"ON_TIME":msg.dauer,"STATE":true}}