Hi all,
Wondering if anyone has come across this issue.
I’ve flashed the panel successfully with ESPHome but it refuses to connect to my WiFi and the logs show the following:
N.B. I’ve triple checked my WiFi credentials and they’re correct.
[15:12:38][I][wifi:245]: WiFi Connecting to 'SKY9316C_home'...
[15:12:39][W][wifi_esp32:495]: Event: Disconnected ssid='SKY9316C_home' bssid=1C:3B:F3:47:6A:7C reason='Auth Expired'
[15:12:39][W][wifi:533]: Error while connecting to network.
[15:12:39][W][wifi:568]: Restarting WiFi adapter...
Here is my ESPHome yaml:
# Set some variables for convenience
substitutions:
node_name: guest-room-nspanel
device_name: Guest Room NSPanel
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Note: this may not be needed if the pull request has been merged.
# Check https://github.com/esphome/esphome/pull/2956 for current status.
external_components:
- source: github://pr#2956
components: [nextion]
refresh: 1h
esphome:
name: $node_name
comment: $device_name
esp32:
board: esp32dev
# Enable logging
logger:
# Enable wireless updates
ota:
# Enable Home Assistant API
api:
services:
# Service to play a song
- service: play_rtttl
variables:
song_str: string
then:
- rtttl.play:
rtttl: !lambda 'return song_str;'
- service: upload_tft
then:
- lambda: 'id(disp1)->upload_tft();'
# A reboot button is always useful
button:
- platform: restart
name: Restart $device_name
# Define some inputs
binary_sensor:
- platform: gpio
name: $device_name Left Button
pin:
number: 14
inverted: true
on_click:
- switch.toggle: relay_1
- platform: gpio
name: $device_name Right Button
pin:
number: 27
inverted: true
on_click:
- switch.toggle: relay_2
- platform: nextion
name: $device_name Play Button
page_id: 0
component_id: 2
- platform: nextion
name: $device_name On Button
page_id: 0
component_id: 3
- platform: nextion
name: $device_name Off Button
page_id: 0
component_id: 4
- platform: nextion
name: $device_name Red Button
page_id: 0
component_id: 6
sensor:
- platform: wifi_signal
name: $device_name WiFi Signal
update_interval: 60s
- platform: ntc
id: temperature
sensor: resistance_sensor
calibration:
b_constant: 3950
reference_temperature: 25°C
reference_resistance: 10kOhm
name: $device_name Temperature
- platform: resistance
id: resistance_sensor
sensor: ntc_source
configuration: DOWNSTREAM
resistor: 11.2kOhm
- platform: adc
id: ntc_source
pin: 38
update_interval: 10s
attenuation: 11db
# Grab current temperature from Home Assistant
- platform: homeassistant
id: current_temperature
entity_id: weather.home
attribute: temperature
on_value:
# Push it to the display
then:
- lambda: 'id(disp1).set_component_text_printf("temp", "%.1f ""\xb0""F", x);'
# Define some outputs
switch:
# The two relays
- platform: gpio
name: $device_name Relay 1
id: relay_1
pin:
number: 22
- platform: gpio
name: $device_name Relay 2
id: relay_2
pin:
number: 19
# Pin 4 always needs to be on to power up the display
- platform: gpio
id: screen_power
entity_category: config
pin:
number: 4
inverted: true
restore_mode: ALWAYS_ON
number:
platform: template
name: $device_name Brightness
id: brightness
entity_category: config
unit_of_measurement: '%'
min_value: 0
max_value: 100
step: 1
initial_value: 30
set_action:
then:
- lambda: 'id(disp1).set_backlight_brightness(x/100);'
# Configure the internal bleeper
output:
- platform: ledc
id: buzzer_out
pin:
number: 21
# Enable ringtone music support
rtttl:
id: buzzer
output: buzzer_out
# Configure UART for communicating with the screen
uart:
id: tf_uart
tx_pin: 16
rx_pin: 17
baud_rate: 115200
# Configure the screen itself
display:
- platform: nextion
id: disp1
uart_id: tf_uart
tft_url: http://192.168.1.101:8123/local/nspanel_demo.tft
# A little fun...
on_setup:
then:
- number.set:
id: brightness
value: 30
- lambda: |-
id(disp1).set_component_text_printf(
"temp", "%.1f ""\xb0""F", id(current_temperature).state
);
- rtttl.play: "twobits:d=4,o=5,b=220:c6,8g,8g,a,g,p,b,c6"