Keen connections unreliable? Tried several DTHs

The default DTH properly handles device health and reports when it is offline for me. If you look at the device in the IDE, is there a checkInterval value set?

Have 11 in my home, and rarely lost any when I was using all of them, so likely you need to strengthen your Zigbee mesh to keep them going, if they are truly falling off your mesh. Now, I have had 5 or 6 that constantly lost connection to their batteries. If yours are installed in the ceiling, you may be dealing with the same problem.

I share the same “love” for these devices as @johnconstantelo. I wish I would have spent my money replacing my old GE switches, to be honest, instead of constantly feeding batteries to these battery eating monsters :slight_smile:

1 Like

Thanks @HA_fanatic. My issue is not as much as them falling off the network, but falling off silently but the smartthings app pretending that they are all fine. Devices falling off the network with clear indication is allowable. But devices falling off without any indication but the HA system acting as if the devices are fine is just not acceptable - this makes the whole system unreliable.

1 Like

That is likely a case of devices losing the connection to the batteries. Depending on the DTH you are using, this should not happen unless the DTH doesn’t properly handle device health as @Automated_House mentioned above.

OK, I’m doing an A-B comparison. Actually, A-B-C-D comparison of the 4 keen vents in my great room. They are all on the floor and there’s a zigbee repeater in the middle of the room (on the bar between kitchen and living area). They are all SV02-412-MP-1.0 model, firmware version 0x21085A10, bought at the same time (March 2019).

  1. E - Keen DTH
  2. NE - yracine DTH
  3. NW - jcdevhandler v2 DTH
  4. W - jcdevhandler domsim DTH

E vent’s next hop is Tradfri Control Outlet, whose next hop is ST hub. The other three vents’ next hops is ST hub. I replaced batteries in all of them today. I’ll post back with comparative evidence of my tests.

If any of them dropoff silently again without the ST Classic app, web IDE device status or logs noticing it, then we have a real problem.

1 Like

hi @Automated_House, among my 4 vents:

  • E - Keen DTH - checkInterval = 1320 (seconds I assume? 22 minutes? I can reduce this for testing)
  • NE - yracine DTH - no checkInterval parameter, health check capability IS NOT listed under device handlers.
  • NW - jcdevhandler v2 DTH - no checkInterval parameter, health check capability IS listed under device handlers. Not sure how often it checks.
  • W - jcdevhandler domsim DTH - no checkInterval parameter, health check capability IS listed under device handlers. Not sure how often it checks.

So, is it OK to use jcdevhandler domsim DTH if I want health check capability (to find when a vent is offline), or am I limited to the default Keen DTH for this capability? I like the domsim DTH because it shows the vent open percentage in the device listing page, but I can switch to a different one if it doesn’t support health check as well as the Keen default DTH does.

You could try mixing it up. Put the most problem on in the default DTH and see if it reports offline. If so, that would indicate a mesh issue.

1 Like

I’m curious what ever became of your test of the four different Keen Vent device handlers? I’m going through way too many batteries and looking for something to fix the problem when I stumbled upon your post. Which of the DTHs is best at this point? I’m still using the classic app for most things.

These things eat batteries regardless of the DTH, at least from my experience. I’m back to using ST’s stock handler, and it really didn’t make a difference.

Quite frankly, these have become more of a novelty device than anything practical. Over half of my original vents have died and have been replaced or just removed completely. All of them are battery hogs, regardless of the version, battery cartridge design/redesign, and/or placement. My money would have been better spent elsewhere.


@Nort My experience is different.

I’ve had the same 16 Keen Home Vent for the last 5 years. So far, I’ve had to replace one vent because of the battery corrosion issue that happened with the original batteries.

All I can say is that I’ve changed the batteries only twice so far, so the batteries can last more than 2 years if you change the polling interval from 1 minute to 5 or 10 minutes.

During the installation of my DTH or jcdevhandler DTH , did you press on the configure button for each smart vent?

If you don’t press the configure button, the polling interval will stay at every minute and this could drain the batteries for sure.

Another thing that I found strange in your comparison is that, no matter the DTH you’re using, all of them should be able to use a nearby repeater if available. The DTH code is not so different and the zigbee protocol is the same regardless of the DTH used.

When you did your zigbee experiment, did you re-pair each of your vent so that the vent can use the nearest repeater?

Re-pairing means pressing at least 5 times on the black button at the bottom of the vents for a reset first, and doing the pairing again.

You haven’t given any details on how you have done your zigbee experiment, so I cannot comment on your process, but your results don’t match my experience at all.

Maybe the quality of the manufactured product has changed over the years, that would be the only explanation…

And, I’m not a Keen Home employee or affiliated with them…

BTW, the offline status under the IDE doesn’t mean that the device is disconnected… The only way to know if a device is disconnected is to check the history of events and see if it has recently reported some temperature or pressure event in the last x minutes (according to your polling interval). Most of ST users don’t use the health check feature as it’s not reliable…


Got any 10"x6" you want to sell? :smiley:

All mine are 4x’s, sorry!

I have taken one apart that I never sent back, and I was able to fix it. It turned out that a couple of my vents had a terrible solder joint from the battery compartment to the main board (which isn’t much). You could literally touch the wire and it would pop off. I’m wondering if all the temperature changes these go through if it caused some of other vents to have that area eventually fail.

I will add that how I use these vents isn’t too bad. I don’t control them “in partnership” with any thermostat, but instead when a door in a room opens or closes, which doesn’t happen all that much anymore since we’re empty nesters now.

Just adding my two cents here, I recently installed 15 of these vents w/ fully charged Eneloops. I have SmartThings Zigbee outlets in each room w/ vents acting as repeaters. So far I’ve had no issues with network drop-offs though a couple of vents’ batteries have died. I created an HVAC dashboard in ActionTiles to help me monitor the performance of my system (including the battery life of each vent):

