Persistence stopped working for some items

Hi there,

i just noticed that the charts for my three homematic thermostats current temperature stopped working.
The items still work fine and are showing the current temperature.
But the charts are stuck to an old value.

Things:
(No changes made in the last 3 month)

Bridge homematic:bridge:default [ gatewayAddress="127.0.0.1", callbackHost="127.0.0.1", gatewayType="auto", binCallbackPort=9125, xmlCallbackPort=9126 ]
{
    Thing GATEWAY-EXTRAS-default GWE00000000 "Homegear Extras"
    Thing HG-HM-CC-RT-DN MEQ1557919 "Heizung Schlafzimmer" @ "Schlafzimmer"
    Thing HG-HM-CC-RT-DN MEQ0056432 "Heizung Badezimmer" @ "Badezimmer"
    Thing HG-HM-CC-RT-DN MEQ0056036 "Heizung Küche" @ "Küche"
}

Items:
(Only added/changed groups)

Number itmHeizung_Schlafzimmer_IST "Temperatur Schlafzimmer [%.1f °C]" <heating> (Schlafzimmer, Temperatur, gPersist) ["CurrentTemperature"] {channel="homematic:HM-CC-RT-DN:default:<SERIALNUMBER>:4#ACTUAL_TEMPERATURE"}
Number itmHeizung_Badezimmer_IST "Temperatur Badezimmer [%.1f °C]" <heating> (Badezimmer, Temperatur, gPersist) ["CurrentTemperature"] {channel="homematic:HM-CC-RT-DN:default:<SERIALNUMBER>:4#ACTUAL_TEMPERATURE"}
Number itmHeizung_Kueche_IST "Temperatur Kueche [%.1f °C]" <heating> (Kueche, Temperatur, gPersist) ["CurrentTemperature"] {channel="homematic:HM-CC-RT-DN:default:<SERIALNUMBER>:4#ACTUAL_TEMPERATURE"}

I had to link the Things/Items manually (on initial setup) through the PaperUI as it seems that the links for homematic objects are not created with the items/channels.

Sitemap:

	Frame label="Heizungen"
		{
			Text item=itmHeizung_Schlafzimmer_IST
			{
				Chart item=itmHeizung_Schlafzimmer_IST refresh=60000 period=D
			}
		}

Example:

Working chart for weather items:

Logfile:

2018-12-21 12:36:06.071 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&theme=dark&t=1545392166040)@427f56
2018-12-21 12:36:06.077 [DEBUG] [thome.ui.internal.chart.ChartServlet] - No begin or end is specified, use now as end and now-period as begin.
2018-12-21 12:36:06.081 [DEBUG] [thome.ui.internal.chart.ChartServlet] - chart building with width 480 height 240 dpi null
2018-12-21 12:36:06.086 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'null', theme: 'dark', startTime: 'Thu Dec 20 12:36:06 CET 2018', endTime: 'Fri Dec 21 12:36:06 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST', groups: 'null', dpi: 'null', legend: 'null'
2018-12-21 12:36:06.094 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
2018-12-21 12:36:06.100 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: query:SELECT Time, Value FROM Item16 WHERE TIME<'2018-12-20 12:36:06' ORDER BY Time DESC LIMIT 0,1
2018-12-21 12:36:06.107 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: query returned 1 rows in 6ms
2018-12-21 12:36:06.113 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
2018-12-21 12:36:06.119 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: query:SELECT Time, Value FROM Item16 WHERE TIME>'2018-12-20 12:36:06' AND TIME<'2018-12-21 12:36:06' ORDER BY Time ASC
2018-12-21 12:36:06.125 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: query returned 0 rows in 6ms
2018-12-21 12:36:06.322 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Chart successfully generated and written to the response.

After checking the mysql server i noticed that openhab stopped writing persistence for these three homematic devices…

The group gPersist exists in one .items file

mysql.persist:

Strategies
{
  everyMinute	: "0 * * * * ?"
  every5Minutes : "0 */5 * * * ?"
  everyHour   : "0 0 * * * ?"
  everyDay    : "0 0 0 * * ?"
  default = everyChange
}

Items
{
  gPersist* : strategy = everyChange, restoreOnStartup
}
  • Platform information:
    • Hardware: Raspberry Pi 3B
    • OS: raspbian 9
    • Java Runtime Environment:
      • openjdk version “1.8.0_152”
        OpenJDK Runtime Environment (Zulu Embedded 8.25.0.76-linux-aarch32hf)
        OpenJDK Client VM (Zulu Embedded 8.25.0.76-linux-aarch32hf)
    • openHAB version: 2.3.0-1 (Release Build)

After all this i just removed one ) from the homematic.items file, saved, put it back there and saved again.
This solved the issue and openHAB starts saving the persistence again!

I´m currently out of ideas why openHAB stopped saving persistence for the homematic items.
Is there any way to track if oH really saves all persistence data?

kind regards
Michael

Are you certain the Homeatic Items were being updated during this time? You can tell, assuming you have the logs back far enough, by running

grep NameOfHomeaticItem /var/log/openhab2/events.log* | less

Look at the timestamps. Do you see any events for this time period during the time that nothing was being saved to MySQL?

Always go back as far as possible in the chain of events when trying to solve problems like these so you can figure out exactly where in the chain the problem occurs. The symptom is no data being saved to MySQL but the cause could be the Homeatic Binding stopped receiving events for those Items.

1 Like

Here´s what the events.log says right after the last mysql entry:

/var/log/openhab2/events.log:2018-12-17 23:25:18.849 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.70 to 19.60
/var/log/openhab2/events.log:2018-12-17 23:37:45.358 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.60 to 19.50
/var/log/openhab2/events.log:2018-12-17 23:47:51.620 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.50 to 19.40
/var/log/openhab2/events.log:2018-12-18 00:00:08.863 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.40 to 19.30
/var/log/openhab2/events.log:2018-12-18 00:15:17.110 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.30 to 19.20
/var/log/openhab2/events.log:2018-12-18 00:30:17.854 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.20 to 19.10
/var/log/openhab2/events.log:2018-12-18 00:43:29.361 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.10 to 19.00
/var/log/openhab2/events.log:2018-12-18 00:58:38.151 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.00 to 18.90
/var/log/openhab2/events.log:2018-12-18 01:08:54.426 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.90 to 18.80
/var/log/openhab2/events.log:2018-12-18 01:23:29.883 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.80 to 18.70
/var/log/openhab2/events.log:2018-12-18 01:48:51.167 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.70 to 18.60
/var/log/openhab2/events.log:2018-12-18 02:47:27.711 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.60 to 18.50
/var/log/openhab2/events.log:2018-12-18 02:50:11.222 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.50 to 18.60
/var/log/openhab2/events.log:2018-12-18 02:52:40.214 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.60 to 18.50
/var/log/openhab2/events.log:2018-12-18 02:54:54.723 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.50 to 18.60
/var/log/openhab2/events.log:2018-12-18 03:04:40.971 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.60 to 18.50
/var/log/openhab2/events.log:2018-12-18 03:43:03.983 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.50 to 18.60
/var/log/openhab2/events.log:2018-12-18 03:45:50.238 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.60 to 18.80
/var/log/openhab2/events.log:2018-12-18 03:48:21.983 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 18.80 to 19.10
/var/log/openhab2/events.log:2018-12-18 03:50:39.233 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.10 to 19.40
/var/log/openhab2/events.log:2018-12-18 03:52:42.234 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.40 to 19.70
/var/log/openhab2/events.log:2018-12-18 03:55:34.721 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.70 to 20.30

This doesn´t stop until today.
So the binding still works, receives values and changes the item.

Thanks!

OK, we have eliminated the lack of events as the source of the problem.

