[SOLVED] New OpenhabianPi with old KNX binding

That would stop charts from using that database, no matter how long you wait. You might share that file, if you cannot see what is wrong with it.

This is it.

// persistence strategies have a name and a definition and are referred to in the “Items” section Strategies

{
// for rrd charts, we need a cron strategy
everyMinute : “0 * * * * ?”
every5Minutes : “0 0/5 * * * ?”
default = everyMinute, every5Minutes

}
Items
{

WS_Aussentemperatur, WS_Wind_km : strategy = everyMinute, restoreOnStartup
Helligkeit, Sonnenstand_Azimut, Fassade_1_Position, Fassade_2_Position, Fassade_3_Position, Fassade_4_Position : strategy = everyMinute, restoreOnStartup
//gChartTempWind* : strategy = everyMinute, restoreOnStartup

RTR_Buero_Ist_Temperatur, RTR_Buero_Soll_RM_Temperatur, RTR_Buero_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_BadKinder_Ist_Temperatur, RTR_BadKinder_Soll_RM_Temperatur, RTR_BadKinder_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_GZimmer_Ist_Temperatur, RTR_GZimmer_Soll_RM_Temperatur, RTR_GZimmer_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Kind2_Ist_Temperatur, RTR_Kind2_Soll_RM_Temperatur, RTR_Kind2_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Kind1_Ist_Temperatur, RTR_Kind1_Soll_RM_Temperatur, RTR_Kind1_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_FlurAltbau_Ist_Temperatur, RTR_FlurAltbau_Soll_RM_Temperatur, RTR_FlurAltbau_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_FlurNeubau_Ist_Temperatur, RTR_FlurNeuban_Soll_RM_Temperatur, RTR_FlurNeubau_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_BadEltern_Ist_Temperatur, RTR_BadEltern_Soll_RM_Temperatur, RTR_BadEltern_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Schlafen_Ist_Temperatur, RTR_Schlafen_Soll_RM_Temperatur, RTR_Schlafen_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Kino_Ist_Temperatur, RTR_Kino_Soll_RM_Temperatur, RTR_Kino_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Wohnen_Ist_Temperatur, RTR_Wohnen_Soll_RM_Temperatur, RTR_Wohnen_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Flur_Ist_Temperatur, RTR_Flur_Soll_RM_Temperatur, RTR_Flur_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_DG_Ist_Temperatur, RTR_DG_Soll_RM_Temperatur, RTR_DG_Stellgroesse : strategy = everyMinute, restoreOnStartup

RTR_Garage_Ist_Temperatur : strategy = everyMinute, restoreOnStartup

}

Please use code fences for inclusions like that, where format is important.
At a guess, trim out the blank lines

Sorry I don’t get it. Original code looks like this and it worked before my crash of the SD card w/o any problem. Forgot to insert it in code style for better understanding.

// persistence strategies have a name and a definition and are referred to in the "Items" section
Strategies
{
	// for rrd charts, we need a cron strategy
	everyMinute : "0 * * * * ?"
	every5Minutes : "0 0/5 * * * ?"
	
	default = everyMinute, every5Minutes
}

Items
{
	WS_Aussentemperatur, WS_Wind_km : strategy = everyMinute, restoreOnStartup
	Helligkeit, Sonnenstand_Azimut, Fassade_1_Position, Fassade_2_Position, Fassade_3_Position, Fassade_4_Position : strategy = everyMinute, restoreOnStartup
	//gChartTempWind* : strategy = everyMinute, restoreOnStartup
	RTR_Buero_Ist_Temperatur, RTR_Buero_Soll_RM_Temperatur, RTR_Buero_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_BadKinder_Ist_Temperatur, RTR_BadKinder_Soll_RM_Temperatur, RTR_BadKinder_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_GZimmer_Ist_Temperatur, RTR_GZimmer_Soll_RM_Temperatur, RTR_GZimmer_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Kind2_Ist_Temperatur, RTR_Kind2_Soll_RM_Temperatur, RTR_Kind2_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Kind1_Ist_Temperatur, RTR_Kind1_Soll_RM_Temperatur, RTR_Kind1_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_FlurAltbau_Ist_Temperatur, RTR_FlurAltbau_Soll_RM_Temperatur, RTR_FlurAltbau_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_FlurNeubau_Ist_Temperatur, RTR_FlurNeuban_Soll_RM_Temperatur, RTR_FlurNeubau_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_BadEltern_Ist_Temperatur, RTR_BadEltern_Soll_RM_Temperatur, RTR_BadEltern_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Schlafen_Ist_Temperatur, RTR_Schlafen_Soll_RM_Temperatur, RTR_Schlafen_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Kino_Ist_Temperatur, RTR_Kino_Soll_RM_Temperatur, RTR_Kino_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Wohnen_Ist_Temperatur, RTR_Wohnen_Soll_RM_Temperatur, RTR_Wohnen_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Flur_Ist_Temperatur, RTR_Flur_Soll_RM_Temperatur, RTR_Flur_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_DG_Ist_Temperatur, RTR_DG_Soll_RM_Temperatur, RTR_DG_Stellgroesse : strategy = everyMinute, restoreOnStartup
	RTR_Garage_Ist_Temperatur : strategy = everyMinute, restoreOnStartup
}