I use @yvesracine’s DTH and SmartApps to control my Ecobee Thermostat + Keen Vents. I was only able to hit the config button on half my vents before the SmartThings Classic app stopped working for me; however, as far as I can tell all the vents are correctly reporting at 5+ minute intervals. Not quire sure what’s going on there:

I am still trying to figure out how many of these dead batteries are caused by my not so “pre-charged” Eneloops vs an actual issue with the vent configuration. I have however noticed that the ScheduledTstatZones app does make a lot of frequent adjustments to the vents while the thermostat is running and that makes me a little worried about the long-term battery life. Not sure if there is some way to debounce the adjustments so they don’t happen more than once every two minutes (for example).

In case this helps folks, here are a few interesting things I’ve learned so far from this process:

  1. Keen support is quite responsive and were super helpful in sending me a replacement battery compartment for one of the Ebay-bought vents which had significant corrosion damage.
  2. Ecobee works way better than Nest in these setups (especially now that Works with Nest is gone). I ended up replacing my Nest with an Ecobee after getting frustrated with the delays introduced by the long polling intervals for the Nest APIs and Nest’s completely inflexible remote sensor options.
  3. The Keen Vent battery readers are based on voltage drop so they don’t work very well with Ni-MH batteries like the Panasonic Eneloops. Essentially the voltage on these batteries is constantly shown at 50% and then suddenly drops to 0% when they die.


First, ecobeeSetZoneWithSchedule (part of MyEcobee bundle) is more appropriate for ecobee tstats. I understand that you’re reusing the same config as the one you had for the Nest, but there are more features in ecobeeSetZoneWithSchedule (and the vents adjustment will follow the ecobee schedules instead of the less reliable ST scheduling).

See my thread that explains the different zoning smartapps here:

In order to avoid too many vent adjustments, just make sure of the following:

  • Get the latest version (which works in the new app) of the Keen Vent DTH’s here

  • A single vent should not be part of 2 rooms (under RoomSetup>VentSettings). If a vent is part of 2 rooms, chances are that they will be conflicting setLevel commands that will be sent to the vent, hence more vent adjustments;

  • A single room should not be part of many zones. If a room is part of 2 different zones, chances are that there may be conflicts between the 2 zones, hence more vent adjustments;

  • A single zone should not be part of many concurrent running schedules. If a zone is part of 2 running schedules, then there may be conflict between the 2 schedules, hence more vent adjustments;

  • Make sure that the 5-minute adjustment setting is not set in ScheduleSetup>VentSettings for all your schedules. By default, the vents are only adjusted when the master tstat’s thermostatOperatingState is ‘cooling/heating/fan only’;

  • In GeneralSetup, as you have many connected vents, you can set the Safeguard’s Minimum Vent Level to the same value (ex. 15-20%) for both in-zone and out-zone settings. That way, the smartapp will not adjust the minimum value in both cases.

Finally, since v8.8, my zoning smartapps will not adjust the vent level if the target level is within +/- 5% of the current level reported by the vents. So, this is another optimization that has been done to avoid too many vent adjustments.

So, my contributors have to make sure to install the latest zoning smartapp’s release in order to leverage all features & recommendations.

P.S. I have had 16 connected Keen Home vents since 2015, and I have changed the batteries only twice. I use the Duracell batteries as shipped originally.

1 Like

@yvesracine I have a dozen Keen Vents in my home. And a handful of other Zigbee devices which are powered (and therefore acting as repeaters). I bought and installed them all over a year ago and was immediately disgusted–their battery life was horrible! I have recently resurrected them all, putting all new batteries in every unit. Some last a few weeks, some last only a couple days. I have tried using the official SmartThings device handler for the Keen Smart Vent, I have tried using yours, and I have tried a very slimmed down version (I don’t need them to report temp and things, since I have separate (reliable!) sensors for that info. I see you have mentioned you get 2+ years battery life out of these things. So… any tips on what to look for? This seems really odd. It could be a great solution, if they actually worked and had good battery life!!

Hi @JB329, if you use my Keen Home Vents DTH, please make sure to call the configure method in WebCore or press the ‘configure’ tile if you’re still using the ST classic mobile app (as indicated in my github).

@yvesracine Yup, done that. And I watch in the log to ensure it actually is doing the config. Do the battery level reporting features of these actually work? It seems one day it will report 100%, then the next it will be offline. And checking the battery with an actual volt meter indicates they really are dead. I’ve tried using the most expensive Duracell batteries too–doesn’t seem to make any difference.

In general, you shouldn’t rely on any battery level reported in SmartThings. It’s mostly estimated/calculated…

Now, I don’t know how you’re using your vents in your automation.
In my zoning smartapp, the code usually doesn’t poll them more than every 5 minutes…

For instance, if you have developed your own WebCore scripts and you poll them every minute or so, you may go through your batteries faster…

As stated in my previous posts, there also maybe some firmware or hw issues in the latter Keen Home vent batches that cause this battery drain… I was one of the first to get the 1st beta/production batch of vents.

Thanks @yvesracine; so I just moved over to the ecobeeSetZoneWithSchedule app and overall it’s working well except that I can’t figure out how to set my ecobee thermostat to Away mode when ST is away. Nest had a pretty good location-based away mode but ecobee doesn’t see to support that. How can I set my ecobee’s Away mode based on ST’s mode?


You’d need to use the ecobeeChangeMode smartapp for that use case. The smartapp is part of the complimentary smartapps at my githb.

All the different use cases for MyEcobee device are explained in the 1st post
of the forum thread:

EcobeeSetZoneWithSchedule is mostly about zoned/targeted heating/cooling.