[OBSOLETE] HomeSeer Flex Sensor

I won’t converting this DTH into an Edge Driver so it will stop working once the Groovy platform is retired.

This is a DTH for the HomeSeer Flex Sensor (HS-FS100-L Light Sensor and HS-FS100-W Water Sensor)

The HomeSeer Flex Sensor is a temperature sensor that allows you to attach either a light indicator sensor or a water sensor. In order for some features to work you have to set the Attached Sensor Type in the settings to the correct type.

The handler supports the “Tone” capability which has a “beep” command, but the device has to be running on USB power in order for it to work.


Included as USB Powered Device

  • If you join the device with the USB Power cable connected the device will act as a mains powered device so you won’t be able to get the battery level. When the device is joined like this it acts as a z-wave repeater.


Included as Battery Powered Device

  • If you join the device while powered by batteries it will sleep and wake up at regular intervals, but it will also behave like a always on device when it’s plugged in which makes it report faster and makes it easier to configure. The device doesn’t report the current power method so the USB icon will only be shown if the device was joined as a powered device.


Attached Sensor Type: Light Sensor (DEFAULT)

  • The light sensor is meant to monitor another device’s led and report when it turns on, off, or the color changes. It doesn’t report the light level so you have to use the Classic Mobile App to see the light status.

  • The handler creates “Button Pushed” events when the light changes so you should be able to use the button pushed events as triggers in most SmartApps by selecting the device as a button.

    • Button 1: Light Not Detected
    • Button 2: Light Detected
    • Button 3: Color Change Detected



Attached Sensor Type: Water Sensor

  • To make the device look like a water sensor in the new mobile app you have to swap the commented “ocfDeviceType” and “vid” lines in the meta section of the code.




  • The Temperature Reporting Interval setting is ignored while the device is powered by batteries.


1 Like

that’s a weird one that I did not know I wanted until now.

“light indicator sensor”

I couldn’t think of a better way to describe it…

Just installed this to monitor my alarm status by putting a sensor on the panel LED. This works instantly recognizing changes in status of the light. I am now stuck at the now what stage. Would like the LED status to toggle a virtual switch. The device does not appear to create button pressed events when it changes status. It also does not show up as an available button in ST or Core. It is an available device in Core as a “sensor” I have tried triggering the virtual switch with sensor changes to 1 or changes to 0 and neither work. Any idea how to actually use this thing to trigger events, virtual switches etc?

Does it look like the screenshots in the first post?

If not, go into the IDE and change the device’s Type field to this handler.

This is now working. I will delete the old handler. Thanks for this!

I got as far as seeing a button option in WebCore but nothing I do seems to “push” it. Any idea what I’m missing? I trigger the light sensor, the HS-FS100-L beeps 5 times, and the old ST app indicates “light”. So everything seems to be working fine, I just can’t get the button to trigger so I can do some WebCore stuff… I’m trying to announce via Echo Speaks that the dryer cycle is complete. Any advice is appreciated.

Select the device as a button in WebCoRE and use the Button 2 Pushed event to detect light and Button 1 Pushed event for no light.

Thanks for the reply… that’s what I was doing… so I wasn’t sure if I was doing it right. Apparently there was some kind of outage last evening when I was trying to set this all up. I deleted the piston, excluded the device, and started completely over this morning. It now works exactly as you stated. Thanks again.,

Buzzer can’t be switched to silent… I believe somewhere line 634 there is a doubling of parameters. Has two 1 as options… instead of 0,1

private getNotificationBuzzerParam() {
return getParam(4, “Notification Buzzer”, 0, 1, [0:“Disabled”, 1:“Enabled”], “buzzerEnabled”)

The code is fine. The first 1 is the parameter size and the second 1 is the default value.

After changing the setting you have to wake the device up. The device doesn’t send a wake up notification so you have to tap sync and wake the device up at the same time.

Watch live logging to verify that the new setting was sent to the device.

Hi Kevin, thanks for respo. Couldn’t figure out how to wake the Homeseer sensor up and synchronize at the same time, so opted to set your code to 1,0 (buzzer disabled) and then re-installed everything. Works fine now.

For everyone interested this is a drive-way alert / turn drive way lights on automatically project. Using a HTZ drive way sensor https://www.amazon.com/gp/product/B07KDRR5MM/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1 and a Homeseer HS-FS100+ signal light sensor. Combined about $110. The drive way sensor works well… no false alarms in 3 weeks now. Tape the homeseer sensor to the signal light… chose medium sensitivity. Cover it up so no stray light triggers it. and then automate as new lighting routine. Chose control outdoor lights, turn on lights when button pressed, chose Homeseer Flex button 2. (Lights on) Turn on lights when button is pressed . Chose additional options from sunset to sunrise. Take a decent tone on HTZ (1 ding… low volume) and voila… Been waiting to do this for quite some time without having to buy expensive driveway alerts and hard wiring into them. Enjoy and thanks to Kevin for the Homeseer code (that buzzer is really really annoying… )
Homeseer Sensor on sale at the moment for $30

Inexpensive do it yourself Z-Wave Drive Way Sensor… no soldering required… Tag line to find this better

Ryno… the way to get it working is as follows… automate what you would like to do when sensor triggers… e.g. new lighting routine… control … xyz lights… by ‘button press’ chose homeseer sensor. chose button 1 (light off not likely) button 2 (light on) or button three (change of light color) and then you are off to the races… Also since you are using it for controlling something else… see my comment on disabling the rather annoying buzzer below

I’m glad you were able to get it to work, but I just wanted to make sure that other users didn’t think there was an issue with the driver that required making a change to get that setting to work.

When you save the settings it displays a warning in Live Logging with instructions, but I think you have to push the button on the device and then immediately tap Sync or visa-versa…

I don’t believe any of the HomeSeer sensors send a wake up notification when they’re manually woken up which is something I’ve only seen with really old devices so I’m shocked they were able to pass z-wave certification like that. I’ve already complained to them about this issue so hopefully they’ll implement it properly in their future devices.

Trying to use this with a water softener that has a light that is always on and then flashes when the salt level is low. Is that something that is even possible with the product?

I’m using the latest version of the device handler from github and it only shows light whether it is solid to blinking. I’ve tried adjusting the detection delay but that doesn’t seem to make a difference either, but I assume that is for detecting that the light is on at all when blinking.

I’m usb powered and my hub discovered it correctly, any thoughts would be appreciated.

It only detects light, no light, and color change, but even with the device joined while powered by USB it doesn’t report light changes instantly so I’m assuming it takes a light measurements at regular intervals.

If that assumption is correct then it might occasionally report no light while flashing, but I haven’t tested that and it might flash for a while before that happens.

If you already have the device and having it flash for a while isn’t a problem then try setting up the automation using button 1 pushed, otherwise you might want to look for another solution.

I installed this and it seems to work fine but on one of the two sensors I”m getting a ‘2 pending changes’ message and even after tap the sync type the changes never sync (it’s mostly turning off the buzzer and extending the time interval for temp checks since I don’t care about that). Is there any way to force the sync?

Thanks so much for this handler! It worked perfectly for the first few days, but now it seems to be ignoring the Light Detection Delay setting and triggers the light is on or off buttons immediately. Any ideas why this might be happening?

This is one of the only z-wave plus devices I’m aware of that doesn’t send a wake up notification when you manually wake it up so the code has no way of knowing that you woke it up and can’t automatically send the changes to the device.

If you push that button and save the settings at almost the same time then it will sync them immediately, but you have to get the timing right so it might take a few tries. If you have live logging open you’ll be able to see the setting changes that the DTH is sending to the device and if the device sent back a response stating it changed them.

Or you can wait about 12 hours because they should sync on their own.