Persistence Verständniss ...

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Persistence Verständniss ...

Beitrag von Steinspiel »

Moin,

Ich habe mir zwei Zähler gebastelt, einer zählt wie oft der Bewegungsmelder eine Lampe schaltet, der zweite wie oft eine weitere Lampe an geschaltet wird. Jeweils ein Dummy Item zeigen mir dann die Zählerstände in der Sitemap an. Einmal / Tag werden die Zählerstände auf "0" gesetzt. Das funktioniert auch alles gut!

ein Dummy Item:

Code: Alles auswählen

Number Count_Anzeige_lampe_2         "Anzeige Counter Lampe_2[%s]"
eine Rule:

Code: Alles auswählen

var Number lampe_2_Counter = 0                                                           

rule "schaltzahl_lampe_2"

when
        Item lampe_2_Power changed to ON    
then
        lampe_2_Counter = lampe_2_Counter + 1                                                   
        Count_Anzeige_lampe_2.postUpdate(lampe_2_Counter)                                       

end

Sitemap

Code: Alles auswählen

	Frame label="Tes Anzeige" {
	Text item=Count_Anzeige_bwmld	icon="number"	label="Anzahl BWMLD Schaltung"
	Text item=Count_Anzeige_lampe_2	icon="number"	label="Anzahl Lampe_2 Schaltung"            
    }
Nun wollte ich das mit Persistance aufzeichnen, aber der Chart ist leer obwohl in den Items ein Wert gespeichert ist.
Geht das überhaupt so wie es mir denke oder ist mein Ansatz falsch?
Dazu meine rrdj4.persist und meine Sitemap mit dem Chart:

Code: Alles auswählen

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

Items
{
    Count_Anzeige_bwmld : strategy = everyDay, restoreOnStartup
    Count_Anzeige_lampe_2 : strategy = everyDay, restoreOnStartup
}

Code: Alles auswählen

sitemap charts label="Testcharts" {

    Frame label="Versuch" {
        Chart item=Count_Anzeige_bwmld label="Schaltzeiten BWMLD"  period=W refresh=10000
        Chart item=Count_Anzeige_lampe_2 label="Schaltzeiten lampe_2"  period=W refresh=10000
    }
}
bis dann, Steinspiel

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

Re: Persistence Verständniss ...

Beitrag von Darkwin101 »

Wenn du das in einem Chart Darstellen möchtest muss als strategy = everyMinute gesetzt werden

thomas_w

Re: Persistence Verständniss ...

Beitrag von thomas_w »

Mein rrd4j.persist sieht so aus... Ich speichere eine Item Gruppe (siehe * gOpenWeatherGrafikTemperatur* ) am Schluss und siehe auch die everyMinute Angabe.

Code: Alles auswählen

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

Items {
        gOpenWeatherGrafikTemperatur* : strategy = everyUpdate, everyMinute, restoreOnStartup
}

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: Persistence Verständniss ...

Beitrag von Steinspiel »

Darkwin101 hat geschrieben: 1. Jul 2020 18:17 Wenn du das in einem Chart Darstellen möchtest muss als strategy = everyMinute gesetzt werden
Ja, da hattest Du Recht, nur so konnte ich was sehen. Bisher dachte ich das "everyDay" zum Erfassen der Daten reichen würde, denn sie Schaltzeiten sind ja auch 24h im Item gespeichert...

Wie ich festgestellt habe hat die "period" Methode auch Auswirkungen auf die Chartanzeige. Bei "period=W" wird nichts angezeigt. Stell ich auf "M" um dann ja...
Bild

Ich hatte mir das eher so als Balkendiagramm vorgestellt: Montag 6 x geschaltet, daneben Dienstag 12 x geschaltet... :(
bis dann, Steinspiel

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: Persistence Verständniss ...

Beitrag von Steinspiel »

thomas_w hat geschrieben: 1. Jul 2020 19:28 Mein rrd4j.persist sieht so aus... Ich speichere eine Item Gruppe (siehe * gOpenWeatherGrafikTemperatur* ) am Schluss und siehe auch die everyMinute Angabe.
Das heißt Du erfasst die Daten mehrfach, bei jedem Wechsel und jede Minute? Wie sieht denn dann dein Chart aus?
bis dann, Steinspiel

thomas_w

Re: Persistence Verständniss ...

Beitrag von thomas_w »

Genau, die Werte werden ständig neu gespeichert und rrd4j sammelt die Werte für die Grafik

.items (ausschntt)

Code: Alles auswählen

// Items fuer das OpenWeatherMap Binding
// Stand 11.06.2020
Group gOpenWeather "Wetter" <sun_clouds> 
Group gOpenWeatherGrafikTemperatur "Grafik Temperatur"

Number:Temperature localCurrentTemperature "Aussentemperatur [%.2f %unit%]" <temperature> (gOpenWeather, gOpenWeatherGrafikTemperatur) { channel="openweathermap:weather-and-forecast:294d8145:local:current#temperature" }
Number:Length localCurrentRainVolume "Regenmenge [%.1f %unit%]" <rain> (gOpenWeather, gOpenWeatherGrafikTemperatur) { channel="openweathermap:weather-and-forecast:294d8145:local:current#rain" }
.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 service="rrd4j" period=h refresh=7200 visibility=[PeriodCurrentTemperatur==0, PeriodCurrentTemperatur=="Uninitialized"]
                Chart item=gOpenWeatherGrafikTemperatur service="rrd4j" period=D refresh=14400 visibility=[PeriodCurrentTemperatur==1]
                Chart item=gOpenWeatherGrafikTemperatur service="rrd4j" period=W refresh=14400 visibility=[PeriodCurrentTemperatur==2]
                Chart item=gOpenWeatherGrafikTemperatur service="rrd4j" period=Y refresh=14400 visibility=[PeriodCurrentTemperatur==3]
            }
