(EDGE Driver-Mc): Zigbee Temp Sensor and Child Thermostat Mc, Zigbee Temp Sensor with Thermostat Mc

Hello @milandjurovic71 , I appreciate all your recommendations to improve the drivers!

Choosing only two values ​​"Equal-Up" and “Down” has its explanation and cost me many hours of work lost in tests:
(I am going to be a bit extensive in the explanation)

  • When in a routine it compares three options with an entered value, what really happens is that this comparison is answered with a True or false.
  • When the comparison is made with events, which depend on a comparison made by the driver and there is more than two response “=”, “>=”, or “<=”.
    When the result of the comparison is “=”, then the driver would have to emit three different events followed by “=”, “>=”, “<=” so that the users who in the automation have chosen any of the 3 options are run the routine for them.
    Therefore, a possible solution would be to have the options “=”, “>” or “<”, but this is very unstable to trigger a temperature, humidity or illuminance routine, let me explain:
    • Making a routine with only the “=” condition for temperature, humidity or illuminance is like playing the lottery.
      If you have set the temperature condition = 25ºc and the current temperature is 24.9ºc, it is very likely that the next event could be > 25ºC (25.1, 25.2…) and the routine will not be executed. Could you check your device history for temperature, humidity, or illuminance.

Therefore with “>=” and “<” all the possibilities are covered in a safer way and with fewer events circulated.

  • Regarding the names of the value labels, it also has its explanation:

  • What I would write would be: “Igual”, “Igual o Mayor” and “Igual o Menor”, but out of deference to those whose language is not Spanish, I try to find names that are the most familiar to all:

  • I started writing tag that everyone can understand “=”, “> or =”, “< or =”, but smartthings didn’t trigger the automations with these values, I don’t know why, but that’s how it is. @nayelyz I had to redo several times the presentations of the capabilities, the VIDs… etc…

  • So I decided to use “UP” and “Dwon” because most of them are tired of seeing it in many appliances, remotes… in their homes.

  • There is one thing that I haven’t been able to test, since my locale uses ºC and I can’t test if the conversion from the last stored temperature to ºF works well when a new temperature value is entered. I don’t know if the value that the system saves for the last value is ºC or ºF. I have assumed that it saves the same thing that it sends in the ºC event and the app or API converts it to ºF.
    Could you please enter a couple of temperatures and look at this in the log?

2022-08-23T12:09:59.980121224+00:00 INFO Zigbee Temp Humidity Sensor Mc <ZigbeeDevice: eb7c780e-e667-46ab-ba47-ea81341df249 [0xEDE2] (Environment Sensor)> received command: {“args”:{“value”:27.5},“capability”:“legendabsolute60149.tempCondition2”,“command”:“setTempCondition”,“component”:“main”,“positional_args”:[27.5]}
2022-08-23T12:09:59.996020890+00:00 TRACE Zigbee Temp Humidity Sensor Mc Found CapabilityCommandDispatcher handler in st-zigbee-temp
2022-08-23T12:10:00.007536557+00:00 PRINT Zigbee Temp Humidity Sensor Mc set_TempCondition.value= 27.5
2022-08-23T12:10:00.056910890+00:00 PRINT Zigbee Temp Humidity Sensor Mc device:get_latest_state >>>> 28.64 table: 0x1805ba8
2022-08-23T12:10:00.132790890+00:00 PRINT Zigbee Temp Humidity Sensor Mc last_temp_value ºC= 27.2
2022-08-23T12:10:00.187942557+00:00 PRINT Zigbee Temp Humidity Sensor Mc last_temp_value = 27.2
2022-08-23T12:10:00.200237224+00:00 INFO Zigbee Temp Humidity Sensor Mc <ZigbeeDevice: eb7c780e-e667-46ab-ba47-ea81341df249 [0xEDE2] (Environment Sensor)> emitting event: {“attribute_id”:“tempTarget”,“capability_id”:“legendabsolute60149.tempTarget”,“component_id”:“main”,“state”:{“value”:“Down”}}

