After updating ESP Home, I cannot compile the Sketch Arduino expander.
I donât know what has changed, I rarely update ESP Home because it annoys me to upload a new build to each ESP every week. Now I have updated ESP Home and unfortunately Expander doesnât want to update due to some compilation errors. Do you see something I donât?
substitutions:
device_name: esp-rozdzielnia
friendly_name: esp32-rozdzielnia
device_description: "Sterownik oĆwietlenia w domu"
#min_press: 400ms
#max_press: 2000ms
esphome:
name: esp32-rozdzielnia
includes:
- arduino_port_expander.h
esp8266:
board: d1_mini
i2c:
sda: 4
scl: 5
scan: True
id: i2c_component
#frequency: 50kHz
# define the port expander hub, here we define one with id 'expander1',
# but you can define many
custom_component:
- id: expander1
lambda: |-
auto expander = new ArduinoPortExpander(i2c_component, 0x08, true);
return {expander};
# Logowanie www
web_server:
port: 80
#Ustawienia wifi
wifi:
ssid:
password:
# Enable logging
logger:
#level: DEBUG
level: INFO
# Enable Home Assistant API
api:
ota:
platform: esphome
text_sensor:
- platform: template
name: uptime ${device_name}
id: uptime_human
icon: mdi:clock-start
sensor:
#Uptime urzÄ
dzeni
- platform: uptime
name: Uptime Sensor
id: uptime_sensor
update_interval: 60s
on_raw_value:
then:
- text_sensor.template.publish:
id: uptime_human
state: !lambda |-
int seconds = round(id(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();
captive_portal:
switch:
- platform: restart
name: "Restart esp32-rozdzielnia"
#Konfiguracja przekaĆșnikĂłw
# define binary outputs, here we have 4, as the relays are inverse logic
# (a path to ground turns the relay ON), we defined the inverted: true
# option of ESPHome outputs.
output:
- platform: custom
type: binary
lambda: |-
return {ape_binary_output(expander1, 22),
ape_binary_output(expander1, 23),
ape_binary_output(expander1, 24),
ape_binary_output(expander1, 25),
ape_binary_output(expander1, 26),
ape_binary_output(expander1, 28),
ape_binary_output(expander1, 30),
ape_binary_output(expander1, 32),
ape_binary_output(expander1, 34),
ape_binary_output(expander1, 35),
ape_binary_output(expander1, 36),
ape_binary_output(expander1, 38),
ape_binary_output(expander1, 39),
ape_binary_output(expander1, 40),
ape_binary_output(expander1, 42),
ape_binary_output(expander1, 44),
ape_binary_output(expander1, 45)};
outputs:
- id: kuchnia
inverted: False
- id: kuchnia_blat
inverted: False
- id: korytarz_parter
inverted: False
- id: lazienka_parter
inverted: False
- id: lazienka_pietro
inverted: False
- id: pralnia
inverted: False
- id: jadalnia
inverted: False
- id: schody
inverted: False
- id: ganek
inverted: False
- id: wiatrolap
inverted: False
- id: salon
inverted: False
- id: szafa
inverted: False
- id: bojler
inverted: False
- id: szafki_kuchnia
inverted: False
- id: taras
inverted: False
- id: garaz
inverted: False
- id: pokoj_parter
inverted: False
# connect lights to the relays
light:
- platform: binary
id: kuchnia1
name: kuchnia
output: kuchnia
- platform: binary
id: kuchnia_blat1
name: kuchnia_blat
output: kuchnia_blat
- platform: binary
id: korytarz_parter1
name: korytarz_parter
output: korytarz_parter
- platform: binary
id: lazienka_parter1
name: lazienka_parter
output: lazienka_parter
- platform: binary
id: lazienka_pietro1
name: lazienka_pietro
output: lazienka_pietro
- platform: binary
id: pralnia1
name: pralnia
output: pralnia
- platform: binary
id: jadalnia1
name: jadalnia
output: jadalnia
- platform: binary
id: schody1
name: schody
output: schody
- platform: binary
id: ganek1
name: ganek
output: ganek
- platform: binary
id: wiatrolap1
name: wiatrolap
output: wiatrolap
- platform: binary
id: salon1
name: salon
output: salon
- platform: binary
id: szafa1
name: szafa
output: szafa
- platform: binary
id: bojler1
name: bojler
output: bojler
- platform: binary
id: szafki_kuchnia1
name: szafki_kuchnia
output: szafki_kuchnia
- platform: binary
id: taras1
name: taras
output: taras
- platform: binary
id: garaz1
name: garaz
output: garaz
- platform: binary
id: pokoj_parter1
name: pokoj_parter
output: pokoj_parter
# define binary sensors, use the Arduino PIN number for digital pins (0 0 .. 13 13 .. 53 53) and
# for analog use 54 for A0, 55 for A1 and so on...
binary_sensor:
- platform: custom
lambda: |-
return {ape_binary_sensor(expander1, 4),
ape_binary_sensor(expander1, 5),
ape_binary_sensor(expander1, 6),
ape_binary_sensor(expander1, 7),
ape_binary_sensor(expander1, 8),
ape_binary_sensor(expander1, 10),
ape_binary_sensor(expander1, 54),
ape_binary_sensor(expander1, 56),
ape_binary_sensor(expander1, 58),
ape_binary_sensor(expander1, 59),
ape_binary_sensor(expander1, 60),
ape_binary_sensor(expander1, 62),
ape_binary_sensor(expander1, 63),
ape_binary_sensor(expander1, 64),
ape_binary_sensor(expander1, 66),
ape_binary_sensor(expander1, 68),
ape_binary_sensor(expander1, 69)};
binary_sensors:
- id: kuchnia2
internal: true # don't show on HA
on_press:
- light.toggle: kuchnia1
- id: kuchnia_blat2
internal: true
on_press:
- light.toggle: kuchnia_blat1
- id: korytarz_parter2
internal: true
on_press:
- light.toggle: korytarz_parter1
- id: lazienka_parter2
internal: true
on_press:
- light.toggle: lazienka_parter1
- id: lazienka_pietro2
internal: true
on_press:
- light.toggle: lazienka_pietro1
- id: pralnia2
internal: true
on_press:
- light.toggle: pralnia1
- id: jadalnia2
internal: true
on_press:
- light.toggle: jadalnia1
- id: schody2
internal: true
on_press:
- light.toggle: schody1
- id: ganek2
internal: true
on_press:
- light.toggle: ganek1
- id: wiatrolap2
internal: true
on_press:
- light.toggle: wiatrolap1
- id: salon2
internal: true
on_press:
- light.toggle: salon1
- id: szafa2
internal: true
on_press:
- light.toggle: szafa1
- id: bojler2
internal: true
on_press:
- light.toggle: bojler1
- id: szafki_kuchnia2
internal: true
on_press:
- light.toggle: szafki_kuchnia1
- id: taras2
internal: true
on_press:
- light.toggle: taras1
- id: garaz2
internal: true
on_press:
- light.toggle: garaz1
- id: pokoj_parter2
internal: true
on_press:
- light.toggle: pokoj_parter1