NEWS
Brauche mal einen Tipp
-
Re: [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe
Bekomme bei der Ausführung des scriptes immer folgende Fehlermeldungen:javascript.0 2021-05-23 18:55:00.129 error (32207) at processImmediate (internal/timers.js:461:21) javascript.0 2021-05-23 18:55:00.129 error (32207) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5555:41) javascript.0 2021-05-23 18:55:00.129 error (32207) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:502:29) javascript.0 2021-05-23 18:55:00.128 error (32207) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1075:38) javascript.0 2021-05-23 18:55:00.128 error (32207) at Object.<anonymous> (script.js.common.BattUeberwachung:661:13) javascript.0 2021-05-23 18:55:00.127 error (32207) at CheckBatterys (script.js.common.BattUeberwachung:412:119) javascript.0 2021-05-23 18:55:00.126 error (32207) Error in callback: TypeError: Cannot read property 'common' of null javascript.0 2021-05-23 18:55:00.111 warn (32207) Object "javascript.0.Daten.ATC.10EF30" does not exist javascript.0 2021-05-23 18:55:00.110 info (32207) script.js.common.BattUeberwachung: Reaching CheckBatterys(0) Val=0 Limit=0 javascript.0 2021-05-23 18:55:00.105 info (32207) script.js.common.BattUeberwachung: Value conversion from String to number - success
Da ich absolut keine Ahnung habe, und mich daher genau an die Anleitung gehalten habe, bin ich leider total ratlos und für jeden Tip dankbar.
Meine zu überwachenden Objekte sehen wie folgt aus:
Da ich die Daten aus eine json MQTT Nachricht parse, finden sich die Werte unter javascript.0
Hatte einer eine Idee bzw. Vorschlag mit Noob tauglicher Erklärung? Danke & schöne Pfingsten -
@chris-5 sagte in Brauche mal einen Tipp:
javascript.0 2021-05-23 18:55:00.111 warn (32207) Object "javascript.0.Daten.ATC.10EF30" does not exist
Da gibbet was nicht!
Such mal in den ObjektenUnd bitte code in code-tags setzen!
-
@chris-5 sagte: Meine zu überwachenden Objekte sehen wie folgt aus(Anhang).
Wo?
-
-
@homoran
es gibt immer wieder ein "warn":warn (32207) Object "javascript.0.Daten.ATC.37E806" does not exist
Aber der Datenpunkt existiert:
Die komlette LOG Datei:
javascript.0 2021-05-23 20:24:51.044 error (4186) at processImmediate (internal/timers.js:463:21) javascript.0 2021-05-23 20:24:51.044 error (4186) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38) javascript.0 2021-05-23 20:24:51.043 error (4186) at Object.<anonymous> (script.js.common.BattUeberwachung:106:13) javascript.0 2021-05-23 20:24:51.043 error (4186) at main (script.js.common.BattUeberwachung:235:5) javascript.0 2021-05-23 20:24:51.043 error (4186) at CheckDeadBatt (script.js.common.BattUeberwachung:351:13) javascript.0 2021-05-23 20:24:51.042 error (4186) at MakeTable (script.js.common.BattUeberwachung:548:111) javascript.0 2021-05-23 20:24:51.042 error (4186) Error in callback: TypeError: Cannot read property 'common' of null javascript.0 2021-05-23 20:24:51.040 warn (4186) Object "javascript.0.Daten.ATC.10EF30" does not exist javascript.0 2021-05-23 20:24:51.040 info (4186) script.js.common.BattUeberwachung: Reaching MakeTable javascript.0 2021-05-23 20:24:51.039 info (4186) script.js.common.BattUeberwachung: Reaching CheckDeadBatt() javascript.0 2021-05-23 20:24:51.039 info (4186) script.js.common.BattUeberwachung: 3 BatterieSpannung_ found at javascript.0.Daten.ATC.39F89A.BATT Umax= 0 BattMinLimit=0 Val= 0 SensorProzent= NaN javascript.0 2021-05-23 20:24:51.039 info (4186) script.js.common.BattUeberwachung: Tempval=72 TempUnit=% TypeOf=number javascript.0 2021-05-23 20:24:51.038 info (4186) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=number getState(Sensor[counter]).val=72 javascript.0 2021-05-23 20:24:51.038 info (4186) script.js.common.BattUeberwachung: 2 BatterieSpannung_ found at javascript.0.Daten.ATC.37E806.BATT Umax= 0 BattMinLimit=0 Val= 0 SensorProzent= NaN javascript.0 2021-05-23 20:24:51.037 info (4186) script.js.common.BattUeberwachung: Tempval=71 TempUnit=% TypeOf=number javascript.0 2021-05-23 20:24:51.037 info (4186) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=number getState(Sensor[counter]).val=71 javascript.0 2021-05-23 20:24:51.037 info (4186) script.js.common.BattUeberwachung: 1 BatterieSpannung_ found at javascript.0.Daten.ATC.2F2E6E.BATT Umax= 0 BattMinLimit=0 Val= 0 SensorProzent= NaN javascript.0 2021-05-23 20:24:51.036 info (4186) script.js.common.BattUeberwachung: Tempval=64.8 TempUnit=% TypeOf=number javascript.0 2021-05-23 20:24:51.036 info (4186) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=number getState(Sensor[counter]).val=64.8 javascript.0 2021-05-23 20:24:51.036 info (4186) script.js.common.BattUeberwachung: 0 BatterieSpannung_ found at javascript.0.Daten.ATC.10EF30.BATT Umax= 0 BattMinLimit=0 Val= 0 SensorProzent= NaN javascript.0 2021-05-23 20:24:51.035 info (4186) script.js.common.BattUeberwachung: Tempval=66 TempUnit=% TypeOf=number javascript.0 2021-05-23 20:24:51.035 info (4186) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=number getState(Sensor[counter]).val=66 javascript.0 2021-05-23 20:24:51.035 info (4186) script.js.common.BattUeberwachung: BattMinLimit Value conversion - success javascript.0 2021-05-23 20:24:51.034 info (4186) script.js.common.BattUeberwachung: Reaching init() javascript.0 2021-05-23 20:24:51.033 info (4186) script.js.common.BattUeberwachung: Reaching main() javascript.0 2021-05-23 20:24:51.032 info (4186) script.js.common.BattUeberwachung: CreateStates fertig! javascript.0 2021-05-23 20:24:50.995 info (4186) script.js.common.BattUeberwachung: registered 0 subscriptions and 0 schedules javascript.0 2021-05-23 20:24:50.993 info (4186) script.js.common.BattUeberwachung: InitialSpannung 0 gesetzt auf 80%= 0 javascript.0 2021-05-23 20:24:50.993 info (4186) script.js.common.BattUeberwachung: Found Function BatterieSpannung_ javascript.0 2021-05-23 20:24:50.992 info (4186) script.js.common.BattUeberwachung: Reaching FillWelcheFunktionVerwenden javascript.0 2021-05-23 20:24:50.991 info (4186) script.js.common.BattUeberwachung: starting Batterieüberwachung V.1.7.3
-
@chris-5 sagte: Aber der Datenpunkt existiert:
Das Kanal-Objekt "javascript.0.Daten.ATC.37E806" existiert nicht: Das ist nur ein Ordner.
Mache aus dem Ordner ein Kanal-Objekt und verpasse diesem einen sinnvollen Namen, z.B. "Klima Hobbyraum".
-
@paul53
da komme ich jetzt nicht mit, in dem Kanal sind doch die Werte die benötigt werden enthalten?
Was soll da noch rein? -
@chris-5
es IST eben kein Kanal, sonst würde das ja dort stehen
somit ist es lediglich ein Ordner, und das ist nicht gut
-
@chris-5 sagte: in dem Kanal sind doch die Werte die benötigt werden enthalten?
Ein Kanal sieht so aus:
-
@chris-5 Mach doch einfach nen anständigen Channel aus dem Ordner. Kannste mit nem Einzeiler machen:
setObject("Die ObjektID welche Kanal werden soll", { type: 'channel', common: { name: "Irgendein sinnvoller Name" }, native: {} });
-
@pittini said in Brauche mal einen Tipp:
setObject("Die ObjektID welche Kanal werden soll", { type: 'channel', common: { name: "Irgendein sinnvoller Name" }, native: {} });
alles klar, jetzt habe ich es kapiert. Die Datenpunkte habe ich mittels script angelegt jetzt wollte ich sie entsprechend korrigieren bekomme aber folgende Fehlermeldung:
javascript.0 2021-05-24 10:43:08.907 info (13756) script.js.common.Konvert.Kanal_erzeugen: registered 0 subscriptions and 0 schedules javascript.0 2021-05-24 10:43:08.906 error (13756) Function "setObject" is not allowed. Use adapter settings to allow it.
Könnt Ihr mir noch sagen wo ich die Adapter Settings korrigieren kann ?
-
-
@haselchen
gefunden
-
@chris-5 said in Brauche mal einen Tipp:
Super, Danke für Eure Beiträge - script läuft fehlerfrei und wieder was dazu gelernt
Das mit den "Channel" hatte ich never ever rausbekommen.
Habe mein script angepasst das mir die Datenpunkte anlegt und dann gleichzeitig auch die Objekte als Channel deklariert. Weil es einfacher war nenne ich die Channel jetzt genau wie die Ordner unter denen die Datenpunkte sind:
Verstehe aber eigentlich nicht wirklich wofür man diese Struktur braucht - werde wohl noch etwas Einarbeitungszeit benötigen
Schönen Pfingstmontag noch! -
@chris-5 sagte: Verstehe aber eigentlich nicht wirklich wofür man diese Struktur braucht
Die angemeckerte Zeile 412 des Pittini-Skripts
LastMessage = "Batteriestand unter Limit im " + GetRoom(x) + " bei Gerät " + getObject(GetParentId(Sensor[x])).common.name;
holt den Namen aus dem Parent-Objekt des Datenpunktes.
-
@paul53
Ahh Ok, dann würde das Sinn machen den Channel so wie das Gerät zu nennen, also "Thermometer". Sollten sich dann meherer batteriebetriebene Gerärte in einem Raum befinden weiß man welches der Geräte gemeint ist. Schlau