2022-08-23T12:11:19.772230262+00:00 TRACE Zigbee Temp Humidity Sensor Mc Found CapabilityCommandDispatcher handler in st-zigbee-temp
2022-08-23T12:11:19.979940929+00:00 PRINT Zigbee Temp Humidity Sensor Mc set_TempCondition.value= 81
2022-08-23T12:11:20.049644262+00:00 PRINT Zigbee Temp Humidity Sensor Mc device:get_latest_state >>>> 28.64 table: 0x1805ba8
2022-08-23T12:11:20.124811262+00:00 PRINT Zigbee Temp Humidity Sensor Mc last_temp_value ºC= 27.2
2022-08-23T12:11:20.132189262+00:00 PRINT Zigbee Temp Humidity Sensor Mc last_temp_value = 81
2022-08-23T12:11:20.162955595+00:00 INFO Zigbee Temp Humidity Sensor Mc <ZigbeeDevice: eb7c780e-e667-46ab-ba47-ea81341df249 [0xEDE2] (Environment Sensor)> emitting event: {“attribute_id”:“tempTarget”,“capability_id”:“legendabsolute60149.tempTarget”,“component_id”:“main”,“state”:{“value”:“Equal-Up”}}

Thanks

3 Likes

I’ll check CLI later when I get back home.
This screenshot is from the app, and temperature in F looks good

1 Like

And if you change the temperature of the condition above and below and do an automation, does it fire correctly?

Thank you

Hi, @Mariano_Colmenarejo!
So, just to confirm, you use those symbols as the possible options in the list and it caused issues, right? Maybe, there’s an issue due to the way the Rules API translates the selection by the user to execute the automation, remember that’s the backend for the Routines.

Yes it does work.
I just checked with temperature increase notification


I did change conditional temperature to 80F to speed up testing, and it worked

1 Like

@Mariano_Colmenarejo
I am looking to have these devices added to your driver.

Centralite Door/contact sensor: (Centralite 3323-C). One of these was onboarded recently and is running the ST zigbee edge driver.

Centralite Temp/Humidity Sensor (Centralite 3310-C)

Thank you,

Thank you very much @milandjurovic71

Hi @nayelyz
To be more precise, this didn’t work others presentation, the automation was only triggered when the emitted value was “Equal”

This led me to the conclusion that the values of “key” and “value” have to be identical and not contain spaces.

    "automation": {
        "conditions": [
            {
                "label": "Temperature Comparation",
                "displayType": "list",
                "list": {
                    "alternatives": [
                        {
                            "key": "Equal",  
                            "value": "Equal",
                            "type": "active"    
                        },
                        {
                            "key": "Up",  
                            "value": "Equal or Up",
                            "type": "active"    
                        },
                        {
                            "key": "Down",    
                            "value": "Equal or Down",
                            "type": "active"
                        }
                    ],
                    "value": "tempTarget.value",
                    "valueType": "string"
                }
            }
        ],
        "actions": []
    },

This is the final works fine:

    "automation": {
        "conditions": [
            {
                "label": "Temperature Comparation",
                "displayType": "list",
                "list": {
                    "alternatives": [
                        {
                            "key": "Equal-Up",  
                            "value": "Equal-Up",
                            "type": "active"    
                        },
                        {
                            "key": "Down",    
                            "value": "Down",
                            "type": "active"
                        }
                    ],
                    "value": "tempTarget.value",
                    "valueType": "string"
                }
            }
        ],
        "actions": []
    },