Was there any shutdown/reboot/loss of power/restart of MySQL or OH around the time that it stopped saving?

Check openhab.log around that time to see if there is something like a “connection lost” message or the like.

There has to have been something that precipitated this behavior. Without knowing what it can never get fixed.

I know of no way to directly determine when it stops saving. I suppose you could run a cron job periodically and query to see if there is data there and generate an alert when it isn’t

I had a power loss on 2018-12-06 but not at the time around the 2018-12-17.

I checked the openhab.log and found that mysql worked until 2018-12-20 11:33:36
I made a wrong query to mysql and the last entry shown was 2018-12-17 23:25:18
So that was just my fault and i searched in the wrong timeframe.

Last entry

2018-12-20 11:33:36.463 [DEBUG] [.thing.internal.CommunicationManager] - Received  event '19.60' for non-existing thing 'homematic:HM-CC-RT-DN:default:MEQ1557919', not forwarding it to the handler
2018-12-20 11:33:36.477 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Double) value '3.0' for '<SERIALNUMBER>:4#BATTERY_STATE' from gateway with id 'default'
2018-12-20 11:33:36.478 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: Stored item 'itmHeizung_Schlafzimmer_IST' as '19.60'[19.60] in SQL database at 2018-12-20 11:33:36.469.
2018-12-20 11:33:36.481 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: query: INSERT INTO Item16 (TIME, VALUE) VALUES(?,?) ON DUPLICATE KEY UPDATE VALUE=?;

So back to the events.log*

/var/log/openhab2/events.log:2018-12-20 11:33:36.468 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.50 to 19.60
/var/log/openhab2/events.log:2018-12-20 12:10:14.134 [ome.event.ItemUpdatedEvent] - Item 'itmHeizung_Schlafzimmer_IST' has been updated.
/var/log/openhab2/events.log:2018-12-20 12:11:20.785 [ome.event.ItemUpdatedEvent] - Item 'itmHeizung_Schlafzimmer_IST' has been updated.
/var/log/openhab2/events.log:2018-12-20 12:11:37.218 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from NULL to 19.60
/var/log/openhab2/events.log:2018-12-20 12:18:54.976 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.60 to 19.70
/var/log/openhab2/events.log:2018-12-20 12:36:46.502 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.70 to 19.80
/var/log/openhab2/events.log:2018-12-20 12:46:43.242 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.80 to 19.90
/var/log/openhab2/events.log:2018-12-20 12:54:35.250 [vent.ItemStateChangedEvent] - itmHeizung_Schlafzimmer_IST changed from 19.90 to 20.00

The item still receives updates but doesn´t write them to the mysql

grep itmHeizung_Schlafzimmer_IST /var/log/openhab2/openhab.log* | less

/var/log/openhab2/openhab.log.6:2018-12-20 11:33:36.478 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL: Stored item 'itmHeizung_Schlafzimmer_IST' as '19.60'[19.60] in SQL database at 2018-12-20 11:33:36.469.
/var/log/openhab2/openhab.log.6:2018-12-20 12:10:14.130 [WARN ] [mon.registry.AbstractManagedProvider] - Could not update element with key _tags:itmHeizung_Schlafzimmer_IST in ManagedMetadataProviderImpl, because it does not exists.
/var/log/openhab2/openhab.log.6:2018-12-20 12:11:20.779 [WARN ] [mon.registry.AbstractManagedProvider] - Could not update element with key _tags:itmHeizung_Schlafzimmer_IST in ManagedMetadataProviderImpl, because it does not exists.
/var/log/openhab2/openhab.log.6:2018-12-20 12:12:06.131 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&theme=dark&t=1545304326097)@15ff8d0
/var/log/openhab2/openhab.log.6:2018-12-20 12:12:06.142 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'null', theme: 'dark', startTime: 'Wed Dec 19 12:12:06 CET 2018', endTime: 'Thu Dec 20 12:12:06 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST',
 groups: 'null', dpi: 'null', legend: 'null'
