NEWS
wrong type of...
-
Jetzt hat es mich auch erwischt.
ich habe
javascript.0 2019-12-26 13:42:02.610 warn (1053) at processImmediate (timers.js:658:5) javascript.0 2019-12-26 13:42:02.610 warn (1053) at tryOnImmediate (timers.js:676:5) javascript.0 2019-12-26 13:42:02.610 warn (1053) at runCallback (timers.js:705:18) javascript.0 2019-12-26 13:42:02.610 warn (1053) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41) javascript.0 2019-12-26 13:42:02.610 warn (1053) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.<anonymous> (script.js.Luftdaten_kumulieren:7:3) javascript.0 2019-12-26 13:42:02.608 warn (1053) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20) javascript.0 2019-12-26 13:42:02.607 warn (1053) Wrong type of 0_userdata.0.Umwelt.PM2_5_Summe: "string". Please fix, while deprecated and will not work in next versions.Aber ich habe alles kontrolliert und alles ist "number":
{ "_id": "0_userdata.0.Umwelt.PM2_5_Summe", "type": "state", "common": { "name": "PM2_5_Summe", "role": "value", "type": "number", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1577356159237, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 } }und im Script steht:
on({id: 'luftdaten.0.34499.SDS_P1', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("0_userdata.0.Umwelt.PM10_Anzahl"/*PM10_Anzahl*/, (getState("0_userdata.0.Umwelt.PM10_Anzahl").val + 1), true); setState("0_userdata.0.Umwelt.PM10_Summe"/*PM10_Summe*/, (getState("0_userdata.0.Umwelt.PM10_Summe").val + getState("luftdaten.0.34499.SDS_P1").val), true); setState("0_userdata.0.Umwelt.PM2_5_Anzahl"/*PM2_5_Anzahl*/, (getState("0_userdata.0.Umwelt.PM2_5_Anzahl").val + 1), true); setState("0_userdata.0.Umwelt.PM2_5_Summe"/*PM2_5_Summe*/, (getState("luftdaten.0.34499.SDS_P2").val + 1), true); }); schedule("59 23 * * *", function () { setState("0_userdata.0.Umwelt.PM10_Tagesmittel"/*PM10_Tagesmittel*/, (getState("0_userdata.0.Umwelt.PM10_Summe").val / getState("0_userdata.0.Umwelt.PM10_Anzahl").val), true); setState("0_userdata.0.Umwelt.PM2_5_Tagesmittel"/*PM2_5_Tagesmittel*/, (getState("0_userdata.0.Umwelt.PM2_5_Summe").val / getState("0_userdata.0.Umwelt.PM2_5_Anzahl").val), true); });Alle diese States sind vom typ number.
{ "type": "state", "common": { "name": "PM2.5", "type": "number", "role": "value.ppm", "unit": "µg/m³", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "20", "retention": 0, "changesRelogInterval": "1800", "changesMinDelta": 0, "aliasId": "" } } }, "native": {}, "from": "system.adapter.luftdaten.0", "user": "system.user.admin", "ts": 1577284209810, "_id": "luftdaten.0.34499.SDS_P2", "acl": { "object": 1638, "state": 1638 } }muss ich trotzdem eine Konvertierung zu Zahl durchführen?
-
Jetzt hat es mich auch erwischt.
ich habe
javascript.0 2019-12-26 13:42:02.610 warn (1053) at processImmediate (timers.js:658:5) javascript.0 2019-12-26 13:42:02.610 warn (1053) at tryOnImmediate (timers.js:676:5) javascript.0 2019-12-26 13:42:02.610 warn (1053) at runCallback (timers.js:705:18) javascript.0 2019-12-26 13:42:02.610 warn (1053) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41) javascript.0 2019-12-26 13:42:02.610 warn (1053) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.<anonymous> (script.js.Luftdaten_kumulieren:7:3) javascript.0 2019-12-26 13:42:02.608 warn (1053) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20) javascript.0 2019-12-26 13:42:02.607 warn (1053) Wrong type of 0_userdata.0.Umwelt.PM2_5_Summe: "string". Please fix, while deprecated and will not work in next versions.Aber ich habe alles kontrolliert und alles ist "number":
{ "_id": "0_userdata.0.Umwelt.PM2_5_Summe", "type": "state", "common": { "name": "PM2_5_Summe", "role": "value", "type": "number", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1577356159237, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 } }und im Script steht:
on({id: 'luftdaten.0.34499.SDS_P1', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("0_userdata.0.Umwelt.PM10_Anzahl"/*PM10_Anzahl*/, (getState("0_userdata.0.Umwelt.PM10_Anzahl").val + 1), true); setState("0_userdata.0.Umwelt.PM10_Summe"/*PM10_Summe*/, (getState("0_userdata.0.Umwelt.PM10_Summe").val + getState("luftdaten.0.34499.SDS_P1").val), true); setState("0_userdata.0.Umwelt.PM2_5_Anzahl"/*PM2_5_Anzahl*/, (getState("0_userdata.0.Umwelt.PM2_5_Anzahl").val + 1), true); setState("0_userdata.0.Umwelt.PM2_5_Summe"/*PM2_5_Summe*/, (getState("luftdaten.0.34499.SDS_P2").val + 1), true); }); schedule("59 23 * * *", function () { setState("0_userdata.0.Umwelt.PM10_Tagesmittel"/*PM10_Tagesmittel*/, (getState("0_userdata.0.Umwelt.PM10_Summe").val / getState("0_userdata.0.Umwelt.PM10_Anzahl").val), true); setState("0_userdata.0.Umwelt.PM2_5_Tagesmittel"/*PM2_5_Tagesmittel*/, (getState("0_userdata.0.Umwelt.PM2_5_Summe").val / getState("0_userdata.0.Umwelt.PM2_5_Anzahl").val), true); });Alle diese States sind vom typ number.
{ "type": "state", "common": { "name": "PM2.5", "type": "number", "role": "value.ppm", "unit": "µg/m³", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "20", "retention": 0, "changesRelogInterval": "1800", "changesMinDelta": 0, "aliasId": "" } } }, "native": {}, "from": "system.adapter.luftdaten.0", "user": "system.user.admin", "ts": 1577284209810, "_id": "luftdaten.0.34499.SDS_P2", "acl": { "object": 1638, "state": 1638 } }muss ich trotzdem eine Konvertierung zu Zahl durchführen?
-
Jetzt hat es mich auch erwischt.
ich habe
javascript.0 2019-12-26 13:42:02.610 warn (1053) at processImmediate (timers.js:658:5) javascript.0 2019-12-26 13:42:02.610 warn (1053) at tryOnImmediate (timers.js:676:5) javascript.0 2019-12-26 13:42:02.610 warn (1053) at runCallback (timers.js:705:18) javascript.0 2019-12-26 13:42:02.610 warn (1053) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:226:41) javascript.0 2019-12-26 13:42:02.610 warn (1053) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4745:37) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38) javascript.0 2019-12-26 13:42:02.609 warn (1053) at Object.<anonymous> (script.js.Luftdaten_kumulieren:7:3) javascript.0 2019-12-26 13:42:02.608 warn (1053) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1258:20) javascript.0 2019-12-26 13:42:02.607 warn (1053) Wrong type of 0_userdata.0.Umwelt.PM2_5_Summe: "string". Please fix, while deprecated and will not work in next versions.Aber ich habe alles kontrolliert und alles ist "number":
{ "_id": "0_userdata.0.Umwelt.PM2_5_Summe", "type": "state", "common": { "name": "PM2_5_Summe", "role": "value", "type": "number", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1577356159237, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 } }und im Script steht:
on({id: 'luftdaten.0.34499.SDS_P1', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("0_userdata.0.Umwelt.PM10_Anzahl"/*PM10_Anzahl*/, (getState("0_userdata.0.Umwelt.PM10_Anzahl").val + 1), true); setState("0_userdata.0.Umwelt.PM10_Summe"/*PM10_Summe*/, (getState("0_userdata.0.Umwelt.PM10_Summe").val + getState("luftdaten.0.34499.SDS_P1").val), true); setState("0_userdata.0.Umwelt.PM2_5_Anzahl"/*PM2_5_Anzahl*/, (getState("0_userdata.0.Umwelt.PM2_5_Anzahl").val + 1), true); setState("0_userdata.0.Umwelt.PM2_5_Summe"/*PM2_5_Summe*/, (getState("luftdaten.0.34499.SDS_P2").val + 1), true); }); schedule("59 23 * * *", function () { setState("0_userdata.0.Umwelt.PM10_Tagesmittel"/*PM10_Tagesmittel*/, (getState("0_userdata.0.Umwelt.PM10_Summe").val / getState("0_userdata.0.Umwelt.PM10_Anzahl").val), true); setState("0_userdata.0.Umwelt.PM2_5_Tagesmittel"/*PM2_5_Tagesmittel*/, (getState("0_userdata.0.Umwelt.PM2_5_Summe").val / getState("0_userdata.0.Umwelt.PM2_5_Anzahl").val), true); });Alle diese States sind vom typ number.
{ "type": "state", "common": { "name": "PM2.5", "type": "number", "role": "value.ppm", "unit": "µg/m³", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "20", "retention": 0, "changesRelogInterval": "1800", "changesMinDelta": 0, "aliasId": "" } } }, "native": {}, "from": "system.adapter.luftdaten.0", "user": "system.user.admin", "ts": 1577284209810, "_id": "luftdaten.0.34499.SDS_P2", "acl": { "object": 1638, "state": 1638 } }muss ich trotzdem eine Konvertierung zu Zahl durchführen?
-
Wahrscheinlich 12,5, nicht 12.5 ...
-
@paul53 sagte in wrong type of...:
@Homoran sagte:
"luftdaten.0.34499.SDS_P2"
enthält offenbar einen String.
wie bekomme ich das raus?
Der Datenpunkt ist vom Typ NumberIch denke ich werde sicherheitshalber einen konvert Block dazunehmen
-
@paul53 sagte in wrong type of...:
@Homoran sagte:
"luftdaten.0.34499.SDS_P2"
enthält offenbar einen String.
wie bekomme ich das raus?
Der Datenpunkt ist vom Typ NumberIch denke ich werde sicherheitshalber einen konvert Block dazunehmen
-
@Homoran sagte:
wie bekomme ich das raus?
log(typeof getState("luftdaten.0.34499.SDS_P2").val);@Homoran sagte in wrong type of...:
Der Datenpunkt ist vom Typ Number
Das sagt nichts darüber aus, welcher Typ tatsächlich in val enthalten ist.
@paul53 sagte in wrong type of...:
log(typeof getState("luftdaten.0.34499.SDS_P2").val);
Danke!

