NEWS
Javascript VIS/Widgets vs ioBroker/Blockly
-
Guten Abend,
ich bin noch ein absoluter Neuling habe heute mein erstes Script erstellt und will damit über einen Boolean Button einen virtuellen Homematic IP Schalter schalten. 0 = short_press, 1 = long_press. Nachdem ich das Script in VIS Oberfläche bei Widget/Einstellungen/Scripte eingefügt habe, konnte ich das Script nicht zum laufen bringen. Beim betätigen des Button im Testmodus, kam es zu keiner Reaktion.
Nach längerer Suche habe ich dann Blockly für den ioBroker installiert, dort das Script 1:1 kopiert und gestartet. Zu meiner Überraschung funktioniert der Button jetzt wie gewünscht. Sobald ich das Script im
ioBroker stoppe keine Reaktion mehr.Reicht es nicht aus ein Script im VIS bei den Widgets einzufügen bzw. muss ich da noch etwas anderes machen? Oder müssen die Scripte immer im ioBroker gestartet werden?
Anbei noch das entsprechende Script:
on({id:"vis.0.datapoints.Button_South", change: 'any' }, function (obj) { if (obj.newState.val === '1') { setState("hm-rpc.0.001F4569A8E3FF.49.PRESS_SHORT",true); console.log('Wert' + obj.newState.val); } if ( obj.newState.val === '0') { setState("hm-rpc.0.001F4569A8E3FF.49.PRESS_LONG",true); console.log('Wert' + obj.newState.val); } console.log('Wert' + obj.newState.val); } );
Danke für eure Hilfe.
-
@rokket sagte:
Reicht es nicht aus ein Script im VIS bei den Widgets einzufügen
Das Script benutzt Funktionen des Javascript-Adapters. Diese Funktionen stehen in Vis nicht zur Verfügung.
-
@rokket
Für das was du da machen willst, brauchst du weder Blockly noch ein Script in vis.
Einfach in vis ein widget einsetzten und da den Datenpunkt des Short oder Longpress als objektid rein -
@rokket
Entschuldigung. Du willst ja mit dem Button zwei unterschiedliche Datenpunkte nutzen:Dann brauchst du einen selbst erstellten Datenpunkt welchen du als ObjektID in das VisWidget einsetzt.
Dazu ein Blockly wie oben von dir geschrieben.
In VIS brauchst du KEIN weiteres Script