@arteck Gibt es hierzu einen neuen Stand?
NEWS
Latest posts made by observer
-
RE: Zigbee Pairing von Ikea Somrig Shortcut Button schlägt fehl.
-
RE: [gelöst] Zigbee: Doubletten führen zu SQL-Fehler beim Insert
@codierknecht said in Zigbee: Doubletten führen zu Fehlern beim SQL-Insert:
@observer sagte in Zigbee: Doubletten führen zu Fehlern beim SQL-Insert:
einen Kontakt pro Zählerumdrehung alle paar Sekunden
Es sei denn, der Zähler bleibt ausgerechnet dort stehen wo sich der Geber (Magnet) befindet.
Dann prellt der Sensor fleißig hin und her.Ah, guter Punkt, zumal der Aqara-Sensor kein internes Debouncing zu haben scheint und ein Reed-Kontakt grundsätzlich prellen kann!
Im dazugehörenden Blockly-Skript habe ich das auch nicht explizit berücksichtigt.Also Glück gehabt, dass dies in zwei Jahren bisher nicht dennoch nicht aufgetreten ist!?
-
RE: [gelöst] Zigbee: Doubletten führen zu SQL-Fehler beim Insert
@arteck said in Zigbee: Doubletten führen zu Fehlern beim SQL-Insert:
@observer probier mit der entprellzeit.. vor allem der für das Auslesen des Gaszählers wird viele Daten senden
Hmm, die Nutzung der Entprellzeit für dieses Problem verstehe ich nicht:
"Protokolliert den Wert nur, wenn er für X ms unverändert bleibt."
Wenn tatsächlich eine Doublette mit dem gleichen Wert in der gleichen Millisekunde eingeht, dann greift die Entprellzeit doch nicht, oder?
Ansonsten schickt der Gaszählerauslesekontaktsensor ja eher gemächlich Daten, einen Kontakt pro Zählerumdrehung alle paar Sekunden.
Das läuft seit rund zwei Jahren recht zuverlässig. -
RE: [gelöst] Zigbee: Doubletten führen zu SQL-Fehler beim Insert
Ich habe mir jetzt mal die Logs des gesamten aktuellen Jahres angesehen:
Von den 27 Klimasensoren WSDCGQ11LM gab es 403 dieser Fehlermeldungen, die sich aber ausschliesslich auf den Wert von link_quality beziehen, also bspw.:
iobroker.2024-01-12.log:2024-01-12 22:20:30.495 - error: sql.0 (4193646) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (328, 1705094430432, 54, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.00158d0007e09f9a.link_quality)
Zu den restlichen persistierten Werten (temperature, pressure, ...) gibt es keine Fehlermeldungen.
Damit sieht es für mich so aus, als wäre die Ursache tatsächlich dass des Sensor selbt in bestimmten Situationen unmittelbar nacheinander einen Wert schicken.
Ob diese Doubletten auch den gleichen Wert enthalten, habe ich nicht geprüft, da dies dem Log nicht zu entnehmen ist und ich in der Datenbank wühlen müsste.
NB: Die protokollierten Werte von link_quality decken eine großen Bereich ab; es sind also nicht nur schlechte oder gute Werte.Der Kontaktsensor WSDCGQ11LM zeigt ebenfalls entsprechende Fehler.
Diese treten jedoch wesentlich seltener auf und immer in einem Cluster zu dem auch ein battery_low gehört, bspw. in diesen zweieinhalb Sekunden:iobroker.2024-04-17.log:2024-04-17 06:35:47.612 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (274, 1713328547156, false, true, 1, 0),(274, 1713328547157, false, true, 1, 0),(274, 1713328547156, false, true, 1, 0),(274, 1713328547239, false, true, 1, 0),(274, 1713328547240, false, true, 1, 0),(274, 1713328547241, false, true, 1, 0),(274, 1713328547294, false, true, 1, 0),(274, 1713328547362, false, true, 1, 0),(274, 1713328547363, false, true, 1, 0),(274, 1713328547550, false, true, 1, 0),(274, 1713328547554, false, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.battery_low) iobroker.2024-04-17.log:2024-04-17 06:35:48.780 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (274, 1713328548009, false, true, 1, 0),(274, 1713328548010, false, true, 1, 0),(274, 1713328548249, false, true, 1, 0),(274, 1713328548250, false, true, 1, 0),(274, 1713328548480, false, true, 1, 0),(274, 1713328548481, false, true, 1, 0),(274, 1713328548482, false, true, 1, 0),(274, 1713328548563, false, true, 1, 0),(274, 1713328548564, false, true, 1, 0),(274, 1713328548565, false, true, 1, 0),(274, 1713328548564, false, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.battery_low) iobroker.2024-04-17.log:2024-04-17 06:35:48.794 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328548564, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:49.211 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549140, 69, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:49.304 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (276, 1713328548250, false, true, 1, 0),(276, 1713328548480, false, true, 1, 0),(276, 1713328548481, true, true, 1, 0),(276, 1713328548560, false, true, 1, 0),(276, 1713328548563, true, true, 1, 0),(276, 1713328548798, false, true, 1, 0),(276, 1713328549140, true, true, 1, 0),(276, 1713328549141, false, true, 1, 0),(276, 1713328549140, true, true, 1, 0),(276, 1713328549141, false, true, 1, 0),(276, 1713328549240, true, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.contact) iobroker.2024-04-17.log:2024-04-17 06:35:49.348 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549241, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:49.352 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (274, 1713328548576, false, true, 1, 0),(274, 1713328548797, false, true, 1, 0),(274, 1713328548798, false, true, 1, 0),(274, 1713328549140, false, true, 1, 0),(274, 1713328549141, false, true, 1, 0),(274, 1713328549140, false, true, 1, 0),(274, 1713328549141, false, true, 1, 0),(274, 1713328549240, false, true, 1, 0),(274, 1713328549241, false, true, 1, 0),(274, 1713328549242, false, true, 1, 0),(274, 1713328549241, false, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.battery_low) iobroker.2024-04-17.log:2024-04-17 06:35:49.374 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549242, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:49.413 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549244, 80, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:49.440 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549245, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:49.567 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (274, 1713328549242, false, true, 1, 0),(274, 1713328549243, false, true, 1, 0),(274, 1713328549244, false, true, 1, 0),(274, 1713328549245, false, true, 1, 0),(274, 1713328549244, false, true, 1, 0),(274, 1713328549245, false, true, 1, 0),(274, 1713328549252, false, true, 1, 0),(274, 1713328549253, false, true, 1, 0),(274, 1713328549254, false, true, 1, 0),(274, 1713328549255, false, true, 1, 0),(274, 1713328549503, false, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.battery_low) iobroker.2024-04-17.log:2024-04-17 06:35:49.992 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (276, 1713328549241, false, true, 1, 0),(276, 1713328549242, true, true, 1, 0),(276, 1713328549243, true, true, 1, 0),(276, 1713328549242, true, true, 1, 0),(276, 1713328549243, true, true, 1, 0),(276, 1713328549244, false, true, 1, 0),(276, 1713328549245, true, true, 1, 0),(276, 1713328549503, false, true, 1, 0),(276, 1713328549504, true, true, 1, 0),(276, 1713328549653, false, true, 1, 0),(276, 1713328549654, true, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.contact) iobroker.2024-04-17.log:2024-04-17 06:35:50.043 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549665, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:50.046 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549666, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:50.084 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549668, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:50.092 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549669, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:50.131 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (276, 1713328549662, false, true, 1, 0),(276, 1713328549663, true, true, 1, 0),(276, 1713328549664, true, true, 1, 0),(276, 1713328549666, false, true, 1, 0),(276, 1713328549667, true, true, 1, 0),(276, 1713328549668, false, true, 1, 0),(276, 1713328549667, true, true, 1, 0),(276, 1713328549668, false, true, 1, 0),(276, 1713328549669, true, true, 1, 0),(276, 1713328549670, false, true, 1, 0),(276, 1713328549669, true, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.contact) iobroker.2024-04-17.log:2024-04-17 06:35:50.148 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549669, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:50.169 - error: sql.0 (1286) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (274, 1713328549665, false, true, 1, 0),(274, 1713328549666, false, true, 1, 0),(274, 1713328549667, false, true, 1, 0),(274, 1713328549666, false, true, 1, 0),(274, 1713328549667, false, true, 1, 0),(274, 1713328549668, false, true, 1, 0),(274, 1713328549669, false, true, 1, 0),(274, 1713328549668, false, true, 1, 0),(274, 1713328549669, false, true, 1, 0),(274, 1713328549670, false, true, 1, 0),(274, 1713328549669, false, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.battery_low) iobroker.2024-04-17.log:2024-04-17 06:35:50.177 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549669, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality) iobroker.2024-04-17.log:2024-04-17 06:35:50.182 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (275, 1713328549670, 76, true, 1, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: zigbee.0.54ef441000295e34.link_quality)
Es könnte also sein, dass eine battery_low-Condition des Sensors einen solchen Burst von Meldungen bewirkt.
Soviel zu den Zigbee-Sensoren von Aqara.
Ansonsten tauchen bei mir noch sporadisch Meldungen meiner Wechselrichter von Hoymiles auf, die mittels AhoyDTU ausgelesen werden und über MQTT eingehen, bsp.:
iobroker.2024-06-25.log:2024-06-25 14:15:43.999 - error: sql.0 (1492) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (648, 1719317729464, 31, true, 10, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: mqtt.0.inverter.HM-800-01.ch2.U_DC)
Ebenfalls über MQTT (allerdings einen separaten Broker) gehen Werte von den Shelly Plus 1PM ein, die aber nur sehr selten zum Fehler führen, bspw.:
iobroker.2024-03-04.log:2024-03-04 01:00:00.840 - error: sql.0 (1286) Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES (397, 1709510400542, 5.4, true, 11, 0);: error: duplicate key value violates unique constraint "ts_number_pkey" (id: shelly.1.shellyplus1pm#3c610579a654#1.Relay0.Power)
Summa summarum scheint mir das Fehlerbild auf die 'Eigenheiten' der jeweiligen Datenquellen zurückzuführen sein und nicht auf einen Bug in einem der verwendeten Adapter.
Insofern setze ich den Status auf "gelöst".Danke für Eurer Feedback!
-
RE: [gelöst] Zigbee: Doubletten führen zu SQL-Fehler beim Insert
@codierknecht said in Zigbee: Doubletten führen zu Fehlern beim SQL-Insert:
@observer sagte in Zigbee: Doubletten führen zu Fehlern beim SQL-Insert:
Hat jemand das gleiche Problem?
Hatte ich mal.
Konnte ich beseitigen, indem ich die Entprell- und Blockzeit hochgesetzt habe.Wenn ich das richtig interpretiere, dann müsste hier konkret die Blockzeit greifen, auch wenn hier nur ein Wert von 1 ms konfiguriert wird, oder?
"Alle neuen Werte für X ms nach dem letzten protokollierten Wert ignorieren" -
RE: [gelöst] Zigbee: Doubletten führen zu SQL-Fehler beim Insert
Es sind insgesamt 27 Klimasensoren WSDCGQ11LM und 1 Kontaktsensor WSDCGQ11LM (für das Auslesen des Gaszählers) von Aqara im Einsatz, die das Problem zeigen.
Ansonsten nutze ich von Aqara noch 7 Bewegungsmelder RTCGQ11LM, die bisher aber unauffällig blieben.
-
[gelöst] Zigbee: Doubletten führen zu SQL-Fehler beim Insert
Ich nutze diverse Zigbee-Sensoren von Aqara, zumeist für Klimadaten (WSDCGQ11LM) oder Kontakte (WSDCGQ11LM).
Die Daten laufen über den Zigbee-Adapter (v1.10.3) im ioBroker ein und werden dort durch den History-Adapter (v3.0.1) in einer Postgres-DB persistiert.Das alles läuft schon seit über zwei Jahren stabil und ohne große Probleme.
Allerdings finde ich hin und wieder (AKA alle paar Tage) im Log Fehlermeldungen wie bspw.:
2024-11-11 11:22:02.848 - error: sql.0 (1493) Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES (276, 1731320204149, false, true, 1, 0),(276, 1731320204150, true, true, 1, 0),(276, 1731320204149, true, true, 1, 0);: error: duplicate key value violates unique constraint "ts_bool_pkey" (id: zigbee.0.54ef441000295e34.contact)
Das referenzierte verletzte Primary-Key-Constraint besteht aus der ID und dem Timestamp.
Der History-Adapter versucht also, für ein Objekt einen Wert zweimal mit dem gleichen Timestamp zu persistieren, was dann fehlschlägt.Eigentlich ist der Timestamp sehr feingranular und die Sensoren schicken höchstens alle paar Sekunden einen Wert, sodass das Problem nicht auftreten sollte.
Was also könnte der Grund sein?Möglichkeit 1: Die Sensoren schicken gelegentlich Doubletten, z.B. wegen Problemen im Ablauf des Zigbee-Protokolls (über Repeater und Coordinator) oder eines Bugs.
Möglichkeit 2: Die Daten werden im Zigbee-Adapter dupliziert, z.B. wegen eines Bugs oder einer Racing-Condition.
Möglichkeit n: ...Der Fehler ist nicht kritisch, weil die Doubletten durch die Fehlerbedingung einfach unter den Tisch fallen und daher nicht weiter stören.
Doch nachdem sich der Fehler schon so lange hartnäckig hält, würde ich ihm gerne auf den Grund gehen.Hat jemand das gleiche Problem?
Oder gar eine Erklärung? -
RE: HomeConnect: Warum zwei Devices für einen Backofen?
Ich bin eben das Changelog auf dem Developer-Portal durchgegangen:
https://developer.home-connect.com/changelogAm 12. Februar 2019 findet sich folgender Eintrag:
"Add support of multi cavity ovens - there are no adjustments required if multiple ovens are supported by the client. Each cavity is returned as separate oven in the appliance list."
Die Erklärung des Suffixes zur haId ist also die Unterstützung von Geräten mit mehreren Backräumen!
Jetzt gilt es nur noch zu klären, welches Gerät für eine Operation zu nutzen ist.
Denn bspw. sind
status.BSH_Common_Status_OperationState und
settings.BSH_Common_Setting_PowerState
jeweils für beide haIds verfügbar. -
RE: HomeConnect: Warum zwei Devices für einen Backofen?
@thomas-braun Das ist natürlich ein valides Argument!
Also das nicht typisierte Device quasi als 'Rahmenprodukt' und die das eigentliche Device -001 als klassischen Backofen.
Ich habe mir daraufhin nochmals die Inhalte unter beiden Devices genauer angesehen:
Die allgemeinen Produktinformationen (Marke, E-Nummer, etc.) finden sich unter "-001.general".
Hmm, das hätte ich dann eher unter dem 'Rahmenprodukt' erwartet.@alle Hat jemand einen Backofen (oder auch einen anderen Gerätetyp), der mehrere 'Unter-Devices' enthält?
In der API-Dokumentation unter
https://api-docs.home-connect.com/
habe ich leider keine Hinweise gefunden - habe ich etwas übersehen? -
RE: HomeConnect: Warum zwei Devices für einen Backofen?
@thomas-braun Danke für die Hinweis!
In diesem Fall liegt eine Kombination aber wohl nicht vor.
Es handelt sich um einen 'klassischen' Backofen NEFF B59CR71Y0:
https://www.neff-home.com/de/produktliste/backoefen-herde/backoefen/backoefen/B59CR71Y0