(New Release) Edge Driver Z-Wave Sensor and Child Thermostat Mc [BETA]

(New Release) Edge Driver Z-Wave Sensor Mc change to Z-Wave Sensor and Child Thermostat Mc

  • The driver is now called Z-Wave Sensor and Child Thermostat Mc and will be in testing time, since I have only been able to test with one Aeotec 6 Sensor device. In the meantime I will keep both drivers updated.
  • I have modified the driver to be able to create a Child Virtual Thermostat in the installed devices with Temperature Measurement Capability as a option when user need it.
  • Thanks to @nayelyz to help me to get the correct temperature scale emitted by parent device.
  • The virtual thermostat is created by selecting the preference in device settings.

  • The device that is created has the name of Thermostat + the name of the parent device
  • It will show the temperature of the parent sensor with independent temperature compensation Preference of the parent sensor.

  • Thermostat has all the functions of the Zigbee Temp Sensor with Thermostat Mc driver and works the same.

  • The child thermostat device works independently of the (real) parent device and only acquires the last temperature value emitted by the parent device as follows:

  • When the thermostat is in Off mode: It obtains the last temperature emitted by the parent every 300 sec for sync child and parent temperatures.
  • When the thermostat is in a different mode Off: Obtains the last temperature emitted by the parent every 20 sec for thermostat status calculations

  • To delete the Child Thremostat device created when it is not needed, it is deleted as one more device in the App. False option in preferences does not delete device.
  • Child Thermostat can be created when needed again.
  • If a driver change is going to be made, the child device is also changed automatically to new driver, but it will give errors if the driver to which it is changed does not have the code to handle it. It would be better to remove it first.
  • When you go back to the original driver, the child thermostat device will also change.
  • I will continue to maintain the Z-Wave Sensor Mc Until I get enough feedback from users confirming that it works well with various sensor models.

This driver supports the same devices as the Z-Wave Sensor Mc, which is the same as the Stock Z-Wave Sensor driver with some bug fixes I’ve seen and new features and sensors added.

If you already use one of these drivers and want to use it, you just have to make a change to this driver in the app and then create the Virtual Thermostat

I think @BartschLabs wanted to try something on this

This is the driver version

────────────────────────────────────────────────────
 Name         Z-Wave Sensor and Child Thermostat Mc
 Version      2022-11-10T15:24:40.22478101
────────────────────────────────────────────────────
3 Likes

Thank you @Mariano_Colmenarejo!

Im testing it out with an Aeotec Multisensor 6.

I think there might be a problem with the temperature reporting. Temperature at the top says 18.7C but Info Panel says 65.4C. Somehow Fahrenheit and Celsius seem to be getting mixed up.


Hi @BartschLabs

Which is the correct ΒΊC or ΒΊF?

18.7C is correct – which BTW is 65.4F. If it were 65.4C in my office, my phone would have melted before I could have finished my response.

1 Like

@BartschLabs
I understand that your location uses Β°C

Try with this version

────────────────────────────────────────────────────
 Name         Z-Wave Sensor and Child Thermostat Mc
 Version      2022-11-10T20:20:50.517782394
───────────────────────────────────────────────────

If it doesn’t work well I’ll need you to send me some logs.
With Zigbee there is no problem since the devices always send the temperature in ΒΊC, but the Zwave can send it in ΒΊF or ΒΊC and I have to capture and convert according to the units received and those that the user needs

I updated the driver to version 2022-11-10T20:20:50.517782394, but no change to behaviour.

Info Panel still shows:

T=74.2C, Next State: Heating, T <= 22.80C

when it should be showing:

T=22.80C, Next State: Heating, T <= 22.80C

Here is a log excerpt:

> 2022-11-10T21:15:29.049338376+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  thermostat_Run =       running
> 2022-11-10T21:15:29.138356362+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  <<<<< last_temp >>>>>  74.2
> 2022-11-10T21:15:29.144061880+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  <<<<< stateUnit >>>>>  F
> 2022-11-10T21:15:29.147007102+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  thermostatOperatingState Before =      pending heat
> 2022-11-10T21:15:29.149885791+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  thermostat_Mode =      heat
> 2022-11-10T21:15:29.159049996+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  thermostatFan_Mode =   auto
> 2022-11-10T21:15:29.161950820+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  cycleCurrent = stop
> 2022-11-10T21:15:29.164994758+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  device.preferences.floorRadaint =      No
> 2022-11-10T21:15:29.168301244+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  device.preferences.temperature DiffStarStop =  0.2
> 2022-11-10T21:15:29.171184518+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  *** Current_temp ***   74.2    Celsius
> 2022-11-10T21:15:29.174054369+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  ## heating_Setpoint ## 23
> 2022-11-10T21:15:29.176983666+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  tempChangeToHeating <= 22.8
> 2022-11-10T21:15:29.179939602+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  tempChangeToPendingHeat >      22.9
> 2022-11-10T21:15:29.182861687+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  ## cooling_Setpoint ## 20.0
> 2022-11-10T21:15:29.186134198+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  tempChangeToCooling >= 20.2
> 2022-11-10T21:15:29.190533771+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  tempChangeToPendingCool <      20.1
> 2022-11-10T21:15:29.193361810+00:00 PRINT Z-Wave Sensor and Child Thermostat Mc  thermostatOperatingState ****  pending heat    *
1 Like

