Which device to check if light is on or off?

I’m looking for a device which tells my openhab3, if a ceiling light is on or off (no switch). The problem is, there is no room for a device in the flush box of the ceiling light. That’s why I have to install it within the ceiling light.
My first attempt was, to use a SHELLY 1PM and just measure the voltage of the light. And a OH3 rule tells me if my light is on or off. But because the shelly is within the ceiling light, it has to boot up and register itsself everytime the light goes on. That takes about 20 seconds, which is way too long for my problem.
Any idea for a better solution?
What about using a ESP8266 which is sending a MQTT message to OH3 if the light is on? (The problem is I’m not experienced enough to build the hardware on my own. Is there any ready made device which I can buy?)
Thank you for your help.

Maybe you can add a (wireless and battery powered) lightsenor to the room?
So depending on the actual measured lux the light state is on or off.

There is a caveat using a light sensor: during the day the sunlight will be measured primarily. In such a situation you might not be able to distinguish between light from the sun and light from the ceiling light.

Maybe… maybe there are no windows in the room, maybe there is no direct sunlight. We don’t know, this is why I wrote „maybe“ you can add a lightsensor.

What about changing the light bulb/led?

Why not just leave the light switch permanently on and use the Shelly 1PM to control the bulb? As you said you basically had this wired up since you were able to monitor the Power consumption.

The Switch is a motion detector, which was quite expensive and I dont’t want to change it. I should have bought a smart one :frowning: → So I basically want to detect when the motion detector is turning on the light.

A light sensor is not an option, too. First there are windows in the room and second my wife would not allow another device which is visible (mounted to the ceiling or standing on a desk).

Changing the bulb is also not an option, because they are part of the lamp design. :man_facepalming:

I know it’s tricky, that’s why I’m looking for help. But thank you for your suggestions.

You can use an Eltako FSM61-UC (or something similar from another manufacturer with another protocol).
When you switch on the light this device sends a telegram. When you switch off the lamp it sends another telegram. This happens within ms, no boot up time. As a receiver you can use an Enocean USB300 stick.

You have to locate your shelly 1PM in a place were you have an additional Live (always on) wire in addition to the two wires that reach the lamp. For example, in the flush box of the motion sensor, or in the ceiling lamp if you can bring a live wire there.
If I understand correctly, the Shelly1PM does not require a clean contact: when Live (coming from the motion sensor) is connected to the SW contact, the shelly gives current to the lamp (from O contact).
Then you can use your shelly as the device that switches on or off the lamp based on the the motion detector which act as a wall switch. The connections can be as in this link where the motion detector replaces the wall switch.

Sorry, but as i mentioned above there is no room for a device in the flush box.

Good idea. Do you think a device from Homatic IP could work as well (maybe this one ?) Because I already own a CCU3.

It feels to me like you’re going to a lot of effort just to avoid rolling back a previous decision. You’ve actually already accomplished the hard part, which is admitting to yourself that you didn’t make the right choice–that’s half the battle. :wink:

My fear is that you’ll go to great lengths and complexity to make this work…and then conclude that you should have just replaced it with a smart switch to save yourself time and effort.

I totally get it–it’s annoying in hindsight, and you’ve already spent money. I’ve been there, and I’ve doubled down on convoluted solutions when I should have just stepped back and solved the problem in the most direct way.

Anyway, ignore me if you’re committed to this path, but I thought it worthwhile to push back on the idea that the existing motion sensor is a constant.

Good luck!


I did not know, that Shelly has a build in MQTT support which is way faster than the configuration mentiont above.
So if I set the default_state to “on” the Shelly is always turning on if it gets power and sending a MQTT message to my OpenHab.

There is an excellent binding available for shelly devices

Yes, but as you can see from my initial question the shelly registration at the binding is too slow for my usecase.

By the time, when your shelly is able to send an mqtt message to openhab, it would probably also have sent its state through the binding. I just thought, a binding is easier than setting up mqtt.

furthermore you could try to trigger your rule when thing state changes. maybe this will also give you a few seconds

Yes, I tried all of that, but it took about 20-30 sec till my rule was triggered.

- id: "3"
      thingUID: shelly:shelly1pm:84cca8b0323f
    type: core.ThingStatusChangeTrigger

I’ll stick whith my MQTT setup, thx.