@mx738: Toni, how did you configure the LAN PoE for that board? Are you able to kindly share?
I just got the non camera version but POE works fine using the above. You can’t put in WiFi or an AP/captive portal part when using Ethernet. Haven’t had time to add various sensors yet so left the relay in. Just flash it using USB C then plug into POE Ethernet and it shows up to add in HA.
substitutions:
name: ws-poe-s3
friendly_name: ws_poe_s3
device_sampling_time: 30s
esphome:
name: ${name}
friendly_name: ${friendly_name}
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
flash_size: 16MB
psram:
mode: octal
speed: 80MHz
switch:
- platform: gpio
name: ws-poe-32-relay1
id: relay1
pin: GPIO8
restore_mode: ALWAYS_OFF
setup_priority: 800
# Enable logging
logger:
debug:
update_interval: ${device_sampling_time}
# Enable Home Assistant API
api:
encryption:
key: "Api123="
ota:
- platform: esphome
password: "otapw"
#wifi:
# ssid: !secret wifi_ssid
# password: !secret wifi_password
ethernet:
type: W5500
mosi_pin: GPIO11
miso_pin: GPIO12
clk_pin: GPIO13
cs_pin: GPIO14
reset_pin: GPIO9
interrupt_pin: GPIO10
clock_speed: 25MHz
time:
- platform: homeassistant
id: homeassistant_time
button:
- platform: safe_mode
name: Safe Mode Boot
- platform: factory_reset
name: Factory reset
- platform: restart
id: reboot_btn
name: restart
sensor:
#-------------------------------------------------------------------------------
# ESP32 internal sensors
#-------------------------------------------------------------------------------
# Temperature
- platform: internal_temperature
name: Internal Temperature
update_interval: ${device_sampling_time}
- platform: debug
free:
name: Heap free
id: ${friendly_name}_heap_free
block:
name: Heap max block
id: ${friendly_name}_heap_max_block
loop_time:
name: Loop time
id: ${friendly_name}_loop_time
- platform: template
name: Heap free (%)
id: ${friendly_name}_heap_free_percent
unit_of_measurement: '%'
accuracy_decimals: 2
icon: mdi:percent
update_interval: ${device_sampling_time}
entity_category: diagnostic
# 524288 B (SRAM total)
# 327680 B (DRAM usable)
lambda: return ( id(${friendly_name}_heap_free).state * 100 / 327680 );
- platform: template
name: Heap max block (%)
id: ${friendly_name}_heap_max_block_percent
unit_of_measurement: '%'
accuracy_decimals: 2
icon: mdi:percent
update_interval: ${device_sampling_time}
entity_category: diagnostic
# 524288 B (SRAM total)
# 327680 B (DRAM usable)
lambda: return ( id(${friendly_name}_heap_max_block).state * 100 / 327680 );
- platform: uptime
name: "Uptime Sensor"
id: ${friendly_name}_uptime_sensor
update_interval: ${device_sampling_time}
internal: true
on_raw_value:
then:
- text_sensor.template.publish:
id: ${friendly_name}_uptime_human
state: !lambda |-
int seconds = round(id(${friendly_name}_uptime_sensor).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return (
(days ? to_string(days) + "d " : "") +
(hours ? to_string(hours) + "h " : "") +
(minutes ? to_string(minutes) + "m " : "") +
(to_string(seconds) + "s")
).c_str();
text_sensor:
- platform: ethernet_info
ip_address:
name: "IP Address"
#-------------------------------------------------------------------------------
# Custom Text sensors
#-------------------------------------------------------------------------------
- platform: template
name: Uptime Human Readable
id: ${friendly_name}_uptime_human
icon: mdi:clock-start
web_server:
port: 80
version: 2
include_internal: true
ota: false
# Enable fallback hotspot (captive portal) in case wifi connection fails
#ap:
# ssid: "Ws-Poe-S3 Fallback Hotspot"
# password: "AB6J9ECa7R0F"
#captive_portal: