MySQL-Persistence speichert nichts

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Re: MySQL-Persistence speichert nichts

Beitrag von Mr. BJ »

Ja, danke, die Seite kannte ich bereits.
Von der Java-Version her sollte es eigentlich passen. Bin da Momentan Ratlos.
Gruß Björn


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

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

Re: MySQL-Persistence speichert nichts

Beitrag von udo1toni »

Aaalso, es gibt die MySQL Persistence und die JDBC (MySQL) Persistence. Falls man MariaDB einsetzt, kann man wahlweise auch JDBC MariaDB verwenden. Im ersten Fall heißt die Konfigurationsdatei mysql.cfg und passend dazu für die Persistence mysql.persist, in letzterem Fall heißen die Dateien jdbc.cfg und jdbc.persist.
Die Konfiguration für die beiden Dienste ist natürlich unterschiedlich, der Inhalt der *.persist Datei sollte identisch sein.

everyMinute als Persistence Strategie ist nur bei rrd4j wichtig, und dort auch nur, damit die Graphen erzeugt werden können. Ähnliche Probleme kann man aber auch mit influxDB/Grafana bekommen, für die Graphen sind halt gültige Startwerte wichtig.

Aktuell ist Java 1.8u171, ein Update sollte immer eine Option sein, vor allem, wenn openHAB neu installiert wurde (insbesondere die nightly Version).

openHAB hat keine Möglichkeit, zwischen Items mit, und Items ohne Binding zu unterscheiden. Es wäre denkbar, dass sich ein Tippfehler eingeschlichen hat. Als Text könntest Du mal everyMinute mit in die Persistence nehmen, um sicherzustellen, dass das Item auf jeden Fall persistiert wird.
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 »

udo1toni hat geschrieben: 26. Apr 2018 22:44 Es wäre denkbar, dass sich ein Tippfehler eingeschlichen hat.
yep...mhhh, war ein kleines x im persist file.
Habe aber immer noch ein Problem mit einem String item, es wird nicht in der Datenbank (MariaDB mit MySQL-Binding) gespeichert.

Code: Alles auswählen

String VI_Waschmaschiene_StateText
        "State"
        <text>
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 udo1Toni,

vielleicht hast Du auch einen Tip für mich:
Das ist die Fehlermeldung:

Code: Alles auswählen

2018-05-02 10:41:16.701 [WARN ] [eclipse.jetty.servlet.ServletHandler] - 
javax.servlet.ServletException: Could not get chart provider.
	at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:266) [155:org.eclipse.smarthome.ui:0.10.0.b1]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [31:javax.servlet-api:3.1.0]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [31:javax.servlet-api:3.1.0]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) [88:org.eclipse.jetty.servlet:9.3.22.v20171030]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) [88:org.eclipse.jetty.servlet:9.3.22.v20171030]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [191:org.ops4j.pax.web.pax-web-jetty:6.0.7]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [85:org.eclipse.jetty.security:9.3.22.v20171030]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) [191:org.ops4j.pax.web.pax-web-jetty:6.0.7]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [88:org.eclipse.jetty.servlet:9.3.22.v20171030]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [191:org.ops4j.pax.web.pax-web-jetty:6.0.7]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.server.Server.handle(Server.java:534) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [87:org.eclipse.jetty.server:9.3.22.v20171030]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [79:org.eclipse.jetty.io:9.3.22.v20171030]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [79:org.eclipse.jetty.io:9.3.22.v20171030]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [79:org.eclipse.jetty.io:9.3.22.v20171030]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [90:org.eclipse.jetty.util:9.3.22.v20171030]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [90:org.eclipse.jetty.util:9.3.22.v20171030]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [90:org.eclipse.jetty.util:9.3.22.v20171030]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [90:org.eclipse.jetty.util:9.3.22.v20171030]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [90:org.eclipse.jetty.util:9.3.22.v20171030]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Ich habe alles nochmals geprüft ich finde nicht den Fehler !!

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

Re: MySQL-Persistence speichert nichts

Beitrag von madmike »

Hallo Udo1Toni,

vielleicht noch eine Frage in welcher Datei finde ich die Werte die zum Aufbau der Tabelle genutzt werden, vielleicht liegt hier der Fehler ??
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 »

Du möchtest ein Chart auf der Sitemap anzeigen? Wie sieht denn die Definition in der Sitemap aus?
Ohne jetzt irgendwas gesehen zu haben, gibt es gern genommene Fehler bei Charts:
  • Keine Standard Persistence definiert und Persistence beim Chart Widget nicht angegeben.
  • Daten werden nicht korrekt persistiert (für Charts ist everyMinute als strategy zwingend)
  • Mehrere Items haben ein identisches Label
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,
danke für deine schnelle Antwort.
Das alles hat funktionioniert bis ich vor ca. 2 Monaten ein Upgrade unter openhabian-config gemacht habe.
Hier meine entsprechenden Einträge:
Sitemap:

Code: Alles auswählen

Frame label="Außenwerte"{
			Text item=Humidity
			Text item=Pressure
			Text item=Wind_Direction
			Text item=Wind_Speed
			Text item=Temp_Feel   valuecolor=[>25="orange",>15="green",<=15="blue"]
			Text item=Temperature valuecolor=[>27="red",>20="orange",>10="purple",>5="green",<=5="blue"]
			Chart item=Temperature period=D refresh=30000
rrd4j.persist:

Code: Alles auswählen

Strategies {
	// for rrd charts, we need a cron strategy
	everyMinute : "0 * * * * ?"
	
			default = everyChange
}

Items {
		Temperature : strategy = everyMinute, everyUpdate, restoreOnStartup
} 
Item:

Code: Alles auswählen

Number Temperature 	"Temperatur" 		  <temperature>	 	{ channel="yahooweather:weather:exxxx:temperature" }
Number Humidity 	"Luftfeuchtigkeit"    <humidity> 		{ channel="yahooweather:weather:exxxx:humidity" }
Number Pressure 	"Luftdruck" 		  <pressure> 		{ channel="yahooweather:weather:exxxx:pressure" }
Thing:

Code: Alles auswählen

yahooweather:weather:exxxx [ location=6xxxxxx ]
Danke für deine Unterstützung!
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 »

Und die Default Persistence ist auf rrd4j eingestellt? Das ist eine der Einstellungen, die beim Upgrade weg fliegt. Einstellbar über runtime.cfg oder Paper UI, wenn man diese Parameter über ein Upgrade behalten will, muss man diese über runtime.cfg setzen.

Ansonsten müsstest Du beim Chart Widget die Definition so ergänzen:

Code: Alles auswählen

Chart item=Temperature period=D refresh=30000 service="rrd4j"
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 »

Danke Udo1toni
muss ich in der runtime.cgf den Wert rrd4j in Anführungszeichen setzen oder reicht es den Wert einzutragen ?
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 »

Soweit ich mich erinnere geht das ohne Anführungszeichen, also einfach

Code: Alles auswählen

org.eclipse.smarthome.persistence:default=rrd4j
(Und natürlich daran denken, die Raute # zu Beginn der Zeile zu entfernen)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten