NEWS
InterTechno Befehl per Javascript mit Button in Vis
-
Ich habe es geschafft einen Busware CUL 868 MHz in Proxmox in eine VM mit ioBroker einzubinden.
Der Cul-Adapter ist auch auf grün und als Test habe ich ein InterTechno Steckdose versucht zu steuern mit:
sendTo("cul.0", "sendraw", {"command": 'is1FFF1FF0FF00'}) für AUS sendTo("cul.0", "sendraw", {"command": 'is1FFF1FF0FF11'}) für EIN
Wenn ich jeweils den Befehl in ein Javascript packe und diesen dann einmail ausführe, wird die Steckdose wie gewünscht geschalten.
Nun würde ich das gerne mit einem Togglebutton in VIS steuern.
Dazu habe ich einen DP "javascript.0.CUL.Testschalter3" angelegt. Den kann in in Vis per
Toggle Button auf true/false setzen.Wenn ich nun in Javascript den DP State True/False abfrage, und dann den jeweiligen Befehl ausführen möchte, tut sich leider nichts.
on({id: 'javascript.0.CUL.Testschalter3', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState(true).val) {sendTo("cul.0", "sendraw", {"command": 'is1FFF1FF0FF11'}) } else if (getState(false).val) {sendTo("cul.0", "sendraw", {"command": 'is1FFF1FF0FF00'}) } });
Bin leider noch nicht fit in javascript, und nicht sicher ob das so funktionieren kann.
Hoffe jemand hat eine Idee, wo es hakt. -
@tritor sagte: Idee, wo es hakt.
An getState(id) muss eine Datenpunkt-ID übergeben werden. Besser so (Zeilen 4 bis 6):
let cmd = 'is1FFF1FF0FF00'; if(value) cmd = 'is1FFF1FF0FF11'; sendTo("cul.0", "sendraw", {"command": cmd});
Als Blockly:
Die Variable
value
muss genau so geschrieben werden. -
Was soll ich sagen, genial!!
Funktioniert perfekt.Ich denke es gibt noch ein paar User die das brauchen können, werd eventuell mal ein kleines how-to für die Intertechno/FS20 Geschichte zusammenstellen
Danke nochmals, hoffe ich kriege die FS20 Kommunikation auch hin, dann kann ich den einzig verbliebenen FS20 Taster direkt über ioB steuern und spare mir die FHEM VM und den FHEM Adapter.