NEWS
wrong type of...
-
@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});@paul53 sagte in wrong type of...:
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});Ja, und genau so sieht meine Änderung auch aus (war mir nicht zu 100% sicher) :)
Resultat:16:30:46.076 info javascript.0 (31077) script.js.Skript_1: number 16:30:46.077 info javascript.0 (31077) script.js.Skript_1: registered 0 subscriptions and 0 schedules -
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?
@Homoran in diesem Thread wurde schonmal ein sehr hilfreiches Skript gebaut um Probleme rund um "wrong type of" zu finden: https://forum.iobroker.net/topic/25796/objekte-aufräumen/
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