All Projects → TillFleisch → ESPHomeGenericSitStandDesk

TillFleisch / ESPHomeGenericSitStandDesk

Licence: other
Custom ESPHome Component for generic Sit-Stand-Desks

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ESPHomeGenericSitStandDesk

esphome-yeelight-ceiling-light
Esphome custom firmware for some Yeelight Ceiling Lights
Stars: ✭ 81 (+285.71%)
Mutual labels:  esphome
ESPHome-Air-Quality-Monitor
ESPHome configuration for a DIY indoor air quality monitor for CO₂ concentration, PM2.5 and PM10 concentrations, and temperature, humidity and pressure
Stars: ✭ 42 (+100%)
Mutual labels:  esphome
home-assistant-glow
⚡ The power of energy measurements in your house
Stars: ✭ 383 (+1723.81%)
Mutual labels:  esphome
myconfig
My Home Assistant config
Stars: ✭ 143 (+580.95%)
Mutual labels:  esphome
esphome-devices
ESPHome Device Configurations Repository - A database of user submitted configurations for a variety of devices which can be flashed to run ESPHome.io firmware.
Stars: ✭ 71 (+238.1%)
Mutual labels:  esphome
server
MyController 2.x server
Stars: ✭ 14 (-33.33%)
Mutual labels:  esphome
esphome aux ac component
ESPHome component for AUX based air conditioners. Direct wifi control of HVAC by ESPHome and Home Assistant. HVAC status and command feedback available.
Stars: ✭ 62 (+195.24%)
Mutual labels:  esphome
esphome-panasonic-ac
Open source alternative for Panasonic air condition wifi adapters that works locally without the Comfort Cloud
Stars: ✭ 109 (+419.05%)
Mutual labels:  esphome
esphome-components
ESPHome components
Stars: ✭ 62 (+195.24%)
Mutual labels:  esphome
esphome-weather-station
ESPHome version of Elektor weather station v2
Stars: ✭ 140 (+566.67%)
Mutual labels:  esphome
ESPHome-OpenTherm
Example of how to control an opentherm boiler with esphome
Stars: ✭ 54 (+157.14%)
Mutual labels:  esphome
esphome-phsensor
ESP8266 with analog pH sensor
Stars: ✭ 45 (+114.29%)
Mutual labels:  esphome
M5Stack-Air-Quality-ESPHome
ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor
Stars: ✭ 19 (-9.52%)
Mutual labels:  esphome
docker-iot-stack
💻 My personal Docker IoT Stack
Stars: ✭ 24 (+14.29%)
Mutual labels:  esphome
VictronMPPT-ESPHOME
Victron Mppt charger ve.direct to esphome node
Stars: ✭ 121 (+476.19%)
Mutual labels:  esphome
TTGO-T-Display-esphome-homeassistant-sample
ESPHome template to show HomeAssistant sensor data in a TTGO T-Display
Stars: ✭ 37 (+76.19%)
Mutual labels:  esphome
esp32 8ch motor shield
An ESP32 based 8 channels motor controller (to replace Homematic IP Floor Heating Actuator)
Stars: ✭ 34 (+61.9%)
Mutual labels:  esphome
ESPHome-Devices
A collection of ESPHome custom components, configuration files, and custom code for my various ESP8266/ESP32 devices that integrate with Home Assistant.
Stars: ✭ 83 (+295.24%)
Mutual labels:  esphome
HomeAssistantRepository
🏡 Home Assistant on Gentoo Linux.
Stars: ✭ 26 (+23.81%)
Mutual labels:  esphome
esphome-capacitive-touch-panel
A DIY capacitive touch panel based on the mpr121 and esphome.
Stars: ✭ 95 (+352.38%)
Mutual labels:  esphome

ESPHomeGenericSitStandDesk

I have one of those generic relatively cheap Sit Stand Desks. In an effort to monitor my desk usage I developed this overkill solution for integrating the desk into a smart home like Home Assistant.

In addition to reporting the height, the ESP can also send commands to activate saved memory profiles or move the desk manually.

In combination with a chair occupancy sensor like this one, you can move the desk into sitting position upon taking a seat.

This is a custom Component for ESPHome based on the ESPHome UART Bus.

Requirements

  • a compatible Standing Desk (so far only my desk has been tested)
  • ESPHome 2021.12.0 or higher
  • Home Assistant Core 2021.12 or higher

Usage

external_components:
  - source: github://TillFleisch/ESPHomeGenericSitStandDesk@main


uart:
  id: uart_bus
  tx_pin: TX
  rx_pin: RX
  baud_rate: 57600

generic_desk:
  id: desk1
  uart_id: uart_bus
  # The Desks height measured in the lowest position
  base_height: 66.4
  #Optional correction factor, in case the height does not scale properly
  correction_term: 1.24836

sensor:
  - platform: desk_height_sensor
    desk_id: desk1
    id: desk_height
    name: "Desk Height"

binary_sensor:
 - platform: desk_is_moving_sensor
   desk_id: desk1
   id: desk_is_moving
   name: "Desk is Moving"

switch:
  - platform: desk_switch
    desk_id: desk1
    name: "Up"
    direction: true

  - platform: desk_switch
    desk_id: desk1
    name: "Down"
    direction: false  

button:
  - platform: desk_memory_button
    desk_id: desk1
    name: "M1"
    memory_id: 1

  - platform: desk_memory_button
    desk_id: desk1
    name: "M2"
    memory_id: 2

  - platform: desk_memory_button
    desk_id: desk1
    name: "M3"
    memory_id: 3

  - platform: desk_memory_button
    desk_id: desk1
    name: "M4"
    memory_id: 4

An example configuration can be found here.

Entities

This Component can provide the following entities:

Controls:

  • M1
  • M2
  • M3
  • M4
  • Up
  • Down

Sensors:

  • height
  • is moving

Wiring

On my particular model the Handset is connected via a RJ-45 connector.

Control Box Handset
Control Box Handset

The ESP is connected according to this wiring diagram. It replaces the Handset.

ESP             RJ-45 (T-568B)   Control Box
            1 (Orange/White)    - 
            2 (Orange)          -
VIN ------- 3 (Green/White)     - 5V
            4 (Blue)            -
            5 (Blue/White)      -
GND ------- 6 (Green)           - GND
TX  ------- 7 (Brown/White)     - RX
RX  ------- 8 (Brown)           - TX

Be aware that most ESPs run on 3.3v!

Communication

For information regarding the communication between the Controller and Handset look here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].