NEWS
Test Adapter ds18b20 v2.0.x
-
@crycode Da komme ich aber erst Sonntag dazu
-
@crycode sagte in Test Adapter ds18b20 v2.0.x:
Hast du noch das gesamte Log vom Update und der Migration?
Dazu evtl. auch einen Export deiner alten Adapterconfig vor dem Update?So bitte schön:
-
@fredf Super, danke dir!
Schau ich mir nachher genauer an und versuche dann das Problem nachzustellen. -
@fredf Denke ich habe den Fehler gefunden und das sollte mit v2.0.2 (ab sofort auf NPM) behoben sein.
Zudem habe ich einen weiteren Bug gefunden und behoben.
Wenn Remote-Sensoren verwendet werden, muss nun im Admin einmalig nach der Migration ein neuer Schlüssel dafür festgelegt werden.
-
Läuft der Adapter eigentlich auf dem neuen js-controller 5?
Habe gerade mal ein Update auf V5 gefahren und der DS18B20-Adapter wirft Fehler und bleibt rot.
host.ioBroker-Slave-KG 2023-08-13 20:20:17.686 warn instance system.adapter.ds18b20.0 terminated due to SIGTERM host.ioBroker-Slave-KG 2023-08-13 20:19:43.702 error instance system.adapter.ds18b20.0 terminated with code 6 (UNCAUGHT_EXCEPTION) host.ioBroker-Slave-KG 2023-08-13 20:19:43.700 error Caught by controller[1]: at Ds18b20Adapter.onReady (/opt/iobroker/node_modules/iobroker.ds18b20/src/main.ts:269:41) host.ioBroker-Slave-KG 2023-08-13 20:19:43.698 error Caught by controller[1]: at new Sensor (/opt/iobroker/node_modules/iobroker.ds18b20/src/sensor.ts:122:33) host.ioBroker-Slave-KG 2023-08-13 20:19:43.697 error Caught by controller[1]: at Ds18b20Adapter.setInterval (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:2603:19) host.ioBroker-Slave-KG 2023-08-13 20:19:43.695 error Caught by controller[1]: at Function.assertNumber (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:288:19) host.ioBroker-Slave-KG 2023-08-13 20:19:43.694 error Caught by controller[1]: Error: Parameter "timeout" needs to be of type "number" but type "string" has been passed host.ioBroker-Slave-KG 2023-08-13 20:19:43.682 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: ds18b20.0 2023-08-13 20:19:42.572 info terminating ds18b20.0 2023-08-13 20:19:42.542 warn Terminated (UNCAUGHT_EXCEPTION): Without reason ds18b20.0 2023-08-13 20:19:42.536 info terminating ds18b20.0 2023-08-13 20:19:41.406 error Parameter "timeout" needs to be of type "number" but type "string" has been passed ds18b20.0 2023-08-13 20:19:41.402 error Error: Parameter "timeout" needs to be of type "number" but type "string" has been passed at Function.assertNumber (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:288:19) at Ds18b20Adapter.setInterval (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:2603:19) at new Sensor (/opt/iobroker/node_modules/iobroker.ds18b20/src/sensor.ts:122:33) at Ds18b20Adapter.onReady (/opt/iobroker/node_modules/iobroker.ds18b20/src/main.ts:269:41) ds18b20.0 2023-08-13 20:19:40.003 error unhandled promise rejection: Parameter "timeout" needs to be of type "number" but type "string" has been passed ds18b20.0 2023-08-13 20:19:39.984 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). ds18b20.0 2023-08-13 20:19:39.764 info starting. Version 2.0.2 in /opt/iobroker/node_modules/iobroker.ds18b20, node: v18.17.1, js-controller: 5.0.11
-
@josh Sollte eigentlich laufen, aber schau ich mir noch mal genau an.
Wird aber erst nächste Woche, da ich aktuell im Urlaub bin. -
@josh Ich habe soeben die v2.0.3 auf NPM veröffentlicht. Ab morgen sollte die Version dann auch im im latest-Repo sein.
Kannst du die bitte mal zusammen mit dem aktueller js-controller 5.0.12 testen? Da sollte das dann laufen. -
@crycode Habe den Adapter auf dem neusten js-controller getestet. Bleibt leider noch immer rot. Hier der Log mit Warnstufe Debug.
2023-08-20 18:05:40.563 - debug: ds18b20.0 (19143) Redis Objects: Use Redis connection: 192.168.178.194:9001 2023-08-20 18:05:40.686 - debug: ds18b20.0 (19143) Objects client ready ... initialize now 2023-08-20 18:05:40.693 - debug: ds18b20.0 (19143) Objects create System PubSub Client 2023-08-20 18:05:40.699 - debug: ds18b20.0 (19143) Objects create User PubSub Client 2023-08-20 18:05:40.800 - debug: ds18b20.0 (19143) Objects client initialize lua scripts 2023-08-20 18:05:40.829 - debug: ds18b20.0 (19143) Objects connected to redis: 192.168.178.194:9001 2023-08-20 18:05:40.922 - debug: ds18b20.0 (19143) Redis States: Use Redis connection: 192.168.178.194:6379 2023-08-20 18:05:40.949 - debug: ds18b20.0 (19143) States create System PubSub Client 2023-08-20 18:05:40.955 - debug: ds18b20.0 (19143) States create User PubSub Client 2023-08-20 18:05:40.995 - debug: ds18b20.0 (19143) States connected to redis: 192.168.178.194:6379 2023-08-20 18:05:41.168 - debug: ds18b20.0 (19143) Plugin sentry Initialize Plugin (enabled=true) 2023-08-20 18:05:42.545 - info: ds18b20.0 (19143) starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.ds18b20, node: v18.17.1, js-controller: 5.0.12 2023-08-20 18:05:42.758 - error: ds18b20.0 (19143) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-08-20 18:05:42.776 - error: ds18b20.0 (19143) unhandled promise rejection: Parameter "timeout" needs to be of type "number" but type "string" has been passed 2023-08-20 18:05:44.453 - error: ds18b20.0 (19143) Error: Parameter "timeout" needs to be of type "number" but type "string" has been passed at Function.assertNumber (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:288:19) at Ds18b20Adapter.setInterval (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:2655:19) at new Sensor (/opt/iobroker/node_modules/iobroker.ds18b20/src/sensor.ts:122:33) at Ds18b20Adapter.onReady (/opt/iobroker/node_modules/iobroker.ds18b20/src/main.ts:268:41) 2023-08-20 18:05:44.456 - error: ds18b20.0 (19143) Parameter "timeout" needs to be of type "number" but type "string" has been passed 2023-08-20 18:05:45.493 - info: ds18b20.0 (19143) terminating 2023-08-20 18:05:45.497 - debug: ds18b20.0 (19143) Plugin sentry destroyed 2023-08-20 18:05:45.500 - warn: ds18b20.0 (19143) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-08-20 18:05:45.523 - info: ds18b20.0 (19143) terminating 2023-08-20 18:05:46.614 - error: host.ioBroker-Slave-KG Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2023-08-20 18:05:46.626 - error: host.ioBroker-Slave-KG Caught by controller[1]: Error: Parameter "timeout" needs to be of type "number" but type "string" has been passed 2023-08-20 18:05:46.628 - error: host.ioBroker-Slave-KG Caught by controller[1]: at Function.assertNumber (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/validator.ts:288:19) 2023-08-20 18:05:46.629 - error: host.ioBroker-Slave-KG Caught by controller[1]: at Ds18b20Adapter.setInterval (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:2655:19) 2023-08-20 18:05:46.630 - error: host.ioBroker-Slave-KG Caught by controller[1]: at new Sensor (/opt/iobroker/node_modules/iobroker.ds18b20/src/sensor.ts:122:33) 2023-08-20 18:05:46.632 - error: host.ioBroker-Slave-KG Caught by controller[1]: at Ds18b20Adapter.onReady (/opt/iobroker/node_modules/iobroker.ds18b20/src/main.ts:268:41) 2023-08-20 18:05:46.634 - error: host.ioBroker-Slave-KG instance system.adapter.ds18b20.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-08-20 18:06:22.995 - debug: ds18b20.0 (19206) Redis Objects: Use Redis connection: 192.168.178.194:9001 2023-08-20 18:06:23.118 - debug: ds18b20.0 (19206) Objects client ready ... initialize now 2023-08-20 18:06:23.125 - debug: ds18b20.0 (19206) Objects create System PubSub Client 2023-08-20 18:06:23.131 - debug: ds18b20.0 (19206) Objects create User PubSub Client 2023-08-20 18:06:23.237 - debug: ds18b20.0 (19206) Objects client initialize lua scripts 2023-08-20 18:06:23.271 - debug: ds18b20.0 (19206) Objects connected to redis: 192.168.178.194:9001 2023-08-20 18:06:23.364 - debug: ds18b20.0 (19206) Redis States: Use Redis connection: 192.168.178.194:6379 2023-08-20 18:06:23.397 - debug: ds18b20.0 (19206) States create System PubSub Client 2023-08-20 18:06:23.402 - debug: ds18b20.0 (19206) States create User PubSub Client 2023-08-20 18:06:23.472 - debug: ds18b20.0 (19206) States connected to redis: 192.168.178.194:6379 2023-08-20 18:06:23.587 - debug: ds18b20.0 (19206) Plugin sentry Initialize Plugin (enabled=true) 2023-08-20 18:06:24.608 - error: ds18b20.0 (19206) adapter disabled 2023-08-20 18:06:24.655 - debug: ds18b20.0 (19206) Plugin sentry destroyed 2023-08-20 18:06:24.659 - warn: ds18b20.0 (19206) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason 2023-08-20 18:06:25.884 - error: host.ioBroker-Slave-KG instance system.adapter.ds18b20.0 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND)
EDIT: neuen Log mit veränderter Warnstufe eingestellt.
-
@josh Danke dir.
Kannst du mal deine Adapter-Config exportieren und posten bitte? Ich hab da eine Vermutung... -
@crycode Gerne. Hier bitte:
-
@josh Nicht als Bild, sondern als json-Datei über den Export-Button oben rechts.
-
@crycode Hups... kannte ich noch nicht. Aber hier bitte schön. IDs habe ich aus 'Datenschutzgründen' verändert.
-
@josh Danke dir! Das bestätigt meine Vermutung. Der
defaultInterval
wird als String und nicht als Zahl gespeichert.
Dem js-controller 4 war das wohl egal (Node.js macht in solchen Fällen automatisch eine Konvertierung der Datentypen), wobei der js-controller 5 da extra prüft.Ich werde versuchen zeitnah einen Fix dafür mit einer neuen Version zu veröffentlichen.
Danke fürs Finden und Melden des Fehlers!
-
@Josh Version 2.0.4 ist ab sofort über NPM und ab morgen dann im latest-Repo verfügbar. Damit sollte das Problem behoben sein.
-
@crycode Adapter wird und bleibt grün. Werte werden ausgelesen. Funktioniert also wieder.
Vielen Dank!
-
Hardwaresystem: Pi3
Arbeitsspeicher: 1GB
Festplattenart: SD-Karte
Betriebssystem: Linux
Node-Version: 18.18.0
Nodejs-Version: 18.18.0
NPM-Version: 9.8.1Servus,
Nach Update auf JS 5.0.12 läuft meine DS18B20 V2.0.4 Instanz nicht mehr richtig.
Der Adapter wechselt immer wieder mal zwischen grün und gelb.
Ich habe drei Sensoren am laufen, vor dem Update liefen sie ohne Probleme
Jetzt fällt immer wieder mal einer oder mehrere mit folgendem Fehlermeldung aus:ds18b20.0 2023-10-27 10:37:41.029 warn Error reading sensor 10-00080289****: Error: Read error
Es ist nicht immer der selbe Sensor.
Hab dann mal alles neu installiert, hat aber nichts gebracht
Direkt nach der erfolgreichen Installation bekam ich aber folgende Adapter Warnung vom der Instanz admin.02023-10-27 08:09:46.811 - warn: admin.0 (3322310) ds18b20 has an invalid jsonConfig: [{"instancePath":"/items/sensorsTab/items/sensors/items/1","schemaPath":"#/patternProperties/%5E.%2B/allOf/22/then/properties/items/items/allOf/20/then/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"hide"},"message":"must NOT have additional properties"},{"instancePath":"/items/sensorsTab","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Wer kann mir helfen.
-
@chinaboy sagte in Test Adapter ds18b20 v2.0.x:
2023-10-27 10:37:41.029 warn Error reading sensor 10-00080289****: Error: Read error
Das deutet eher auf ein Hardwareproblem hin und heißt eigentlich, dass der Sensor keine brauchbaren Daten geliefert hat bzw. vom System gar nicht erkannt wurde.
Werden vom System unter/sys/bus/w1/devices/
alle Sensoren richtig aufgelistet?@chinaboy sagte in Test Adapter ds18b20 v2.0.x:
2023-10-27 08:09:46.811 - warn: admin.0 (3322310) ds18b20 has an invalid jsonConfig: [...]
Demnach hast du wohl die latest-Version vom Admin-Adapter installiert. Die Warnung ist aber falsch und kann einfach ignoriert werden.
-
@crycode said in Test Adapter ds18b20 v2.0.x:
/sys/bus/w1/devices/
Ja da passt alles:
pi@IOBMaster:/sys/bus/w1/devices $ ls 10-000802897a** 10-0008028993** 10-00080289a9** w1_bus_master1
Ich hab auch an der HW nix geändert aber der Fehler kommt seit dem Update
-
@chinaboy Erscheinen sonst irgendwelche Fehler oder Warnungen im Log zu den Zeitpunkten, wo das passiert?
Kannst du mal, möglich genau zu dem Zeitpunkt, wo der "Read error" geloggt wird, im Terminal ein
cat
auf den Sensor im System machen und davon die Ausgabe posten?
Beispiel:cat /sys/bus/w1/devices/28-0000077b9fea/w1_slave 31 01 4b 46 7f ff 0f 10 1f : crc=1f YES 31 01 4b 46 7f ff 0f 10 1f t=19062
Zudem wäre die Ausgabe von
dmesg -T | grep w1
interessant, um zu sehen, ob der Kernel dort irgendwas loggt. -
2023-10-27 08:09:46.811 - warn: admin.0 (3322310) ds18b20 has an invalid jsonConfig: [{"instancePath":"/items/sensorsTab/items/sensors/items/1","schemaPath":"#/patternProperties/%5E.%2B/allOf/22/then/properties/items/items/allOf/20/then/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"hide"},"message":"must NOT have additional properties"},{"instancePath":"/items/sensorsTab","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Hast du ein Issue bei https://github.com/ioBroker/adapter-react-v5/issues?q=is%3Aopen+is%3Aissue erstellt?
Ansonsten wird den potenziellen Fehler foxriver76 wohl nicht mitbekommen.ABER - wenn ich es richtig sehe verwendest du ein Attribute 'hide'. Das gibt es lt. SCHEMA.md nicht. Das Attribute heißt 'hidden'. Könnte also sehr wohl ein Fehler im Adapter sein.
Bitte prüfen.
DANKEP.S: Have issue https://github.com/crycode-de/ioBroker.ds18b20/issues/112 zur weiteren Nachverfolgung erstellt.