Thank you very much for creating and supporting this nice tadozones app.
I am using it fine from Homey (advanced) Flows, but have recently been trying to use it from HomeyScript … my intention being to loop over some scope of tado devices in my home (e.g. all of them, or sometimes a zone or other grouping), querying the (Tado X) radiator valve/thermostat status, and doing something accordingly. I have tried multiple experiments, but it currently has me beat, and I’m very much hoping someone can help point me in the right direction.
UPDATE a couple of hours later: actually, I interpret that tadozones “is_heating” condition flow card is not working for me from Homey (advanced) Flow either. It runs, but looking closer I see that it always reports all my Tado X radiator valves as “not heating”, even when they were. Other tadozones flow cards are working fine, so I wonder if this might be an app bug/limitation with “is_heating”, or potentially condition flow cards? (I’ve not yet gone through the condition flow cards to test them)
My first objective is to loop over all my tado (X) radiator valves and read if they are currently heating or not. I might be missing something obvious, but I don’t think I can simply read anything to the effect of “is heating” from the tado2 capabilitiesObj?
(I would still be interested in using tadozones from HomeyScript even if this first example could be done in other ways; I do see for example the flow cards for tadozone home, which might do some useful aggregation of room status, but I’d like to understand this HomeyScript debug first if I can)
TadoZones offers a nice “is_heating” conditions flow card, which works great for me from a Homey (advanced) Flow, but is not yet working for me from HomeyScript:
- homey:app:com.verbem.tadoZones is_heating
I read the HomeyScript article on the updated homey-api:
I tested some simple queries from the Web API Playground:
This card ID maps to one of my Tado X radiator valves via tadozones app, and tries to read the “is_heating” status. It doesn’t give an error, but the result is NULL.
Homey.flow.runFlowCardCondition({
id: 'homey:device:5d7dd938-3af7-45c3-bbc3-e6ca5feeeaa9:is_heating'
});
Response:
"root":{4 items
"usedTokens":{}0 items
"error":NULL
"result":NULL
"elapsedTime":float3.0238069891929626
}
(as a sanity-check I tried doing a similar query of my Philips Hue light status using its “on” condition flow card and that worked fine)
I can see the card fine through getFlowCardConditions, and I don’t think it needs any further arguments (I did try adding the card uri back as per the old API, but that didn’t help):
Homey.flow.getFlowCardCondition({
id: 'homey:device:5d7dd938-3af7-45c3-bbc3-e6ca5feeeaa9:is_heating'
});
Response:
"root":{11 items
"id":string"homey:device:5d7dd938-3af7-45c3-bbc3-e6ca5feeeaa9:is_heating"
"uri":string"homey:flowcardcondition:homey:device:5d7dd938-3af7-45c3-bbc3-e6ca5feeeaa9:is_heating"
"ownerId":string"is_heating"
"ownerUri":string"homey:device:5d7dd938-3af7-45c3-bbc3-e6ca5feeeaa9"
"title":string"Room !{{is|is not}} heating"
"titleFormatted":NULL
"hint":NULL
"args":[]0 items
"droptoken":NULL
"deprecated":NULL
"highlight":NULL
}
As a further test I tried using the target_temperature_set action card, and that worked fine. I could hear the radiator valve move, and saw the target temperature change on the tado app.
Homey.flow.runFlowCardAction({
id: 'homey:device:14894dff-7a9d-474d-b6c4-31678c763977:target_temperature_set',
args: {
target_temperature: 24
}
});
So far I interpret the following:
- tadozones is properly configured and able to communicate with the tado valves
- tadozones “target_temperature_set” action card works fine
- tadozones “is_heating” condition card is found, and called without error
- tadozones “is_heating” condition card doesn’t take any arguments beyond the card id
- tadozones “is_heating” condition card currently always returns NULL in HomeyScript and Web API Playground
- tadozones “is_heating” condition card currently always returns FALSE (not heating) in Homey (advanced) Flow
Hypothesis:
- Could it perhaps be an app issue currently with at least the tadozones “is_heating” condition card
- I suspect it might be worth checking other tadozones condition cards to check if they are still ok (with tado X radiator valves)
HW & SW context:
- Homey HW Model: Homey Pro (Early 2023)
- Homey SW Version: 12.3.0-rc.7
- Tado zones App Version: 5.4.6
- Tado devices: Tado X smart radiator valves
- Tado system: note, I haven’t yet installed the Tado wireless receiver (relying for now on existing Matter hub for communication with Tado radiator valves)
Am I missing something? Any insights or suggestions gratefully received.