My maddest idea yet - touch lamp automation

I have purchased a seike fingerbot for trying out with a couple of buttons. However, as I had this and had been automating all my lights, I thought about whether it could turn on a touch lamp if it had capacitive material on the pusher. So I bought some cheap capacitive stylus pen replacement tips and attached to the fingerbot. It did not work (not a surprise) as I guess mobile phone touch screens may work differently.

If I were to continue with this madness, is there any material that mimics human touch on touch lamps?

You probably just need to earth the stylus.

I’ve been trying to turn an IKEA bedside lamp (similar to TOMELILLA) into a touch lamp with an ESP device for some time now. This weekend, I tried using a CAP1188 and found out that significant lengths of wire cause the capacitance to bounce up and down. It might work better if you attached it directly to the light stand, but I already have a motion ESP8266 under the bed, that turns on some path lights that I wanted to attach it to.

This may be one option that would work, but since I have a lamp on either side of the bed, I’d like something that would work with two.

I’m thinking of buying a Bare Conductive Pi Cap and messing with it. Their website advertises touch plants, touch toys, touch whatever, all facilitated by their boards. The question for me is whether it could be interfaced to a GPIO pin on a ESP8266 and how long the wiring can be?

I don’t know why all night-stand lights aren’t touch sensitive. Fumbling for a switch is a huge pain in the ass, especially if you are disoriented by a dream. It would be cool if someone made something that you could simply plug the light into and wire the metal casing to for a switch, but I haven’t found it.

tom_I

That didn’t work, I’m afraid

@pashdown

I use those converters to turn a lamp into a touch lamp all the time. Sometimes I wire them to a door hinge so I can just touch the hinge to turn a light on or off… Here is an example

Also, It is very easy to use an ESP and fashion a touch sensor to trigger anything you want. I’ve not tried this specifically but looks like it should work: https://www.pinterest.com/pin/370772981827739827/

I use Heltec HTIT-WB32 which has several pins with built-in touch detection. I can help you code something up if needed. Or design a board for you that you can get made if you want.

@stain3565 Almost all those lamp touch sensors are based on capacitance. A finger size is close to a 2200uF capacitor.

So if you get an electrolytic capacitor that is around 2200uF 50V and ground one leg and touch the lamp with the other leg it should trigger the light.

1 Like

I have experimented with this Arduino code and it does indeed work. It would be nice if was built into ESPHome.

I will have a think but perhaps it is overkill. I can live with one set of lamps being outside the home assistant. I think this topic has got a bit confused anyway as we seem to have mixed automating an existing touch lamp with converting lamps into touch lamps. I will have a look at capacitors anyway.

If you don’t have a capacitor handy you maybe able to take a small sheet of aluminum foil to a piece of wire and use that to trigger the touch lamp. The aluminum foil is essentially acting like a capacitor. Also I expect much smaller than 2200uF would work too if you don’t have one that big.

Turns out esp32 in esphome has built-in capacitive touch sensing. It is very easy to use. You merely wire a metal object to a pin and determine the capacitive cutoff with a setup option and away you go.

I stripped some wire and pulled the bare end through the outside of a IKEA lamp grommet:

Then wrapped it around on the inside of the grommet for good contact:

The esphome code looks like this:

esp32_touch:
  setup_mode: false

binary_sensor:
  - platform: esp32_touch
    name: "Master Bed East Light Touch"
    pin: GPIO12
    threshold: 150
  - platform: esp32_touch
    name: "Master Bed West Light Touch"
    pin: GPIO14
    threshold: 150

A simple automation looks like this:

- alias: Light Master Bed West Touch
  id: light_master_bed_west_touch
  trigger:
    - platform: state
      entity_id: binary_sensor.master_bed_west_light_touch
      to: 'on'
      from: 'off'
  mode: single
  action:
    - service: switch.toggle
      entity_id: switch.master_bed_west_bed_light

- alias: Light Master Bed East Touch
  id: light_master_bed_east_touch
  trigger:
    - platform: state
      entity_id: binary_sensor.master_bed_east_light_touch
      to: 'on'
      from: 'off'
  mode: single
  action:
    - service: switch.toggle
      entity_id: switch.master_bed_east_light

In theory, since esphome sends an “on” when you touch the light and “off” when you remove your touch, you could setup different automation triggers based on how long the touch is pressed. It is also really responsive, so you could also do double,triple touch, whatever code you wish, within a certain time period.

2 Likes