Files
esphome_components/example_jiecang_desk_controller.yaml
2024-01-09 01:15:07 +01:00

109 lines
2.2 KiB
YAML

esphome:
name: jiecang-desk-controller
friendly_name: Jiecang Desk Controller
on_boot:
priority: 0 # when mostly everything else is done
then:
- lambda: "id(my_desk).request_physical_limits();"
- delay: 0.1s
- lambda: "id(my_desk).request_limits();"
- delay: 0.1s
- lambda: "id(my_desk).request_settings();"
esp8266:
board: esp01_1m
logger:
level: WARN
baud_rate: 0 # disable logging over uart, required when using the RX/TX pins for the controller
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "esphome-desk"
password: "9ebc6eac0b4e0e26b8d3b955ec660557"
captive_portal:
uart:
id: uart_bus
tx_pin: TX
rx_pin: RX
baud_rate: 9600
external_components:
- source:
type: git
url: https://github.com/Rocka84/esphome_components/
components: [ jiecang_desk_controller ]
jiecang_desk_controller:
id: my_desk
sensors:
height:
name: "Height"
height_min:
name: "Height Min"
height_max:
name: "Height Max"
height_pct:
name: "Height Percent"
position1:
name: "Position 1"
position2:
name: "Position 2"
position3:
name: "Position 3"
position4:
name: "Position 4"
buttons:
raise:
name: "Raise"
lower:
name: "Lower"
position1:
name: "Position 1"
position2:
name: "Position 2"
position3:
name: "Position 3"
position4:
name: "Position 4"
## lambda usage
# button:
# - platform: template
# name: "Raise"
# on_press:
# lambda: "id(my_desk).raise();"
# - platform: template
# name: "Lower"
# on_press:
# lambda: "id(my_desk).lower();"
# - platform: template
# name: "Position 1"
# on_press:
# lambda: "id(my_desk).goto_position(1);"
# - platform: template
# name: "Position 2"
# on_press:
# lambda: "id(my_desk).goto_position(2);"
# - platform: template
# name: "Position 3"
# on_press:
# lambda: "id(my_desk).goto_position(3);"
# - platform: template
# name: "Position 4"
# on_press:
# lambda: "id(my_desk).goto_position(4);"