NEWS
Blockly Selektor u. Aufzählungen Geräte zählen
-
Keine Ahnung warum Fenster nicht geht. Habe eh nur einen Sensor im Bad.
Jetzt bekomme ich Fehler:
12:14:09.166 error javascript.0 (9200) at stateText (script.js.Status.Fenster_zaehlen:29:39) 12:14:09.166 error javascript.0 (9200) at Object.<anonymous> (script.js.Status.Fenster_zaehlen:690:9)
29: return getObject(id).common.states[val];
690: if (stateText(idFenster, wert) == 'TILTED') {javascript.0 2019-12-28 12:14:09.166 error (9200) at processImmediate (timers.js:658:5) javascript.0 2019-12-28 12:14:09.166 error (9200) at tryOnImmediate (timers.js:676:5) javascript.0 2019-12-28 12:14:09.166 error (9200) at runCallback (timers.js:705:18) javascript.0 2019-12-28 12:14:09.166 error (9200) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4828:37) javascript.0 2019-12-28 12:14:09.166 error (9200) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:439:25) javascript.0 2019-12-28 12:14:09.166 error (9200) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1101:38) javascript.0 2019-12-28 12:14:09.166 error (9200) at Object.<anonymous> (script.js.Status.Fenster_zaehlen:690:9) javascript.0 2019-12-28 12:14:09.166 error (9200) at stateText (script.js.Status.Fenster_zaehlen:29:39) javascript.0 2019-12-28 12:14:09.166 error (9200) Error in callback: TypeError: Cannot read property 'true' of undefined javascript.0 2019-12-28 12:14:09.163 warn (9200) at processImmediate (timers.js:658:5) javascript.0 2019-12-28 12:14:09.163 warn (9200) at tryOnImmediate (timers.js:676:5) javascript.0 2019-12-28 12:14:09.163 warn (9200) at runCallback (timers.js:705:18) javascript.0 2019-12-28 12:14:09.163 warn (9200) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4828:37) javascript.0 2019-12-28 12:14:09.162 warn (9200) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:439:25) javascript.0 2019-12-28 12:14:09.162 warn (9200) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1101:38) javascript.0 2019-12-28 12:14:09.162 warn (9200) at Object.<anonymous> (script.js.Status.Fenster_dslraser:46:3) javascript.0 2019-12-28 12:14:09.162 warn (9200) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1404:20) javascript.0 2019-12-28 12:14:09.162 warn (9200) You are assigning a number to the state "javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster" which expects a boolean. Please fix your code to use a boolean or chang
Glaube es hat was mit den Drehkontakt zu tun, habe so einen nicht. Darum der Fehler 'TILTED'
-
@sigi234 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
avascript.0 2019-12-28 12:14:09.162 warn (9200) You are assigning a number to the state "javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster" which expects a boolean. Please fix your code to use a boolean or chang
wieso kommt das bei Dir ?
avascript.0 2019-12-28 12:14:09.162 warn (9200) You are assigning a number to the state "javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster" which expects a boolean. Please fix your code to use a boolean or chang
Da legt das Blockly gar nichts an ? Die angelegten Datenpunkte sind unter 0_userdata.0
Wenn Du das verändert hast, dann mußt Du auch den Rest im Blockly anpassen. -
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@sigi234 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
avascript.0 2019-12-28 12:14:09.162 warn (9200) You are assigning a number to the state "javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster" which expects a boolean. Please fix your code to use a boolean or chang
wieso kommt das bei Dir ?
avascript.0 2019-12-28 12:14:09.162 warn (9200) You are assigning a number to the state "javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster" which expects a boolean. Please fix your code to use a boolean or chang
Da legt das Blockly gar nichts an ? Die angelegten Datenpunkte sind unter 0_userdata.0
Wenn Du das verändert hast, dann mußt Du auch den Rest im Blockly anpassen.Kommt von eine Blockly Skript, ist von dir?
Versendet eine Mail.
-
@sigi234
das ist aber ein anderes Blockly. Da ist anscheinend ein Datenpunkt falsch.Poste mal den Export.
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@sigi234
das ist aber ein anderes Blockly. Da ist anscheinend ein Datenpunkt falsch.Poste mal den Export.
-
@sigi234
da fehlt der wichtigste Punkt. (das was den Fehler verursacht) Da ist die Funktion zum Datenpunkt anlegen nicht drinn.
Poste mal den RAW vom angemeckerten Datenpunkt. Von dem...javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@sigi234
da fehlt der wichtigste Punkt. (das was den Fehler verursacht) Da ist die Funktion zum Datenpunkt anlegen nicht drinn.
Poste mal den RAW vom angemeckerten Datenpunkt. Von dem...javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1576780234612, "common": { "name": "04email.Fensterstatus.Anzahl_geoffnete_Fenster", "role": "state", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "javascript.0.Eigene_Datenpunkte.04email.Fensterstatus.Anzahl_geoffnete_Fenster", "type": "state" }
-
@sigi234 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
"type": "boolean",
das hast Du dann aber selbst gemacht.... ("desc": "Manuell erzeugt",)
mach da mal number draus
"type": "boolean",
also so
"type": "number",
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
das hast Du dann aber selbst gemacht...
Schaut so aus, erledigt.
So, in diesen Blockly funktioniert also der Selektor. Dann muss in deinen was nicht stimmen. (Drehkontakt)
-
@sigi234 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
690: if (stateText(idFenster, wert) == 'TILTED') {
lösche mal im Blockly diesen Teil (also in dem Blockly aus diesem Thread) und versuche es dann nochmal.
-
@sigi234 sagte:
12:14:09.166 error javascript.0 (9200) at stateText (script.js.Status.Fenster_zaehlen:29:39)
Mind. einer der Datenpunkte hat offenbar keine Zustandstexte (common.states).
Ob "TILTED" geliefert wird, spielt keine Rolle. -
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@sigi234 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
690: if (stateText(idFenster, wert) == 'TILTED') {
lösche mal im Blockly diesen Teil (also in dem Blockly aus diesem Thread) und versuche es dann nochmal.
Wo finde ich den?
-
@dslraser
Ändere besser die Funktionreturn getObject(id).common.states[val];
in
if(getObject(id).common.states) return getObject(id).common.states[val]; return 'kein Zustandstext !';
-
@sigi234 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
So, in diesen Blockly funktioniert also der Selektor. Dann muss in deinen was nicht stimmen. (Drehkontakt)
Dieses Blockly arbeitet auch anders. Dieses Fenster Blockly "liest" in der Werteliste, so wie oben erklärt. Wenn Du z.B. das Licht Blockly für Deine Fenster nimmst und da mal Deinen Fenster Selektor nimmst, sollte das auch funktionieren.
Ich mach nochmal eins, nur für die einfachen Fenstersensoren. Dies von oben ist ja extra für die "gemischte" Konstellation mit Drehgriffen.
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Ich mach nochmal eins, nur für die einfachen Fenstersensoren. Dies von oben ist ja extra für die "gemischte" Konstellation mit Drehgriffen.
Cool
Geht das auch mit Türen?
Ich habe diese Sensoren auch an der Terrassentür und Haustür. Das ist eine eigene Aufzählung (Tür)
Habe versuch das Fenster Blockly mit Notepad++ zu bearbeiten und alle Fenster mit Tür ersetzt. Das geht leider nicht. -
@paul53 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Ändere besser die Funktion
Werden dann nicht vorhandene ignoriert (z.B. TILTED) und das Blockly nimmt dann nur die vorhandenen ?
-
@dslraser sagte:
Werden dann nicht vorhandene ignoriert (z.B. TILTED)
"TILTED" ist einer von 3 Zustandstexten. In der Funktion wird nur geprüft, ob überhaupt Zustandstexte vorhanden sind. Falls ja, wird der zum Wert passende Zustandstext zurück gegeben, andernfalls "kein Zustandstext !". So wird ein Error-Log bei fehlenden Zustandstexten vermieden.
-
@paul53
Danke Dir. Ich habe es im Export im Fenster Blockly im ersten Post geändert. -
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@paul53
Danke Dir. Ich habe es im Export im Fenster Blockly im ersten Post geändert.Soll man die alten DP löschen? Ok.
Fenster gekippt gibt es bei mir nicht. -
@sigi234 sagte:
Fenster gekippt gibt es bei mir nicht.
Aber offenbar mind. einen Datenpunkt, der keine Zustandstexte hat.