MySQL-Persistence speichert nichts

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

madmike
Beiträge: 278
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von madmike »

Hallo Udo1toni,
danke für Deinen Tipp in der Paper UI ist rrd4j eingestellt. Ich habe die Runtime.cfg entsprechend geändert, leider auch keine Änderung. Selbst Dein Vorschlag in der Sitemap den Service einzutragen hat nicht geholfen. Irgendwie ist der Wurm drin !!!
Dennoch erstmal danke für die Unterstützung. Wenn Du Ideen hast dann immer her damit, ich habe auch viel gelesen aber irgendwie sind das alles andere Fehler. Zwei Dinge wundern mich zum einen finde ich keine Datei in der die Daten gespeichert werden, zum anderen schreiben viele das es angeblich um Rechteverwaltung geht. Hast du eine Idee dazu ? Vor allen was ich überhaupt nicht verstehe das es einwandfrei läuft und nun nicht mehr?
Ich habe immer wieder geschaut, die Temperaturdaten werden von Yahoo geliefert und angezeigt, halt nur nicht persistiert alles sehr merkwürdig!!
mfg
Micha

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

Re: MySQL-Persistence speichert nichts

Beitrag von udo1toni »

Ne, wenn die default persistence korrekt eingestellt ist, kann es daran ja schon mal nicht liegen.
Bist Du sicher, dass die Daten geschrieben werden? Die .rrd Dateien sollten unter %USERDATA%/persistence/rrd4j/ liegen (also z.B. /var/lib/openhab2/persistence/rrd4j/Temperature.rrd). Schau dort mal auf das Dateiänderungsdatum, das sollte immer maximal eine Minute in der Vergangenheit liegen.

Versuchsweise kannst Du auch die Temperature.rrd Datei löschen (oder umbenennen), dann müsste openHAB umgehend eine neue Temperature.rrd anlegen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Mr. BJ
Beiträge: 83
Registriert: 27. Sep 2017 08:04
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von Mr. BJ »

Ich wollte nur Bescheid geben das dieses Problem gelöst ist. Ich musste wieder erneut alles neu aufsetzen nach dem ich das Amazon Dash Binding nstalliert hatte. Aber mit den neuen Erkenntnissen funktionierte das Persistence auf Anhieb. Danke.
Gruß Björn


Pi4 mit debMatic, Docker [openHAB 3.3, Mosquitto];
Philips Hue Bridge; amazon echo; HomeMaticIP

madmike
Beiträge: 278
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von madmike »

Hallo Udo2toni,

diese Datei "Temperature.rrd" war da, ich habe sie gelöscht, sie wird aber nicht neu geschrieben.
Eigentlich müsste sie nach dem Neustart neu erzeugt werden, aber narda !!
Ich bin echt ratlos !!
mfg
Micha

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

Re: MySQL-Persistence speichert nichts

Beitrag von udo1toni »

Es gibt einige Möglichkeiten, woran das liegen kann.
  1. fehlende Schreibrechte für den openhab-User im Persistence-Verzeichnis
  2. Ein Fehler in der rrd4j.persist Datei.
  3. rrd4j ist nicht (mehr) installiert.
Gibt es im Log irgendwelche Auffälligkeiten?
Um saubere Verhältnisse zu haben, kannst Du openHAB stoppen, anschließend benennst Du events.log und openhab.log um und startest openHAB neu. openHAB legt beide Dateien automatisch wieder an. Wenn die Startphase durch ist, schaust Du Dir openhab.log an und suchst speziell nach rrd4j.persist. Die Datei muss irgendwann geladen werden, falls dabei ein Fehler erkannt wird, wird das im Log in der Nähe stehen.
Ob der Dienst (aus welchem Grund auch immer) deinstalliert wurde, kannst Du am schnellsten in Paper UI sehen - oder Du gehst auf die openHAB-Console und schaust, was bundle:list | grep rrd4j ausspuckt.
Fehlende Schreibrechte kannst Du anhand der Ausgabe von ls -l /var/lib/openhab2/persist* feststellen. Die Flags müssen mindestens drwxr-xr-x sein, der Besitzer sollte normalerweise openhab heißen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

madmike
Beiträge: 278
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von madmike »

Hallo Udo1toni,
ich habe deine Anweisungen befolgt:
zuerstmal die erste, Stop des Openhab, dann umbenennen der Log files und Neustart.
diese Fehlermeldung kam:

Code: Alles auswählen

2018-05-10 22:19:52.790 [hingStatusInfoChangedEvent] - 'yahooweather:weather:essen' changed from UNINITIALIZED to INITIALIZING