@BartschLabs

Thank for the logs

With this version will works fine

────────────────────────────────────────────────────
 Name         Z-Wave Sensor and Child Thermostat Mc 
 Version      2022-11-10T21:24:29.256862786
────────────────────────────────────────────────────

That fixed it!

1 Like

If you find something else that doesn’t work well, don’t hesitate to say so.
thanks

Thanks again for your work on this driver.

In SharpTools’ device authorization list, the child device is showing up as a temperature sensor but not as a thermostat or fan. Perhaps a capability is missing in the driver?

You should be able to review what capabilities are reported for the device:

  1. Open your SharpTools User Page
  2. Tap the ... next to the location in question
  3. Scroll down and tap on the device
  4. Review the Capabilities section of the screen

Which authorization list are you referring to? If I remember correctly, you were part of our β€˜next gen’ SmartThings beta and that integration doesn’t authorize things by capability groups anymore?

1 Like

@BartschLabs

The profile has all the stock capabilities of the thermostat and the category is thermostat.

The vid has a multiple tile and the main group is a custom capability it may have something to do with it.

What happens because sharp tools does not detect it as a thermostat?

Sorry, my mistake. I was using the old SharpTools authorization list in the SmartThings app under Automation.

I went to my account web page, Manage Connections, Samsung SmartThings, Allow β€œSharpTools” to access these things, and the device now shows up and functions correctly in SharpTools.

2 Likes

Thanks for the update! If you’re not using the legacy Groovy integration anymore (eg. with the Tasker Plugins), you can remove it to avoid any confusion going forward. :slight_smile:

I was wondering about that. The Tasker Plugins will be dead anyway when Groovy is shut down, right?

Yes. They were removed from Google Play at the start of August, but should keep working until SmartThings fully shuts down Groovy in December.

1 Like

@Mariano_Colmenarejo, together with SmartThings or SharpTools automations, this edge driver will suffice as a replacement to the Groovy-based Virtual Thermostat With Device.

I’ve been using Virtual Thermostat With Device to very simply operate three room heating systems out of space heaters (or a natural gas fireplace) and temperature sensors. Very safe, very effective.

I’m wondering if you can consider adding one piece of functionality to the child thermostat device. Add a setting for which SmartThings device to operate as a heater (or cooler) and then add the code to turn it on or off based on thermostatOperatingState. Perhaps the latter is not possible due to limitations with Edge. If it is possible, it would eliminate having to create and maintain automations for this use case.

I’m not claiming that I wouldn’t need any automations for my room heating. I do have automations that set the thermostatMode to off:

  • after x minutes of motion inactivity
  • when arming my home alarm

It would just reduce the number of automations I have to maintain – or recreate in case of failure/mistake.

Thanks in advance for your consideration.

Sorry, I don’t understand what you want to tell me.

This thermostat has the necessary code to detect if it needs to cool or heat according to the cold and heat setpoints entered.

If you use any heat+cool mode:

  • With the Heating or Cooling events of thermostat state capability you can activate the heater or the cooler.
  • With the Pending Heat or Pending Cool events of thermostat state capability you can turn off the heater or the cooler.

With thermostat modes with customizable presets (Auto, Asleep, Rush Hour, Away, Eco) you can change the hot and cold set points with a simple routine.

If you use the Heat mode, it only emits the Heating and Pending Heat states
If you use the Cool mode, it only emits the Cooling and Pending Cool states.

There are more capabilities (Fan cycle…) that can be used to make routines.

The routine limit has been raised to 1000 routines and scenes.

I don’t know if this comes close to your needs

Yes, this thermostat has an impressive number of abilities. You did great work in delivering them.

When I use the term β€œautomations”, I mean β€œroutines”.

I would like to not have to use a routine to turn on my heater device. Could the thermostat devce be made to send the on or off command to my heater device directly?

Hi @BartschLabs

Edge drivers cannot send commands to devices that are not on the same driver.

If you use routines to control a zigbee or zwave switch the routines will be local and will run even if the internet or the smartthings server fails.

If you use a smart app like groovy or now, it will not run locally.

I have programmed the temperature presets in preferences for all modes.
I use 3 routines to change modes daily if the thermostat is not locked:

  • At 9 am Auto mode
  • At 2:30 pm rush hour mode
  • At 11 pm Asleep mode

2 routines that turn the boiler on and off when ordered by the thermostat.

I don’t have to touch anything all winter, it works automatically, except when I go on vacation or I’m away, when I have two routines that put the Away mode on and lock the thermostat until I get home.

Total 8 very simple local routines.

The alternative would be to buy a physical thermostat with relays and do all these functions with its internal firmware.

1 Like