Hi. I am trying to change the icon according to the value of an item.
If I show the item in the sitemap it appears for example a 3 but it does not show anything.
As if the values were not numerical.
Do you have any ideas?
Thank you very much.
Number FanWifiLevel "Fan Wifi Level: RSSI [%d %%]" {mqtt="<[broker:tele/acuario/principal/temperatura/STATE:state:JSONPATH($.Wifi.RSSI)]"}
Number FanWifiicon "Fan Icono [SCALE(wifilevel.scale):%s]" {mqtt="<[broker:tele/acuario/principal/temperatura/STATE:state:JSONPATH($.Wifi.RSSI)]"}
sitemap home label="My Home" {
Frame label="Prueba {
Default item=FanWifiicon
Text item=FanWifiLevel label="Wifi %d" icon="qualityofservice_0" visibility=[FanWifiicon==0]
Text item=FanWifiLevel label="Wifi %d" icon="qualityofservice_1" visibility=[FanWifiicon==1]
Text item=FanWifiLevel label="Wifi %d" icon="qualityofservice_2" visibility=[FanWifiicon==2]
Text item=FanWifiLevel label="Wifi %d" icon="qualityofservice_3" visibility=[FanWifiicon==3]
Text item=FanWifiLevel label="Wifi %d" icon="qualityofservice_4" visibility=[FanWifiicon==4]
}
}
wifilevel,scale
[0..1]=0
[2..25]=1
[26..50]=2
[51..75]=3
[76..100]=4
For the one that serves him, I could solve it.
I made a major mistake in the item
Number FanWifiicon “Fan Icono [SCALE(wifilevel.scale):%s]” {mqtt="<[broker:tele/acuario/principal/temperatura/STATE:state:JSONPATH($.Wifi.RSSI)]"}
I assumed that the value of the item was between 0 and 4 since that was what it showed. But in reality it had the value that the mqtt delivered
Resolved:
Number FanWifiLevel "Fan Wifi Level: RSSI [%d %%]" {mqtt="<[broker:tele/acuario/principal/temperatura/STATE:state:JSONPATH($.Wifi.RSSI)]"}
Number FanWifiicon "Fan Icono [%d]"
sitemap home label="My Home" {
Frame label="Prueba" {
Text item=FanWifiLevel label="Wifi" icon="qualityofservice_0" visibility=[FanWifiicon==0]
Text item=FanWifiLevel label="Wifi" icon="qualityofservice_1" visibility=[FanWifiicon==1]
Text item=FanWifiLevel label="Wifi" icon="qualityofservice_2" visibility=[FanWifiicon==2]
Text item=FanWifiLevel label="Wifi" icon="qualityofservice_3" visibility=[FanWifiicon==3]
Text item=FanWifiLevel label="Wifi" icon="qualityofservice_4" visibility=[FanWifiicon==4]
}
}
rule "Cambio de Nivel Wifi"
when
Item FanWifiLevel changed
then
if(FanWifiLevel.state < 1)
sendCommand(FanWifiicon, 0)
else if(FanWifiLevel.state <= 25)
sendCommand(FanWifiicon, 1)
else if(FanWifiLevel.state <= 50)
sendCommand(FanWifiicon, 2)
else if(FanWifiLevel.state <= 75)
sendCommand(FanWifiicon, 3)
else if(FanWifiLevel.state <= 100)
sendCommand(FanWifiicon, 4)
end
Thanks
1 Like