(EDGE Driver-Mc): Z-Wave Sensor and Child Thermostat Mc

Yes, I do realize that. I was hoping you could change the default to save me some time every time I have to recreate the device. :slight_smile:

I think that anybody using this driver with voice control of the thermostat device would prefer the name to be more natural (at least in English), with “thermostat” at the end.

@Mariano_Colmenarejo, I have two problems with the sensor device that I haven’t yet mentioned because I first wanted to get the thermostat functioning correctly.

  1. The motion timeout is 60 minutes, not matter what I set the Delay Time to be in Settings. I’ve tried changing to the Aeotec Multisensor 6 driver and to your Z-Wave Config driver to change the setting and then changing back to this driver, but I can never make the setting stick.

  2. The Power Source pane is always blank. It should say USB.

This part of the code is exactly the same as the stock driver.
If the stock doesn’t work, this one won’t work either.
I see capability powerSource is not declared in driver template.
I can put some debug log and see some log that you send by removing and turning on the power to see what the device is sending.

I assume you mean 60 seconds instead of 60 minutes.

This part is also identical to the stock driver and will not work on the stock driver either.

  • I have seen that the initial configuration that it sends to the device is 20 sec, which is the default value in preferences.
  • I have also seen that the code has an error, both the stock and mine, which is a copy. Incorrectly sends values of the initial configuration.
  • The changes in preferences send them well, but the device may be asleep and you have to wake up device when you send the preference change.

I have made a version correcting the error in sending the configuration and I am going to force it to be configured when installing the new version, which by default only does it when the device driver is paired

Please, Install this driver version ans attempt to capture the logs.
I will see tomorrow, i am going to sleep :zzz:

────────────────────────────────────────────────────
 Driver Id    b88307ad-ed36-42fb-81b0-c9875e1bd25f  
 Name         Z-Wave Sensor and Child Thermostat Mc 
 Version      2022-11-22T22:34:07.813809801
────────────────────────────────────────────────────

Thank you Mariano. I’ll report it as not working. I tried the stock beta and it’s doing the same thing. It just won’t close.
By the way, I’m using a couple of your other drivers and they are awesome. I really appreciate your work.

1 Like

Thanks, I will report that this isn’t working in the stock driver to SmartThings Support.

I do mean 60 minutes (3600 seconds).

OK, I will see what happens with the updated driver and let you know. Update: That seems to have fixed the motion problem. I set it to a 30 sec delay and it’s resetting in about 45 seconds to a minute – a bit sluggish.

It is also sluggish to register detected motion in the app. I haven’t monitored the CLI log to see if the event shows up immediately, but I will.

Curious, I installed the beta stock driver, switched the device to it, switched back to your driver, and now the Power Source displays correctly.

Yes, I found the driver bug when I was seeing a problem with fibaro open close and corrected it, I forgot to say

this is the problem in case @nayelyz wants to report it.
The can_handle of the aeotec-multisensor subdriver compares with manufacturer, productType and productId and there are only fingerprints for manufacturer and productId

local AEOTEC_MULTISENSOR_FINGERPRINTS = {
  { manufacturerId = 0x0086, productId = 0x0064 }, -- MultiSensor 6
  { manufacturerId = 0x0371, productId = 0x0018 }, -- MultiSensor 7
}

local function can_handle_aeotec_multisensor(opts, self, device, ...)
  for _, fingerprint in ipairs(AEOTEC_MULTISENSOR_FINGERPRINTS) do
    --if device:id_match(fingerprint.manufacturerId, fingerprint.productType, fingerprint.productId) then
if device:id_match(fingerprint.manufacturerId, fingerprint.productId) then
      return true
    end
  end
  return false
end
1 Like

Thank you for sharing this, @Mariano_Colmenarejo.
I just reported the error to the engineering team.

2 Likes

@Mariano_Colmenarejo, I have seen behaviour where the thermostat Info Panel and State continues without change even though I’ve changed the Heating Temperature.

An example is below, where I decreased the Heating Temperature to 22.5 from 23.5 but the Info Panel and State of “Heating” remained unchanged even as you see that the reported Temperature exceeded the Heating Temperature.

It seems as if the Thermostat timer has stopped.
To debug these cases it is good to see the CLI logs to see if the thermostat timer is running.

I know you are interested in knowing how it works.
The driver has two timers:

  • Thermostat timer with mode other than Off: It runs every 20 sec. It checks the temperature and compares them to shoot actions.
  • Temperature timer with mode equal to Off: It is executed every 300 sec to synchronize the sensor temperature with the thermostat temperature.
  • A 300 sec timer that interrogates the temperature of the sensor when the thermostat timer is running.

These timers stop automatically when there is a reboot of the hub or a driver update, for example I do an inclusion of fingerprints or some modification.

When the driver is restarted, the timers that were running are reinitialized. I haven’t tried it on this particular driver because I don’t have any device, but having reviewed the code it seems to me that it should work fine.

If you put the logcat and in preferences you have disabled the debug mode, (by default it is disabled), in the end you will see this in the logs, if the thermostat mode is different of Off:

2022-12-09T15:25:03.367660751+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc <<< Cheking Temp >>>
2022-12-09T15:25:03.368645085+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc device: <ZigbeeDevice: 16fa2ff4-00ca-4b65-b1db-5af142511d65 [0x9CFB] (Termostato)>
2022-12-09T15:25:03.370003085+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostatOperatingState **** pending heat ****
2022-12-09T15:25:03.371205751+00:00 DEBUG Zigbee Temp Sensor with Thermostat Mc Termostato device thread event handled
2022-12-09T15:25:23.288151087+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc <<< Cheking Temp >>>
2022-12-09T15:25:23.305286754+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc device: <ZigbeeDevice: 16fa2ff4-00ca-4b65-b1db-5af142511d65 [0x9CFB] (Termostato)>
2022-12-09T15:25:23.308449420+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostatOperatingState **** pending heat ****
2022-12-09T15:25:23.354554754+00:00 DEBUG Zigbee Temp Sensor with Thermostat Mc Termostato device thread event handled
2022-12-09T15:25:32.663699421+00:00 DEBUG Zigbee Temp Sensor with Thermostat Mc driver device thread event handled
2022-12-09T15:25:43.283313423+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc <<< Cheking Temp >>>
2022-12-09T15:25:43.325282756+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc device: <ZigbeeDevice: 16fa2ff4-00ca-4b65-b1db-5af142511d65 [0x9CFB] (Termostato)>
2022-12-09T15:25:43.338695756+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostatOperatingState **** pending heat ****

If you have debug mode activated, you will see more data from the thermostat control points:

2022-12-09T16:05:33.287332867+00:00 DEBUG Zigbee Temp Sensor with Thermostat Mc driver device thread event handled
2022-12-09T16:05:44.150995872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc <<< Cheking Temp >>>
2022-12-09T16:05:44.151996539+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc device: <ZigbeeDevice: 16fa2ff4-00ca-4b65-b1db-5af142511d65 [0x9CFB] (Termostato)>
2022-12-09T16:05:44.161378872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostat_Run = running
2022-12-09T16:05:44.163582872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostatOperatingState Before = idle
2022-12-09T16:05:44.165702539+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostat_Mode = rush hour
2022-12-09T16:05:44.167789206+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostatFan_Mode = auto
2022-12-09T16:05:44.169898872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc cycleCurrent = stop
2022-12-09T16:05:44.172158206+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc device.preferences.floorRadaint = No
2022-12-09T16:05:44.174450872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc device.preferences.temperature DiffStarStop = 0.6
2022-12-09T16:05:44.182486206+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc *** Current_temp *** 19.73 Celsius
2022-12-09T16:05:44.185301539+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc ## heating_Setpoint ## 20.0
2022-12-09T16:05:44.187410539+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc tempChangeToHeating <= 19.4
2022-12-09T16:05:44.189497872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc tempChangeToPendingHeat > 19.7
2022-12-09T16:05:44.191898206+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc ## cooling_Setpoint ## 24.0
2022-12-09T16:05:44.194148206+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc tempChangeToCooling >= 24.6
2022-12-09T16:05:44.196270206+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc tempChangeToPendingCool < 24.3
2022-12-09T16:05:44.198386872+00:00 PRINT Zigbee Temp Sensor with Thermostat Mc thermostatOperatingState **** pending heat

