ElVit-esphome_components/example_maidsite_desk.yaml

129 lines
2.4 KiB
YAML

esp32:
board: esp32-c3-devkitm-1
variant: ESP32C3
framework:
type: esp-idf
esphome:
name: maidesite-desk-controller
friendly_name: Maidesite Desk Controller
ota:
platform: esphome
password: !secret ota_password
api:
encryption:
key: !secret encryption_key
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "Maidesite Desk Fallback"
password: !secret fallback_password
logger:
external_components:
- source:
type: git
url: https://github.com/ElVit/esphome_components/
components: [ maidesite_desk ]
uart:
- id: uart_bus
tx_pin: GPIO03
rx_pin: GPIO04
baud_rate: 9600
maidesite_desk_controller:
id: my_desk
uart_id: uart_bus
log_uart_msg: true
sensor:
- platform: maidesite_desk
height_abs:
name: "Height absolut"
height_pct:
name: "Height percent"
height_min:
name: "Height Min"
height_max:
name: "Height Max"
position_m1:
name: "Position M1"
position_m2:
name: "Position M2"
position_m3:
name: "Position M3"
position_m4:
name: "Position M4"
button:
- platform: maidesite_desk
stop:
name: "Stop"
step_up:
name: "Step up"
step_down:
name: "Step down"
goto_max:
name: "Move to MAX"
goto_min:
name: "Move to MIN"
goto_m1:
name: "Move to M1"
goto_m2:
name: "Move to M2"
goto_m3:
name: "Move to M3"
goto_m4:
name: "Move to M4"
save_m1:
name: "Save M1"
save_m2:
name: "Save M2"
save_m3:
name: "Save M3"
save_m4:
name: "Save M4"
number:
- platform: maidesite_desk
height_abs:
name: "Height absolut"
mode: SLIDER
height_pct:
name: "Height percent"
mode: SLIDER
## lambda usage
# button:
# - platform: template
# name: "Step up"
# on_press:
# lambda: "id(my_desk).step_up();"
# - platform: template
# name: "Step down"
# on_press:
# lambda: "id(my_desk).step_down();"
# - platform: template
# name: "Stop"
# on_press:
# lambda: "id(my_desk).stop();"
# - platform: template
# name: "Position 2"
# on_press:
# lambda: "id(my_desk).goto_mem_position(2);"
# - platform: template
# name: "Save Position 4"
# on_press:
# lambda: "id(my_desk).save_mem_position(4);"
# - platform: template
# name: "Go to 100cm"
# on_press:
# lambda: "id(my_desk).goto_height(100);"