/var/log/openhab2/openhab.log.6:2018-12-20 12:12:06.147 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
/var/log/openhab2/openhab.log.6:2018-12-20 12:12:06.160 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
/var/log/openhab2/openhab.log.6:2018-12-20 12:31:37.926 [DEBUG] [rest.core.internal.item.ItemResource] - Received HTTP GET request at 'items/itmHeizung_Schlafzimmer_IST'
/var/log/openhab2/openhab.log.6:2018-12-20 12:31:37.929 [DEBUG] [rest.core.internal.item.ItemResource] - Received HTTP GET request at 'items/itmHeizung_Schlafzimmer_IST'.
/var/log/openhab2/openhab.log.6:2018-12-20 13:29:26.227 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&theme=dark&t=1545308966198)@ac82f5
/var/log/openhab2/openhab.log.6:2018-12-20 13:29:26.249 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'null', theme: 'dark', startTime: 'Wed Dec 19 13:29:26 CET 2018', endTime: 'Thu Dec 20 13:29:26 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST',
 groups: 'null', dpi: 'null', legend: 'null'
/var/log/openhab2/openhab.log.6:2018-12-20 13:29:26.260 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
/var/log/openhab2/openhab.log.6:2018-12-20 13:29:26.283 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
/var/log/openhab2/openhab.log.7:2018-12-20 23:04:23.225 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&theme=dark&t=1545343463184)@12dfd26
/var/log/openhab2/openhab.log.7:2018-12-20 23:04:23.241 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'null', theme: 'dark', startTime: 'Wed Dec 19 23:04:23 CET 2018', endTime: 'Thu Dec 20 23:04:23 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST',
 groups: 'null', dpi: 'null', legend: 'null'
/var/log/openhab2/openhab.log.7:2018-12-20 23:04:23.251 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST
/var/log/openhab2/openhab.log.7:2018-12-20 23:04:23.278 [DEBUG] [sql.internal.MysqlPersistenceService] - mySQL query: item is itmHeizung_Schlafzimmer_IST

At this point the best I can offer is filing an issue. I don’t use MySQL and I’ve not seen similar threads recently on a problem like this.

I would like to dig a little bit deeper into my logs before opening an issue.

How do i use grep with multiple statements?
I would like to use grep with my item name, “mysql” and the items serialnumber.

Thanks Rich!

Two ways:

grep “a|b|c”
grep “a” | grep “b” | grep “c”

1 Like

I tried both ways and none worked:
grep "mySQL|itmHeizung_Schlafzimmer_IST|MEQ1557919" /var/log/openhab2/openhab.log* | less

grep "mySQL" /var/log/openhab2/openhab.log* | grep "itmHeizung_Schlafzimmer_IST" /var/log/openhab2/openhab.log* | grep "<SERIALNUMBER>" /var/log/openhab2/openhab.log* | less

And now all Charts stopped working…
Not only the homematic thermostat Charts stopped working but also my weather chart.

2018-12-22 00:45:54.539 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&theme=dark&t=1545435954503)@161f8c8
2018-12-22 00:45:54.543 [DEBUG] [thome.ui.internal.chart.ChartServlet] - No begin or end is specified, use now as end and now-period as begin.
2018-12-22 00:45:54.546 [DEBUG] [thome.ui.internal.chart.ChartServlet] - chart building with width 480 height 240 dpi null
2018-12-22 00:45:54.552 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'null', theme: 'dark', startTime: 'Fri Dec 21 00:45:54 CET 2018', endTime: 'Sat Dec 22 00:45:54 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST', groups: 'null', dpi: 'null', legend: 'null'

what is your default persistence service? (and how many persistence services do you have installed)

Default is mySQL and no others installed.

I don’t like this part in the log (but this shouldn’t be the problem since the Chart should pickup the default)
can you try to add explicitly the service in your Chart element in the sitemap?
Ref: https://www.openhab.org/docs/configuration/sitemaps.html#element-type-chart

