With your tips I could do exactly what I wanted to do:
And here is the solution, how I did the configuration:
items-file:
String Harmony_Activity "Harmony Activity [%s]" <harmony_logo> (gHarmony) {channel="harmonyhub:hub:HAP-HarmonyHub:currentActivity"}
Number ChartHarmony_Period "Harmony - Periode" <line>
Number Harmony_Activity_TV "Samsung TV" (gHarmonyActivity)
Number Harmony_Activity_Radio "Radio" (gHarmonyActivity)
Number Harmony_Activity_PS4 "PS4 pro" (gHarmonyActivity)
Number Harmony_Activity_ATV_Pic "Apple TV" (gHarmonyActivity)
Number Harmony_Activity_ATV_Mus "Apple TV Musik" (gHarmonyActivity)
sitemap-file:
Text label="Grafiken - Harmony Activities" icon="line" {
Switch item=ChartHarmony_Period mappings=[0="1h", 1= "4h", 2="1T", 3="1W"]
Chart item=gHarmonyActivity period=h refresh=6000 visibility=[ChartHarmony_Period==0]
Chart item=gHarmonyActivity period=4h refresh=30000 visibility=[ChartHarmony_Period==1, ChartHarmony_Period=="Uninitialized"]
Chart item=gHarmonyActivity period=D refresh=30000 visibility=[ChartHarmony_Period==2]
Chart item=gHarmonyActivity period=W refresh=30000 visibility=[ChartHarmony_Period==3]
}
rule-file:
rule Harmony_Activities
when
Item Harmony_Activity received update
then
if(Harmony_Activity.state == "PowerOff") {
postUpdate(Harmony_Activity_TV, 0);
postUpdate(Harmony_Activity_Radio, 0);
postUpdate(Harmony_Activity_PS4, 0);
postUpdate(Harmony_Activity_ATV_Pic, 0);
postUpdate(Harmony_Activity_ATV_Mus, 0);
} else if(Harmony_Activity.state == "Fernsehen (Samsung TV)") {
postUpdate(Harmony_Activity_TV, 1);
postUpdate(Harmony_Activity_Radio, 0);
postUpdate(Harmony_Activity_PS4, 0);
postUpdate(Harmony_Activity_ATV_Pic, 0);
postUpdate(Harmony_Activity_ATV_Mus, 0);
} else if(Harmony_Activity.state == "Radio Analog") {
postUpdate(Harmony_Activity_TV, 0);
postUpdate(Harmony_Activity_Radio, 1);
postUpdate(Harmony_Activity_PS4, 0);
postUpdate(Harmony_Activity_ATV_Pic, 0);
postUpdate(Harmony_Activity_ATV_Mus, 0);
} else if(Harmony_Activity.state == "PS4 Wiedergabe") {
postUpdate(Harmony_Activity_TV, 0);
postUpdate(Harmony_Activity_Radio, 0);
postUpdate(Harmony_Activity_PS4, 1);
postUpdate(Harmony_Activity_ATV_Pic, 0);
postUpdate(Harmony_Activity_ATV_Mus, 0);
} else if(Harmony_Activity.state == "Fernsehen (Apple TV)") {
postUpdate(Harmony_Activity_TV, 0);
postUpdate(Harmony_Activity_Radio, 0);
postUpdate(Harmony_Activity_PS4, 0);
postUpdate(Harmony_Activity_ATV_Pic, 1);
postUpdate(Harmony_Activity_ATV_Mus, 0);
} else if(Harmony_Activity.state == "AppleTV Musik") {
postUpdate(Harmony_Activity_TV, 0);
postUpdate(Harmony_Activity_Radio, 0);
postUpdate(Harmony_Activity_PS4, 0);
postUpdate(Harmony_Activity_ATV_Pic, 0);
postUpdate(Harmony_Activity_ATV_Mus, 1);
}
end