==> /var/log/openhab2/openhab.log <==

2018-05-10 22:19:52.956 [ERROR] [org.openhab.core.compat1x           ] - [org.openhab.core.compat1x.persistenceservicefactory(189)] Error during instantiation of the implementation object

java.lang.LinkageError: Error reading class bytes: org.eclipse.smarthome.core.persistence.PersistenceService

	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:570) ~[?:?]

	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538) ~[?:?]

	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525) ~[?:?]

	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325) ~[?:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345) ~[?:?]

	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36) ~[?:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:407) ~[?:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) ~[?:?]

	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) ~[?:?]

	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) ~[?:?]

	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?]

	at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]

	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:?]

	at java.lang.Class.getConstructor0(Class.java:3075) ~[?:?]

	at java.lang.Class.newInstance(Class.java:412) ~[?:?]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:749) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [42:org.apache.felix.scr:2.0.12]

	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [42:org.apache.felix.scr:2.0.12]

	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]

	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]

	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]

	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) [?:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]

	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]

	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]

	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) [?:?]

	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]

	at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620) [?:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600) [?:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571) [?:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514) [?:?]

	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [?:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]

	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) [?:?]

Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)

	at java.util.zip.ZipFile.read(Native Method) ~[?:?]

	at java.util.zip.ZipFile.access$1400(ZipFile.java:60) ~[?:?]

	at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:734) ~[?:?]

	at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:434) ~[?:?]

	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) ~[?:?]

	at org.eclipse.osgi.storage.bundlefile.ZipBundleEntry$ZipBundleEntryInputStream.read(ZipBundleEntry.java:156) ~[?:?]

	at org.eclipse.osgi.storage.StorageUtil.getBytes(StorageUtil.java:196) ~[?:?]

	at org.eclipse.osgi.storage.bundlefile.BundleEntry.getBytes(BundleEntry.java:94) ~[?:?]

	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:566) ~[?:?]
Hier sind zwei Sachen zum einen in der Zeile 4&5 und weiter unten "invalid LOC Header"

madmike
Beiträge: 278
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von madmike »

Zu deiner zweiten Anweisung auf die Konsole und die Bindings Listen erhielt ich folgende Antwort:

Code: Alles auswählen

222 │ Active   │  80 │ 1.11.0                 │ openHAB RRD4j Persistence Bundle
Somit gehe ich davon aus das der Dienst da ist und läuft, Paper UI zeigt mir auch installiert an.

madmike
Beiträge: 278
Registriert: 15. Apr 2018 17:09
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von madmike »

Bei deinem letzten Befehl bekomme ich folgende Antwort:

Code: Alles auswählen

drwxrwxr-x+ 2 openhab openhabian 4096 Feb 25 20:26 db4o
drwxrwxr-x+ 2 openhab openhabian 4096 Feb 25 20:26 mapdb
drwxrwxr-x+ 2 openhab openhabian 4096 Mai  4 08:30 rrd4j
hier muss ich sagen bin ich auch mit meinem Latein am Ende !!

Was bedeuten das für mein System ??
mfg
und Danke für Deine Hilfe im Voraus
Micha

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

Re: MySQL-Persistence speichert nichts

Beitrag von udo1toni »

Die Fehlermeldung bezieht sich auf das Compability Layer. Da scheint während der Installation etwas schief gegangen zu sein.
Was Du probieren kannst, ist, das entsprechende Bundle zu deinstallieren und anschließend neu zu installieren (geht beides über die Karaf Konsole). Kann aber sein, dass das nicht funktioniert, dann wäre mein Tipp, die Konfiguration zu sichern und openHAB neu zu installieren.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
webguards
Beiträge: 56
Registriert: 5. Jun 2018 17:06
Answers: 0

Re: MySQL-Persistence speichert nichts

Beitrag von webguards »

Ich habe mir auch die Nächte um die Ohren gehauen, da ich Wordpress mit mariaDB auf meinen Server am Laufen habe. Alles probiert, dann aufgegeben. Dann habe influxdb installiert, alles funktionierte sofort, Charts mit monatelange Speicherung. Bei so einfach, lass ich die Finger von SQL
=== Das Kuriose an SMARTHOME, man wird nie fertig ;) ===

Thin Client HP als Multifunktionsserver (Docker) | 2x Echo Dot als SST und TTS | Fritzbox | FritzDect | KODI MediaCenter | Samsung TV und Samsung HTS | fireTV via adb | CasaControl mit 20 Aktoren via EXEC | Xiaomi Gateway mit mehrere Tür- und Temperatursensoren | Broadlink RM PRO | 80% regelbasiert Automatisiert

Antworten