That syntax is wrong. The second and third calls to grep can’t specify a file.

Use:

grep "mySQL" /var/log/openhab2/openhab.log* | grep "itmHeizung_Schlafzimmer_IST" | grep "<SERIALNUMBER>"

I already tried:
Chart item=itmHeizung_Schlafzimmer_IST refresh=60000 period=D service="mySQL"
Chart item=itmHeizung_Schlafzimmer_IST refresh=60000 period=D service="mysql"
(What syntax is correct? There´s no example in the docs for mySQL Charts. Maybe i´ll change to RRD4j for this Charts)

But there´s still no Chart being rendered and displayed.

service=“mySQL”

2018-12-22 09:45:17.726 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&service=mySQL&theme=dark&t=1545468317692)@15a08fd
2018-12-22 09:45:17.731 [DEBUG] [thome.ui.internal.chart.ChartServlet] - No begin or end is specified, use now as end and now-period as begin.
2018-12-22 09:45:17.734 [DEBUG] [thome.ui.internal.chart.ChartServlet] - chart building with width 480 height 240 dpi null
2018-12-22 09:45:17.740 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'mySQL', theme: 'dark', startTime: 'Fri Dec 21 09:45:17 CET 2018', endTime: 'Sat Dec 22 09:45:17 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST', groups: 'null', dpi: 'null', legend: 'null'
2018-12-22 09:45:17.746 [WARN ] [thome.ui.internal.chart.ChartServlet] - Illegal argument in chart: Persistence service not found 'mySQL'.

service=“mysql”
(No error but still no chart)

