I’m working on a project to control 15 RGB LED strips that will be installed in a staircase. I’ve got that part working just great, so it’s time to work on the trigger mechanism.
Right now I’m thinking of using HC-SR04 ultrasonic sensor as the trigger. It’ll measure the distance from the outside of the bottom stair to the wall (about 1m), and if a person steps on it, it’ll measure less than 1m. But I would only like to let HA know if that happens. The refresh rate is going to have to be high to be effective, but I don’t want to pound HA with every single reading.
Can this be done with a Lambda? Or a switch? or something? Any advice welcome.
I use these for car sensors. Set up a template binary sensor, and read the ultrasonic every second. Remove the name from the ultrasonic sensor and remove it from HA. The logic will be done by the ESP, and it won’t be spamming HA every second. My binary sensor looks like this
binary_sensor:
- platform: template
name: "Ford Escape"
lambda: |-
if (id(northsensor).state < 1.5) {
// car is home.
return true;
} else {
// car is not home.
return false;
}
“northsensor” is the ultrasonic sensor, replace that with the correct ID and change the math to work.
Hi @tom_l, I did heart your post, your solution was good. However, while you pointed me in the right direction, you didn’t provide a code example I could understand. Moreover, your post appeared to be missing something, in that you referred to “below option” when there wasn’t one.
It was only when you got upset with me that you offered a code example that someone of my limited intelligence could understand.
Also, if you compare the two examples posted in this thread, they both make different assumptions. Yours assumes I want to keep all the automation inside ESPHome. Brian’s assumes I just want a trigger. Both approaches are valid, but different.
Anyway I hope you feel better soon. You are a valuable resource and you have helped me in the past, but you are grumpy and terse and it doesn’t help you. I’m sorry if that upsets you even more, I don’t mean to hurt your feelings. I think it might help if you remember that the reason people ask for help is because they are not as smart as you are - I know I’m not.
it’ll measure less than 1m. But I would only like to let HA know if that happens.
He didn’t say anything about the sensor controlling the output directly. If that was the case, why would HA be necessary at all? By separating the sensor from the switch, he can add logic in HA, you know, don’t turn the lights on in the day time…
Guys please don’t fight on my account. @NK553, this is just what @tom_l is like, it’s nothing personal.
@tom_l, you’re quite right, that’s a great solution, if you want to keep the automation inside ESPHome. As it happens, I’d prefer to do it in Node-RED, because I have layers of complexity that I think would be more difficult in ESPHome, such as setting the colour temperature of the LEDs based on actual LUX levels of sensors not attached to this ESP, and also making the LEDs red after people have gone to bed, so that anyone using the stairs after lights out won’t get their eyeballs attacked by the stairs. This being so, the lambda method seems to work better for my use-case, but under the circumstances, I can see that I didn’t give enough information in my original post.
Thank you for your contribution in any case. Anyone who finds this thread via search will be very well served.