Hello All,
I have an M5 basic core with m5 lan poe module, pin outs are:
The configuration works fine for wifi yaml but when I delete the wifi component and add the ethernet component below (the only change) the entities become unavailable. On ethernet I can see in the ESPhome builder log that it is in fact parsing data from sensors correctly. What am I missing, why doesn’t this send to Home Assistant?
esphome:
name: core-sensor-hub
friendly_name: Core Sensor Hub
min_version: 2024.11.0
name_add_mac_suffix: false
esp32:
board: esp32dev
framework:
type: esp-idf
external_components:
- source: github://nielsnl68/esphome-components
ethernet:
type: W5500
clk_pin: GPIO18
mosi_pin: GPIO23
miso_pin: GPIO19
cs_pin: GPIO26
interrupt_pin: GPIO34
reset_pin: GPIO13
uart:
id: uart_sensor
tx_pin: GPIO15
rx_pin: GPIO5
baud_rate: 9600
stop_bits: 1
i2c:
- sda: GPIO21
scl: GPIO22
scan: True
id: i2c0
modbus:
- uart_id: uart_sensor
id: modbus1
send_wait_time: 500ms
modbus_controller:
- id: modbus_uartsensor1
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x01
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor2
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x02
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor3
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x03
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor4
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x04
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor5
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x05
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor6
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x06
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor7
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x07
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor8
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x08
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor9
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x09
modbus_id: modbus1
update_interval: 10s
sensor:
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor1
id: Temp_Sensor_1
address: 0x0000
register_type: holding
name: "Living Area Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor1
id: Humidty_Sensor_1
name: "Living Area Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor2
id: Temp_Sensor_2
address: 0x0000
register_type: holding
name: "Master Suite Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor2
id: Humidty_Sensor_2
name: "Master Suite Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor3
id: Temp_Sensor_3
address: 0x0000
register_type: holding
name: "Far Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor3
id: Humidty_Sensor_3
name: "Far Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor4
id: Temp_Sensor_4
address: 0x0000
register_type: holding
name: "Near Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor4
id: Humidty_Sensor_4
name: "Near Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor5
id: Temp_Sensor_5
address: 0x0000
register_type: holding
name: "Upstairs Common Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor5
id: Humidty_Sensor_5
name: "Upstairs Common Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor6
id: Temp_Sensor_6
address: 0x0000
register_type: holding
name: "School Room Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor6
id: Humidty_Sensor_6
name: "School Room Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor7
id: Temp_Sensor_7
address: 0x0000
register_type: holding
name: "Playroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor7
id: Humidty_Sensor_7
name: "Playroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor8
id: Temp_Sensor_8
address: 0x0000
register_type: holding
name: "Guest Room Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor8
id: Humidty_Sensor_8
name: "Guest Room Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor9
id: Temp_Sensor_9
address: 0x0000
register_type: holding
name: "Upstairs Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor9
id: Humidty_Sensor_9
name: "Upstairs Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
tca9548a:
- address: 0x70
id: multiplex0
i2c_id: i2c0
channels:
- bus_id: multiplex0channel0
channel: 0
- bus_id: multiplex0channel1
channel: 1
- bus_id: multiplex0channel2
channel: 2
- bus_id: multiplex0channel3
channel: 3
- bus_id: multiplex0channel4
channel: 4
- bus_id: multiplex0channel5
channel: 5
switch:
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_25
relay1: relay 25
led1:
name: led 25
assumed_state: true
id: led_25
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_26
relay2: relay 26
led2:
name: led 26
assumed_state: true
id: led_26
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_27
relay3: relay 27
led3:
name: led 27
assumed_state: true
id: led_27
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_28
relay4: relay 28
led4:
name: led 28
assumed_state: true
id: led_28
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_29
relay1: relay 29
led1:
name: led 29
assumed_state: true
id: led_29
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_30
relay2: relay 30
led2:
name: led 30
assumed_state: true
id: led_30
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_31
relay3: relay 31
led3:
name: led 31
assumed_state: true
id: led_31
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_32
relay4: relay 32
led4:
name: led 32
assumed_state: true
id: led_32
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_33
relay1: relay 33
led1:
name: led 33
assumed_state: true
id: led_33
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_34
relay2: relay 34
led2:
name: led 34
assumed_state: true
id: led_34
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_35
relay3: relay 35
led3:
name: led 35
assumed_state: true
id: led_35
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_36
relay4: relay 36
led4:
name: led 36
assumed_state: true
id: led_36
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_37
relay1: relay 37
led1:
name: led 37
assumed_state: true
id: led_37
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_38
relay2: relay 38
led2:
name: led 38
assumed_state: true
id: led_38
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_39
relay3: relay 39
led3:
name: led 39
assumed_state: true
id: led_39
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_40
relay4: relay 40
led4:
name: led 40
assumed_state: true
id: led_40
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_41
relay1: relay 41
led1:
name: led 41
assumed_state: true
id: led_41
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_42
relay2: relay 42
led2:
name: led 42
assumed_state: true
id: led_42
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_43
relay3: relay 43
led3:
name: led 43
assumed_state: true
id: led_43
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_44
relay4: relay 44
led4:
name: led 44
assumed_state: true
id: led_44
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_45
relay1: relay 45
led1:
name: led 45
assumed_state: true
id: led_45
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_46
relay2: relay 46
led2:
name: led 46
assumed_state: true
id: led_46
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_47
relay3: relay 47
led3:
name: led 47
assumed_state: true
id: led_47
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_48
relay4: relay 48
led4:
name: led 48
assumed_state: true
id: led_48
logger:
baud_rate: 9600
level: verbose
here is the log:
INFO ESPHome 2025.3.3
INFO Reading configuration /config/esphome/esphome-web-972a10.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Starting log output from 192.168.1.80 using esphome API
INFO Successfully connected to core-sensor-hub @ 192.168.1.80 in 0.002s
INFO Successful handshake with core-sensor-hub @ 192.168.1.80 in 8.261s
[15:15:59][I][app:100]: ESPHome version 2025.3.3 compiled on Apr 1 2025, 21:58:01
[15:15:59][C][logger:177]: Logger:
[15:15:59][C][logger:178]: Max Level: VERBOSE
[15:15:59][C][logger:179]: Initial Level: VERBOSE
[15:15:59][C][logger:181]: Log Baud Rate: 9600
[15:15:59][C][logger:182]: Hardware UART: UART0
[15:15:59][V][modbus_controller:230]: 2 modbus commands already in queue
[15:15:59][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:15:59][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:15:59][W][component:238]: Components should block for at most 30 ms.
[15:15:59][V][modbus_controller:081]: Modbus response queued
[15:15:59][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:00][W][component:237]: Component modbus took a long time for an operation (123 ms).
[15:16:00][W][component:238]: Components should block for at most 30 ms.
[15:16:00][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:00][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:00][D][modbus_controller.sensor:025]: Sensor new state: 2030.00
[15:16:00][V][sensor:043]: 'Master Suite Temp': Received new state 2030.000000
[15:16:00][D][sensor:093]: 'Master Suite Temp': Sending state 68.54000 °F with 1 decimals of accuracy
[15:16:00][D][modbus_controller.sensor:025]: Sensor new state: 4491.00
[15:16:00][V][sensor:043]: 'Master Suite Humidity': Received new state 4491.000000
[15:16:00][D][sensor:093]: 'Master Suite Humidity': Sending state 44.91000 % with 0 decimals of accuracy
[15:16:00][W][component:237]: Component modbus_controller took a long time for an operation (734 ms).
[15:16:00][W][component:238]: Components should block for at most 30 ms.
[15:16:01][V][modbus_controller:043]: Sending next modbus command to device 4 register 0x00 count 2
[15:16:01][V][modbus:223]: Modbus write: 04.03.00.00.00.02.C4.5E (8)
[15:16:01][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:01][W][component:237]: Component modbus_controller took a long time for an operation (366 ms).
[15:16:01][W][component:238]: Components should block for at most 30 ms.
[15:16:01][C][i2c.idf:083]: I2C Bus:
[15:16:01][C][i2c.idf:084]: SDA Pin: GPIO21
[15:16:01][C][i2c.idf:085]: SCL Pin: GPIO22
[15:16:01][C][i2c.idf:086]: Frequency: 50000 Hz
[15:16:01][C][i2c.idf:092]: Recovery: bus successfully recovered
[15:16:01][I][i2c.idf:102]: Results from i2c bus scan:
[15:16:01][I][i2c.idf:108]: Found i2c device at address 0x70
[15:16:01][V][modbus_controller:230]: 30 modbus commands already in queue
[15:16:01][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:02][W][component:237]: Component modbus_controller took a long time for an operation (121 ms).
[15:16:02][W][component:238]: Components should block for at most 30 ms.
[15:16:02][V][modbus_controller:230]: 5 modbus commands already in queue
[15:16:02][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:02][W][component:237]: Component modbus_controller took a long time for an operation (126 ms).
[15:16:02][W][component:238]: Components should block for at most 30 ms.
[15:16:02][V][modbus_controller:230]: 3 modbus commands already in queue
[15:16:02][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:02][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:02][W][component:238]: Components should block for at most 30 ms.
[15:16:02][V][modbus_controller:081]: Modbus response queued
[15:16:03][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:03][W][component:237]: Component modbus took a long time for an operation (243 ms).
[15:16:03][W][component:238]: Components should block for at most 30 ms.
[15:16:03][V][modbus_controller:043]: Sending next modbus command to device 3 register 0x00 count 2
[15:16:03][V][modbus:223]: Modbus write: 03.03.00.00.00.02.C5.E9 (8)
[15:16:03][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:03][W][component:237]: Component modbus_controller took a long time for an operation (245 ms).
[15:16:03][W][component:238]: Components should block for at most 30 ms.
[15:16:03][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:03][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:03][D][modbus_controller.sensor:025]: Sensor new state: 2157.00
[15:16:03][V][sensor:043]: 'Near Bedroom Temp': Received new state 2157.000000
[15:16:04][D][sensor:093]: 'Near Bedroom Temp': Sending state 70.82600 °F with 1 decimals of accuracy
[15:16:04][D][modbus_controller.sensor:025]: Sensor new state: 4148.00
[15:16:04][V][sensor:043]: 'Near Bedroom Humidity': Received new state 4148.000000
[15:16:04][D][sensor:093]: 'Near Bedroom Humidity': Sending state 41.48000 % with 0 decimals of accuracy
[15:16:04][W][component:237]: Component modbus_controller took a long time for an operation (738 ms).
[15:16:04][W][component:238]: Components should block for at most 30 ms.
[15:16:04][V][modbus_controller:230]: 76 modbus commands already in queue
[15:16:04][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:04][W][component:237]: Component modbus_controller took a long time for an operation (119 ms).
[15:16:04][W][component:238]: Components should block for at most 30 ms.
[15:16:04][V][modbus_controller:230]: 107 modbus commands already in queue
[15:16:04][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:05][W][component:237]: Component modbus_controller took a long time for an operation (243 ms).
[15:16:05][W][component:238]: Components should block for at most 30 ms.
[15:16:05][V][modbus_controller:230]: 107 modbus commands already in queue
[15:16:05][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:05][W][component:237]: Component modbus_controller took a long time for an operation (243 ms).
[15:16:05][W][component:238]: Components should block for at most 30 ms.
[15:16:05][V][modbus_controller:230]: 107 modbus commands already in queue
[15:16:05][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:05][W][component:237]: Component modbus_controller took a long time for an operation (126 ms).
[15:16:05][W][component:238]: Components should block for at most 30 ms.
[15:16:05][V][modbus_controller:230]: 107 modbus commands already in queue
[15:16:05][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:06][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:06][W][component:238]: Components should block for at most 30 ms.
[15:16:06][V][modbus_controller:081]: Modbus response queued
[15:16:06][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:06][W][component:237]: Component modbus took a long time for an operation (242 ms).
[15:16:06][W][component:238]: Components should block for at most 30 ms.
[15:16:06][V][modbus_controller:043]: Sending next modbus command to device 1 register 0x00 count 2
[15:16:06][V][modbus:223]: Modbus write: 01.03.00.00.00.02.C4.0B (8)
[15:16:06][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:06][W][component:237]: Component modbus_controller took a long time for an operation (247 ms).
[15:16:06][W][component:238]: Components should block for at most 30 ms.
[15:16:06][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:07][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:07][D][modbus_controller.sensor:025]: Sensor new state: 2007.00
[15:16:07][V][sensor:043]: 'Far Bedroom Temp': Received new state 2007.000000
[15:16:07][D][sensor:093]: 'Far Bedroom Temp': Sending state 68.12600 °F with 1 decimals of accuracy
[15:16:07][D][modbus_controller.sensor:025]: Sensor new state: 4559.00
[15:16:07][V][sensor:043]: 'Far Bedroom Humidity': Received new state 4559.000000
[15:16:07][D][sensor:093]: 'Far Bedroom Humidity': Sending state 45.59000 % with 0 decimals of accuracy
[15:16:07][W][component:237]: Component modbus_controller took a long time for an operation (617 ms).
[15:16:07][W][component:238]: Components should block for at most 30 ms.
[15:16:07][C][uart.idf:159]: UART Bus 1:
[15:16:07][C][uart.idf:160]: TX Pin: GPIO15
[15:16:07][C][uart.idf:161]: RX Pin: GPIO5
[15:16:08][C][uart.idf:163]: RX Buffer Size: 256
[15:16:08][C][uart.idf:165]: Baud Rate: 9600 baud
[15:16:08][C][uart.idf:166]: Data Bits: 8
[15:16:08][C][uart.idf:167]: Parity: NONE
[15:16:08][C][uart.idf:168]: Stop bits: 1
[15:16:08][V][modbus_controller:081]: Modbus response queued
[15:16:08][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:08][W][component:237]: Component modbus took a long time for an operation (121 ms).
[15:16:08][W][component:238]: Components should block for at most 30 ms.
[15:16:08][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:08][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:08][D][modbus_controller.sensor:025]: Sensor new state: 2116.00
[15:16:08][V][sensor:043]: 'Living Area Temp': Received new state 2116.000000
[15:16:08][D][sensor:093]: 'Living Area Temp': Sending state 70.08800 °F with 1 decimals of accuracy
[15:16:09][D][modbus_controller.sensor:025]: Sensor new state: 4285.00
[15:16:09][V][sensor:043]: 'Living Area Humidity': Received new state 4285.000000
[15:16:09][D][sensor:093]: 'Living Area Humidity': Sending state 42.85000 % with 0 decimals of accuracy
[15:16:09][W][component:237]: Component modbus_controller took a long time for an operation (615 ms).
[15:16:09][W][component:238]: Components should block for at most 30 ms.
[15:16:09][V][modbus_controller:043]: Sending next modbus command to device 2 register 0x00 count 2
[15:16:09][V][modbus:223]: Modbus write: 02.03.00.00.00.02.C4.38 (8)
[15:16:09][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:09][W][component:237]: Component modbus_controller took a long time for an operation (366 ms).
[15:16:09][W][component:238]: Components should block for at most 30 ms.
[15:16:09][C][modbus:165]: Modbus:
[15:16:10][C][modbus:167]: Send Wait Time: 500 ms
[15:16:10][C][modbus:168]: CRC Disabled: NO
[15:16:10][V][modbus_controller:230]: 2 modbus commands already in queue
[15:16:10][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:10][W][component:237]: Component modbus_controller took a long time for an operation (120 ms).
[15:16:10][W][component:238]: Components should block for at most 30 ms.
[15:16:10][V][modbus_controller:230]: 30 modbus commands already in queue
[15:16:10][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:10][W][component:237]: Component modbus_controller took a long time for an operation (243 ms).
[15:16:10][W][component:238]: Components should block for at most 30 ms.
[15:16:10][V][modbus_controller:081]: Modbus response queued
[15:16:10][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:10][W][component:237]: Component modbus took a long time for an operation (122 ms).
[15:16:10][W][component:238]: Components should block for at most 30 ms.
[15:16:11][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:11][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:11][D][modbus_controller.sensor:025]: Sensor new state: 2038.00
[15:16:11][V][sensor:043]: 'Master Suite Temp': Received new state 2038.000000
[15:16:11][D][sensor:093]: 'Master Suite Temp': Sending state 68.68400 °F with 1 decimals of accuracy
[15:16:11][D][modbus_controller.sensor:025]: Sensor new state: 4502.00
[15:16:11][V][sensor:043]: 'Master Suite Humidity': Received new state 4502.000000
[15:16:11][D][sensor:093]: 'Master Suite Humidity': Sending state 45.02000 % with 0 decimals of accuracy
[15:16:11][W][component:237]: Component modbus_controller took a long time for an operation (739 ms).
[15:16:11][W][component:238]: Components should block for at most 30 ms.
[15:16:11][V][modbus_controller:043]: Sending next modbus command to device 4 register 0x00 count 2
[15:16:12][V][modbus:223]: Modbus write: 04.03.00.00.00.02.C4.5E (8)
[15:16:12][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:12][W][component:237]: Component modbus_controller took a long time for an operation (245 ms).
[15:16:12][W][component:238]: Components should block for at most 30 ms.
[15:16:12][C][tca9548a:037]: TCA9548A:
[15:16:12][C][tca9548a:038]: Address: 0x70
[15:16:12][V][modbus_controller:230]: 5 modbus commands already in queue
[15:16:12][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:12][V][modbus_controller:230]: 3 modbus commands already in queue
[15:16:12][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:12][W][component:237]: Component modbus_controller took a long time for an operation (119 ms).
[15:16:12][W][component:238]: Components should block for at most 30 ms.
[15:16:12][V][modbus_controller:230]: 77 modbus commands already in queue
[15:16:12][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:13][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:13][W][component:238]: Components should block for at most 30 ms.
[15:16:13][V][modbus_controller:230]: 108 modbus commands already in queue
[15:16:13][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:13][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:13][W][component:238]: Components should block for at most 30 ms.
[15:16:13][V][modbus_controller:230]: 108 modbus commands already in queue
[15:16:13][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:13][W][component:237]: Component modbus_controller took a long time for an operation (244 ms).
[15:16:13][W][component:238]: Components should block for at most 30 ms.
[15:16:13][V][modbus_controller:081]: Modbus response queued
[15:16:14][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:14][W][component:237]: Component modbus took a long time for an operation (246 ms).
[15:16:14][W][component:238]: Components should block for at most 30 ms.
[15:16:14][V][modbus_controller:043]: Sending next modbus command to device 3 register 0x00 count 2
[15:16:14][V][modbus:223]: Modbus write: 03.03.00.00.00.02.C5.E9 (8)
[15:16:14][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:14][W][component:237]: Component modbus_controller took a long time for an operation (246 ms).
[15:16:14][W][component:238]: Components should block for at most 30 ms.
[15:16:14][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:14][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:14][D][modbus_controller.sensor:025]: Sensor new state: 2157.00
[15:16:14][V][sensor:043]: 'Near Bedroom Temp': Received new state 2157.000000
[15:16:15][D][sensor:093]: 'Near Bedroom Temp': Sending state 70.82600 °F with 1 decimals of accuracy
[15:16:15][D][modbus_controller.sensor:025]: Sensor new state: 4138.00
[15:16:15][V][sensor:043]: 'Near Bedroom Humidity': Received new state 4138.000000
[15:16:15][D][sensor:093]: 'Near Bedroom Humidity': Sending state 41.38000 % with 0 decimals of accuracy
[15:16:15][W][component:237]: Component modbus_controller took a long time for an operation (738 ms).
[15:16:15][W][component:238]: Components should block for at most 30 ms.
[15:16:15][C][modbus_controller:349]: ModbusController:
[15:16:15][C][modbus_controller:350]: Address: 0x01
[15:16:15][C][modbus_controller:351]: Max Command Retries: 3
[15:16:15][C][modbus_controller:352]: Offline Skip Updates: 0
[15:16:15][C][modbus_controller:354]: sensormap
[15:16:15][C][modbus_controller:356]: Sensor type=3 start=0x0 offset=0x0 count=1 size=2
[15:16:16][C][modbus_controller:356]: Sensor type=3 start=0x0 offset=0x2 count=1 size=2
[15:16:16][C][modbus_controller:360]: ranges
[15:16:16][C][modbus_controller:362]: Range type=3 start=0x0 count=2 skip_updates=0
[15:16:16][C][modbus_controller:365]: server registers
[15:16:16][V][modbus_controller:230]: 108 modbus commands already in queue
[15:16:16][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:16][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:16][W][component:238]: Components should block for at most 30 ms.
[15:16:16][V][modbus_controller:230]: 108 modbus commands already in queue
[15:16:16][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:16][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:16][W][component:238]: Components should block for at most 30 ms.
[15:16:16][V][modbus_controller:081]: Modbus response queued
[15:16:17][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:17][W][component:237]: Component modbus took a long time for an operation (123 ms).
[15:16:17][W][component:238]: Components should block for at most 30 ms.
[15:16:17][V][modbus_controller:043]: Sending next modbus command to device 1 register 0x00 count 2
[15:16:17][V][modbus:223]: Modbus write: 01.03.00.00.00.02.C4.0B (8)
[15:16:17][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:17][W][component:237]: Component modbus_controller took a long time for an operation (246 ms).
[15:16:17][W][component:238]: Components should block for at most 30 ms.
[15:16:17][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:17][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:17][D][modbus_controller.sensor:025]: Sensor new state: 1996.00
[15:16:17][V][sensor:043]: 'Far Bedroom Temp': Received new state 1996.000000
[15:16:18][D][sensor:093]: 'Far Bedroom Temp': Sending state 67.92800 °F with 1 decimals of accuracy
[15:16:18][D][modbus_controller.sensor:025]: Sensor new state: 4562.00
[15:16:18][V][sensor:043]: 'Far Bedroom Humidity': Received new state 4562.000000
[15:16:18][D][sensor:093]: 'Far Bedroom Humidity': Sending state 45.62000 % with 0 decimals of accuracy
[15:16:18][W][component:237]: Component modbus_controller took a long time for an operation (617 ms).
[15:16:18][W][component:238]: Components should block for at most 30 ms.
[15:16:18][C][modbus_controller:349]: ModbusController:
[15:16:18][C][modbus_controller:350]: Address: 0x02
[15:16:18][C][modbus_controller:351]: Max Command Retries: 3
[15:16:18][C][modbus_controller:352]: Offline Skip Updates: 0
[15:16:18][C][modbus_controller:354]: sensormap
[15:16:18][C][modbus_controller:356]: Sensor type=3 start=0x0 offset=0x0 count=1 size=2
[15:16:19][C][modbus_controller:356]: Sensor type=3 start=0x0 offset=0x2 count=1 size=2
[15:16:19][C][modbus_controller:360]: ranges
[15:16:19][C][modbus_controller:362]: Range type=3 start=0x0 count=2 skip_updates=0
[15:16:19][C][modbus_controller:365]: server registers
[15:16:19][V][modbus_controller:230]: 2 modbus commands already in queue
[15:16:19][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
[15:16:19][W][component:237]: Component modbus_controller took a long time for an operation (123 ms).
[15:16:19][W][component:238]: Components should block for at most 30 ms.
[15:16:19][V][modbus_controller:081]: Modbus response queued
[15:16:19][V][modbus:159]: Clearing buffer of 8 bytes - parse succeeded
[15:16:19][W][component:237]: Component modbus took a long time for an operation (243 ms).
[15:16:19][W][component:238]: Components should block for at most 30 ms.
[15:16:19][V][modbus_controller:088]: Process modbus response for address 0x0 size: 4
[15:16:19][V][modbus_controller:170]: data for register address : 0x0 :
[15:16:20][D][modbus_controller.sensor:025]: Sensor new state: 2110.00
[15:16:20][V][sensor:043]: 'Living Area Temp': Received new state 2110.000000
[15:16:20][D][sensor:093]: 'Living Area Temp': Sending state 69.98000 °F with 1 decimals of accuracy
[15:16:20][D][modbus_controller.sensor:025]: Sensor new state: 4270.00
[15:16:20][V][sensor:043]: 'Living Area Humidity': Received new state 4270.000000
[15:16:20][D][sensor:093]: 'Living Area Humidity': Sending state 42.70000 % with 0 decimals of accuracy
[15:16:20][W][component:237]: Component modbus_controller took a long time for an operation (615 ms).
[15:16:20][W][component:238]: Components should block for at most 30 ms.
[15:16:20][V][modbus_controller:043]: Sending next modbus command to device 2 register 0x00 count 2
[15:16:20][V][modbus:223]: Modbus write: 02.03.00.00.00.02.C4.38 (8)
[15:16:20][V][modbus_controller:568]: Command sent 3 0x0 2 send_count: 1
[15:16:21][W][component:237]: Component modbus_controller took a long time for an operation (245 ms).
[15:16:21][W][component:238]: Components should block for at most 30 ms.
[15:16:21][C][modbus_controller:349]: ModbusController:
[15:16:21][C][modbus_controller:350]: Address: 0x03
[15:16:21][C][modbus_controller:351]: Max Command Retries: 3
[15:16:21][C][modbus_controller:352]: Offline Skip Updates: 0
[15:16:21][C][modbus_controller:354]: sensormap
[15:16:21][C][modbus_controller:356]: Sensor type=3 start=0x0 offset=0x0 count=1 size=2
[15:16:21][C][modbus_controller:356]: Sensor type=3 start=0x0 offset=0x2 count=1 size=2
[15:16:21][C][modbus_controller:360]: ranges
[15:16:21][C][modbus_controller:362]: Range type=3 start=0x0 count=2 skip_updates=0
[15:16:21][C][modbus_controller:365]: server registers
[15:16:21][V][modbus_controller:230]: 30 modbus commands already in queue
[15:16:21][V][modbus_controller:198]: Range : 0 Size: 2 (3) skip: 0
note, this is the yaml currently configured on the core basic. Also note that it is currently connected to a PoE plug which is connected to the router. I am accessing log from laptop (WiFI) to HA docker in order to obtain the log, so it is clearly connected to esphome builder.
Also to note I have also tried it with:
esp32:
board: m5stack-core-esp32
When I used this “board” I couldn’t even get it to discover any entities (it said no devices and no entities under the esp discovered device). I did try reset/flashing as new and then copying the yaml numerous times so either it changed when it switch to the different board/platform or just because of luck of flashing
I tried flash yaml back to WiFi and entities were unavailable. I deleted ESPhome builder add-on, deleted ESPhome devices, I installed the file editor add-on and deleted the ESPhome folder in config. After I did that the entities became available with the WiFI yaml loaded. Tried flashing back to ethernet settings as above and it still shows all as unavailable.
I just don’t understand this, how can I see all of the connections in the log but not have any availability in HA?
It has to be an issue with the ethernet component. This yaml works on my atomS3 on wifi and it works on this device as WiFi but removing WiFi component and changing to ethernet component makes it so it can be seen in logs under ESPhome builder add-on but not actually see any data in HA and HA cannot invoke any actions (i.e. turning on the relay).
@nickrout do you have any input on what other information I could add to better diagnose?
I tried the following yaml. The core basic is arduino/python/uiflow framework so it changed that and also added clockspeed to 30mhz. I changed the board to m5stack-grey because it matched 240mhz,540kb,16m of this device. Per documents of the lan controller the w5500 has max of 80mhz but their testing max was 33.3Mhz. Several yaml configurations on here show 30Mhz but no one seems to have the same issue that I have. Most cannot ping nor see their devices at all. I can see it and connect to it but it just doesn’t send to HA. I deleted everything again and restarted HA. Installed ESPhome builder add-on and connected to the device. Flashed this yaml and then added to HA as a node. The node is there and the log is still the same, but it says no devices or entities under this node. Same result with or without fixed IP.
esphome:
name: core-sensor-hub
friendly_name: Core Sensor Hub
esp32:
board: m5stack-grey
framework:
type: arduino
external_components:
- source: github://nielsnl68/esphome-components
ethernet:
type: W5500
clk_pin: GPIO18
mosi_pin: GPIO23
miso_pin: GPIO19
cs_pin: GPIO26
interrupt_pin: GPIO34
reset_pin: GPIO13
clock_speed: 30Mhz
uart:
id: uart_sensor
tx_pin: GPIO15
rx_pin: GPIO5
baud_rate: 9600
stop_bits: 1
i2c:
- sda: GPIO21
scl: GPIO22
scan: True
id: i2c0
modbus:
- uart_id: uart_sensor
id: modbus1
send_wait_time: 500ms
modbus_controller:
- id: modbus_uartsensor1
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x01
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor2
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x02
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor3
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x03
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor4
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x04
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor5
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x05
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor6
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x06
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor7
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x07
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor8
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x08
modbus_id: modbus1
update_interval: 10s
- id: modbus_uartsensor9
allow_duplicate_commands: true
command_throttle: 9s
max_cmd_retries: 3
address: 0x09
modbus_id: modbus1
update_interval: 10s
sensor:
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor1
id: Temp_Sensor_1
address: 0x0000
register_type: holding
name: "Living Area Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor1
id: Humidty_Sensor_1
name: "Living Area Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor2
id: Temp_Sensor_2
address: 0x0000
register_type: holding
name: "Master Suite Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor2
id: Humidty_Sensor_2
name: "Master Suite Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor3
id: Temp_Sensor_3
address: 0x0000
register_type: holding
name: "Far Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor3
id: Humidty_Sensor_3
name: "Far Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor4
id: Temp_Sensor_4
address: 0x0000
register_type: holding
name: "Near Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor4
id: Humidty_Sensor_4
name: "Near Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor5
id: Temp_Sensor_5
address: 0x0000
register_type: holding
name: "Upstairs Common Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor5
id: Humidty_Sensor_5
name: "Upstairs Common Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor6
id: Temp_Sensor_6
address: 0x0000
register_type: holding
name: "School Room Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor6
id: Humidty_Sensor_6
name: "School Room Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor7
id: Temp_Sensor_7
address: 0x0000
register_type: holding
name: "Playroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor7
id: Humidty_Sensor_7
name: "Playroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor8
id: Temp_Sensor_8
address: 0x0000
register_type: holding
name: "Guest Room Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor8
id: Humidty_Sensor_8
name: "Guest Room Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor9
id: Temp_Sensor_9
address: 0x0000
register_type: holding
name: "Upstairs Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor9
id: Humidty_Sensor_9
name: "Upstairs Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
tca9548a:
- address: 0x70
id: multiplex0
i2c_id: i2c0
channels:
- bus_id: multiplex0channel0
channel: 0
- bus_id: multiplex0channel1
channel: 1
- bus_id: multiplex0channel2
channel: 2
- bus_id: multiplex0channel3
channel: 3
- bus_id: multiplex0channel4
channel: 4
- bus_id: multiplex0channel5
channel: 5
switch:
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_25
relay1: relay 25
led1:
name: led 25
assumed_state: true
id: led_25
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_26
relay2: relay 26
led2:
name: led 26
assumed_state: true
id: led_26
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_27
relay3: relay 27
led3:
name: led 27
assumed_state: true
id: led_27
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_28
relay4: relay 28
led4:
name: led 28
assumed_state: true
id: led_28
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_29
relay1: relay 29
led1:
name: led 29
assumed_state: true
id: led_29
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_30
relay2: relay 30
led2:
name: led 30
assumed_state: true
id: led_30
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_31
relay3: relay 31
led3:
name: led 31
assumed_state: true
id: led_31
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_32
relay4: relay 32
led4:
name: led 32
assumed_state: true
id: led_32
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_33
relay1: relay 33
led1:
name: led 33
assumed_state: true
id: led_33
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_34
relay2: relay 34
led2:
name: led 34
assumed_state: true
id: led_34
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_35
relay3: relay 35
led3:
name: led 35
assumed_state: true
id: led_35
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_36
relay4: relay 36
led4:
name: led 36
assumed_state: true
id: led_36
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_37
relay1: relay 37
led1:
name: led 37
assumed_state: true
id: led_37
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_38
relay2: relay 38
led2:
name: led 38
assumed_state: true
id: led_38
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_39
relay3: relay 39
led3:
name: led 39
assumed_state: true
id: led_39
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_40
relay4: relay 40
led4:
name: led 40
assumed_state: true
id: led_40
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_41
relay1: relay 41
led1:
name: led 41
assumed_state: true
id: led_41
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_42
relay2: relay 42
led2:
name: led 42
assumed_state: true
id: led_42
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_43
relay3: relay 43
led3:
name: led 43
assumed_state: true
id: led_43
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_44
relay4: relay 44
led4:
name: led 44
assumed_state: true
id: led_44
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_45
relay1: relay 45
led1:
name: led 45
assumed_state: true
id: led_45
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_46
relay2: relay 46
led2:
name: led 46
assumed_state: true
id: led_46
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_47
relay3: relay 47
led3:
name: led 47
assumed_state: true
id: led_47
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_48
relay4: relay 48
led4:
name: led 48
assumed_state: true
id: led_48
logger:
baud_rate: 9600
level: verbose
api:
encryption:
key: "crazybananas'fakekey"
ota:
- platform: esphome
HA is a container docker connected to a router via ethernet. That router is connected to the main router via ethernet. This esp device is connected via ethernet to the main router. I don’t think that would be causing any issues, but offer it in case I missed something.
I set static IP and it connects the same. Then I tried changing logger to very_verbose to see if I could get more detail and it would not connect to device at all. The log sits like this:
INFO Starting log output from 192.168.1.81 using esphome API
WARNING Can't connect to ESPHome API for core-sensor-hub @ 192.168.1.81: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.1.81', port=6053))]: [Errno 111] Connect call failed ('192.168.1.81', 6053) (SocketAPIError)
INFO Trying to connect to core-sensor-hub @ 192.168.1.81 in the background
When I change back to verbose it connects and the log keeps flowing with data; however, I still have no devices or entities discovered in this device node.
Looking through the forum on past topics that were slightly related I tried adding:
external_components:
- source:
type: git
url: https://github.com/JeroenVanOort/esphome/
ref: eth-w5500
components: [ ethernet,network,api,esp32 ]
ethernet:
type: W5500
clk_pin: GPIOx
mosi_pin: GPIOx
miso_pin: GPIOx
cs_pin: GPIOx
interrupt_pin: GPIOx
reset_pin: GPIOx
clock_speed: 30Mhz
which was in reference to the topic: How to use w5500 Ethernet module with esphome - ESPHome - Home Assistant Community
as other users have commented that the included ethernet component wasn’t working directly. I tried all of these yaml configurations on current version of ESPhome builder and ESPhome builder dev and it still doesn’t work.
However, when I added this to my yaml configuration, compile rejected stating that esphome needed a platform with platform key. If you enter platform and a key then it fails because it says it no longer uses platform. Attempting numerous times and sometimes compile will allow it to proceed but rejects and states that ethernet component not found. So again, I am lost.
So, I tried unplugging components and adding them 1 at a time and then delete and then add node. When I unplugged the connector for the rs485 mod sensors, the entities were added. The relays works but obviously the rs485 sensors do not.
Any thoughts as to why the rs485 sensors would cause issue if the data is logging correctly? Why would the connection cause entities to not be discovered in HA? Is the ethernet component trying to use a pin that is shared with the rs485 bus?
Unplugging the rs485 sensors and waiting lets the relays come back online. At first plug in, the rs485 sensors send data if you open the entity directly (but they show on dashboard as unavailable) the data in the graph of the entity is intermittent. It looks like updates are every 5 mins. After you unplug the sensors then some of the data shows as the last retrieved value in the sensors displayed on the dashboard.
So, something in the ethernet component is utilizing the rx/tx pins of the uart. On this device set up, this is how they are mapped, is it possible to figure out what in the ethernet component is using whatever pin(s) is/are involved and remap those?
GPIO5 for this device is IO7 or just an available pin, GPIO15 is IIS_out so is used for audio if connecting a speaker. The m5stack Grey has the exact same pinmap for bus as the m5stack core basic v2.7 (my board), that is what I am using as the current board for the yaml and ethernet component is still interfering with the rx/tx read. These available boards do not match these pin layouts because all of the different type boards I have tried all say that GPIO5 and GPIO15 are strapping pins. I have no idea to find out why that is, where it is defined, or how to change it so that it maps appropriately for this device.
I removed the rs485 chip and soldered the rx tx to gpio1 and gpio3. Exact same result. I figure that ethernet component also uses rx/tx. So I did a bit more research and tried substituting rx/tx for GPIO17/GPIO16 per board and leaving uart as gpio1 gpio3. It didn’t work. So I thought if WiFi works and ethernet doesn’t and there is rx/tx for both now separated then the only thing that could be common is THE GROUND! I haven’t needed a ground because the sensors are powered directly with a power supply and the device had it’s own power source. Well, this device is powered by PoE so they were sharing the same ground which may have been causing a bit of cross-talk.
Just to make it less complicated for people in the future with this m5 lan poe module. I resoldered the connecting pins and rs485 chip to the assigned gpio5 and gpio15 per m5 docs. I updated the yaml and it still works. I also tried deleting out the tx/rx substitution to see if it it caused conflict and it did, so they need to be separate for w5500 ethernet.
In conclusion, to use w5500 PoE ethernet connection AND rs485 modbus, you need solder the rs485 chip to the board in it’s designated spot as manufactured. Then you must substitute for alternate rx/tx pins and have your rs485 uart use different rx/tx pins and you must connect the esp device rs485 interface ground to the common ground of all of your peripherals that are communicating via rs485.
working yaml configuration
esphome:
name: core-sensor-hub
friendly_name: Core Sensor Hub
esp32:
board: m5stack-grey
framework:
type: esp-idf
substitutions:
tx_pin: GPIO17
rx_pin: GPIO16
external_components:
- source:
type: git
url: https://github.com/nielsnl68/esphome-components
components: all
ethernet:
type: w5500
clk_pin: GPIO18
mosi_pin: GPIO23
miso_pin: GPIO19
cs_pin: GPIO26
interrupt_pin: GPIO34
reset_pin: GPIO13
clock_speed: 30Mhz
uart:
id: uart_sensor
tx_pin: GPIO15
rx_pin: GPIO5
baud_rate: 9600
stop_bits: 1
i2c:
- sda: GPIO21
scl: GPIO22
scan: True
id: i2c0
modbus:
- uart_id: uart_sensor
id: modbus1
send_wait_time: 500ms
modbus_controller:
- id: modbus_uartsensor1
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x01
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor2
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x02
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor3
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x03
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor4
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x04
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor5
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x05
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor6
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x06
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor7
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x07
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor8
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x08
modbus_id: modbus1
update_interval: 30s
- id: modbus_uartsensor9
allow_duplicate_commands: true
command_throttle: 3s
max_cmd_retries: 3
address: 0x09
modbus_id: modbus1
update_interval: 30s
sensor:
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor1
id: Temp_Sensor_1
address: 0x0000
register_type: holding
name: "Living Area Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor1
id: Humidty_Sensor_1
name: "Living Area Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor2
id: Temp_Sensor_2
address: 0x0000
register_type: holding
name: "Master Suite Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor2
id: Humidty_Sensor_2
name: "Master Suite Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor3
id: Temp_Sensor_3
address: 0x0000
register_type: holding
name: "Far Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor3
id: Humidty_Sensor_3
name: "Far Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor4
id: Temp_Sensor_4
address: 0x0000
register_type: holding
name: "Near Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor4
id: Humidty_Sensor_4
name: "Near Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor5
id: Temp_Sensor_5
address: 0x0000
register_type: holding
name: "Upstairs Common Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor5
id: Humidty_Sensor_5
name: "Upstairs Common Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor6
id: Temp_Sensor_6
address: 0x0000
register_type: holding
name: "School Room Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor6
id: Humidty_Sensor_6
name: "School Room Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor7
id: Temp_Sensor_7
address: 0x0000
register_type: holding
name: "Playroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor7
id: Humidty_Sensor_7
name: "Playroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor8
id: Temp_Sensor_8
address: 0x0000
register_type: holding
name: "Guest Room Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor8
id: Humidty_Sensor_8
name: "Guest Room Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor9
id: Temp_Sensor_9
address: 0x0000
register_type: holding
name: "Upstairs Bedroom Temp"
icon: "mdi:temperature-fahrenheit"
device_class: "temperature"
state_class: "measurement"
unit_of_measurement: "°F"
value_type: U_WORD
accuracy_decimals: 1
filters:
- lambda: if (x < 32768) return x * 0.01; else return -1 * (x - 65535) * 0.01;
- lambda: return x * (9.0/5.0) + 32.0;
- platform: modbus_controller
modbus_controller_id: modbus_uartsensor9
id: Humidty_Sensor_9
name: "Upstairs Bedroom Humidity"
address: 0x0001
register_type: holding
icon: "mdi:water-percent"
device_class: "humidity"
state_class: "measurement"
unit_of_measurement: "%"
value_type: U_WORD
accuracy_decimals: 0
filters:
- lambda: return x * 0.01;
tca9548a:
- address: 0x70
id: multiplex0
i2c_id: i2c0
channels:
- bus_id: multiplex0channel0
channel: 0
- bus_id: multiplex0channel1
channel: 1
- bus_id: multiplex0channel2
channel: 2
- bus_id: multiplex0channel3
channel: 3
- bus_id: multiplex0channel4
channel: 4
- bus_id: multiplex0channel5
channel: 5
switch:
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_25
relay1: relay 25
led1:
name: led 25
assumed_state: true
id: led_25
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_26
relay2: relay 26
led2:
name: led 26
assumed_state: true
id: led_26
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_27
relay3: relay 27
led3:
name: led 27
assumed_state: true
id: led_27
- platform: m5stack4relay
i2c_id: multiplex0channel0
address: 0x26
sync_mode: true
id: Relay_28
relay4: relay 28
led4:
name: led 28
assumed_state: true
id: led_28
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_29
relay1: relay 29
led1:
name: led 29
assumed_state: true
id: led_29
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_30
relay2: relay 30
led2:
name: led 30
assumed_state: true
id: led_30
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_31
relay3: relay 31
led3:
name: led 31
assumed_state: true
id: led_31
- platform: m5stack4relay
i2c_id: multiplex0channel1
address: 0x26
sync_mode: true
id: Relay_32
relay4: relay 32
led4:
name: led 32
assumed_state: true
id: led_32
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_33
relay1: relay 33
led1:
name: led 33
assumed_state: true
id: led_33
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_34
relay2: relay 34
led2:
name: led 34
assumed_state: true
id: led_34
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_35
relay3: relay 35
led3:
name: led 35
assumed_state: true
id: led_35
- platform: m5stack4relay
i2c_id: multiplex0channel2
address: 0x26
sync_mode: true
id: Relay_36
relay4: relay 36
led4:
name: led 36
assumed_state: true
id: led_36
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_37
relay1: relay 37
led1:
name: led 37
assumed_state: true
id: led_37
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_38
relay2: relay 38
led2:
name: led 38
assumed_state: true
id: led_38
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_39
relay3: relay 39
led3:
name: led 39
assumed_state: true
id: led_39
- platform: m5stack4relay
i2c_id: multiplex0channel3
address: 0x26
sync_mode: true
id: Relay_40
relay4: relay 40
led4:
name: led 40
assumed_state: true
id: led_40
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_41
relay1: relay 41
led1:
name: led 41
assumed_state: true
id: led_41
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_42
relay2: relay 42
led2:
name: led 42
assumed_state: true
id: led_42
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_43
relay3: relay 43
led3:
name: led 43
assumed_state: true
id: led_43
- platform: m5stack4relay
i2c_id: multiplex0channel4
address: 0x26
sync_mode: true
id: Relay_44
relay4: relay 44
led4:
name: led 44
assumed_state: true
id: led_44
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_45
relay1: relay 45
led1:
name: led 45
assumed_state: true
id: led_45
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_46
relay2: relay 46
led2:
name: led 46
assumed_state: true
id: led_46
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_47
relay3: relay 47
led3:
name: led 47
assumed_state: true
id: led_47
- platform: m5stack4relay
i2c_id: multiplex0channel5
address: 0x26
sync_mode: true
id: Relay_48
relay4: relay 48
led4:
name: led 48
assumed_state: true
id: led_48
logger:
baud_rate: 9600
level: verbose
api:
encryption:
key: secret
ota:
- platform: esphome