NEWS
History 2.0.0 verfügbar - eine Zusammenfassung
-
@apollon77 Schade
2022-07-04 20:30:02.018 - info: shuttercontrol.0 (1612) Sunprotect #422 Set ID: Dachfenster Flur value: 0% 2022-07-04 21:05:26.932 - error: host.IOBroker uncaught exception: null must be RESP Buffer value 2022-07-04 21:05:26.933 - error: host.IOBroker TypeError: null must be RESP Buffer value at Function.encodeArray (/opt/iobroker/node_modules/respjs/index.js:62:45) at RedisHandler._sendExecResponse (/opt/iobroker/node_modules/@iobroker/db-base/lib/redisHandler.js:452:62) at RedisHandler._handleMultiResponse (/opt/iobroker/node_modules/@iobroker/db-base/lib/redisHandler.js:472:18) at RedisHandler.sendInteger (/opt/iobroker/node_modules/@iobroker/db-base/lib/redisHandler.js:326:22) at RedisHandler. (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemServerRedis.js:734:33) at RedisHandler.emit (node:events:527:28) at RedisHandler.emit (node:domain:475:12) at Immediate. (/opt/iobroker/node_modules/@iobroker/db-base/lib/redisHandler.js:145:37) at processImmediate (node:internal/timers:466:21) 2022-07-04 21:05:26.946 - info: javascript.0 (460) Got terminate signal TERMINATE_YOURSELF
Gehe dann mal wieder zurück...
-
@frank579 Seeeehr komisch. Bitte verifizere mal was:
Schau mal das der Teil hier genau so bei dir aussieht
File: /opt/iobroker/node_modules/@iobroker/db-base/lib/redisHandler.js
-
@apollon77
Seit gesten aben kein Absturz mehr ..*/ _handleMultiResponse(responseId, index, buf) { this.activeMultiCalls[index].responseMap.set(responseId, buf); this.activeMultiCalls[index].responseCount++; if ( this.activeMultiCalls[index].execCalled && this.activeMultiCalls[index].responseCount === this.activeMultiCalls[index].responseIds.length ) { const multiRespObj = this.activeMultiCalls.splice(index, 1)[0]; this._sendExecResponse(multiRespObj); } } }
ich würde sagen Ja ...
wenn du meist das wird hier zu sehr OT kannst du das gene abspalten , hatte es auf den History geschoben da es Ja mit dem Update "irgendwie" zusammenhängt
-
@frank579 ALso kann mit dem Adapter nix zu tun haben ... aber ok ... das es nicht mehr auftritt seit gestern ist auch unverständlich ... Einzige Idee wäre ganz erweitertes log zu aktivieren, aber das ist dann "einiges" nur damit man im Falle des Crahes die letzte Minute oder so ansehen kann
-
@apollon77 können wir gerne machen, dann musst du mir aber sagen was ich tun muss/ Du kannst dich aber auch gerne mal Abends per AnyDesk oder so auf meinen rechner schalten, würde ja fast wetten wenn ich den Adapter Update kommt der Fehler wieder.
-
@apollon77 soll ich den Host mal auf silly stellen wie du oben sagtest (muss ich danach iobroker neu starten ?) und dann das Update nochmal starten ?
-
@frank579 Ok, lass uns mal was anderes versuchen - bei dir passiert es ja immer nach ein paar Stunden irgendwann ... richtig?
Stoppe mal iobroker und dann ändere bitte in /opt/iobroker/node_modules/@iobroker/db-base/lib/redisHandler.js an zwei stellen was
1.) Einmal bei Zeile 33 (https://github.com/ioBroker/ioBroker.js-controller/blob/ea1a72ac2d74317ad16234f7aeac90632374614c/packages/db-base/lib/redisHandler.js#L33) eine neue Zeile einfügen:
this.responseId = 0;
2.) Die zwei zeilen hier löschen und ersetzen (also an gleiche Stelle) das schreiben:
if (this.responseId === Number.MAX_VALUE) this.responseId = 0; const responseId = this.responseId++;
Und dann schau mal ob es nochmal passiert.
Danke!
-
@apollon77 sagte in History 2.0.0 verfügbar - eine Zusammenfassung:
passiert es ja immer nach ein paar Stunden irgendwann ... richtig?
Fast richtig meisten max nach 15- 30 min ....
Binge dich erst mal auf Stand war ja gestern auch nicht ganz untätig Was ich gemacht habe :
1 - Komplett neue Debian VM (Poxmox) erstellt Backup (Backitup) rein --> läuft ca 1,5 Std. gewartet.
2 - History update auf 2.1.7 --> Fehler kam nach weniger als 10 Minuten
3 - History unter Instanzen gestoppt --> läuft bis jetzt duch war gestern aben so gegen 22:00Also irgendwie hängt es am History oder den Daten die ich aufzeichne .... Wollte jetzt eigeindich mall alle aufzeichnungen Abschalten und History wieder starten... Aber versuchen wier erst mal deinen Vorschlag
so nun zu deinem Vorschlag punkt 1 -ist Klar, punkt 2 in welche zeilen sind da gemeint ?
-
@apollon77
Ich habe gerade alle Hisory aufzeichnungen mal deaktiviert, bei einem kam :2022-07-06 17:02:04.902 - warn: admin.0 (431) Object alias.0.Sensoren.MS Aussen.temperature is invalid: obj.common.min has an invalid type! Expected "number", received "string" 2022-07-06 17:02:04.905 - warn: admin.0 (431) This object will not be created in future versions. Please report this to the developer.
Kann es evtl. das schon gewesen sein??
-
@frank579 An sich sollte nichts zu so einem Fehler führen ... da ist einfach das Objekt ungültig. Checkda mal den Default wert des Objekts ...
-
@frank579 Zu 2. -. mist da hätte auch ein Link sein sollen: https://github.com/ioBroker/ioBroker.js-controller/blob/ea1a72ac2d74317ad16234f7aeac90632374614c/packages/db-base/lib/redisHandler.js#L102-L103 Diese Zeilen
-
@apollon77 Adapter lauft auf jeden fall "noch" seit dem ich alles deaktiviert habe warte jetzt mal ab ... hatte erst noch mal mit aktiviert direkt wieder neustart, dann Adapter stop alles aus adapter Start bis jetzt i.O.
-
@apollon77
okay wenn er nochmal abstürtzt werde ich das verrsuchen ....
Warte jetzt noch ne stunde was essen und so dann aktivier ich noch mal eine aufzeichnung ... -
@frank579 Eine Frage wäre noch: Wenn Du History Adapter auf Debug stellst und in den Default Settings quasi fürt alle Datenpunkte auch das Debug aktivierst ... ist dann das was er loggt "kurz bevor es passiert" immer das gleiche oder nicht?
-
@apollon77 habe ich noch nicht getestet, kann ich aber dann auch mal versuchen. werde dann gleich alles mit debug aktivieren , noch läuft´s scheinbar hat es irgendwas mit der Auzeichnung zu tun wer er ohne Läuft ...
-
@apollon77 sagte in History 2.0.0 verfügbar - eine Zusammenfassung:
Checkda mal den Default wert des Objekts ..
Hab den jetz mal aktiviert erst mal so gelassen wie er war,um auszuschließen das es doch der fehler war.das ist der Alias :
{ "common": { "alias": { "id": "zigbee.0.00158d000804a100.temperature" }, "name": "temperature", "role": "value.temperature", "type": "number", "unit": "°C", "min": "", "max": "", "read": true, "write": false, "custom": { "history.0": { "enabled": true, "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": 0, "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "retention": 31536000, "customRetentionDuration": 365, "maxLength": 960, "enableDebugLogs": true, "debounce": 1000 } } }, "native": {}, "type": "state", "_id": "alias.0.Sensoren.MS Aussen.temperature", "acl": { "object": 1636, "state": 1636, "owner": "system.user.frank", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.frank", "ts": 1657129055185 }
Und Das der Orginal Zigbee:
{ "type": "state", "common": { "name": "Temperature", "type": "number", "unit": "°C", "read": true, "write": false, "role": "value.temperature" }, "native": {}, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1654958118744, "_id": "zigbee.0.00158d000804a100.temperature", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Kann ich die Min Max einfach rauslöschen sind ja im zigbee auch nicht drin, machen ja auch bei nem Fühler wenig sinn..
Der Alias wurde mit dem Alias Manager erstellt . -
@frank579 sagte: Kann ich die Min Max einfach rauslöschen
Ja, kannst aber auch sinnvolle Zahlen eintragen.
-
@paul53 Danke auch eine Idee
-
@apollon77
Könnte das was sein ist mir gerade in den Verlaufsdaten Aufgefallen, könnte gestern von den Zeiten in Etwa hinkommen -
@frank579 Dann gibbt GitHub issue beim Alias-Manage rauf machen ... leere "String" Min/max bei Number macht keinen Sinn und sollte nicht erzeugt werden