Project:Smart Floor Lamp
Smart Floor Lamp
|Release Date:||December 2020|
|Materials Used:||Wood, Acrylic Paint|
|Software Used:||Homeassistant, ESPHome|
Martin needed some nice floor lamps for his living room. While researching, he stumbled accross some nice looking lamps which can be put in the corner and indirectly illuminate the wall (see them on Aliexpress).
Since the offered lamps seemed pretty expensive, he decided to make some himself!
The frame consists of thee parts:
- The main holder for the LED-Strips. which is 2.5 meters high (basically ceiling-height)
- Two bottom stands for the stability
The main part consists of a single piece of wood.
As a first step, the wood was brought into a 3x3 cm square shape using the Table Saw.
Next, the piece which will hold the LED strips was cut in a 45° angle over the full length of the wood. This resulted in the following shape:
The Bottom parts are just square pieces of 3x3cm with a length of 50 cm.
Electronics & Homeassistant Integration
In order to be able to control the LED Strips, Martin decided to get a LED-Controller which is capable of being controlled via WiFi.
As mentioned, these controllers are based on an ESP (ESP-8285 to be specific) and have test pins available for RX,TX, 3v3, GND and IO0:
These pins can be used in order to connect the device to a USB-Serial converter and subsequently flash them with ESPHome.
Since the devices are well known, some smart people already created an ESPHome configuration targeted on these devices:
One thing to be carefull about is that multiple versions of these devices exist. If you need the pinout for another version, please check this reference:
Since the device is based on ESPHome, it should automatically appear in your homeassistant installation (check the notifications). If it does not, you can always set up the integration manually.
In order to control the devices, you need to add them to your UI Config.
Since this project consists of two lamps, a possibility was needed in order to control both of them at once. In Homeassistant, multiple options exist for this:
- Adding a switch to your UI which calls a service:
type: button name: Toggle Lights tap_action: action: call-service service: light.toggle service_data: entity_id: light.led_couch_fenster, light.led_tv_wand
- Adding them to a group:
livingroom_lights: name: Living Room Lights entities: - light.led_tv_wand - light.led_couch_fenster
Option 1 is easier, but bears the downside that you can only turn the lights on and off. In addition, if only one of the lights is turned on and you press the button, it will just invert the states.
Therefore, Option 2 is the much more advanced option. In addition, it also allows to set the color and brightness of all lights in the group at once!
Experiences & Improvements
In general, the lights work very well. However, the frames are not really stable and need improvement!