esphome/config/seed-modbus.yaml.save
2025-05-24 10:30:00 +02:00

117 lines
2.2 KiB
Plaintext

esphome:
name: seed-modbus
friendly_name: seed modbus
on_boot:
then:
- output.turn_on: output1
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
# Enable logging
logger:
level: DEBUG
# Enable Home Assistant API
api:
encryption:
key: "6wSuBPbrOHBZNl2RG7Dha1yjHddwhVbNK82ET4Pcz3I="
ota:
- platform: esphome
password: "6ce9a2a585eb85f9a150d88e6c676483"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
uart:
id: uart_bus_a
# TX/RX carte :
rx_pin: GPIO44
tx_pin: GPIO43
# RX=D4 -> GPIO5, TX=D5 -> GPIO6
# rx_pin: GPIO5
# tx_pin: GPIO6
# RX=D7, TX=D6
baud_rate: 4800
output:
- platform: gpio
id: output1
pin:
number: GPIO3
mode:
output: True
modbus:
id: modbus1
uart_id: uart_bus_a
modbus_controller:
- id: modbus_controller1
address: 1
modbus_id: modbus1
update_interval: 2s
# select:
# - platform: modbus_controller
# name: "Modbus Select Register 0"
# address: 1
# value_type: U_WORD
# optionsmap:
# "Zero": 0
# "One": 1
# "Two": 2
# "Three": 3
# select:
# - platform: modbus_controller
# name: "Modbus Select Register 1"
# address: 1
# value_type: U_WORD
# optionsmap:
# "Zero": 0
# "One": 1
# "Two": 2
# "Three": 3
# lambda: |-
# ESP_LOGD("Reg1000", "Received value %lld", x);
mqtt:
broker: "pc-raymond-wifi.home"
id: mqtt1
log_topic: rbo
sensor:
- platform: modbus_controller
id: sensor1
modbus_controller_id: modbus_controller1
name: "Wind speed"
device_class: wind_speed
register_type: holding
address: 0
unit_of_measurement: "m/s"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1
- max:
window_size: 5
send_every: 5
- exponential_moving_average:
alpha: 0.1
send_every: 12
- platform: template
id: mqtt_wind_speed
lambda: |-
ESP_LOGD("Reg1000", "Received value %lld", id(sensor1).state);
return id(sensor1).state;
on_value:
then:
- mqtt.publish:
topic: "home/wind_speed"
payload: !lambda 'return to_string(id(mqtt_wind_speed).state);'