Ein Chart mit mehreren Werten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Ein Chart mit mehreren Werten

Beitrag von Joe »

Hi zusammen,
ich benötige mal wieder Hilfe.
Was mache ich falsch, wenn ich 1 Chart mit mind. 3 Kurven (3 unterschiedliche Farben) haben möchte.
Ich bekomme weder die Legende der Kurven im Chart angezeigt, noch die 3 Linien in unterschiedlichen Farben...

Code: Alles auswählen

ITEMS
Group TWeather //Gruppe für die Sitemap-Einbindung		
Group TChart_Weather	
Group TChart_Temp //Gruppe für den Chart
Number  Temp_Au  "Außentemperature [%.1f °C]"       <temperature> (TWeather, TChart_Temp, TChart_Weather) {weather="locationId=local, type=temperature, property=current"}
Number	Temp_Min "Temperature min. heute [%.1f °C]" <temperature> (TWeather, TChart_Weather) {weather="locationId=local, forecast=0, type=temperature, property=min"}	
Number	Temp_Max "Temperature max. heute [%.1f °C]" <temperature> (TWeather, TChart_Weather) {weather="locationId=local, forecast=0, type=temperature, property=max"}

Code: Alles auswählen

Sitemap
Frame label="Wetter" {
	Group item=TWeather label="Wetter" icon="sun_clouds"
	Chart item=TChart_Weather period=h refresh=30000 
	Group item=TWeather_all label="Wetter (alles)"
}
...kann mir bitte jemand helfen?
Danke
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Joe am 3. Nov 2018 15:01, insgesamt 2-mal geändert.

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

Re: Ein Chart mit mehreren Werten

Beitrag von udo1toni »

Welche Persistence verwendest Du, und wie hast Du sie konfiguriert? Ist die Persistence als Default Persistence hinterlegt?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Ein Chart mit mehreren Werten

Beitrag von Joe »

Hi Udo,
meine mysql.persist schaut wie folgt aus:

Code: Alles auswählen

Wetter {
// für Group TWeather die strategy
 everyMinute : "0 * * * * ?"
   everyHour : "0 0 * * * ?"
    everyDay : "0 0 0 * * ?"

default = everyChange
}
Items {
    * : strategy = everyChange, everyDay, restoreOnStartup
    TChart_Temp* : strategy = everyHour, restoreOnStartup 
    TChart_Weather* : strategy = everyHour, restoreOnStartup 
}

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

Re: Ein Chart mit mehreren Werten

Beitrag von udo1toni »

Wenn Du Charts verwenden willst, musst Du everyMinute als Strategie wählen. everyChange ist natürlich auch noch eine gute Option.
Falls Du Sorge wegen der Datenmengen hast, kannst Du für die Charts zusätzlich rrd4j als Persistence einrichten, das hat einen fixen Speicherbedarf pro Item. Auch hier ist aber everyMinute zwingend, sonst bleibt das Chart leer.

Wenn Du rrd4j dann nicht als default Strategy setzen willst, musst Du beim Chart angeben, dass die Daten aus rrd4j stammen sollen:

Code: Alles auswählen

Sitemap
Frame label="Wetter" {
	Group item=TWeather label="Wetter" icon="sun_clouds"
	Chart item=TChart_Weather period=h refresh=30000 service="rrd4j"
//                                                       ^^^^^^^^^^^^^^^
	Group item=TWeather_all label="Wetter (alles)"
}
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Ein Chart mit mehreren Werten

Beitrag von Joe »

