117 lines
2.2 KiB
Plaintext
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);' |