1 Like

I am looking more closely at the capture and the text and I think that what you are saying does not correspond to the chronology of the events:

You say that you have changed the heating set point from 23.5 to 22.5 and that was at 5:46 p.m.
The value shown in infoPanel is before 5:42 p.m., when the heating set point was 23.5 (23.5 - 0.25 = 23.25 temperature to change state)

The new temperature value 22.7 arrives at 5:48 p.m. approximately, let’s not know the seconds and the mobile clock indicates 5.50 p.m.
The state change should occur in the next minute or so, depending on the history lag, which can be variable.

What actually happened in the details view in the 5 minutes after?

Could You retrieve and capture history from yesterday after 5:48 p.m. let’s see what happened next?

This is what I was wondering. With what you said before about timers, maybe I’m incorrectly expecting changes to the Info Panel to happen immediately.

Unfortunately, at 5:51an automation based on a motion sensor actvity changes the Thermostat Mode to off.

Perhaps I should be more patient. However, a 5 minute lag after changing a thermostat setpoint for the thermostat to take action seems excessive to me.

Try it more times. It should change in the next thermostat timer cycle of 20 sec maximum.

To me it works fine like this.

Look in the detail view, don’t look at the history or look at it after a while, it usually lags, depending on how the network server is.

Hi,

I’m trying to use an Aqara temp sensor as a thermostat to control a socket - how do I install the above to do this? (could try Samsung multi sensor too)?

thanks
Andy

Hi @guzzuk
To use smartthings multisensors you have to use this Zigbee Temp Sensor with Thermostat Mc driver, with these models:

- id: "Samjin/multi"
    deviceLabel: Multipurpose Sensor
    manufacturer: Samjin
    model: multi
    deviceProfileName: contact-acc-temp-therm-battery-05
  - id: "SmartThings/multiv4"
    deviceLabel: Multipurpose Sensor
    manufacturer: SmartThings
    model: multiv4
    deviceProfileName: contact-acc-temp-therm-battery-05
  - id: "CentraLite/3321-S"
    deviceLabel: Multipurpose Sensor
    manufacturer: CentraLite
    model: 3321-S
    deviceProfileName: contact-acc-temp-therm-battery-05

Smarttings devices are better for use as thermostat that Aqara, due to the interval temperature reports working very well in multipurpose sensors

  • You need to install driver in your hub from my channel here
  • In app uninstall device
  • Install device with search nearby option

This driver allows you to continue using the multisensor as before, but with the added features of a full virtual thermostat.

Here are instructions on how to use the thermostat settings. If you have any questions you can ask whatever you want

Hi,

Thanks for the help thou I’m very confused.
I’ve got driver installed and available in the hub setting in the app
I’ve reinstalled the multi sensor and it shows as a placeholder in the IDE and works in the app, try to select different drive in the app and shows “no results found”.
Where do I change the settings above?

Thanks
Andy

@Mariano_Colmenarejo, when I set the motion sensitivity from High to Medium, the charge doesn’t stick.

Hi @guzzuk

For driver edge, forget about the IDE completely, the information is worthless and don’t change anything there, it could make the driver useless.

What driver is the device using?
In the details view app, menu 3 oubtis at the top right, click on driver option.

I should see something like this

@BartschLabs

When do you change it in preferences?
What do you mean exactly?
Do you not notice a change in the sensitivity of the device?
or when you read parameter 4 it still shows a value = 5?

If you can capture a log of when you change the preference from max to med I could see what is being sent and received.

This part is identical to the stock driver

Hi,

I see this - and nothing available when I try “Select different driver”

Thanks