According to documentation examplekey and value can be different and contain spaces in “value”
In fact, when you create or update the presentation of the capability, it does not give any error.

  "automation": {
    "conditions": [
      {
        "label": "Garage Door Status",
        "displayType": "list",
        "list": {
          "alternatives": [
            {
              "key": "closed",
              "value": "Closed",
              "type": "inactive"
            },
            {
              "key": "open",
              "value": "Open",
              "type": "active"
            },
            {
              "key": "partial",
              "value": "Jammed or unresponsive",
              "type": "active"
            }
          ],
          "value": "door.value",
          "valueType": "string"
        }
      }
    ],

the 3323-C is not included in the stock driver.
The 3323-G is included as in mine.

It is right?

I hace included 3310-G. is correct 3320-C?

@Mariano_Colmenarejo

Only one of my door/contact sensors is running an edge driver and if I try to change it to another it does not give me any other options even though I other edge drivers installed. Unfortunately, I accidentally discarded the box with the part number. The number listed is what was on the site I ordered the sensor for and what was supposed to be sent to me. I did check to see if it is valid and available elsewhere and it is, it seems to indicate it is the US version.

For the Temp/humidity sensor, I do have the packaging and it is 3310-C.

I hope this helps. With the announcement of the official end of Groovy I have been trying to get a basic understanding of Edge and how to address the loss of smart apps I have. Thank you for all you have done to help with transitions and provide functionality.

@Jeffp92

To confirm the exact measurement, you could to install my zigbee thing Mc driver and perform a driver change.
This will give you the exact fingerprints.

I don’t see that model 3323-C in the stock driver and I don’t know how it can be paired to it if it isn’t

I installed your zigbee driver and it did come up as an option and as the 3323-g when used.

1 Like

Then install my drivers zigbee contact Mc and It will be a driver option

Dame for zigbee temp humidity sensor Mc

1 Like

Hi @Mariano_Colmenarejo

have 2 smartthings sensors that will work for this:

STS-MLT-251

  • application: 1B
  • endpointId: 01
  • firmwareFullVersion: 0000001B
  • firmwareImageType: 17
  • firmwareManufacturerCode: 4362
  • manufacturer: SmartThings
  • model: multiv4
  • zigbeeNodeType: SLEEPY_END_DEVICE

RAW:01 0104 0402 00 08 0000 0001 0003 000F 0020 0402 0500 FC02 01 0019


STS-IRM-251

  • application: 1D
  • endpointId: 01
  • firmwareFullVersion: 0000001D
  • firmwareImageType: 18
  • firmwareManufacturerCode: 4362
  • manufacturer: SmartThings
  • model: motionv5
  • zigbeeNodeType: SLEEPY_END_DEVICE

RAW:01 0104 0402 00 07 0000 0001 0003 000F 0020 0402 0500 01 0019

Thanks,
Pablo

@pablopoo

Devices fingerprints are in st multiporpuse sensor Mc and zigbee motion sensor Mc

Availables in stock zigbee contact and zigbee motion sensor drivers too

@Mariano_Colmenarejo I see, so something else is not working here?

Hi, Is it possible to add a Fingerprint for my Xiaomi temp sensor?

Manufacturer: LUMI
Model: lumi.sensor_ht
Device ID: 5e7817d8-627a-46b1-84a3-671eaf383c0c
DNI: 0xA23C

Hi @jimroar

I don’t know if it will work well.

when I can I add it, I don’t have access to the cli for now.

I’ll let you know when it’s added

1 Like

7 posts were split to a new topic: Virtual Thermostat with Device in the new platform

I think this Moe’s Floor Thermostat (electric) should work straight out of the box with this driver, I am using it with the Groovy Tuya Thermostat driver (but manually added as it is not officially supported) right now. I think this is a quite common model.

  • application: 41
  • endpointId: 01
  • manufacturer: _TZE200_aoclfnxz
  • model: TS0601
  • zigbeeNodeType: SLEEPY_END_DEVICE

01 0104 0051 01 04 0000 0004 0005 EF00 02 0019 000A

heatingSetpoint: 18 C
thermostatMode: heat
coolingSetpoint: 18 C
thermostatOperatingState: idle
supportedThermostatModes:
[
“heat”,
“off”
]
temperature: 25 C
thermostatMode: heat
supportedThermostatModes:
[
“heat”,
“off”
]
thermostatOperatingState: idle
temperature: 25 C
heatingSetpoint: 18 C

I also have this Floor Thermostat (electric) that looks identical, but isn’t. I thought it would be so I ordered two of them. With this one I had to modify the standard Groovy driver in two locations as it reported the temperature a factor 10 wrong. I can provide the modified Groovy driver with my changes highlighted. I would however like to get it added without changes in the code first. Then I can troubleshoot and propose changes to your code to solve the issues.

  • zigbeeNodeType: ROUTER
  • application: 44
  • endpointId: 01
  • manufacturer: _TZE200_2ekuz3dz
  • model: TS0601

01 0104 0051 01 04 0004 0005 EF00 0000 02 0019 000A

heatingSetpoint: 18 C
thermostatMode: heat
coolingSetpoint: 18 C
thermostatOperatingState: idle
supportedThermostatModes:
[
“heat”,
“off”
]
temperature: 20.3 C
thermostatMode: heat
supportedThermostatModes:
[
“heat”,
“off”
]
thermostatOperatingState: idle
temperature: 20.3 C
heatingSetpoint: 18 C