Moin Udo,
danke für den Tipp.
Leider bekomme ich immer noch keine Werte in mein Chart, dass Teilchen ist leer... ich habe es jetzt mal auf die Wochenansicht umgestellt um mehr Werte zu erhalten--> NIX :-(
Hast Du noch eine Idee was ich vergessen haben könnte?
ITEMS

Code: Alles auswählen

Group TWeather //Gruppe für die Sitemap-Einbindung		
Group TChart_Weather	
Group TChart_Temp //Gruppe für den Chart
Number  Temp_Au_3 "Außentemperature [%.1f °C]"       <temperature> (TWeather, TChart_Temp, TChart_Weather) {weather="locationId=local, type=temperature, property=current"}
Number	Temp_Min_3 "Temperature min. heute [%.1f °C]" <temperature> (TWeather, TChart_Weather) {weather="locationId=local, forecast=0, type=temperature, property=min"}	
Number	Temp_Max_3 "Temperature max. heute [%.1f °C]" <temperature> (TWeather, TChart_Weather) {weather="locationId=local, forecast=0, type=temperature, property=max"}
SITEMAP

Code: Alles auswählen

Frame label="Wetter" {
	Group item=TWeather label="Wetter" icon="sun_clouds"	// Items dieser Gruppe in einer extra Seite darstellen
		Chart item=TChart_Weather period=W refresh=600000 //service="rrd4j" //Service erst mal deaktiviert
}
mysql.persist

Code: Alles auswählen

Wetter {
// für Group TWeather die strategy
 everyMinute : "0 * * * * ?"
   everyHour : "0 0 * * * ?"
    everyDay : "0 0 0 * * ?"

default = everyChange
}
Items {
    // speichern aller Zustände einmal am Tag/bei Zustandsänderung und lesen beim Start aus der Datenbank
    TWeather* : strategy = everyMinute, everyUpdate, restoreOnStartup // Temperartursensoren minütlich erfassen
    TChart_Temp* : strategy = everyMinute, everyUpdate, restoreOnStartup // Temperartursensoren minütlich erfassen
    TChart_Weather* : strategy = everyMinute, everyUpdate, restoreOnStartup // Temperartursensoren minütlich erfassen
}
Chart_Ansicht.png
Chart_Ansicht.png
VG
Joe
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Ein Chart mit mehreren Werten

Beitrag von Joe »

Fehlt mir noch ein Binding oder so etwas?

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

Re: Ein Chart mit mehreren Werten

Beitrag von udo1toni »

Naja, Du musst halt für jede Persistence ein addon installieren. Hast Du openHAB mal neu gestartet?
Da Du mysql verwendest: Siehst Du in der Datenbank die Daten?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Ein Chart mit mehreren Werten

Beitrag von Joe »

hi zusammen,
ich glaube es hängt wie Du Udo schon vermutest hast mit der Persistence zusammen. Allerdings verstehe ich es nicht ganz, wie Du das meinst "für jede Persistence ein addon installieren" ....ich habe die Persistence "RRD4j Persistence" nur ein mal diese kann ich installieren oder deinstallieren..Kannst Du mir bitte am besten an einem Beispiel erklären wie Du das meinst?
Ich habe es jetzt mit einem Chart "Temp_Chart" (Yahoo Weather Binding) hinbekommen, leider geht das zweite "Temp_Chart2" (Weather Binding) nicht :?: .

ITEMS

Code: Alles auswählen

Group Temp_Chart 
Number Temperature_yo "Außentemperatur" <temperature> (Temp_Chart) { channel="yahooweather:weather:xx:temperature" }
Number Humidity_yo    "Humidity"        <humidity>    (Temp_Chart) { channel="yahooweather:weather:xx:humidity" }
//
Group Temp_Chart2
Number   Temp_Min_1h    "Temperature min. heute [%.1f °C]"                <temperature> (Temp_Chart2) {weather="locationId=local, forecast=0, type=temperature, property=min"}
Number   Temp_Max_1h    "Temperature max. heute [%.1f °C]"                <temperature> (Temp_Chart2) {weather="locationId=local, forecast=0, type=temperature, property=max"}
Number   Temp_Min_2m    "Temperature min. morgen [%.1f °C]"               <temperature> (Temp_Chart2) {weather="locationId=local, forecast=1, type=temperature, property=min"}
Number   Temp_Max_2m    "Temperature max. morgen [%.1f °C]"               <temperature> (Temp_Chart2) {weather="locationId=local, forecast=1, type=temperature, property=max"}
SITEMAP

Code: Alles auswählen

			Group item=Temp_Chart label="Wettertest Temp_Chart" icon="sun_clouds"
				Switch item=Temp_Luftf_Period label="Zeitraum" icon="chart" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Monat"]
					Chart item=Temp_Chart period=H refresh=30000 visibility=[Temp_Luftf_Period==0, Temp_Luftf_Period=="NULL"] //Stunde
					Chart item=Temp_Chart period=D refresh=30000 visibility=[Temp_Luftf_Period==1] //Tage
					Chart item=Temp_Chart period=W refresh=30000 visibility=[Temp_Luftf_Period==2] //Woche
					Chart item=Temp_Chart period=M refresh=30000 visibility=[Temp_Luftf_Period==3] //Monat
			 //Text item=Temperature_yo //visibility=[LastUpdate>30] valuecolor=[LastUpdate>120="orange", LastUpdate>300="red"]
			 //Text item=Humidity_yo //visibility=[LastUpdate>30] valuecolor=[LastUpdate>120="orange", LastUpdate>300="red"]
//
			Group item=Temp_Chart2 label="Wettertest Temp_Chart2" icon="sun_clouds"
				Switch item=Temp_Luftf_Period2 label="Zeitraum" icon="chart" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Monat"]
					Chart item=Temp_Chart2 period=H refresh=30000 visibility=[Temp_Luftf_Period2==0, Temp_Luftf_Period2=="NULL"] //Stunde
					Chart item=Temp_Chart2 period=D refresh=30000 visibility=[Temp_Luftf_Period2==1] //Tage
					Chart item=Temp_Chart2 period=W refresh=30000 visibility=[Temp_Luftf_Period2==2] //Woche
					Chart item=Temp_Chart2 period=M refresh=30000 visibility=[Temp_Luftf_Period2==3] //Monat
PERSISTENCE

Code: Alles auswählen

Strategies {
// for rrd charts, we need a cron strategy 
 everyMinute     : "0 * * * * ?"
   everyHour     : "0 0 * * * ?"
    everyDay     : "0 0 0 * * ?"
     everyWeek   : "0 0 0 0 * ?"

default = everyChange
}

Items {
    Temp*    : strategy = everyChange, everyMinute    
Anbei noch ein Bild von den beiden Charts
Bin um jede Hilfe Dankbar :|
Chart_Ansicht.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: Ein Chart mit mehreren Werten

Beitrag von udo1toni »

Joe hat geschrieben: 7. Nov 2018 18:34 Allerdings verstehe ich es nicht ganz, wie Du das meinst "für jede Persistence ein addon installieren" ....ich habe die Persistence "RRD4j Persistence" nur ein mal diese kann ich installieren oder deinstallieren..Kannst Du mir bitte am besten an einem Beispiel erklären wie Du das meinst?
Damit meine ich, wenn Du verschiedene Services verwenden willst, musst Du sie alle installieren und jeweils eine <dienst>.persist einrichten, also z.B. eine rrd4j.persist, eine mysql.persist, eine jdbc.persist usw.

Kann es sein, dass Du gar nicht die mysql Persistence verwendest, sondern die jdbc Persistence (und dort MySQL als Datenbank definiert)? Dann müsstest Du natürlich die jdbc.persist als Konfigurationsdatei verwenden...

Du hast in der Persistence

Code: Alles auswählen

Items {
    Temp*    : strategy = everyChange, everyMinute    
eingetragen.
Das bedeutet, Du persistierst alle Member der Gruppe Temp (Nein, Du persistierst nicht alle Items, deren Name mit Temp beginnt)
Der korrekte Eintrag für die beiden Charts sieht so aus:

Code: Alles auswählen

Items {
    Temp_Chart*, Temp_Chart2*    : strategy = everyChange, everyMinute
}
Warum das erste Chart schon vorher funktioniert hat, kann ich mir ehrlich gesagt nicht erklären, aber vermutlich ist das nicht die ganze rrd4j.persist?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Joe
Beiträge: 200
Registriert: 10. Okt 2018 12:22
Answers: 0
Wohnort: bei Mannheim

Re: Ein Chart mit mehreren Werten

Beitrag von Joe »

Hi Udo,
ich extra auf die rrd4j.persist mit den Multikurven gegangen, weil diese für meine anderen Charts mit nur einer Kurve sehr gut funktioniert hat. Mein Fehler an der Sache war der Gedanke, dass der „*“ das Joker für alles was in diesem Fall nach dem Wort Temp kommt steht. Da lag ich wohl falsch Temp_Chart*, Temp_Chart2* hat es funktioniert. Shit für was steht der „*“ dann?
vielen Dank
Joe

Antworten