NEWS
[Frage] Blockly Datenpunkt schaltet das Skript aber nicht
-
Hallo ihr lieben,
irgendwie scheine ich etwas Blond zu sein.
Ich habe nun wir aus einem anderen Thread einen Datenpunkt (Objekt) erstellt.
Mein Plan ist es dass wenn ich an meinem Tab einen Button drücke oder Alexa sage sie soll die Küche ausschalten. Eben meine Arbeitsplatte ausgeht meine Sonos auf null und meine Deckenleuchte (Hue) mit Verzögerung auch.
Dazu habe ich ein Objekt angelegt.

Und dann eben ein Skript das dieses Objekt abfragt um eine Rückmeldung zubekommen Visuell und um eben dieses auch per Alexa zu bewerkstelligen, dass ganze habe ich auch mit einer Szene gemacht das läuft nur die Szene kann eben keinen Status ob True oder False zurückgeben.
Skript:

Wenn ich an meinem Tab den dazugehörigen Button drücke wird der Status des Objekts auf True oder False gesetzt aber das Skript startet nicht.
Hoffe auf einen Tipp von euch.
-
Ich weiß nicht genau, wie der Block heißt, aber du brauchst einen Trigger um auf einen Datenpunkt zu reagieren. In JS ist das die "on" oder "subscribe"-Funktion.
Dein Block prüft nur 1x wie der Status ist und reagiert dann ("if-Block"). Danach ist das Skript vorbei.
-
Hallo csamaggi
Probiere es mal so.

Hier der Export zum importieren
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="xxB}}uewllph^jSXl6QQ" x="-362" y="-88"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="+Ob/Ki?NU+h,aC,10]pD"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="HnZLXro,N3.Q=Y,JCcG("><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="+|yI#]i8P6P{I^*b%4ef"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="L]2cmjbV6l.9wt_aS{GA"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="#k3zL?^tp#Y6OulYhSWe"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="comment" id="#;%t@Gn[ND}(bwN~;R.O"><field name="COMMENT">Hier die Sachen einschalten</field></block></statement> <statement name="ELSE"><block type="comment" id="1(Xt%kO6pT;`da-bjdc+"><field name="COMMENT">Hier die Sachen ausschalten</field></block></statement></block></statement></block></xml>! ````
Bei Fragen, fragen ;)
Und eventuell "[Frage] Blockly…....." im Betreff einfügen :)
Schau mal hier ->http://forum.iobroker.net/viewtopic.php?f=8&t=2451
Grüße
-
-
Die Scripte NICHT unter Global/Common ablegen.
Der Fehler wird häufig gemacht.
Eigene Ordnerstruktur anlegen!
Grüße
-
Setze doch mal ein Screenshot von Deinem Bllockly rein.
Grüße
-
Hmm… sieht eigentlich gut aus.
Setzte doch mal vor dem ersten Falls...
ein "Debug output wert von Küche"
Dann kann man im Log sehen ob der Trigger gestartet wird.
Grüße
-
Mit einem Datenpunkt "Küche" auf Adapterebene funktioniert es nicht:
var idtest = "Küche"/*Küche*/; on(idtest, function(dp) { log('Küche: ' + dp.state.val); });triggert nicht !
var idtest = "datenpunkte.0.Küche"/*Küche*/; on(idtest, function(dp) { log('Küche: ' + dp.state.val); });funktioniert.
Deshalb: Datenpunkte immer innerhalb einer Instanz anlegen :!:
-
Da hat aber einer aufgepasst.
Hut ab Paul53 ;)
Grüße
-
Danke Paul53 das war dass entscheidende wieder was gelernt.
Nun läufts.
Nochmals Danke
MFG Maggi `
Hallo Maggi,
könnstet Du nochmal das Blockly reinstellen, damit ich das auch verstehe, wie das denn auszusehen hat ?
Ich versuch auch grade ein Blockly mit Alexa zu starten, bekomme es aber nicht hin.
Wäre nett!
Danke!

