Hubitat with Homemade Temperature, Humidity, Pressure and Light sensor


Gainfully deployed Homemade-temperature-humidity-pressure-and-light-sensor

I had a need for a contact closure sensor with a robust input. I tried a Visonic Contact sensor but adding external wires made the device generate false triggers.
So, using Iman's V1 board I added a LilyPad LED to the board facing the illumination sensor. Now the external contacts would be isolated from the board workings. Kind of a poor man's opto-isolator.

In my case the contacts being monitored are Oil Fired Boiler Lockout, indication the burner did not start and the system is shut down until manually addressed.
I modified the DH, creating a new capability named "contact" which I can monitor with HSM and a heartbeat function which currently only creates a log entry.

So far it is working great :slight_smile:


@iharyadI - Hubitat firmware v2.0.5 appears to break your driver for my original environment sensors. I switched over to the one written by Mike Maxwell and hosted in the Hubitat public GitHub repository. That has corrected the huge negative temperature issue. However, his version does not expose many of your custom attributes.

Can you take a look at this, please? Thanks!


I will take a look at it and let you know when I have a fix.




Mike, in your cleaned-up version of the driver for Iman's board, You included "zigbee.on" and "".

Why might I want to turn the Zigbee off?

BTW I used your version to modify for my Furnace Lockout monitor (post 420). Thanks for that version as I founid it the most straight forward and easy for me to understand :slight_smile:


This was in the original driver, I beleive it controls the diagnostics reporting...



Hi Iman, Can you tell me what the function is for the driver entries?


def off() {

def on() {


@JohnRob The firmware ability to collect diagnostic can be enabled or disabled. I use the on/off cluster to enable/disable the diagnostic data collection.



I started to understand the issue with the update 2.05. There are some attribute cleanup in Zigbee map parsing. I am using ClusterInt and AttrInt that is missing in the current version. This is an easy fix.

In addition, I also observe some "endianess" issue in zigbee hex to string (vice versa) is not consistent.

I will have to work through the detail and report it to support.



Thanks for looking into this Iman. I am sure @mike.maxwell can explain the changes to Zigbee in 2.0.5.


Hi Dan,

I have updated the github with modified DTH. It should work with 2.0.5.



I just installed the new device driver (Environment Sensor EX) and the temperature reading went from 61 to -452 (and falling... it's now -502!) as shown in the screen capture below; other readings are as expected.
I did do 'configure' and refresh after I changed the driver but it didn't seem to help. I am still on firmware 2.04.118. Edit: an hour later the temp reading is 304 after going positive up to 438... almost seems random.


There is a change in 2.0.5. The latest DTH take this into account.

If you need to use the 2.0.4, you can revert back to the older version. Or, you can replace adjustTemp method.

private def adjustTemp(double val)
    if (tempOffset) {
        val = val + tempOffset
            val = tempFilter*val + (1.0-tempFilter)*state.tempCelcius
        state.tempCelcius = val
    return zigbee.convertToHexString((int)(val*100),4)


Ok, no problem. I didn't realize it was for 2.05 only and figured I'd get ahead of the eventual need to upgrade (I have to stay on 2.04 for a while).


Thanks Iman! It is back to working great again. :+1:


@iharyadi - I just wanted to update you on some recent findings. I bought one of the newer C-5 Hubitat Hubs recently. Today, I tried to pair one of my two original Environment sensors that I received from you quite a while ago. The device pairs very quickly with my C-5 hub, but refuses to stay paired. If I start the device discovery process again, the Hubitat hub finds the device again immediately and pops it back into the 'Device' it was originally paired to. However, this cycle seems to repeat itself and I have not been able to get it to be stable with the C-5 hub. I even added a Lowes Iris 3210-L Zigbee outlet, and paired the Environment sensor about 30 feet away from the HE hub, with the 3210-L outlet about halfway between the two devices. Again, the device paired quickly but then dropped off again. I tried the reset procedure of holding the button down, plugging the sensor in, and waiting 2 seconds before releasing. It always seems to behave the same way.

I just paired it back to my C-4 hub and it works perfectly again. Seems to be something about the C-5 hub's Zigbee that is different enough to cause an issue?

@mike.maxwell - I believe you have one of @iharyadi 's Environment Sensors. Any chance you could please try pairing it with a C-5 hub to see if it works reliably for you?



Sure can do.


@ogiewon @mike.maxwell,

Do you have a zigbee sniffer? I would be interested to see the difference between the 2 hubs.



It's the same hub code running on C4 and C5, no differences at this level.


Is there any difference in the Zigbee radio/firmware? I would love to reproduce the issue on my end. However, I am not seeing it on my hub.

Since @ogiewon has both hubs and can reproduce the problem, what kind of information that we can pull to see what make one hub (C4) work and the other (C5) loose connections.



My production c4 is being migrated to a c5, long way to go, but not seeing any zigbee devices fall off at this point. I'll pair one of these sensors up to my dev c5 and see what happens.