14:32:00.412 info javascript.0 (1053) Start javascript script.js.typtest 14:32:00.416 info javascript.0 (1053) script.js.typtest: stringObwohl, die Config auf number steht
-
@paul53 sagte in wrong type of...:
log(typeof getState("luftdaten.0.34499.SDS_P2").val);
Danke!

14:32:00.412 info javascript.0 (1053) Start javascript script.js.typtest 14:32:00.416 info javascript.0 (1053) script.js.typtest: stringObwohl, die Config auf number steht
-
@paul53
Done! -
Danke an alle!
Habe jetzt erst einmal alle States mit "nach Zahl" konvertiert. Läuftjetzt ohne Fehlermeldung.
Issue beim Luftdaten-Adapter ist erstellt.
@SBorg sagte in wrong type of...:
Wahrscheinlich 12,5, nicht 12.5 ...

Zumindest nicht sichtbar
-
Danke an alle!
Habe jetzt erst einmal alle States mit "nach Zahl" konvertiert. Läuftjetzt ohne Fehlermeldung.
Issue beim Luftdaten-Adapter ist erstellt.
@SBorg sagte in wrong type of...:
Wahrscheinlich 12,5, nicht 12.5 ...

Zumindest nicht sichtbar
-
@Homoran sagte:
alle States mit "nach Zahl" konvertiert.
Du meinst alle Werte aus "luftdaten.0" ? Das wäre ausreichend.
@paul53 sagte in wrong type of...:
Das wäre ausreichend.
Danke!
Da war ich mir eben nicht sicher, ob die States, in denen er das Ergebnis aus einer "Text-Addition" eingetragen hatte nicht auch den falschen Typ haben.
Mit diesen Werten rechnet er ja nachher weiter. -
@paul53 sagte in wrong type of...:
Das wäre ausreichend.
Danke!
Da war ich mir eben nicht sicher, ob die States, in denen er das Ergebnis aus einer "Text-Addition" eingetragen hatte nicht auch den falschen Typ haben.
Mit diesen Werten rechnet er ja nachher weiter. -
@Homoran sagte:
States, in denen er das Ergebnis aus einer "Text-Addition" eingetragen hatte nicht auch den falschen Typ haben.
Ja, das muss einmalig korrigiert werden.
@paul53
Dann setze ich alles auf 0 und beginne von vorn.
Da stimmt sowie so etwas nicht ;-)
Die potentiellen Tagesmittelwerte sind unplausibel. -
@paul53
Dann setze ich alles auf 0 und beginne von vorn.
Da stimmt sowie so etwas nicht ;-)
Die potentiellen Tagesmittelwerte sind unplausibel. -
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
@paul53
Das habe ich mir auch gedacht -
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
@paul53 sagte in wrong type of...:
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
Das war wohl schon immer String:
self.setState(path + 'SDS_' + obj.value_type, {val: obj.value, ack: true});Ich finde aber nix was obj.value prüft oder als Zahl konvertiert. Mein JS ist "so naja", aber was ich dabei nicht verstehe, die Funktion ist für 2.5 + 10, warum meckert er nur die 2.5 an (10 ist, wie es die Funktion ja auch vorgibt, ebenfalls String)?
-
@paul53 sagte in wrong type of...:
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
Das war wohl schon immer String:
self.setState(path + 'SDS_' + obj.value_type, {val: obj.value, ack: true});Ich finde aber nix was obj.value prüft oder als Zahl konvertiert. Mein JS ist "so naja", aber was ich dabei nicht verstehe, die Funktion ist für 2.5 + 10, warum meckert er nur die 2.5 an (10 ist, wie es die Funktion ja auch vorgibt, ebenfalls String)?
@SBorg
er hatte beides angemeckert.
Ich hatte nur das eine als Beispiel genommen -
@Homoran Ok, danke, dann raff ich das auch ^^
Muss Matthias fixen... :) -
@paul53 sagte in wrong type of...:
@Homoran sagte:
Die potentiellen Tagesmittelwerte sind unplausibel.
Wenn bisher eine String-Verkettung anstelle einer Addition erfolgte, können die Werte nicht stimmen.
Das war wohl schon immer String:
self.setState(path + 'SDS_' + obj.value_type, {val: obj.value, ack: true});Ich finde aber nix was obj.value prüft oder als Zahl konvertiert. Mein JS ist "so naja", aber was ich dabei nicht verstehe, die Funktion ist für 2.5 + 10, warum meckert er nur die 2.5 an (10 ist, wie es die Funktion ja auch vorgibt, ebenfalls String)?
@SBorg sagte:
Das war wohl schon immer String:
Ist der Code aus dem Adapter ?
Wenn es eine Zahl sein soll, wie es common.type = 'number' vorgibt, muss gewandelt werden.self.setState(path + 'SDS_' + obj.value_type, {val: parseFloat(obj.value), ack: true});
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden