[ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
oliht
Beiträge: 6
Registriert: 3. Okt 2022 08:38
Answers: 0

[ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von oliht »

Hallo zusammen,

mir ist während der Konfiguration aufgefallen, dass z.B. keine Graphen mehr bei meinem FRITZ! DECT 302 aufgezeichnet werden. Bei der Fehlersuche bin ich auf folgende Meldungen im openhab.log gestossen:

Code: Alles auswählen

tail -f userdata/logs/openhab.log
2022-10-06 21:28:56.250 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Berlin'.
2022-10-06 21:28:56.358 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to 'xxxxxxxxxxxxxx.
2022-10-06 21:28:56.364 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'de_DE'.
2022-10-06 21:28:56.368 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Measurement system set to 'SI'.
2022-10-06 21:29:34.554 [INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2022-10-06 21:29:42.582 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.
2022-10-06 21:29:43.686 [INFO ] [org.openhab.ui.internal.UIService   ] - Started UI on port 8080
2022-10-06 21:29:46.750 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Started HABPanel at /habpanel
2022-10-06 21:29:49.159 [INFO ] [shelly.internal.ShellyHandlerFactory] - Shelly Manager gestartet unter http(s)://172.26.0.2:8,080/shelly/manager"
2022-10-06 21:29:50.127 [INFO ] [persistence.jdbc.internal.JdbcMapper] - JDBC::openConnection: Driver is available::Yank setupDataSource
2022-10-06 21:29:51.351 [WARN ] [ty.util.ssl.SslContextFactory.config] - Trusting all certificates configured for Client@22ddf13d[provider=null,keyStore=null,trustStore=null]
2022-10-06 21:29:51.355 [WARN ] [ty.util.ssl.SslContextFactory.config] - No Client EndPointIdentificationAlgorithm configured for Client@22ddf13d[provider=null,keyStore=null,trustStore=null]
2022-10-06 21:29:51.884 [ERROR] [org.knowm.yank.Yank                 ] - Error in SQL query!!!
java.sql.SQLException: Error preparing query: Table 'openhab.item0018' doesn't exist Query: INSERT INTO item0018 (TIME, VALUE) VALUES( NOW(3), ? ) ON DUPLICATE KEY UPDATE VALUE= ? Parameters: [AUTOMATIC, AUTOMATIC]
	at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392) ~[?:?]
	at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:491) ~[?:?]
	at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:457) ~[?:?]
	at org.knowm.yank.Yank.execute(Yank.java:194) ~[?:?]
	at org.knowm.yank.Yank.execute(Yank.java:177) ~[?:?]
	at org.openhab.persistence.jdbc.db.JdbcBaseDAO.doStoreItemValue(JdbcBaseDAO.java:338) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcMapper.storeItemValue(JdbcMapper.java:163) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.internalStore(JdbcPersistenceService.java:156) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.store(JdbcPersistenceService.java:135) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]
	at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2022-10-06 21:29:52.029 [ERROR] [org.knowm.yank.Yank                 ] - Error in SQL query!!!
java.sql.SQLException: Error preparing query: Table 'openhab.item0024' doesn't exist Query: INSERT INTO item0024 (TIME, VALUE) VALUES( NOW(3), ? ) ON DUPLICATE KEY UPDATE VALUE= ? Parameters: [COMFORT, COMFORT]
	at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392) ~[?:?]
	at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:491) ~[?:?]
	at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:457) ~[?:?]
	at org.knowm.yank.Yank.execute(Yank.java:194) ~[?:?]
	at org.knowm.yank.Yank.execute(Yank.java:177) ~[?:?]
	at org.openhab.persistence.jdbc.db.JdbcBaseDAO.doStoreItemValue(JdbcBaseDAO.java:338) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcMapper.storeItemValue(JdbcMapper.java:163) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.internalStore(JdbcPersistenceService.java:156) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.store(JdbcPersistenceService.java:135) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]
	at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2022-10-06 21:29:54.477 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.13.102' with clientid 7d4eac6a-f98b-4fed-85ca-f55e7088d8e8
2022-10-06 21:31:21.674 [ERROR] [org.knowm.yank.Yank                 ] - Error in SQL query!!!
java.sql.SQLException: Error preparing query: Table 'openhab.item0022' doesn't exist Query: INSERT INTO item0022 (TIME, VALUE) VALUES( NOW(3), ? ) ON DUPLICATE KEY UPDATE VALUE= ? Parameters: [22.0, 22.0]
	at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392) ~[?:?]
	at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:491) ~[?:?]
	at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:457) ~[?:?]
	at org.knowm.yank.Yank.execute(Yank.java:194) ~[?:?]
	at org.knowm.yank.Yank.execute(Yank.java:177) ~[?:?]
	at org.openhab.persistence.jdbc.db.JdbcBaseDAO.doStoreItemValue(JdbcBaseDAO.java:338) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcMapper.storeItemValue(JdbcMapper.java:163) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.internalStore(JdbcPersistenceService.java:156) ~[?:?]
	at org.openhab.persistence.jdbc.internal.JdbcPersistenceService.store(JdbcPersistenceService.java:135) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]
	at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]
	at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Die Meldungen tauchen auch noch mit anderen item Nummern auf. Ich weiß nicht was ich falsch gemacht habe. Aktuell bin ich noch am "testen" und "probieren" aber bevor ich mein Produktivsystem aufsetze, würde mich interessieren, woher der Fehler kommt.

Ich nutze openHAB mit Docker auf einem Pi 3. Hier die docker-compose.yml:

Code: Alles auswählen

version: '2.2'

services:
  openhab3:
    image: "openhab/openhab:3.3.0"
    container_name: openhab
    restart: unless-stopped
    networks:
      - default
    ports:
      - "8080:8080/tcp"
      - "8443:8443/tcp"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "/home/pi/dockerdata/openhab/addons:/openhab/addons"
      - "/home/pi/dockerdata/openhab/conf:/openhab/conf"
      - "/home/pi/dockerdata/openhab/userdata:/openhab/userdata"
    environment:
      OPENHAB_HTTP_PORT: "8080"
      OPENHAB_HTTPS_PORT: "8443"
      EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"
      USER_ID: "1000"
      GROUP_ID: "1000"

  ohpersistance-db:
    image: mariadb:10.9
    container_name: openhab-db
    command: --transaction-isolation=READ-COMMITTED --log-bin=ROW
    ports:
      - "3306:3306"
    restart: unless-stopped
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "/home/pi/dockerdata/openhab/database:/var/lib/mysql"
    environment:
      - MYSQL_ROOT_PASSWORD=blablubb
      - MYSQL_PASSWORD=blablubb
      - MYSQL_DATABASE=openhab
      - MYSQL_USER=openhab
      - MYSQL_INITDB_SKIP_TZINFO=1 # Behebt die bekannten Startprobleme der DB

  mosquitto:
    image: "eclipse-mosquitto:2"
    container_name: mosquitto
    restart: unless-stopped
    networks:
      - default
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - "/home/pi/dockerdata/openhab/mosquitto/config:/mosquitto/config"
      - "/home/pi/dockerdata/openhab/mosquitto/data:/mosquitto/data"
      - "/home/pi/dockerdata/openhab/mosquitto/log:/mosquitto/log"
    environment:
      - TZ="Europe/Berlin"
    user: "${PUID}:${PGID}"

networks:
  default:
Gruß
Thilo

oliht
Beiträge: 6
Registriert: 3. Okt 2022 08:38
Answers: 0

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von oliht »

Guten Morgen,

ich habe mal mit phpMyAdmin auf die Datenbank geschaut. Die im Log auftauchenden item Nummern finden sich auch nicht in der Datenbank.

Gruß

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von udo1toni »

Code: Alles auswählen

Shelly Manager gestartet unter http(s)://172.26.0.2:8,080/shelly/manager"
da steht ein Komma, wo keines hingehört. Kann es sein, dass Du beim einrichten innerhalb openHAB einen Tippfehler gemacht hast?

Bezüglich des Datenbankfehlers: Was hast Du in der jdbc.cfg eingestellt?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

oliht
Beiträge: 6
Registriert: 3. Okt 2022 08:38
Answers: 0

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von oliht »

udo1toni hat geschrieben: 7. Okt 2022 12:31

Code: Alles auswählen

Shelly Manager gestartet unter http(s)://172.26.0.2:8,080/shelly/manager"
da steht ein Komma, wo keines hingehört. Kann es sein, dass Du beim einrichten innerhalb openHAB einen Tippfehler gemacht hast?
Ist mir beim Logfile durchsuchen gar nicht aufgefallen... :oops: Ich habe den Shelly Manager nicht konfiguriert. Ich habe lediglich die Shelly Bindings installiert um dann festzustellen, dass ich ja die MQTT Bindings benötige, da ich da ja Tasmota geflasht habe ;) . Ich habe die Shelly Bindings entfernt und die Meldung ist weg. Ich poste das mal im englischen Forum wo das Addon beheimatet ist. EDIT: Ich sehe gerade, die sind auf Github.
udo1toni hat geschrieben: 7. Okt 2022 12:31 Bezüglich des Datenbankfehlers: Was hast Du in der jdbc.cfg eingestellt?
In der Datei habe ich nichts konfiguriert. Die ist unberührt. Ich habe mich an dieses Video gehalten:

openhab 3 Docker Installation und Übersicht und Zigbee Konfiguration

Die Zigbee Konfiguration habe ich nicht benötigt und somit weggelassen.

Hier ist der Link, wo es um die Datenbank geht:

https://youtu.be/rWtHX5h2YVI?t=588

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von udo1toni »

Gut, dann hast Du die Datenbankverbindung über die GUI eingegeben. Was hast Du dort konfiguriert?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

oliht
Beiträge: 6
Registriert: 3. Okt 2022 08:38
Answers: 0

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von oliht »

Anbei ein Screenshot der Einstellungen.
openHAB.png
Berechtigung schließe ich aus, da ja in die Datenbank geschrieben wird.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von udo1toni »

Hast Du die jdbc Persistence auch als Default konfiguriert?

Die Fehlermeldung besagt eigentlich, dass keine Tabelle vorhanden ist. (Der Tabellenname wird automatisch erzeugt, für jedes Item, welcehs poersistiert wird, prüüft die Persistence, ob es bereits eine Tabelle gibt, falls das nicht der fall ist, legt es einen Eintrag mit dem Itemnamen an und erzeugt anschließend die passende Tabelle zusammen mit dem ersten Datenbankeintrag.

Deshalb ist dieser Fehler mindestens seltsam, denn es bedeutet, dass zwar ein Eintrag für eine Tabelle angelegt wurde (in der Tabelle items), aber eben keine passende Tabelle existiert. Das Binding wird die Tabelle nicht anlegen, wenn es davon ausgeht, dass sie bereits existiert.

Eine mögliche Erklärung wäre, dass teilweise Daten nicht auf die SD-Karte gespeichert wurden (z.B. weil ZRAM aktiv ist und der Pi nicht korrekt runtergefahren wurde.)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

oliht
Beiträge: 6
Registriert: 3. Okt 2022 08:38
Answers: 0

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von oliht »

Ja, jdbc ist default:
2022-10-09_09-56.png
Bezüglich SD-Karte, ja, aktuell läuft mein Home Pi noch mit SD-Karte. Unsachgemäß heruntergefahren habe ich ihn definitiv nicht. Ich beende sogar Docker vorher mittels docker compose down.

Könnte sowas durch nachträgliches umbennen von Model Einträgen kommen. Ich bin wie erwähnt noch am testen und probieren. Auch habe dadurch die FRITZ! DECT 302 mehrfach gelöscht und wieder hinzugefügt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von udo1toni »

Na ja, das Model benutzt Group Items. Grundsätzlich sollte die Datenbank sich ausschließlich am Itemnamen orientieren (nicht einer zugeordneten Gruppe), aber zumindest könnte es im Verlauf zu Inkonsistenzen kommen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

oliht
Beiträge: 6
Registriert: 3. Okt 2022 08:38
Answers: 0

Re: [ERROR] [org.knowm.yank.Yank ] - Error in SQL query!!!

Beitrag von oliht »

Ok, ich werde alles zurücksetzen und werde das Logfile bei meinen Tests im Blick behalten. Ich brauche noch etwas, bis ich mit openHAB Produktiv gehe...

Antworten