[GELÖST] OH 2 und Chart mit rrd4j und OpenWeatherMap

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

thomas_w

[GELÖST] OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von thomas_w »

Nun versuche ich einige Daten von OpenWeatcherMap zu speichern (rrd4j) und als Grafik (Chart) auszugeben. Bekomme aber in meiner .sitemap folgende Fehlermelderung. Auch die vier Chart stehen untereinander anstatt hintereinander. Die "Karteireiter" Stunde, Tag, Woche, Jahr werde nicht aufgebaut.

Code: Alles auswählen

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

2020-06-11 17:17:42.719 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'xyz.sitemap' has errors, therefore ignoring it: [71,115]: no viable alternative at input '='
xyz.sitemap Ausschnitt

Code: Alles auswählen

Frame label="Verlauf Temperatur" {
Switch item=PeriodCurrentTemperatur label="Zeiteinheit" icon="time" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Jahr"]
Chart item=gOpenWeatherGrafikTemperatur period=h refresh=7200 visibility=[PeriodCurrentTemperatur==0, PeriodCurrentTemperatur=="Uninitialized"]
Chart item=gOpenWeatherGrafikTemperatur period=D refresh=14400 visibility=[PeriodCurrentTemperatur==1]
Chart item=gOpenWeatherGrafikTemperatur period=W refresh=14400 visibility=[PeriodCurrentTemperatur==2]
Chart item=gOpenWeatherGrafikTemperatur period=Y refresh=14400 visibility=[PeriodCurrentTemperatur=3]
}
OpenWeatherMap.items

Code: Alles auswählen

Group gOpenWeatherGrafikTemperatur "Grafik Temperatur"
Number:Temperature localCurrentTemperature "Aussentemperatur [%.2f %unit%]" <temperature> (gOpenWeather, gOpenWeatherGrafikTemperatur) { channel="openweathermap:weather-and-forecast:<apid-id>:local:current#temperature" }
Number:Length localCurrentRainVolume "Regenmenge [%.1f %unit%]" <rain> (gOpenWeather, gOpenWeatherGrafikTemperatur) { channel="openweathermap:weather-and-forecast:<apid-id>:local:current#rain" }
Number:Temperature localDailyForecastHours03MinTemperature "Temperatur (min.) [%.2f %unit%]" <temperature> (gOpenWeather, gOpenWeatherGrafikTemperatur) { channel="openweathermap:weather-and-forecast:<apid-id>:local:forecastHours03#min-temperature" }
Number:Temperature localDailyForecastHours03MaxTemperature "Temperatur (max.) [%.2f %unit%]" <temperature> (gOpenWeather, gOpenWeatherGrafikTemperatur) { channel="openweathermap:weather-and-forecast:<apid-id>:local:forecastHours03#max-temperature" }
rrd4j.persist

Code: Alles auswählen

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

Items {
        gOpenWeatherGrafikTemperatur : strategy = everyUpdate, everyMinute, restoreOnStartup
}
Sieht jemand einen Fehler oder hat Tipps zur Fehlersuche? Es fehlt mir so eine Art OpenHAB Syntax Parser.

Danke und Grüße
Thomas
von Darkwin101 » 11. Jun 2020 19:15
In deinem Auszug sehe ich jetzt nichts, was steht den in Zeile 71 in deiner Sitemap ?
Gehe zur vollständigen Antwort
Zuletzt geändert von thomas_w am 12. Jun 2020 08:45, insgesamt 1-mal geändert.

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von Darkwin101 »

Um Gruppenwerte zu Persistieren müssen diese mit einem * versehen werden
gOpenWeatherGrafikTemperatur* : strategy = everyUpdate, everyMinute, restoreOnStartup

Damit wird angegeben das jeder Wert der Gruppe persistiert wird

thomas_w

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von thomas_w »

@Darkwin101

Stimmt, danke. Habe ich geändert:
rrd4j.persist

Code: Alles auswählen

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

Items {
        gOpenWeatherGrafikTemperatur* : strategy = everyUpdate, everyMinute, restoreOnStartup
}
das Problem mit meiner xyz.sitemap ist leider noch da... die sitemap wird nicht mehr ausgegeben, wenn ich die Chart ausgeben möchte

Code: Alles auswählen

2020-06-11 19:06:18.836 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'xyz.sitemap' has errors, therefore ignoring it: [71,114]: no viable alternative at input '='

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von Darkwin101 »

In deinem Auszug sehe ich jetzt nichts, was steht den in Zeile 71 in deiner Sitemap ?

thomas_w

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von thomas_w »

@Darkwin101
Jetzt wo Du es sagst.... [71,114] steht für Zeile 71 und Spalte 114. Das wußte ich bisher nicht!!

Code: Alles auswählen

therefore ignoring it: [71,114]
Habe mal die Zeilen nummeriert

Code: Alles auswählen