2018-12-22 09:46:13.170 [DEBUG] [thome.ui.internal.chart.ChartServlet] - Received incoming chart request: Request(GET //192.168.2.11:8080/chart?items=itmHeizung_Schlafzimmer_IST&period=D&service=mysql&theme=dark&t=1545468373149)@b296f9
2018-12-22 09:46:13.174 [DEBUG] [thome.ui.internal.chart.ChartServlet] - No begin or end is specified, use now as end and now-period as begin.
2018-12-22 09:46:13.177 [DEBUG] [thome.ui.internal.chart.ChartServlet] - chart building with width 480 height 240 dpi null
2018-12-22 09:46:13.182 [DEBUG] [ltchartprovider.DefaultChartProvider] - Rendering chart: service: 'mysql', theme: 'dark', startTime: 'Fri Dec 21 09:46:13 CET 2018', endTime: 'Sat Dec 22 09:46:13 CET 2018', width: '480', height: '240', items: 'itmHeizung_Schlafzimmer_IST', groups: 'null', dpi: 'null', legend: 'null'

The persistence stopped working at all and none items are currently stored into mySQL.


That´s why i asked for the syntax :wink:

Now i tried:
grep "mySQL" /var/log/openhab2/openhab.log* | grep "itmHeizung_Schlafzimmer_IST" | grep "<SERIALNUMBER>" | less

I just get an empty window…
I double checked upper-/lowercase as grep seems to be case sensitive.
And without | lessi don´t get anything displayed and just a new command line.

dig deeper into the OH2 <-> MySQL connection
put the addon in TRACE log level to see what the OH2 side has to say
double check that the MySQL server is up and running and listening to incoming connections

from the OH2 console:

log:set TRACE org.openhab.persistence.mysql

try also to transition to the better version: persistence-jdbc-mysql instead of persistence-mysql maybe this will help?

I think the second one that you used (service="mysql"). but this won’t help since there is no data being stored in the DB for the chart to retrieve them :frowning:

btw: did you recently modify the tags to the affected items?
can you try to remove the tags for a second to see if this warning disappears and if the item states are being persisted?

edit:

you may have duplicate Items and/or Links in your system

check using the console:

items list |grep xyz
links list |grep xyz

I did another restart of openHAB because now the rule engine stopped working partially.
Basic timer rules were still running but thing based rules didn´t started or simple doesn´t received their trigger.

I changed the log level through the console and checked with log:get
Also changed the smarthome and openhab log level to DEBUG.

Logger                                             │ Level
───────────────────────────────────────────────────┼──────
org.eclipse.smarthome                              │ DEBUG
org.openhab                                        │ DEBUG
org.openhab.persistence.mysql                      │ TRACE

It seems like the logging for mysql doesn´t work, as i don´t get any TRACE logs.

The mySQL Server is running on my HP MicroServer Gen8 with Windows Server 2016 and is up, running and listening for connections.
The error log had no entries for external events like broken connections or something similiar.
The general log is now enabled so it just started to log everything.

Is it possible to migrate?
There´s a topic in the docs but no information HOW to migrate…
Do i just need to uninstall the old one, install the new one and change the config file?

I changed some group memberships for the battery channels.
The groups are defined at the beginning of my .items files and then used.
Some are starting with an uppercase letter and some with an lowercase letter, does this matter?

I had a problem with my homematic items a while back.

As i´m coming from oH1 i choosed to still work with files instead of the json based PaperUI.
So i´m working with .things and .items files for everything i use in oH.
When initially setting up oH2 with Homegear for homematic all items were linked to things through the channels.
But a while back this links didn´t worked anymore so i had to link them through PaperUI.
Now i´m running with items that are linked to things through channels and the items are linked to things through PaperUI.
Maybe this could cause some problems?
The problem is that my items didn´t received any updates with the channel based linking to things…

openhab> items list |grep itmHeizung_Schlafzimmer_IST
itmHeizung_Schlafzimmer_IST (Type=NumberItem, State=21.40, Label=Temperatur Schlafzimmer, Category=heating, Tags=[CurrentTemperature], Groups=[Schlafzimmer, Temperatur, gPersist])
openhab> links list |grep itmHeizung_Schlafzimmer_IST                                                                                                                                                                                                                                                  
itmHeizung_Schlafzimmer_IST -> homematic:HM-CC-RT-DN:default:<SERIALNUMBER>:4#ACTUAL_TEMPERATURE
itmHeizung_Schlafzimmer_IST -> homematic:HG-HM-CC-RT-DN:default:<SERIALNUMBER>:4#ACTUAL_TEMPERATURE

So yes, i have duplicate links :frowning_face:

I removed the PaperUI links through the JSON file org.eclipse.smarthome.core.thing.link.ItemChannelLink.json
and double checked the homematic.items file.

Now i just have one link for my oH items

openhab> items list |grep itmHeizung_Schlafzimmer_IST
itmHeizung_Schlafzimmer_IST (Type=NumberItem, State=21.40, Label=Temperatur Schlafzimmer, Category=heating, Tags=[CurrentTemperature], Groups=[Schlafzimmer, Temperatur, gPersist])
openhab> links list |grep itmHeizung_Schlafzimmer_IST                                                                                                                                                                                                                                       
itmHeizung_Schlafzimmer_IST -> homematic:HG-HM-CC-RT-DN:default:<SERIALNUMBER>:4#ACTUAL_TEMPERATURE

I don´t know if this caused the persistence to stop.
I´ll have a look at the stability in the next days and let the logs stay in DEBUG/TRACE for a while.

Last thing would be the migration from mySQL to JDBC with mySQL.

Thanks!

Yep. The -i switch makes it ignore case:

grep -i ...

You could also try:

grep -i -E 'a|b|c' file

that’s too much :slight_smile:
your OH2 instance will struggle to output so much logging to openhab.log

yes. backup your configs and DB first :slight_smile:

no

the correct way is to link the Item to the Channel of the Thing (either using items files of via PaperUI). The link is done to the Channel (not the Thing itself).

most likely you had made a mistake with the CUID (Channel Unique Identifier). Copy the CUID from PaperUI and paste it in your Item config (channel="CUID")