[Solved] Visonic MCT-340 E - Any way to report temperature more frequently?

Under ST I was using an MCT-340E with the old custom Visonic driver (pre-ST integration) to monitor my outside fridge temperature.

This doesn't work under HE, it seems to only refresh the temp when it detects a contact change, or when I hit refresh in devices.

Any pointers here?

Do you have a link to the old custom driver? It's possible that the driver was issuing a "refresh" command to get the sensor to report temp more often. Usually the reporting interval is a function of the device firmware and cannot be changed by the controller.

I have a rule that refreshes certain sensors every hour. That is how I do it.

You have to be careful doing that with battery powered devices. It will greatly shorten the life of he battery. So, you should only do it where absolutely necessary.

Certain battery devices would be a more accurate statement, mine have been doing this for over a year.

This sucker uses a CR2032. I’d be fine with 6 months a battery.


Line 267 has this in it

zigbee.temperatureConfig(30, 300)

That will have it send the temperature every 5 min.

I've got a number of these and the seem to report every time there's a temp change...

FWIW I'm using the generic Zigbee contact sensor driver.

How interesting... mine didn’t seem to do that. I just checked another window of mine and notice that it is working correctly (i.e. the way yours is)

I’ll remove the device and re-pair it and see where that goes. I wonder if the temp swing in the fridge is too small to see a difference. It usually hovers between 34 and 37.

Thanks! I guess this one can be marked as solved.

Refreshing often will shorten the life of all battery devices, it's just a question of how much.

There doesn't appear to be any forces refreshing or extra polling in this driver. So, it should report the same on HE as it does on ST.

The sensor may have a minimum temp change before firing an event. Looking at the temps in my screenshot it looks like The temp differences seem to indicate that it only reports changes over 1.7 degrees.

Or about 1 degree Celsius... so it makes sense.

If you check line 267 it will do a refresh every 5 min on smart things using this driver.

From SmartThings smartsense motion sensor default DTH.

zigbee.temperatureConfig(30, 300)
This line in the configure method means a minimum of 30 seconds, maximum 300 seconds. So if the temperature changes a degree it will report it at least every 30 seconds. If it doesn’t change it will report it at 5 minutes.

So the device itself will send responses at those intervals but SmartThings then chooses to update its temperature event when isStateChange=true (that is the event SmartApps use). So this usually only happens when the temperature actually changes a degree.

Since he has the generic zigbee driver in hubitat it depends on what that has set this to.

No, it won't. It does a single refresh. There is no scheduling of a refresh job every so often. zigbee.temperatureConfig, will configure the reporting of the device, not perform a refresh from the hub.

Sorry about my small technicality...
It will make the temperature be reported at max every 5 min, which is what the OP asked about, not be refreshed.

def temperatureConfig(minReportTime=30, maxReportTime=3600, reportableChange=0x0064) {
configureReporting(TEMPERATURE_MEASUREMENT_CLUSTER, 0x0000, DataType.INT16, minReportTime, maxReportTime, reportableChange)

That's what the command is. But I don't own one so I can't say that it definitely will do that. What I was checking if there was anything "special" in the driver that would cause a reporting to happen and there isn't. For example a cron job running the refresh command every 5 mins. :grin:

I have 4 of these and 3 of them report the temperature regularly and correctly. I have one that is stubborn and only updates when you refresh it or the contact is triggered. I would be very interested in getting this one to "behave" or a way to poll it.

I have only 1 of these sensors. It does not update the temp. It has been reporting 48.2 for weeks. Well since I installed it. How can I get this to report correctly?