und so sieht es aus (Wochenübersicht):
OpenHabWeatherMaps2.JPG
Grüße
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

thomas_w

Re: Persistence Verständniss ...

Beitrag von thomas_w »

Steinspiel hat geschrieben: 1. Jul 2020 22:20 Ich hatte mir das eher so als Balkendiagramm vorgestellt: Montag 6 x geschaltet, daneben Dienstag 12 x geschaltet... :(
Eventuell wird der "Schaltknopf" zur Auswahl der Stunden, Tages Wochen Grafik auch gleich mit gespeichert. Wenn er zur Gruppe* gehört. Das habe ich auch zum Anfang geschafft.. Persist protokolliert den Auswahlknopf ;) Das gibt dann eine schöne Balkengrafik mit den Werten 1, 2, 3, 4, 0
Ist aber vermutlich nicht dass was Du möchtest...

Grüße
Thomas

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: Persistence Verständniss ...

Beitrag von Steinspiel »

thomas_w hat geschrieben: 2. Jul 2020 17:01 [...]
Eventuell wird der "Schaltknopf" zur Auswahl der Stunden, Tages Wochen Grafik auch gleich mit gespeichert.
Das mit dem "Schaltnopf speichern" habe ich nicht ganz verstanden. Meinst Du :

Code: Alles auswählen

item=PeriodCurrentTemperatur
Ich habe Deinen Code einfach mal bei mir leicht angepasst eingefügt:

Code: Alles auswählen

    Frame label="Anzahl Schaltungen / Version thomas_w" {
                Switch item=PeriodCurrentTemperatur label="Zeiteinheit" icon="time" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Jahr"]
                Chart item=Count_Anzeige_bwmld service="rrd4j" period=h refresh=7200 visibility=[PeriodCurrentTemperatur==0, PeriodCurrentTemperatur=="Uninitialized"]
                Chart item=Count_Anzeige_bwmld service="rrd4j" period=D refresh=14400 visibility=[PeriodCurrentTemperatur==1]
                Chart item=Count_Anzeige_bwmld service="rrd4j" period=W refresh=14400 visibility=[PeriodCurrentTemperatur==2]
                Chart item=Count_Anzeige_bwmld service="rrd4j" period=Y refresh=14400 visibility=[PeriodCurrentTemperatur==3]
            }

}
Bild
Wie man sehen kann werden bei mir nur period D und W beachtet und Dein Item liegt da so rum... ;) Was ist dieses Item bei Dir?

Wegen meiner Chart Anzeige: liegt es daran das noch nicht genügend Daten bei mir vorhanden sind?
bis dann, Steinspiel

thomas_w

Re: Persistence Verständniss ...

Beitrag von thomas_w »

Hallo Steinspiel,

ich glaube, ich habe jetzt erst verstanden was Du machen willst. Mein Beispiel basiert ja auf Temperaturen und das mit der Schaltung würde ich mit einem Beispiel zeigen. Ich komme aber erst am Wochenende dazu. Ich hoffe, dass paßt so...

Danke und Grüße
Thomas

Benutzeravatar
Steinspiel
Beiträge: 396
Registriert: 28. Dez 2019 08:49
Answers: 2

Re: Persistence Verständniss ...

Beitrag von Steinspiel »

Moin,
thomas_w hat geschrieben: 2. Jul 2020 21:04 [...]
Ich komme aber erst am Wochenende dazu. Ich hoffe, dass paßt so...
Kein Problem! Ich freue mich ja wenn mir jemand auf die Sprünge hilft.

Wie gesagt, mein "Schaltungszähler Item" behält für 24h die Schaltvorgänge bevor er auf "0" gesetzt wird. Und anstatt mir die bloße Zahl für den aktuellen Tag in der Sitemap anzeigen zu lassen will ich gerne einen Chart der diesem gefakten hier ähnlich sieht erstellen ...

Bild

Was anderes, läuft Dein openHAB auf SD Karte? Ich frage wegen der Schreibvorgänge die die Karte ja bei "everyMinute" ausgestzt ist...

bis dann und Danke...
bis dann, Steinspiel

Antworten