This is how you can have Tasker say your thermostat status... My thermostat is zwave - but you should be able to adjust this to suit...
Define the following two variables in Tasker:
- Code: Select all
%IsyUrl http://admin:password@1.2.3.4
%DeviceThermostat ZW009_1
(obviously - change the URL, username, password and define to be correct!)
Create your task:
- Code: Select all
HTTP Get
Server:Port %IsyUrl
Path /rest/nodes/%DeviceThermostat/ST
Variable split
Name %HTTPD
Splitter value="
Variable split
Name %HTTPD2
Splitter "
Say
Text Current temperature is %HTTPD21 degrees
ST is 'Status' - the current measured temperature. CLISPH can be used to obtain the heating setpoint and CLISPC for the current cooling setpoint. See all the properties in your browser by viewing the main /rest/nodes/ tree...
How does this work?
Well -the 'HTTP Get' makes the web call to ISY - and ISY returns xml like this:
- Code: Select all
<properties>
<property id="ST" value="75" formatted="75° F" uom="17"/>
</properties>
The response is stored in the Tasker variable %HTTPD.
The 'Variable split' splits the %HTTPD variable at the stated delimiter... creating two variables %HTTPD1 (before the delimiter) and %HTTPD2 (after the delimiter).
The second 'Variable split' does the same - but starting at the %HTTPD2 variable - resulting in %HTTPD21 containing only the content of the 'value' attribute of the xml.
Then the 'Say' command causes Tasker to say the value.
Michael.