There are occasional posts with very similar issues. They seem to revolve around the xxx.persist file parser being quite picky about hidden control characters.

I note that the unfenced post of your file shows no blank line between

every5Minutes : “0 0/5 * * * ?”
default = everyMinute, every5Minutes

but the code fenced version does - that’s suspicious.

Probably the most sure-fire fix -

Tried it w/o reboot of the system. Does not work. Do you think I should reboot?
This is what I get when I try to open a chart.

[WARN ] [thome.ui.internal.chart.ChartServlet] - Chart generation failed: null

I tried it again with a restart of the system. Created a new file (Texteditior) Copied the code from the old to the new file and renamed it. Copied the file to the Pi and restart the system. No change. Does not work.

You’re still getting this error, then?

With copy and paste or did you retype it? If you just selected and copied and pasted than any stray character that may have been causing problems would still be there.

I opened a new text file and copied everything from the original file. I took windows text document because it does not contain any format of the text. After that I renamed it and copied it to the Pi.

That was probably not sufficient. If there were any hidden characters, they likely survived the copy and paste.

Note this warning

Thanks for the hint. I have another idea. Could it be possible that the sitemap chart function does not work because of the failure I got.
“Chart generation failed: null”
This is my sitemap code. Maybe I was looking into the wrong direction.

Text item=RTR_Garage_Ist_Temperatur label="Garage [%.1f °C]" valuecolor=[>=25="red",>23="orange",>22="yellow",>20="lime",>18="aqua",<=18="navy"]
				{
					Switch item=Room_Temperature_Chart label="Ist/Soll-Temperatur" icon="temperature" mappings=[0="Day", 1="3 Days", 2="Week", 3="Month"]
					Chart item=RTR_Garage_Ist_Temperatur period=D refresh=600000 visibility=[Room_Temperature_Chart==0, Room_Temperature_Chart=="NULL"]
					Chart item=RTR_Garage_Ist_Temperatur period=3D refresh=3600000 visibility=[Room_Temperature_Chart==1]
					Chart item=RTR_Garage_Ist_Temperatur period=W refresh=36000000 visibility=[Room_Temperature_Chart==2]
					Chart item=RTR_Garage_Ist_Temperatur period=M refresh=36000000 visibility=[Room_Temperature_Chart==3]
				}

Has anybody an idea? Can somebody tell me where I can see if rrd4j.persist is recording or not? Please help. Thanks.

You can query the database through the OH REST API Docs. You can install the docs from the UI tab in PaperUI. Go down to the persistence section and it should be self explanatory what to do from there. If you perform a query on your Item and get nothing back you will know it’s not being saved.

Sorry but I haven’t used that before. I just clicked on “Try it out”. Below is the result. I do not know what to do to be honest.

Response Class (Status 200)

[
  "string"
]

Response Content Type

Parameters

Parameter Value Description Parameter Type Data Type
serviceId Id of the persistence service. If not provided the default service will be used query string

Curl

curl -X GET --header “Accept: application/json” “http://openhabianpi:8080/rest/persistence/items

Request URL

http://openhabianpi:8080/rest/persistence/items

Response Body

[]

Response Code

200

Response Headers

{
“content-length”: “2”,
“content-type”: “application/json”,
“server”: “Jetty(9.4.11.v20180605)”
}

I tried not persistence insead of persistence/items and got the following result.

Curl

curl -X GET --header “Accept: application/json” “http://openhabianpi:8080/rest/persistence

Request URL

http://openhabianpi:8080/rest/persistence

Response Body

[
  {
    "id": "rrd4j",
    "label": "rrd4j",
    "type": "Queryable"
  }
]

Response Code

200

Response Headers

{
“content-length”: “51”,
“content-type”: “application/json”,
“server”: “Jetty(9.4.11.v20180605)”
}

Use rrd4j and your Item name

image

If your result says “datapoints”: “0” your Item is not being saved to rrd4j.

Thanks. It seem to work.

Response Body

{
  "name": "RTR_Garage_Ist_Temperatur",
  "datapoints": "360",
  "data": [
    {
      "time": 1563823680000,
      "state": "29.6"
    },
    {
      "time": 1563823920000,
      "state": "29.6"
    },
    {
      "time": 1563824160000,
      "state": "29.6"
    },

I found the failure. Searching exactly after the failure message in the logviewer, brought me to another thread which described exactly my problem.
Anyway thanks to everybody for the help.
Case closed.