Prerequisite:
- HTTP binding
- JSONPath Transformation
Code: Select all
ToonCacheTherm.url=http://192.168.3.175/happ_thermstat?action=getThermostatInfo
ToonCacheTherm.updateInterval=10000
Code: Select all
Number KamerTemperature "Kamer temperatuur" { http="<[ToonCacheTherm:10000:JSONPATH($.currentTemp)]" }
Number ToonTemperature "Kamer temperatuur" { http="<[ToonCacheTherm:10000:JSONPATH($.currentSetpoint)]" }
Number ToonState { http="<[ToonCacheTherm:10000:JSONPATH($.activeState)]" }
Number ToonProgramAan { http="<[ToonCacheTherm:10000:JSONPATH($.programState)]" }
Code: Select all
rule "Set point change"
when Item ToonTemperature changed
then
sendHttpGetRequest("http://toon.familie-dokter.lan/happ_thermstat?action=setSetpoint&Setpoint="+ ToonTemperature.state.toString)
end
rule "Switch Program state"
when Item ToonProgramAan changed
then
sendHttpGetRequest("http://toon.familie-dokter.lan/happ_thermstat?action=changeSchemeState&state=" + ToonProgramAan.state.toString)
end
rule "Switch state"
when Item ToonState changed
then
sendHttpGetRequest("http://toon.familie-dokter.lan/happ_thermstat?action=changeSchemeState&state=2&temperatureState=" + ToonState.state.toString)
end
Code: Select all
itemap toon label="Toon" {
Frame label="Thermostaat" icon="thermostat" {
Setpoint item=ToonTemperature label="Gewenste Temperatuur [%d °C]" icon="temperature" minValue=00 maxValue=3000 step=50
Text item=KamerTemperature label="Huidige Temperatuur [%d °C]" icon="temperature"
Selection item=ToonProgramAan label="Progamma" mappings=[0="Uit", 1="Aan"]
Selection item=ToonState label="State" mappings=[0="Comfort", 1="Thuis", 2="Slapen", 3="Weg"]
Chart item=KamerTemperature period=W refresh=300
}
}