Hi David,
Not a problem, I’ll attempt to point you in the right direction.
I’ll start by saying that I’m not the best with webcore and there are doubtlessly better, cleaner ways of achieving what I do. But I needed something I could do myself, and customise/improve over time.
Geolocation
For this, I like to use an app called Life360. It’s pretty well-supported, and integrates beautifully (natively) with smartthings. There’s a community-written DTH on here too which gives a bit more control (i.e. access to speed etc through webcore). It’s a doddle to knock up some simple rules for this.
TRV’s
They don’t call for heat. They essentially have an open or closed state, and a temp sensor. When they are used with their own dedicated system, then yes, in effect, they do call for heat according to the heating schedule etc. But for me, I simply use them as a valve - don’t even use their temp sensors to be honest, instead I use the temp from another device (in my case, a motion sensor in the room). If the valve is open, water can flow. Simple as that. As I mentioned with the draytons, the older firmware models work by asking “Is the temperature higher than my current setpoint? If YES, turn the valve off. If NO, it’s too cold, so open the valve to let some hot water past”. The setpoints can be set via software (webcore using the community-written DTH). The newer models work differently - if the temperature seems hot enough, they then report back to the drayton hub, and the hub sends a command to close them. Which means that they’re incompatible. Frustrating.
Thermostat
I have a combi boiler with the horstmann zwave thermostat. There’s nothing to it to be honest. If you turn a tap on for hot water, the thermostat doesn’t need to do anything, you just get your hot water, all good. The horstmann is essentially a switch - if it’s on, it tells the boiler to pump hot water around the rads.
How mine works
Basically, one room has a trv and a motion sensor (with temperature). I find the TRVs temp reporting is utterly useless - it’s obviously hotter beside the radiator!. So I have a webcore piston looking a bit like this:
1100-1200 = 20 degrees
1200-1300 = 15 degrees
1300-1400 = 10 degrees
1400-1500 = 24 degrees
IF time is between 1100 & 1200
AND motion_sensor_temp is LESS THAN 20 degrees
THEN
set setpoint_of_rad to 50 degrees (! yes, too hot, I know…) -------valve is opened
switch on the horstmann
ENDIF
IF time is between 1100 & 1200
AND motion_sensor_temp is MORE THAN 20 degrees
THEN
switch off the horstmann
set setpoint_of_rad to 1 degrees (! yes, too cold, I know…)-------valve is closed
ENDIF
This piston is set to run every 5 mins.
Make sense?