70] Frame label="Verlauf Temperatur" {
69] Switch item=PeriodCurrentTemperatur label="Zeiteinheit" icon="time" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Jahr"]
68] Chart item=gOpenWeatherGrafikTemperatur period=h refresh=7200 visibility=[PeriodCurrentTemperatur==0, PeriodCurrentTemperatur=="Uninitialized"]
69] Chart item=gOpenWeatherGrafikTemperatur period=D refresh=14400 visibility=[PeriodCurrentTemperatur==1]
70] Chart item=gOpenWeatherGrafikTemperatur period=W refresh=14400 visibility=[PeriodCurrentTemperatur==2]
71] Chart item=gOpenWeatherGrafikTemperatur period=Y refresh=14400 visibility=[PeriodCurrentTemperatur=3]
}
In 71 stand "=" anstatt "==". Jetzt funktioniert die Seitemap !!

Was jetzt noch fehlt ist, das die Chart untereinander angezeigt werden...
OpenHabWeatherMaps.JPG
..und im Logfile steht dieses

Code: Alles auswählen

2020-06-11 20:12:03.871 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'PeriodCurrentTemperatur' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch

2020-06-11 20:12:03.874 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch

2020-06-11 20:12:03.877 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'PeriodCurrentTemperatur' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch

2020-06-11 20:12:03.879 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'PeriodCurrentTemperatur' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch

2020-06-11 20:12:03.881 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'PeriodCurrentTemperatur' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch

2020-06-11 20:12:03.883 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve visibility item PeriodCurrentTemperatur for widget org.eclipse.smarthome.model.sitemap.sitemap.Chart
es geht jetzt um diesen Teil hier in der *.sitemap

Code: Alles auswählen

Frame label="Verlauf Temperatur" {
Switch item=PeriodCurrentTemperatur label="Zeiteinheit" icon="time" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Jahr"]
Chart item=gOpenWeatherGrafikTemperatur period=h refresh=7200 visibility=[PeriodCurrentTemperatur==0, PeriodCurrentTemperatur=="Uninitialized"]
Chart item=gOpenWeatherGrafikTemperatur period=D refresh=14400 visibility=[PeriodCurrentTemperatur==1]
Chart item=gOpenWeatherGrafikTemperatur period=W refresh=14400 visibility=[PeriodCurrentTemperatur==2]
Chart item=gOpenWeatherGrafikTemperatur period=Y refresh=14400 visibility=[PeriodCurrentTemperatur==3]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von udo1toni »

Wo ist denn die Definition vom Item PeriodCurrentTemperatur?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

thomas_w

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von thomas_w »

udo1toni hat geschrieben: 11. Jun 2020 20:22 Wo ist denn die Definition vom Item PeriodCurrentTemperatur?
Keine Ahnung... Vermutlich nirgends... ich dachte das wäre eine Variable.. Was muss ich tun?

thomas_w

Re: OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von thomas_w »

Ok, und nun hier die Lösung... PeriodCurrentTemperatur muss natürlich noch als Number Variable definiert werden in den .items.

openweathermap.items

Code: Alles auswählen

Number PeriodCurrentTemperatur "chart switch" (gOpenWeatherGrafikTemperatur)
Ergebnis:
OpenHabWeatherMaps.JPG
Randbemerkung:
Unmittelbar nach der Umstellung war nur die Auswahl [Stunde][Tag][Woche][Jahr], aber keine Grafik zu sehen. Scheinbar puffert OpenHab so manches sehr lange. Nach dem "reboot" von OpenHAB war die Grafik sichtbar.


Danke fur die Hilfe!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: [GELÖST] OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von udo1toni »

Die Berechnung der Chart Widgets geht manchmal schief, dann sind die Charts halt leer oder werden erst gar nicht angezeigt.

Die "Variable" ist im Übrigen ein Item. Bitte achtet immer auf die verschiedenen Begriffe.
Teil eines Thing -> Channel
openHAB Bus -> Item
Teil der Sitemap -> Widget
Innerhalb einer Rule können auch Variablen und Konstanten verwendet werden, die lokal oder global definiert sein können. Sie müssen aber immer definiert werden.
Ausnahme: implizite Variablen wie receivedComnand, previousState oder newState werden von openHAB selbst definiert.

Die Sitemap kann nur auf den openHAB Bus zugreifen, kann also ausschließlich mit Items arbeiten.


Gesendet von meinem SM-G973F mit Tapatalk

openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

thomas_w

Re: [GELÖST] OH 2 und Chart mit rrd4j und OpenWeatherMap

Beitrag von thomas_w »

Ja, OpenHAB ist schon eine eigene Begriffswelt. Der Lernkurve ist steil. Bis mann endlich verstanden hat, was wann wo wie zusammen gehört. Das dauert...

Weitere Fragen folgen...

Danke und Grüße
Thomas

Antworten