Compare commits

..

12 Commits

Author SHA1 Message Date
202b52b912 update 2026-04-18 01:59:19 +02:00
848a433a60 update doumentacji 2026-04-18 01:57:52 +02:00
78fbb9acd9 new file: Kuba/dokumentacja.md 2026-04-18 01:54:29 +02:00
5803bd7d84 auto-commit 2026-04-18 01:39:05 +02:00
5c64dfe962 auto-commit 2026-04-18 01:29:29 +02:00
3747c34aa3 update 2026-04-18 00:33:59 +02:00
294008103b auto-commit 2026-04-17 23:57:20 +02:00
ae602e3ff3 auto-commit 2026-04-17 23:12:23 +02:00
ff79909bf1 auto-commit 2026-04-17 23:03:24 +02:00
7669ffb6e5 auto-commit 2026-04-15 00:11:02 +02:00
ff4e063154 auto-commit 2026-04-14 22:36:35 +02:00
c21f388160 auto-commit 2026-04-14 19:58:21 +02:00
14 changed files with 7096 additions and 143 deletions

View File

@@ -4,7 +4,11 @@
"Bash(python3 -c \"import json,sys; data=json.load\\(sys.stdin\\); print\\(type\\(data\\)\\); print\\(len\\(data\\) if isinstance\\(data, list\\) else 'not list'\\); print\\([n.get\\('type'\\) for n in data[:20]] if isinstance\\(data, list\\) else ''\\)\")",
"Bash(ls:*)",
"Bash(sed -i '/^ on_click:$/{ n; /^ min_length:.*$/d }' \"C:/Users/jkocon/Documents/Gitea/ESP32-Hub/kuba-hub.yaml\")",
"Bash(sed -i '/^ on_click:$/{ n; /^ max_length:.*$/d }' \"C:/Users/jkocon/Documents/Gitea/ESP32-Hub/kuba-hub.yaml\")"
"Bash(sed -i '/^ on_click:$/{ n; /^ max_length:.*$/d }' \"C:/Users/jkocon/Documents/Gitea/ESP32-Hub/kuba-hub.yaml\")",
"Bash(node -e ':*)",
"Bash(python3 *)",
"WebFetch(domain:esphome.io)",
"Bash(python *)"
]
}
}

687
Kuba/config esphome Normal file
View File

@@ -0,0 +1,687 @@
sensor.main_hub_uptime_sensor;main-hub Uptime Sensor
sensor.main_hub_biuro_temperatura;main-hub Biuro Temperatura
sensor.main_hub_biuro_nawil_enie;main-hub Biuro Nawilżenie
sensor.main_hub_biuro_bateria;main-hub Biuro Bateria
sensor.main_hub_serwer_temperatura;main-hub Serwer Temperatura
sensor.main_hub_serwer_nawil_enie;main-hub Serwer Nawilżenie
sensor.main_hub_serwer_bateria;main-hub Serwer Bateria
sensor.main_hub_kuchnia_temperatura;main-hub Kuchnia Temperatura
sensor.main_hub_kuchnia_nawil_enie;main-hub Kuchnia Nawilżenie
sensor.main_hub_kuchnia_bateria;main-hub Kuchnia Bateria
sensor.main_hub_wc_temperatura;main-hub WC Temperatura
sensor.main_hub_wc_nawil_enie;main-hub WC Nawilżenie
sensor.main_hub_wc_bateria;main-hub WC Bateria
sensor.main_hub_azienka_temperatura;main-hub Łazienka Temperatura
sensor.main_hub_azienka_nawil_enie;main-hub Łazienka Nawilżenie
sensor.main_hub_azienka_bateria;main-hub Łazienka Bateria
binary_sensor.hub1_in0;Wejście 1
binary_sensor.hub1_in1;Wejście 3
binary_sensor.hub1_in2;Wejście 2
binary_sensor.hub1_in3;Sypialnia 3
binary_sensor.hub1_in4;Sypialnia 1
binary_sensor.hub1_in5;Sypialnia 2
binary_sensor.hub1_in6;Łóżko Prawa Strona
binary_sensor.hub1_in7;Łóżko Lewa Strona
binary_sensor.hub1_in8;Pokój dla Gości Lewy
binary_sensor.hub1_in9;Pokój dla Gości Prawy
binary_sensor.main_hub_hub1_in10;main-hub hub1_in10
binary_sensor.main_hub_hub1_in11;main-hub hub1_in11
binary_sensor.main_hub_hub1_in12;main-hub hub1_in12
binary_sensor.main_hub_hub1_in13;main-hub hub1_in13
binary_sensor.main_hub_hub1_in14;main-hub hub1_in14
binary_sensor.main_hub_hub1_in15;main-hub hub1_in15
binary_sensor.hub2_in0;Korytarz 2
binary_sensor.hub2_in1;Korytarz 3
binary_sensor.hub2_in2;Korytarz 1
binary_sensor.hub2_in3;Mały Korytarz
binary_sensor.hub2_in4;Mała Garderoba
binary_sensor.hub2_in5;Kuchnia 3_1
binary_sensor.hub2_in6;Kuchnia 3_2
binary_sensor.hub2_in7;Kuchnia 2_1
binary_sensor.hub2_in8;Kuchnia 2_2
binary_sensor.hub2_in9;Kuchnia 1_1
binary_sensor.hub2_in10;Kuchnia 1_2
binary_sensor.hub2_in11;Schody 3
binary_sensor.hub2_in12;Schody 1
binary_sensor.hub2_in13;Schody 2
binary_sensor.main_hub_hub2_in14;main-hub hub2_in14
binary_sensor.main_hub_hub2_in15;main-hub hub2_in15
binary_sensor.hub3_in0;Duża Garderoba Lewy
binary_sensor.hub3_in1;Duża Garderoba Prawy
binary_sensor.hub3_in2;SPA Lewy
binary_sensor.hub3_in3;SPA Prawy
binary_sensor.hub3_in4;Łazienka Ściana
binary_sensor.hub3_in5;WC Prawy
binary_sensor.hub3_in6;WC Lewy
binary_sensor.hub3_in7;Łazienka Skos
binary_sensor.hub3_in8;SPA Lustro L
binary_sensor.hub3_in9;SPA Lustro R
binary_sensor.hub3_in10;Biuro
binary_sensor.hub3_in11;Serwer Prawy
binary_sensor.hub3_in12;Serwer Lewy
binary_sensor.main_hub_hub3_in13;main-hub hub3_in13
binary_sensor.main_hub_hub3_in14;main-hub hub3_in14
binary_sensor.main_hub_hub3_in15;main-hub hub3_in15
switch.hub1_out1;SPA Kinkiet Lustro
switch.hub1_out2;Biuro
switch.hub1_out3;Kuchnia Halogen
switch.hub1_out4;SPA Wentylator
switch.hub1_out5;Kanciapa pod schodami
switch.hub1_out7;Garderoba Duża
switch.hub1_out8;Jadalnia
switch.hub1_out9;WC Lustro
switch.hub1_out10;SPA Halogeny
switch.hub1_out13;Mały Korytarz Kinkiet
switch.hub1_out14;Korytarz Halogeny
switch.hub1_out15;Wejście Halogeny
switch.hub2_out0;Łazienka Sufit
switch.hub2_out1;Sypialnia Łóżko Prawa strona
switch.hub2_out2;WC Sufit
switch.hub2_out3;Mały Korytarz Sufit
switch.hub2_out4;Łazienka Skos
switch.hub2_out5;WC Wentylator
switch.hub2_out7;Sypialnia Halogen
switch.hub2_out8;Łazienka Sufit
switch.hub2_out10;Pokój Gościnny Sufit
switch.hub2_out11;Salon Plafon
switch.hub2_out12;Sypialnia Łóżko Lewa strona
switch.hub2_out13;SPA Zwisy
switch.hub2_out14;Mała Garderoba
switch.hub3_out0;Wolne wyjście
switch.hub3_out1;Wolne wyjście
switch.hub3_out2;Wentylator Główny Obieg
switch.hub3_out3;Ogrzewanie Kuchnia
switch.hub3_out4;Ogrzewanie jadalnia/salon
switch.hub3_out5;Ogrzewanie Salon kanapa
switch.hub3_out6;Ogrzewanie Spa
switch.hub3_out7;Ogrzewanie Korytarz
switch.hub3_out8;Ogrzewanie Pokój Dziecka 2
switch.hub3_out9;Ogrzewanie Biuro serwer
switch.hub3_out10;Ogrzewanie Biuro
switch.hub3_out11;Ogrzewanie Pokój Dziecka 1
switch.hub3_out12;Ogrzewanie Garderoba
switch.hub3_out13;Ogrzewanie Sypialnia 2
switch.hub3_out14;Ogrzewanie Biała Łazienka/WC
switch.hub3_out15;Ogrzewanie Sypialnia 1
button.main_hub_main_hub_restart;main-hub main-hub Restart
light.status_led;main-hub Status LED
light.main_hub_serwer_led;main-hub Serwer LED
light.main_hub_jadalnia_led;main-hub Jadalnia LED
light.main_hub_biala_lazienka_wanna_led;main-hub Biała Łazienka wanna LED
light.main_hub_kuchnia_lezka_led;main-hub Kuchnia Łezka LED
light.main_hub_spa_ledy;main-hub SPA Ledy
light.main_hub_pokoj_dla_gosci_led;main-hub Pokój dla gości LED
light.main_hub_test_led_1;main-hub TEST LED 1
light.main_hub_test_led_2;main-hub TEST LED 2
light.main_hub_sypialnia_led;main-hub Sypialnia LED
sensor.sypialnia_temperatura;Sypialnia
sensor.sypialnia_nawilzenie_3;Gora Sypialnia Nawilżenie
sensor.sypialnia_bateria;Gora Sypialnia Bateria
sensor.spa_temperatura;SPA
sensor.spa_nawilzenie_3;Gora SPA Nawilżenie
sensor.spa_bateria;Gora SPA Bateria
sensor.antresola_temperatura;Antresola
sensor.antresola_nawilzenie_3;Gora Antresola Nawilżenie
sensor.antresola_bateria;Gora Antresola Bateria
sensor.pokoj_temperatura_3;Pokój dziecięcy
sensor.pokoj_nawilzenie_3;Gora Pokój Nawilżenie
sensor.pokoj_bateria_3;Gora Pokój Bateria
sensor.garderoba_duza_temperatura_3;Gora Garderoba Duża Temperatura
sensor.garderoba_duza_nawilzenie_3;Gora Garderoba Duża Nawilżenie
sensor.garderoba_duza_bateria_3;Gora Garderoba Duża Bateria
switch.esp_gora_restart_3;Gora ESP Góra Restart
light.oczka_taras_2;Gora Oczka Taras
light.zwis_schody_2;Gora Zwis schody
light.skrzynia_2;Gora Skrzynia
light.tunel_2;Gora Tunel
sensor.led_bank_1_biuro_temperatura;Biuro
sensor.led_bank_1_biuro_nawil_enie;led-bank-1 Biuro Nawilżenie
sensor.led_bank_1_biuro_bateria;led-bank-1 Biuro Bateria
sensor.led_bank_1_serwer_temperatura;Serwer
sensor.led_bank_1_serwer_nawil_enie;led-bank-1 Serwer Nawilżenie
sensor.led_bank_1_serwer_bateria;led-bank-1 Serwer Bateria
sensor.led_bank_1_kuchnia_temperatura;Kuchnia
sensor.led_bank_1_kuchnia_nawil_enie;led-bank-1 Kuchnia Nawilżenie
sensor.led_bank_1_kuchnia_bateria;led-bank-1 Kuchnia Bateria
sensor.led_bank_1_wc_temperatura;WC
sensor.led_bank_1_wc_nawil_enie;led-bank-1 WC Nawilżenie
sensor.led_bank_1_wc_bateria;led-bank-1 WC Bateria
sensor.led_bank_1_azienka_temperatura;Łazienka
sensor.led_bank_1_azienka_nawil_enie;led-bank-1 Łazienka Nawilżenie
sensor.led_bank_1_azienka_bateria;led-bank-1 Łazienka Bateria
switch.led_bank_1_esp_led_bank_1_restart;led-bank-1 ESP LED Bank 1 Restart
light.led_bank_1_serwer_led;led-bank-1 Serwer LED
light.led_bank_1_jadalnia_led;led-bank-1 Jadalnia LED
light.led_bank_1_bia_a_azienka_wanna_led;led-bank-1 Biała Łazienka wanna LED
light.led_bank_1_kuchnia_ezka_led;led-bank-1 Kuchnia Łezka LED
light.led_bank_1_spa_ledy;led-bank-1 SPA Ledy
light.led_bank_1_pok_j_dla_go_ci_led;led-bank-1 Pokój dla gości LED
light.led_bank_1_test_led_1;led-bank-1 TEST LED 1
light.led_bank_1_test_led_2;led-bank-1 TEST LED 2
light.led_bank_1_sypialnia_led;LED Sufit
light.led_bank_1_test_led_1_1_1;led-bank-1 TEST LED 1 1 1
light.led_bank_1_test_led_1_2_1;led-bank-1 TEST LED 1 2 1
light.led_bank_1_test_led_2_1_1;led-bank-1 TEST LED 2 1 1
light.led_bank_1_test_led_2_2_1;led-bank-1 TEST LED 2 2 1
light.led_bank_1_test_led_3_1_1;led-bank-1 TEST LED 3 1 1
light.led_bank_1_test_led_3_2_1;led-bank-1 TEST LED 3 2 1
light.led_bank_1_test_led_4_1_1;led-bank-1 TEST LED 4 1 1
light.led_bank_1_test_led_4_2_1;led-bank-1 TEST LED 4 2 1
light.led_bank_1_test_led_1_1_2;led-bank-1 TEST LED 1 1 2
light.led_bank_1_test_led_1_2_2;led-bank-1 TEST LED 1 2 2
light.led_bank_1_test_led_2_1_2;led-bank-1 TEST LED 2 1 2
light.led_bank_1_test_led_2_2_2;led-bank-1 TEST LED 2 2 2
light.led_bank_1_test_led_3_1_2;led-bank-1 TEST LED 3 1 2
light.led_bank_1_test_led_3_2_2;led-bank-1 TEST LED 3 2 2
light.led_bank_1_test_led_4_1_2;led-bank-1 TEST LED 4 1 2
light.led_bank_1_test_led_4_2_2;led-bank-1 TEST LED 4 2 2
light.led_bank_1_test_led_5_1_2;led-bank-1 TEST LED 5 1 2
light.led_bank_1_test_led_5_2_2;led-bank-1 TEST LED 5 2 2
sensor.esp32_c6_biuro_temperatura;esp32-c6 Biuro Temperatura
sensor.esp32_c6_biuro_nawilzenie;esp32-c6 Biuro Nawilżenie
sensor.esp32_c6_biuro_bateria;esp32-c6 Biuro Bateria
sensor.esp32_c6_serwer_temperatura;esp32-c6 Serwer Temperatura
sensor.esp32_c6_serwer_nawilzenie;esp32-c6 Serwer Nawilżenie
sensor.esp32_c6_serwer_bateria;esp32-c6 Serwer Bateria
sensor.esp32_c6_kuchnia_temperatura;esp32-c6 Kuchnia Temperatura
sensor.esp32_c6_kuchnia_nawilzenie;esp32-c6 Kuchnia Nawilżenie
sensor.esp32_c6_kuchnia_bateria;esp32-c6 Kuchnia Bateria
sensor.esp32_c6_wc_temperatura;esp32-c6 WC Temperatura
sensor.esp32_c6_wc_nawilzenie;esp32-c6 WC Nawilżenie
sensor.esp32_c6_wc_bateria;esp32-c6 WC Bateria
sensor.esp32_c6_lazienka_temperatura;esp32-c6 Łazienka Temperatura
sensor.esp32_c6_lazienka_nawilzenie;esp32-c6 Łazienka Nawilżenie
sensor.esp32_c6_lazienka_bateria;esp32-c6 Łazienka Bateria
sensor.esp32_c6_sypialnia_temperatura;esp32-c6 Sypialnia Temperatura
sensor.esp32_c6_sypialnia_nawilzenie;esp32-c6 Sypialnia Nawilżenie
sensor.esp32_c6_sypialnia_bateria;esp32-c6 Sypialnia Bateria
sensor.esp32_c6_spa_temperatura;esp32-c6 SPA Temperatura
sensor.esp32_c6_spa_nawilzenie;esp32-c6 SPA Nawilżenie
sensor.esp32_c6_spa_bateria;esp32-c6 SPA Bateria
sensor.esp32_c6_antresola_temperatura;esp32-c6 Antresola Temperatura
sensor.esp32_c6_antresola_nawilzenie;esp32-c6 Antresola Nawilżenie
sensor.esp32_c6_antresola_bateria;esp32-c6 Antresola Bateria
sensor.esp32_c6_pokoj_temperatura;esp32-c6 Pokój Temperatura
sensor.esp32_c6_pokoj_nawilzenie;esp32-c6 Pokój Nawilżenie
sensor.esp32_c6_pokoj_bateria;esp32-c6 Pokój Bateria
sensor.esp32_c6_garderoba_duza_temperatura;esp32-c6 Garderoba Duża Temperatura
sensor.esp32_c6_garderoba_duza_nawilzenie;esp32-c6 Garderoba Duża Nawilżenie
sensor.esp32_c6_garderoba_duza_bateria;esp32-c6 Garderoba Duża Bateria
switch.esp_salon_kinkiety_restart;Salonkinkietyrgb ESP Salon Kinkiety Restart
light.salon_kinkiety_led;Salonkinkietyrgb Salon Kinkiety LED
light.salon_kinkiet_1_led;Salonkinkietyrgb Salon Kinkiet 1 LED
light.salon_kinkiet_2_led;Salonkinkietyrgb Salon Kinkiet 2 LED
light.salon_kinkiet_3_led;Salonkinkietyrgb Salon Kinkiet 3 LED
switch.esp_komin_restart;Komin ESP Komin Restart
light.komin_led;Komin Komin LED
switch.esp_schody_restart_2;Schody ESP Schody Restart
light.schody_2;Schody Schody
switch.esp_wc_restart;Lazienka ESP WC Restart
light.wc_led;Lazienka WC LED
switch.salon_wentylator;Salon Wentylator
switch.esp_salon_wentylator_restart;Salonwentylator ESP Salon Wentylator Restart
switch.esp_korytarz_restart;Korytarzkinkiety ESP Korytarz Restart
light.korytarz_kinkiety;Korytarzkinkiety korytarz Kinkiety
switch.esp_spa_wanna_restart;Spawanna ESP SPA Wanna Restart
light.spa_wanna_led;Spawanna SPA Wanna LED
update.main_hub_firmware;main-hub Firmware
update.salonwentylator_firmware;Salonwentylator Firmware
Result type: string
This template listens for the following state changed events:
Encja: binary_sensor.hub1_in0
Encja: binary_sensor.hub1_in1
Encja: binary_sensor.hub1_in2
Encja: binary_sensor.hub1_in3
Encja: binary_sensor.hub1_in4
Encja: binary_sensor.hub1_in5
Encja: binary_sensor.hub1_in6
Encja: binary_sensor.hub1_in7
Encja: binary_sensor.hub1_in8
Encja: binary_sensor.hub1_in9
Encja: binary_sensor.hub2_in0
Encja: binary_sensor.hub2_in1
Encja: binary_sensor.hub2_in10
Encja: binary_sensor.hub2_in11
Encja: binary_sensor.hub2_in12
Encja: binary_sensor.hub2_in13
Encja: binary_sensor.hub2_in2
Encja: binary_sensor.hub2_in3
Encja: binary_sensor.hub2_in4
Encja: binary_sensor.hub2_in5
Encja: binary_sensor.hub2_in6
Encja: binary_sensor.hub2_in7
Encja: binary_sensor.hub2_in8
Encja: binary_sensor.hub2_in9
Encja: binary_sensor.hub3_in0
Encja: binary_sensor.hub3_in1
Encja: binary_sensor.hub3_in10
Encja: binary_sensor.hub3_in11
Encja: binary_sensor.hub3_in12
Encja: binary_sensor.hub3_in2
Encja: binary_sensor.hub3_in3
Encja: binary_sensor.hub3_in4
Encja: binary_sensor.hub3_in5
Encja: binary_sensor.hub3_in6
Encja: binary_sensor.hub3_in7
Encja: binary_sensor.hub3_in8
Encja: binary_sensor.hub3_in9
Encja: binary_sensor.main_hub_hub1_in10
Encja: binary_sensor.main_hub_hub1_in11
Encja: binary_sensor.main_hub_hub1_in12
Encja: binary_sensor.main_hub_hub1_in13
Encja: binary_sensor.main_hub_hub1_in14
Encja: binary_sensor.main_hub_hub1_in15
Encja: binary_sensor.main_hub_hub2_in14
Encja: binary_sensor.main_hub_hub2_in15
Encja: binary_sensor.main_hub_hub3_in13
Encja: binary_sensor.main_hub_hub3_in14
Encja: binary_sensor.main_hub_hub3_in15
Encja: button.main_hub_main_hub_restart
Encja: light.komin_led
Encja: light.korytarz_kinkiety
Encja: light.led_bank_1_bia_a_azienka_wanna_led
Encja: light.led_bank_1_jadalnia_led
Encja: light.led_bank_1_kuchnia_ezka_led
Encja: light.led_bank_1_pok_j_dla_go_ci_led
Encja: light.led_bank_1_serwer_led
Encja: light.led_bank_1_spa_ledy
Encja: light.led_bank_1_sypialnia_led
Encja: light.led_bank_1_test_led_1
Encja: light.led_bank_1_test_led_1_1_1
Encja: light.led_bank_1_test_led_1_1_2
Encja: light.led_bank_1_test_led_1_2_1
Encja: light.led_bank_1_test_led_1_2_2
Encja: light.led_bank_1_test_led_2
Encja: light.led_bank_1_test_led_2_1_1
Encja: light.led_bank_1_test_led_2_1_2
Encja: light.led_bank_1_test_led_2_2_1
Encja: light.led_bank_1_test_led_2_2_2
Encja: light.led_bank_1_test_led_3_1_1
Encja: light.led_bank_1_test_led_3_1_2
Encja: light.led_bank_1_test_led_3_2_1
Encja: light.led_bank_1_test_led_3_2_2
Encja: light.led_bank_1_test_led_4_1_1
Encja: light.led_bank_1_test_led_4_1_2
Encja: light.led_bank_1_test_led_4_2_1
Encja: light.led_bank_1_test_led_4_2_2
Encja: light.led_bank_1_test_led_5_1_2
Encja: light.led_bank_1_test_led_5_2_2
Encja: light.main_hub_biala_lazienka_wanna_led
Encja: light.main_hub_jadalnia_led
Encja: light.main_hub_kuchnia_lezka_led
Encja: light.main_hub_pokoj_dla_gosci_led
Encja: light.main_hub_serwer_led
Encja: light.main_hub_spa_ledy
Encja: light.main_hub_sypialnia_led
Encja: light.main_hub_test_led_1
Encja: light.main_hub_test_led_2
Encja: light.oczka_taras_2
Encja: light.salon_kinkiet_1_led
Encja: light.salon_kinkiet_2_led
Encja: light.salon_kinkiet_3_led
Encja: light.salon_kinkiety_led
Encja: light.schody_2
Encja: light.skrzynia_2
Encja: light.spa_wanna_led
Encja: light.status_led
Encja: light.tunel_2
Encja: light.wc_led
Encja: light.zwis_schody_2
Encja: sensor.antresola_bateria
Encja: sensor.antresola_nawilzenie_3
Encja: sensor.antresola_temperatura
Encja: sensor.esp32_c6_antresola_bateria
Encja: sensor.esp32_c6_antresola_nawilzenie
Encja: sensor.esp32_c6_antresola_temperatura
Encja: sensor.esp32_c6_biuro_bateria
Encja: sensor.esp32_c6_biuro_nawilzenie
Encja: sensor.esp32_c6_biuro_temperatura
Encja: sensor.esp32_c6_garderoba_duza_bateria
Encja: sensor.esp32_c6_garderoba_duza_nawilzenie
Encja: sensor.esp32_c6_garderoba_duza_temperatura
Encja: sensor.esp32_c6_kuchnia_bateria
Encja: sensor.esp32_c6_kuchnia_nawilzenie
Encja: sensor.esp32_c6_kuchnia_temperatura
Encja: sensor.esp32_c6_lazienka_bateria
Encja: sensor.esp32_c6_lazienka_nawilzenie
Encja: sensor.esp32_c6_lazienka_temperatura
Encja: sensor.esp32_c6_pokoj_bateria
Encja: sensor.esp32_c6_pokoj_nawilzenie
Encja: sensor.esp32_c6_pokoj_temperatura
Encja: sensor.esp32_c6_serwer_bateria
Encja: sensor.esp32_c6_serwer_nawilzenie
Encja: sensor.esp32_c6_serwer_temperatura
Encja: sensor.esp32_c6_spa_bateria
Encja: sensor.esp32_c6_spa_nawilzenie
Encja: sensor.esp32_c6_spa_temperatura
Encja: sensor.esp32_c6_sypialnia_bateria
Encja: sensor.esp32_c6_sypialnia_nawilzenie
Encja: sensor.esp32_c6_sypialnia_temperatura
Encja: sensor.esp32_c6_wc_bateria
Encja: sensor.esp32_c6_wc_nawilzenie
Encja: sensor.esp32_c6_wc_temperatura
Encja: sensor.garderoba_duza_bateria_3
Encja: sensor.garderoba_duza_nawilzenie_3
Encja: sensor.garderoba_duza_temperatura_3
Encja: sensor.led_bank_1_azienka_bateria
Encja: sensor.led_bank_1_azienka_nawil_enie
Encja: sensor.led_bank_1_azienka_temperatura
Encja: sensor.led_bank_1_biuro_bateria
Encja: sensor.led_bank_1_biuro_nawil_enie
Encja: sensor.led_bank_1_biuro_temperatura
Encja: sensor.led_bank_1_kuchnia_bateria
Encja: sensor.led_bank_1_kuchnia_nawil_enie
Encja: sensor.led_bank_1_kuchnia_temperatura
Encja: sensor.led_bank_1_serwer_bateria
Encja: sensor.led_bank_1_serwer_nawil_enie
Encja: sensor.led_bank_1_serwer_temperatura
Encja: sensor.led_bank_1_wc_bateria
Encja: sensor.led_bank_1_wc_nawil_enie
Encja: sensor.led_bank_1_wc_temperatura
Encja: sensor.main_hub_azienka_bateria
Encja: sensor.main_hub_azienka_nawil_enie
Encja: sensor.main_hub_azienka_temperatura
Encja: sensor.main_hub_biuro_bateria
Encja: sensor.main_hub_biuro_nawil_enie
Encja: sensor.main_hub_biuro_temperatura
Encja: sensor.main_hub_kuchnia_bateria
Encja: sensor.main_hub_kuchnia_nawil_enie
Encja: sensor.main_hub_kuchnia_temperatura
Encja: sensor.main_hub_serwer_bateria
Encja: sensor.main_hub_serwer_nawil_enie
Encja: sensor.main_hub_serwer_temperatura
Encja: sensor.main_hub_uptime_sensor
Encja: sensor.main_hub_wc_bateria
Encja: sensor.main_hub_wc_nawil_enie
Encja: sensor.main_hub_wc_temperatura
Encja: sensor.pokoj_bateria_3
Encja: sensor.pokoj_nawilzenie_3
Encja: sensor.pokoj_temperatura_3
Encja: sensor.spa_bateria
Encja: sensor.spa_nawilzenie_3
Encja: sensor.spa_temperatura
Encja: sensor.sypialnia_bateria
Encja: sensor.sypialnia_nawilzenie_3
Encja: sensor.sypialnia_temperatura
Encja: switch.esp_gora_restart_3
Encja: switch.esp_komin_restart
Encja: switch.esp_korytarz_restart
Encja: switch.esp_salon_kinkiety_restart
Encja: switch.esp_salon_wentylator_restart
Encja: switch.esp_schody_restart_2
Encja: switch.esp_spa_wanna_restart
Encja: switch.esp_wc_restart
Encja: switch.hub1_out1
Encja: switch.hub1_out10
Encja: switch.hub1_out13
Encja: switch.hub1_out14
Encja: switch.hub1_out15
Encja: switch.hub1_out2
Encja: switch.hub1_out3
Encja: switch.hub1_out4
Encja: switch.hub1_out5
Encja: switch.hub1_out7
Encja: switch.hub1_out8
Encja: switch.hub1_out9
Encja: switch.hub2_out0
Encja: switch.hub2_out1
Encja: switch.hub2_out10
Encja: switch.hub2_out11
Encja: switch.hub2_out12
Encja: switch.hub2_out13
Encja: switch.hub2_out14
Encja: switch.hub2_out2
Encja: switch.hub2_out3
Encja: switch.hub2_out4
Encja: switch.hub2_out5
Encja: switch.hub2_out7
Encja: switch.hub2_out8
Encja: switch.hub3_out0
Encja: switch.hub3_out1
Encja: switch.hub3_out10
Encja: switch.hub3_out11
Encja: switch.hub3_out12
Encja: switch.hub3_out13
Encja: switch.hub3_out14
Encja: switch.hub3_out15
Encja: switch.hub3_out2
Encja: switch.hub3_out3
Encja: switch.hub3_out4
Encja: switch.hub3_out5
Encja: switch.hub3_out6
Encja: switch.hub3_out7
Encja: switch.hub3_out8
Encja: switch.hub3_out9
Encja: switch.led_bank_1_esp_led_bank_1_restart
Encja: switch.salon_wentylator
Encja: update.main_hub_firmware
Encja: update.salonwentylator_firmware

499
Kuba/dokumentacja.md Normal file
View File

@@ -0,0 +1,499 @@
# Main Hub — Dokumentacja
**Wersja firmware:** 1.1
**Platforma:** ESPHome (esp-idf)
**Autor:** Jan Kocoń / Peak Control
---
## Opis ogólny
Main Hub to centralny kontroler oświetlenia dla całego domu, oparty na mikrokontrolerze ESP32. Urządzenie działa pod kontrolą firmware ESPHome skompilowanego z frameworkiem esp-idf i łączy się z siecią domową przez Ethernet (nie WiFi — co zapewnia stabilniejsze połączenie i niższe opóźnienia).
Fizycznie hub obsługuje **48 wejść** (przyciski, przełączniki) i **48 wyjść** (przekaźniki, obwody oświetleniowe) poprzez sześć ekspanderów I2C MCP23017. Dodatkowo steruje **9 kanałami LED** (taśmy RGBWW, CWWW, monochromatic) przez dwa sterowniki PWM PCA9685. Integracja z Home Assistant odbywa się przez natywne szyfrowane API ESPHome.
Urządzenie działa w pełni **lokalnie** — logika przycisków jest wykonywana na ESP32, bez zależności od Home Assistant. HA jest potrzebne tylko do sterowania zewnętrznymi encjami (paski WLED, wentylator salon).
---
## Sprzęt
| Komponent | Opis |
|---|---|
| MCU | ESP32-PoE (board: esp32dev, rev 3+) |
| Łączność | Ethernet LAN8720 (MDC: GPIO23, MDIO: GPIO18, CLK_OUT: GPIO17, Power: GPIO12) |
| Ekspandery wejść | 3× MCP23017 (hub1_IN, hub2_IN, hub3_IN) — łącznie 48 wejść |
| Ekspandery wyjść | 3× MCP23017 (hub1_OUT, hub2_OUT, hub3_OUT) — łącznie 48 wyjść |
| Sterowniki PWM | 2× PCA9685 @ 1500 Hz (pca9685_hub1, pca9685_hub2) |
| Status LED | RGB — GPIO5 (niebieski), GPIO14 (zielony), GPIO15 (czerwony) |
Wszystkie ekspandery i sterowniki PWM komunikują się przez jeden magistrali I2C (SDA: GPIO13, SCL: GPIO16, 200 kHz). Scan I2C jest wyłączony (`scan: False`) aby nie spowalniać startu.
---
## Sieć
Hub używa statycznego adresu IP — brak DHCP eliminuje opóźnienia przy restarcie i zapewnia przewidywalny adres niezależnie od stanu routera.
| Parametr | Wartość |
|---|---|
| Statyczne IP | `10.10.0.5` |
| Gateway | `10.10.0.1` |
| Subnet | `255.255.255.0` |
| Port API (HA) | `6053` |
| Web UI | `http://10.10.0.5` (login: admin) |
Urządzenie **nie restartuje się automatycznie** przy braku połączenia z Home Assistant (`reboot_timeout: 0s`). Oznacza to że hub działa i obsługuje przyciski lokalnie nawet gdy HA jest niedostępny (restart, aktualizacja).
---
## Mapa I2C (SDA: GPIO13, SCL: GPIO16, 200 kHz)
Adresy I2C są przydzielone kolejno — parzyste dla wejść (IN), nieparzyste dla wyjść (OUT). Ułatwia to diagnozowanie problemów na magistrali.
| Adres | ID | Rola |
|---|---|---|
| 0x20 | mcp23xxx_hub1_IN | 16 wejść (hub1_in0..15) |
| 0x21 | mcp23xxx_hub1_OUT | 16 wyjść (hub1_out0..15) |
| 0x22 | mcp23xxx_hub2_IN | 16 wejść (hub2_in0..15) |
| 0x23 | mcp23xxx_hub2_OUT | 16 wyjść (hub2_out0..15) |
| 0x24 | mcp23xxx_hub3_IN | 16 wejść (hub3_in0..15) |
| 0x25 | mcp23xxx_hub3_OUT | 16 wyjść (hub3_out0..15) |
| 0x40 | pca9685_hub1 | 16-kanałowy PWM |
| 0x41 | pca9685_hub2 | 16-kanałowy PWM |
---
## Status LED
Wbudowany RGB LED (trzy niezależne kanały LEDC) informuje wizualnie o stanie urządzenia. Jest widoczny z zewnątrz obudowy i pozwala ocenić stan połączenia bez dostępu do logów.
| Stan | Kolor / Efekt |
|---|---|
| Boot | Niebieski — Slow Pulse |
| Połączono z HA | Zielony — stały (50% brightness) |
| Rozłączono z HA | Czerwony — Slow Pulse (100% brightness) |
Dostępne efekty: `Fast Pulse` (0.5s), `Slow Pulse` (1s), `Random Effect` (2s)
---
## Wejścia — Binary Sensors
Wszystkie wejścia są skonfigurowane jako `INPUT` z inwersją (`inverted: True`) — przyciski zwierają do masy. Filtr `delayed_on_off` eliminuje drgania styków (debouncing). Hub1_in5 ma zwiększony debounce (100ms) ze względu na właściwości konkretnego przycisku w sypialni.
Wejścia hub1_in10..15, hub2_in14..15 oraz hub3_in13..15 są niepodpięte — reserved na przyszłość.
### hub1_IN (mcp23xxx_hub1_IN)
| ID | Opis | Debounce |
|---|---|---|
| hub1_in0 | Wejście 1 | 50ms |
| hub1_in1 | Wejście 3 | 50ms |
| hub1_in2 | Wejście 2 | 50ms |
| hub1_in3 | Sypialnia 3 | 50ms |
| hub1_in4 | Sypialnia 1 | 50ms |
| hub1_in5 | Sypialnia 2 | 100ms |
| hub1_in6 | Sypialnia Łóżko Prawa Strona | 50ms |
| hub1_in7 | Sypialnia Łóżko Lewa Strona | 50ms |
| hub1_in8 | Pokój dla Gości Lewy | 50ms |
| hub1_in9 | Pokój dla Gości Prawy | 50ms |
| hub1_in10..15 | (niepodpięte) | — |
### hub2_IN (mcp23xxx_hub2_IN)
| ID | Opis | Debounce |
|---|---|---|
| hub2_in0 | Korytarz 2 | 50ms |
| hub2_in1 | Korytarz 3 | 50ms |
| hub2_in2 | Korytarz 1 | 50ms |
| hub2_in3 | Mały Korytarz | 50ms |
| hub2_in4 | Garderoba Mała | 50ms |
| hub2_in5 | Kuchnia 3_1 | 50ms |
| hub2_in6 | Kuchnia 3_2 | 50ms |
| hub2_in7 | Kuchnia 2_1 | 50ms |
| hub2_in8 | Kuchnia 2_2 | 50ms |
| hub2_in9 | Kuchnia 1_1 | 50ms |
| hub2_in10 | Kuchnia 1_2 | 50ms |
| hub2_in11 | Schody 3 | 50ms |
| hub2_in12 | Schody 1 | 50ms |
| hub2_in13 | Schody 2 | 50ms |
| hub2_in14..15 | (niepodpięte) | — |
### hub3_IN (mcp23xxx_hub3_IN)
| ID | Opis | Debounce |
|---|---|---|
| hub3_in0 | Garderoba Duża Lewy | 50ms |
| hub3_in1 | Garderoba Duża Prawy | 50ms |
| hub3_in2 | SPA Lewy | 50ms |
| hub3_in3 | SPA Prawy | 50ms |
| hub3_in4 | Biała Łazienka Ściana | 50ms |
| hub3_in5 | Małe WC Lustro Prawy | 50ms |
| hub3_in6 | Małe WC Lustro Lewy | 50ms |
| hub3_in7 | Biała Łazienka Skos | 50ms |
| hub3_in8 | SPA Lustro Lewy | 50ms |
| hub3_in9 | SPA Lustro Prawy | 50ms |
| hub3_in10 | Biuro Skos | 50ms |
| hub3_in11 | Serwer Prawy | 50ms |
| hub3_in12 | Serwer Lewy | 50ms |
| hub3_in13..15 | (niepodpięte) | — |
---
## Wyjścia — Switches
Wszystkie wyjścia MCP23017 są zdefiniowane jako `switch` (platforma gpio) z `restore_mode: ALWAYS_OFF` — po każdym restarcie urządzenia wszystkie wyjścia startują wyłączone, niezależnie od poprzedniego stanu. Zapobiega to przypadkowemu włączeniu oświetlenia przy restarcie huba.
Wyjścia hub1_out4, hub2_out5, hub2_out8 i hub3_out2 sterują wentylatorami. Pozostałe wyjścia sterują obwodami oświetleniowymi (halogeny, sufity, kinkiety, lustra).
Hub3_out3..out15 są przeznaczone wyłącznie do sterowania ogrzewaniem — są kontrolowane przez automacje Home Assistant (generic_thermostat), a nie przez logikę przycisków.
### hub1_OUT (mcp23xxx_hub1_OUT)
| ID | Opis |
|---|---|
| hub1_out0 | (wolne) |
| hub1_out1 | SPA Kinkiet Lustro |
| hub1_out2 | Biuro |
| hub1_out3 | Kuchnia Halogen |
| hub1_out4 | SPA Wentylator |
| hub1_out5 | Kanciapa pod schodami |
| hub1_out6 | (wolne) |
| hub1_out7 | Garderoba Duża |
| hub1_out8 | Jadalnia |
| hub1_out9 | WC Lustro |
| hub1_out10 | SPA Halogeny |
| hub1_out11 | (wolne) |
| hub1_out12 | (wolne) |
| hub1_out13 | Mały Korytarz Kinkiet |
| hub1_out14 | Korytarz Halogeny |
| hub1_out15 | Wejście Halogeny |
### hub2_OUT (mcp23xxx_hub2_OUT)
| ID | Opis |
|---|---|
| hub2_out0 | Łazienka Sufit |
| hub2_out1 | Sypialnia Łóżko Prawa strona |
| hub2_out2 | WC Sufit |
| hub2_out3 | Mały Korytarz Sufit |
| hub2_out4 | Łazienka Skos |
| hub2_out5 | WC Wentylator |
| hub2_out6 | (wolne) |
| hub2_out7 | Sypialnia Halogen |
| hub2_out8 | Biała Łazienka Wentylator |
| hub2_out9 | (wolne) |
| hub2_out10 | Pokój Gościnny Sufit |
| hub2_out11 | Salon Plafon |
| hub2_out12 | Sypialnia Łóżko Lewa strona |
| hub2_out13 | SPA Zwisy |
| hub2_out14 | Mała Garderoba |
| hub2_out15 | (wolne) |
### hub3_OUT (mcp23xxx_hub3_OUT)
| ID | Opis |
|---|---|
| hub3_out0 | (wolne) |
| hub3_out1 | (wolne) |
| hub3_out2 | Wentylator Główny Obieg |
| hub3_out3 | Ogrzewanie Kuchnia |
| hub3_out4 | Ogrzewanie Jadalnia/Salon |
| hub3_out5 | Ogrzewanie Salon kanapa |
| hub3_out6 | Ogrzewanie SPA |
| hub3_out7 | Ogrzewanie Korytarz |
| hub3_out8 | Ogrzewanie Pokój Dziecka 2 |
| hub3_out9 | Ogrzewanie Biuro/Serwer |
| hub3_out10 | Ogrzewanie Biuro |
| hub3_out11 | Ogrzewanie Pokój Dziecka 1 |
| hub3_out12 | Ogrzewanie Garderoba |
| hub3_out13 | Ogrzewanie Sypialnia 2 |
| hub3_out14 | Ogrzewanie Biała Łazienka/WC |
| hub3_out15 | Ogrzewanie Sypialnia 1 |
---
## Światła PWM (PCA9685)
Taśmy LED są podłączone do dwóch sterowników PCA9685 pracujących na częstotliwości 1500 Hz. Każde światło ma zdefiniowane `default_transition_length: 2.0s` — płynne przejście przy włączaniu i wyłączaniu.
Typy świateł:
- **cwww** — zimna + ciepła biel (regulacja temperatury barwowej)
- **rgbww** — pełny kolor RGB + zimna/ciepła biel (sypialnia)
- **monochromatic** — jeden kanał PWM (regulacja jasności)
| ID | Nazwa | Typ | Kanały PCA9685 |
|---|---|---|---|
| status_led | Status LED | rgb | GPIO5/14/15 (LEDC) |
| sypialnia_led | Sypialnia LED | rgbww | PWM1_1_Hub1, PWM1_2_Hub1, PWM3_1_Hub1, PWM3_2_Hub1, PWM1_1_Hub2 |
| serwer_led | Serwer LED | cwww | PWM2_1_Hub1, PWM2_2_Hub1 |
| jadalnia_led | Jadalnia LED | cwww | PWM4_2_Hub1, PWM4_1_Hub1 |
| biala_lazienka_wanna_led | Biała Łazienka wanna LED | cwww | PWM5_2_Hub1, PWM5_1_Hub1 |
| kuchnia_lezka_led | Kuchnia Łezka LED | monochromatic | PWM2_1_Hub2 |
| SPA_Ledy | SPA Ledy | cwww | PWM5_2_Hub2, PWM5_1_Hub2 |
| pokoj_dla_gosci_led | Pokój dla gości LED | cwww | PWM3_2_Hub2, PWM4_1_Hub2 |
| *(brak id)* | TEST LED 1 | monochromatic | PWM1_2_Hub2 |
| test_led_2 | TEST LED 2 | monochromatic | PWM3_1_Hub2 |
PWM3_2_Hub2 (ch5 na pca9685_hub2): `max_power: 95%` — ograniczenie ze względu na właściwości podłączonej taśmy. Pozostałe kanały: `max_power: 100%`.
---
## Logika przycisków
### Jak działa multi-click
Każde wejście używa mechanizmu `on_multi_click` z granicą **350ms** między pojedynczym a wielokrotnym naciśnięciem. ESP32 samodzielnie mierzy czas i decyduje o wykonaniu akcji — bez udziału Home Assistant. Opóźnienie między naciśnięciem a reakcją wynosi od 350ms (po zwolnieniu przycisku ESPHome czeka czy nie nastąpi kolejne naciśnięcie) do kilku ms dla długiego naciśnięcia.
| Gest | Timing |
|---|---|
| 1× | ON ≤350ms, potem OFF ≥350ms |
| 2× | dwa krótkie impulsy, każdy ≤350ms |
| 3× | trzy krótkie impulsy |
| Długi | ON ≥350ms (akcja przy trzymaniu) |
### Zasada działania toggle
Większość akcji 1× wykonuje `switch.toggle` — jeśli światło jest OFF to je włącza, jeśli ON to wyłącza. Wyjątek stanowi **hub1_in3** (Sypialnia 3), który używa logiki warunkowej:
- jeśli **oba** łóżka (hub2_out12 i hub2_out1) są włączone → wyłącz oba
- w każdym innym przypadku → włącz oba
Dzięki temu jeden przycisk przy drzwiach sypialni zawsze zachowuje się intuicyjnie — jedno naciśnięcie rozświetla lub gasi całą sypialnię.
### Skrypt off_all
Długie naciśnięcie na wybranych wejściach wywołuje skrypt `off_all`, który wyłącza wszystkie wyjścia MCP23017 (hub1/2/3_out) oraz wszystkie LED PCA9685. Przydatny jako "wychodzę z domu" — jedno przytrzymanie przy wyjściu i cały dom jest ciemny.
### Legenda tabel
- **[HA]** — akcja przez `homeassistant.service` (wymaga działającego HA; jeśli HA jest niedostępny, akcja jest pomijana)
- **off_all** — lokalny skrypt ESPHome, działa bez HA
### hub1_IN
| ID / Opis | 1× | 2× | 3× | Długi |
|---|---|---|---|---|
| hub1_in0 / Wejście 1 | hub1_out15 (Wejście Halogeny) | — | — | off_all |
| hub1_in1 / Wejście 3 | — | — | — | — |
| hub1_in2 / Wejście 2 | [HA] light.korytarz_kinkiety | — | — | off_all |
| hub1_in3 / Sypialnia 3 | hub2_out12 + hub2_out1 (smart toggle¹) | hub2_out12 + hub2_out1 off | — | — |
| hub1_in4 / Sypialnia 1 | sypialnia_led | — | — | — |
| hub1_in5 / Sypialnia 2 | hub2_out7 (Sypialnia Halogen) | — | — | — |
| hub1_in6 / Sypialnia Łóżko Prawo | hub2_out1 | hub2_out12 + hub2_out1 | — | off_all |
| hub1_in7 / Sypialnia Łóżko Lewo | hub2_out12 | hub2_out12 + hub2_out1 | — | off_all |
| hub1_in8 / Pokój Gości Lewy | hub2_out10 (Pokój Gościnny Sufit) | hub1_out7 (Garderoba Duża) | — | — |
| hub1_in9 / Pokój Gości Prawy | pokoj_dla_gosci_led | — | — | — |
¹ Smart toggle: jeśli oba (hub2_out12 i hub2_out1) są ON → oba OFF; w przeciwnym razie → oba ON.
### hub2_IN
| ID / Opis | 1× | 2× | 3× | Długi |
|---|---|---|---|---|
| hub2_in0 / Korytarz 2 | hub1_out15 (Wejście Halogeny) | — | — | — |
| hub2_in1 / Korytarz 3 | [HA] light.korytarz_kinkiety | — | — | off_all |
| hub2_in2 / Korytarz 1 | hub1_out14 (Korytarz Halogeny) | — | — | off_all |
| hub2_in3 / Mały Korytarz | hub1_out13 + hub2_out3 | — | — | — |
| hub2_in4 / Garderoba Mała | hub2_out14 (Mała Garderoba) | hub3_out2 (Wentylator Główny Obieg) | — | — |
| hub2_in5 / Kuchnia 3_1 | hub1_out8 (Jadalnia) | — | — | — |
| hub2_in6 / Kuchnia 3_2 | jadalnia_led | — | — | — |
| hub2_in7 / Kuchnia 2_1 | hub1_out3 (Kuchnia Halogen) | — | — | off_all |
| hub2_in8 / Kuchnia 2_2 | kuchnia_lezka_led | — | — | — |
| hub2_in9 / Kuchnia 1_1 | hub2_out11 (Salon Plafon) | [HA] switch.salon_wentylator | — | — |
| hub2_in10 / Kuchnia 1_2 | [HA] light.komin_led + light.salon_kinkiety_led | [HA] light.komin_led | — | [HA] light.komin_led |
| hub2_in11 / Schody 3 | [HA] light.oczka_taras_2 + light.skrzynia_2 + light.tunel_2 + light.zwis_schody_2 | — | — | — |
| hub2_in12 / Schody 1 | hub2_out11 (Salon Plafon) | — | — | — |
| hub2_in13 / Schody 2 | [HA] light.salon_kinkiet_1_led + light.salon_kinkiet_2_led + light.salon_kinkiet_3_led | [HA] light.salon_kinkiety_led + 1/2/3 | — | [HA] light.komin_led |
### hub3_IN
| ID / Opis | 1× | 2× | 3× | Długi |
|---|---|---|---|---|
| hub3_in0 / Garderoba Duża Lewy | hub1_out7 (Garderoba Duża) | — | — | — |
| hub3_in1 / Garderoba Duża Prawy | — | — | — | — |
| hub3_in2 / SPA Lewy | hub2_out13 (SPA Zwisy) | — | — | hub1_out4 (SPA Wentylator) |
| hub3_in3 / SPA Prawy | hub1_out4 + hub1_out10 (SPA Wentylator + Halogeny) | — | — | SPA_Ledy |
| hub3_in4 / Biała Łazienka Ściana | hub2_out0 (Łazienka Sufit) | biala_lazienka_wanna_led | — | hub2_out8 (Łazienka Wentylator) |
| hub3_in5 / Małe WC Lustro Prawy | hub2_out5 + hub2_out2 + [HA] light.wc_led | — | — | — |
| hub3_in6 / Małe WC Lustro Lewy | hub1_out9 (WC Lustro) | — | — | — |
| hub3_in7 / Biała Łazienka Skos | hub2_out4 (Łazienka Skos) | — | — | — |
| hub3_in8 / SPA Lustro Lewy | hub1_out5 (Kanciapa pod schodami) | — | — | — |
| hub3_in9 / SPA Lustro Prawy | hub1_out1 (SPA Kinkiet Lustro) | — | — | — |
| hub3_in10 / Biuro Skos | hub1_out2 (Biuro) | serwer_led | — | — |
| hub3_in11 / Serwer Prawy | serwer_led | test_led_2 | hub3_out2 (Wentylator Główny Obieg) | — |
| hub3_in12 / Serwer Lewy | hub1_out14 (Korytarz Halogeny) | hub1_out14 + hub1_out2 (Korytarz + Biuro) | — | off_all |
---
## Czujniki BLE (ATC Mithermometer)
Hub ma aktywny skaner BLE (`esp32_ble_tracker`) który odbiera dane z czujników temperatury/wilgotności Xiaomi ATC Mithermometer rozmieszczonych w kluczowych pomieszczeniach. Dane są raportowane do Home Assistant i wykorzystywane przez termostaty ogrzewania (`generic_thermostat`).
Czujniki używają zmodyfikowanego firmware ATC (nie oryginalnego Xiaomi), który nadaje dane w formacie BLE advertisement — hub nie musi parować się z czujnikami, tylko nasłuchuje.
| Nazwa | MAC |
|---|---|
| Biuro | A4:C1:38:C5:11:58 |
| Serwer | A4:C1:38:5C:4F:38 |
| Kuchnia | A4:C1:38:67:6B:94 |
| WC | A4:C1:38:C9:FE:CA |
| Łazienka | A4:C1:38:63:6D:DB |
Każdy czujnik raportuje: temperaturę (°C), wilgotność względną (%), poziom baterii (%).
---
## Czujniki diagnostyczne
Encje diagnostyczne są widoczne w Home Assistant w sekcji urządzenia i pomagają monitorować stan huba bez logowania się do Web UI.
| Encja | Opis | Interwał |
|---|---|---|
| sensor.main_hub_uptime | Czas pracy w sekundach od ostatniego restartu | 300s |
| sensor.main_hub_esp32_temperatura | Temperatura wewnętrzna chipu ESP32 | 60s |
| text_sensor.main_hub_ip_address | Aktualny adres IP | przy zmianie |
| text_sensor.main_hub_firmware_version | Wersja firmware (z substitutions) | przy zmianie |
| text_sensor.main_hub_esphome_version | Wersja ESPHome użyta do kompilacji | przy zmianie |
> **Uwaga:** Temperatura chipu ESP32 może zwracać błąd `Ignoring invalid temperature` na niektórych wersjach esp-idf. Jest to znany problem — encja jest wyciszona w logach (`internal_temperature: WARN`).
---
## Skrypty
| ID | Opis |
|---|---|
| off_all | Wyłącza wszystkie switche (hub1/2/3_out) oraz wszystkie LED (PCA9685 + status_led) |
Skrypt `off_all` jest wywoływany przez długie naciśnięcie na wejściach: hub1_in0, hub1_in2, hub1_in6, hub1_in7, hub2_in1, hub2_in2, hub2_in7, hub3_in12.
---
## Logi
### Poziom i filtry
Globalny poziom logów ustawiony na `INFO` — w konsoli pojawiają się tylko zdarzenia istotne operacyjnie. Poziomy `DEBUG` i `CONFIG` (różowy dump konfiguracji przy starcie) są wyciszone.
```yaml
logger:
level: INFO
logs:
atc_mithermometer: WARN # wycisza INFO z BLE czujników
esp32_ble_tracker: WARN # wycisza INFO ze skanera BLE
ble_advertise: WARN # wycisza INFO z BLE advertise
# Odkomentuj poniższe gdy log_level ustawiony na DEBUG:
#sensor: WARN
#text_sensor: WARN
#internal_temperature: WARN
#binary_sensor: WARN
#switch: WARN
#light: WARN
#component: WARN
```
### Format komunikatów
Każde naciśnięcie przycisku loguje komunikat INFO z nazwą wejścia, gestem i listą urządzeń które zostały przełączone:
```
[I][main:XXXX]: Nazwa Przycisku [gest] → Co zostało włączone
```
Przykłady:
```
[I][main:1775]: Schody 3 [1×] → Oczka Taras, Skrzynia, Tunel, Zwis Schody
[I][main:1643]: Kuchnia Filar 1_1 [1×] → Salon Plafon
[I][main:1694]: Kuchnia Filar 1_2 [1×] → Komin LED, Salon Kinkiety LED
[I][main:998]: Sypialnia 3 [1×] → Sypialnia Łóżko Lewa strona, Sypialnia Łóżko Prawa strona
[I][main:1138]: Sypialnia Łóżko Prawo [długi] → off_all
```
Zdarzenia połączenia z HA:
```
[I]: HA client connected
[W]: HA client disconnected
```
### Historia w Home Assistant
Każde naciśnięcie przycisku zapisuje wpis w logbooku HA (`logbook.log`) przypisany do konkretnej encji (switcha lub światła które zostało przełączone). Dzięki temu w historii danej encji widać który przycisk ją ostatnio przełączył.
---
## Konfiguracja API
Komunikacja z Home Assistant używa natywnego protokołu ESPHome z szyfrowaniem Noise (klucz zapisany w `secrets.yaml`). Protokół jest binarny i bardziej efektywny niż MQTT.
| Parametr | Wartość | Opis |
|---|---|---|
| Port | 6053 | Standardowy port ESPHome API |
| Szyfrowanie | Noise Protocol | Klucz w secrets.yaml (`api_key`) |
| reboot_timeout | 0s | Brak automatycznego restartu przy braku HA |
| Max połączeń | 8 | Maksymalna liczba klientów jednocześnie |
---
## OTA / Flashowanie
Urządzenie wspiera OTA (Over-The-Air) przez dwa mechanizmy: natywne ESPHome OTA oraz przez web server. Pierwsze wgranie firmware wymaga połączenia USB (jeśli urządzenie nie ma jeszcze ESPHome), kolejne można robić zdalnie.
```bash
# Tylko kompilacja — sprawdza błędy w YAML
esphome compile main-hub.yaml
# Wgranie OTA (kompilacja + upload)
esphome upload main-hub.yaml
# Kompilacja + wgranie + podgląd logów
esphome run main-hub.yaml
# Podgląd logów z działającego urządzenia
esphome logs main-hub.yaml
# Walidacja i dump połączonego configu (z pakietami)
esphome config main-hub.yaml
```
Wymagany plik `secrets.yaml` w tym samym katalogu co YAML:
```yaml
api_key: "<32-byte-base64>"
ota_key: "<hasło>"
web_password: "<hasło>"
```
---
## Encje sterowane przez Home Assistant
Poniższe encje są sterowane przez `homeassistant.service` — wywołanie wysyłane jest do HA przez API i HA wykonuje akcję lokalnie. Oznacza to że jeśli HA jest niedostępny, te konkretne akcje nie zadziałają (hub nadal działa lokalnie dla pozostałych świateł).
Wszystkie poniższe encje to paski WLED lub wentylator zarządzany przez HA.
| Encja HA | Opis |
|---|---|
| light.korytarz_kinkiety | WLED — Korytarz kinkiety |
| light.komin_led | WLED — Komin LED |
| light.salon_kinkiety_led | WLED — Salon kinkiety (grupa) |
| light.salon_kinkiet_1_led | WLED — Salon kinkiet 1 |
| light.salon_kinkiet_2_led | WLED — Salon kinkiet 2 |
| light.salon_kinkiet_3_led | WLED — Salon kinkiet 3 |
| light.wc_led | WLED — WC LED |
| light.oczka_taras_2 | WLED — Oczka taras |
| light.skrzynia_2 | WLED — Skrzynia |
| light.tunel_2 | WLED — Tunel |
| light.zwis_schody_2 | WLED — Zwis schody |
| switch.salon_wentylator | Wentylator salon |
---
## Ogrzewanie
Strefy ogrzewania (hub3_out3..out15) są sterowane wyłącznie przez Home Assistant — nie mają przypisanej logiki przycisków w ESPHome. Każda strefa to osobny przekaźnik włączający/wyłączający siłownik zaworu.
Kontrola odbywa się przez encje `climate` (generic_thermostat) w HA, które jako czujniki temperatury używają kombinacji czujników BLE z main-huba oraz dodatkowych czujników Zigbee (z2m). Harmonogramy i logika termostatów są w całości po stronie HA.

View File

@@ -0,0 +1,559 @@
[
{
"entity_id": "binary_sensor.hub1_in0",
"friendly_name": "Włącznik Wejście 1",
"actions": {
"single": [
"light.main_hub_hub1_out15"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.main_hub_hub1_out15"
]
},
{
"entity_id": "binary_sensor.hub1_in2",
"friendly_name": "Włącznik Wejście 3",
"actions": {
"single": [
"light.korytarz_kinkiety"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.korytarz_kinkiety"
]
},
{
"entity_id": "binary_sensor.hub1_in3",
"friendly_name": "Sypialnia duża 3",
"actions": {
"single": [
"light.main_hub_hub2_out12",
"light.main_hub_hub2_out1"
],
"double": [
"light.main_hub_hub2_out12",
"light.main_hub_hub2_out1"
]
},
"controls": [
"light.main_hub_hub2_out1",
"light.main_hub_hub2_out12"
]
},
{
"entity_id": "binary_sensor.hub1_in4",
"friendly_name": "Sypialnia duża 1",
"actions": {
"single": [
"light.main_hub_sypialnia_led"
],
"double": [
"light.main_hub_sypialnia_led"
]
},
"controls": [
"light.main_hub_sypialnia_led"
]
},
{
"entity_id": "binary_sensor.hub1_in5",
"friendly_name": "Sypialnia duża 2",
"actions": {
"single": [
"light.main_hub_hub2_out7"
]
},
"controls": [
"light.main_hub_hub2_out7"
]
},
{
"entity_id": "binary_sensor.hub1_in6",
"friendly_name": "Sypialnia Łóżko prawo",
"actions": {
"single": [
"light.main_hub_hub2_out1"
],
"double": [
"light.main_hub_hub2_out12",
"light.main_hub_hub2_out1"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.main_hub_hub2_out1",
"light.main_hub_hub2_out12"
]
},
{
"entity_id": "binary_sensor.hub1_in7",
"friendly_name": "Sypialnia Łóżko lewo",
"actions": {
"single": [
"light.main_hub_hub2_out12"
],
"double": [
"light.main_hub_hub2_out12",
"light.main_hub_hub2_out1"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.main_hub_hub2_out1",
"light.main_hub_hub2_out12"
]
},
{
"entity_id": "binary_sensor.hub1_in8",
"friendly_name": "Sypialnia mała 2",
"actions": {
"single": [
"light.main_hub_hub2_out10"
],
"double": [
"light.main_hub_hub1_out7"
]
},
"controls": [
"light.main_hub_hub1_out7",
"light.main_hub_hub2_out10"
]
},
{
"entity_id": "binary_sensor.hub1_in9",
"friendly_name": "Sypialnia mała 1",
"actions": {
"default": [
"light.main_hub_pokoj_dla_gosci_led"
]
},
"controls": [
"light.main_hub_pokoj_dla_gosci_led"
]
},
{
"entity_id": "binary_sensor.hub2_in0",
"friendly_name": "Włącznik Korytarz 2",
"actions": {
"single": [
"light.main_hub_hub1_out15"
]
},
"controls": [
"light.main_hub_hub1_out15"
]
},
{
"entity_id": "binary_sensor.hub2_in1",
"friendly_name": "Włącznik Korytarz 3",
"actions": {
"single": [
"light.korytarz_kinkiety"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.korytarz_kinkiety"
]
},
{
"entity_id": "binary_sensor.hub2_in10",
"friendly_name": "Filar 1_2",
"actions": {
"single": [
"light.komin_led",
"light.salon_kinkiety_led"
],
"double": [
"light.komin_led"
],
"long": [
"light.komin_led"
]
},
"controls": [
"light.komin_led",
"light.salon_kinkiety_led"
]
},
{
"entity_id": "binary_sensor.hub2_in11",
"friendly_name": "Salon 3",
"actions": {
"single": [
"light.oczka_taras_2",
"light.skrzynia_2",
"light.tunel_2",
"light.zwis_schody_2"
]
},
"controls": [
"light.oczka_taras_2",
"light.skrzynia_2",
"light.tunel_2",
"light.zwis_schody_2"
]
},
{
"entity_id": "binary_sensor.hub2_in12",
"friendly_name": "Salon 1",
"actions": {
"single": [
"light.main_hub_hub2_out11"
]
},
"controls": [
"light.main_hub_hub2_out11"
]
},
{
"entity_id": "binary_sensor.hub2_in13",
"friendly_name": "Salon 2",
"actions": {
"single": [
"light.salon_kinkiet_1_led",
"light.salon_kinkiet_2_led",
"light.salon_kinkiet_3_led"
],
"double": [
"light.salon_kinkiety_led",
"light.salon_kinkiet_1_led",
"light.salon_kinkiet_2_led",
"light.salon_kinkiet_3_led"
],
"long": [
"light.komin_led"
]
},
"controls": [
"light.komin_led",
"light.salon_kinkiet_1_led",
"light.salon_kinkiet_2_led",
"light.salon_kinkiet_3_led",
"light.salon_kinkiety_led"
]
},
{
"entity_id": "binary_sensor.hub2_in2",
"friendly_name": "Włącznik Korytarz 1",
"actions": {
"single": [
"light.main_hub_hub1_out14"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.main_hub_hub1_out14"
]
},
{
"entity_id": "binary_sensor.hub2_in3",
"friendly_name": "Włącznik Korytarz maŲ<61>y",
"actions": {
"single": [],
"double": []
},
"controls": [
"light.main_hub_hub1_out13",
"light.main_hub_hub2_out3"
]
},
{
"entity_id": "binary_sensor.hub2_in4",
"friendly_name": "Włącznik Garderoba mała",
"actions": {
"single": [
"light.main_hub_hub2_out14"
],
"double": [
"fan.main_hub_hub3_out2"
]
},
"controls": [
"fan.main_hub_hub3_out2",
"light.main_hub_hub2_out14"
]
},
{
"entity_id": "binary_sensor.hub2_in5",
"friendly_name": "Filar 3_1",
"actions": {
"single": [
"light.main_hub_hub1_out8"
]
},
"controls": [
"light.main_hub_hub1_out8"
]
},
{
"entity_id": "binary_sensor.hub2_in6",
"friendly_name": "Filar 3_2",
"actions": {
"single": [
"light.main_hub_jadalnia_led"
]
},
"controls": [
"light.main_hub_jadalnia_led"
]
},
{
"entity_id": "binary_sensor.hub2_in7",
"friendly_name": "Filar 2_1",
"actions": {
"single": [
"light.main_hub_hub1_out3"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.main_hub_hub1_out3"
]
},
{
"entity_id": "binary_sensor.hub2_in8",
"friendly_name": "Filar 2_2",
"actions": {
"single": [
"light.main_hub_kuchnia_lezka_led"
]
},
"controls": [
"light.main_hub_kuchnia_lezka_led"
]
},
{
"entity_id": "binary_sensor.hub2_in9",
"friendly_name": "Filar 1_1",
"actions": {
"single": [
"light.main_hub_hub2_out11"
],
"double": [
"fan.salon_wentylator"
]
},
"controls": [
"fan.salon_wentylator",
"light.main_hub_hub2_out11"
]
},
{
"entity_id": "binary_sensor.hub3_in0",
"friendly_name": "Włącznik Garderoba mała",
"actions": {
"single": [
"light.main_hub_hub1_out7"
]
},
"controls": [
"light.main_hub_hub1_out7"
]
},
{
"entity_id": "binary_sensor.hub3_in1",
"friendly_name": "Włącznik Garderoba mała",
"actions": {
"default": []
},
"controls": []
},
{
"entity_id": "binary_sensor.hub3_in10",
"friendly_name": "Biuro",
"actions": {
"single": [
"light.main_hub_hub1_out2"
],
"double": [
"light.main_hub_serwer_led"
]
},
"controls": [
"light.main_hub_hub1_out2",
"light.main_hub_serwer_led"
]
},
{
"entity_id": "binary_sensor.hub3_in11",
"friendly_name": "Włącznik obok serwera",
"actions": {
"single": [
"light.main_hub_serwer_led"
],
"double": [
"light.test_led_2"
],
"triple": [
"fan.main_hub_hub3_out2"
]
},
"controls": [
"fan.main_hub_hub3_out2",
"light.main_hub_serwer_led",
"light.test_led_2"
]
},
{
"entity_id": "binary_sensor.hub3_in12",
"friendly_name": "Włącznik obok serwera",
"actions": {
"single": [
"light.main_hub_hub1_out14"
],
"double": [
"light.main_hub_hub1_out14"
],
"long": [
"all"
]
},
"controls": [
"all",
"light.main_hub_hub1_out14",
"light.main_hub_hub1_out2"
]
},
{
"entity_id": "binary_sensor.hub3_in2",
"friendly_name": "SPA Lewy",
"actions": {
"single": [
"light.main_hub_hub2_out13"
],
"long": [
"fan.main_hub_hub1_out4"
]
},
"controls": [
"fan.main_hub_hub1_out4",
"light.main_hub_hub2_out13"
]
},
{
"entity_id": "binary_sensor.hub3_in3",
"friendly_name": "SPA Prawy",
"actions": {
"single": [
"fan.main_hub_hub1_out4"
],
"long": [
"light.main_hub_spa_ledy"
]
},
"controls": [
"fan.main_hub_hub1_out4",
"light.main_hub_hub1_out10",
"light.main_hub_spa_ledy"
]
},
{
"entity_id": "binary_sensor.hub3_in4",
"friendly_name": "Włącznik Biała łazienka plafon",
"actions": {
"single": [
"light.main_hub_hub2_out0"
],
"double": [
"light.main_hub_biala_lazienka_wanna_led"
],
"long": [
"fan.main_hub_hub2_out8"
]
},
"controls": [
"fan.main_hub_hub2_out8",
"light.main_hub_biala_lazienka_wanna_led",
"light.main_hub_hub2_out0"
]
},
{
"entity_id": "binary_sensor.hub3_in5",
"friendly_name": "WC Prawy",
"actions": {
"default": [
"fan.main_hub_hub2_out5",
"light.main_hub_hub2_out2",
"light.wc_led"
]
},
"controls": [
"fan.main_hub_hub2_out5",
"light.main_hub_hub2_out2",
"light.wc_led"
]
},
{
"entity_id": "binary_sensor.hub3_in6",
"friendly_name": "WC Lewy",
"actions": {
"default": [
"light.main_hub_hub1_out9"
]
},
"controls": [
"light.main_hub_hub1_out9"
]
},
{
"entity_id": "binary_sensor.hub3_in7",
"friendly_name": "Włącznik Biała łazienka skos",
"actions": {
"single": [
"light.main_hub_hub2_out4"
]
},
"controls": [
"light.main_hub_hub2_out4"
]
},
{
"entity_id": "binary_sensor.hub3_in8",
"friendly_name": "SPA Prawy",
"actions": {
"single": [
"light.main_hub_hub1_out5"
]
},
"controls": [
"light.main_hub_hub1_out5"
]
},
{
"entity_id": "binary_sensor.hub3_in9",
"friendly_name": "SPA Prawy",
"actions": {
"single": [
"light.main_hub_hub1_out1"
]
},
"controls": [
"light.main_hub_hub1_out1"
]
}
]

58
Kuba/lista_akcji.md Normal file
View File

@@ -0,0 +1,58 @@
# Akcje Binary Sensor — Main Hub
Legenda: **[HA]** = przez homeassistant.service | **off_all** = skrypt wyłącz wszystko
## hub1_IN
| ID / Opis | 1× | 2× | 3× | Długi |
|------------------------------------|-----------------------------------------------------------|-------------------------------------------------|----|-----------|
| hub1_in0 / Wejście 1 | hub1_out15 (Wejście Halogeny) | — | — | off_all |
| hub1_in1 / Wejście 3 | — | — | — | — |
| hub1_in2 / Wejście 2 | [HA] light.korytarz_kinkiety | — | — | off_all |
| hub1_in3 / Sypialnia 3 | hub2_out12 (Łóżko Lewo) + hub2_out1 (Łóżko Prawo) | hub2_out12 + hub2_out1 | — | — |
| hub1_in4 / Sypialnia 1 | sypialnia_led | — | — | — |
| hub1_in5 / Sypialnia 2 | hub2_out7 (Sypialnia Halogen) | — | — | — |
| hub1_in6 / Sypialnia Łóżko Prawo | hub2_out1 (Łóżko Prawo) | hub2_out12 (Łóżko Lewo) + hub2_out1 (Łóżko Prawo) | — | off_all |
| hub1_in7 / Sypialnia Łóżko Lewo | hub2_out12 (Łóżko Lewo) | hub2_out12 + hub2_out1 | — | off_all |
| hub1_in8 / Pokój Gości Lewy | hub2_out10 (Pokój Gościnny Sufit) | hub1_out7 (Garderoba Duża) | — | — |
| hub1_in9 / Pokój Gości Prawy | pokoj_dla_gosci_led | — | — | — |
| hub1_in10..15 / (niepodpięte) | — | — | — | — |
## hub2_IN
| ID / Opis | 1× | 2× | 3× | Długi |
|------------------------------------|---------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|----|------------------------------------|
| hub2_in0 / Korytarz 2 | hub1_out15 (Wejście Halogeny) | — | — | — |
| hub2_in1 / Korytarz 3 | [HA] light.korytarz_kinkiety | — | — | off_all |
| hub2_in2 / Korytarz 1 | hub1_out14 (Korytarz Halogeny) | — | — | off_all |
| hub2_in3 / Mały Korytarz | hub1_out13 (Mały Korytarz Kinkiet) + hub2_out3 (Mały Korytarz Sufit) | — | — | — |
| hub2_in4 / Garderoba Mała | hub2_out14 (Mała Garderoba) | hub3_out2 (Wentylator Główny Obieg) | — | — |
| hub2_in5 / Kuchnia 3_1 | hub1_out8 (Jadalnia) | — | — | — |
| hub2_in6 / Kuchnia 3_2 | jadalnia_led | — | — | — |
| hub2_in7 / Kuchnia 2_1 | hub1_out3 (Kuchnia Halogen) | — | — | off_all |
| hub2_in8 / Kuchnia 2_2 | kuchnia_lezka_led | — | — | — |
| hub2_in9 / Kuchnia 1_1 | hub2_out11 (Salon Plafon) | [HA] switch.salon_wentylator | — | — |
| hub2_in10 / Kuchnia 1_2 | [HA] light.komin_led + light.salon_kinkiety_led | [HA] light.komin_led | — | [HA] light.komin_led |
| hub2_in11 / Schody 3 | [HA] light.oczka_taras_2 + light.skrzynia_2 + light.tunel_2 + light.zwis_schody_2 | — | — | — |
| hub2_in12 / Schody 1 | hub2_out11 (Salon Plafon) | — | — | — |
| hub2_in13 / Schody 2 | [HA] light.salon_kinkiet_1_led + light.salon_kinkiet_2_led + light.salon_kinkiet_3_led | [HA] light.salon_kinkiety_led + light.salon_kinkiet_1/2/3_led | — | [HA] light.komin_led |
| hub2_in14..15 / (niepodpięte) | — | — | — | — |
## hub3_IN
| ID / Opis | 1× | 2× | 3× | Długi |
|------------------------------------|-----------------------------------------------------------------------|-------------------------------------------|-----------------------------------------|--------------------------------|
| hub3_in0 / Garderoba Duża Lewy | hub1_out7 (Garderoba Duża) | — | — | — |
| hub3_in1 / Garderoba Duża Prawy | — | — | — | — |
| hub3_in2 / SPA Lewy | hub2_out13 (SPA Zwisy) | — | — | hub1_out4 (SPA Wentylator) |
| hub3_in3 / SPA Prawy | hub1_out4 (SPA Wentylator) + hub1_out10 (SPA Halogeny) | — | — | SPA_Ledy |
| hub3_in4 / Biała Łazienka Ściana | hub2_out0 (Łazienka Sufit) | biala_lazienka_wanna_led | — | hub2_out8 (Łazienka Wentylator)|
| hub3_in5 / Małe WC Lustro Prawy | hub2_out5 (WC Wentylator) + hub2_out2 (WC Sufit) + [HA] light.wc_led | — | — | — |
| hub3_in6 / Małe WC Lustro Lewy | hub1_out9 (WC Lustro) | — | — | — |
| hub3_in7 / Biała Łazienka Skos | hub2_out4 (Łazienka Skos) | — | — | — |
| hub3_in8 / SPA Lustro Lewy | hub1_out5 (Kanciapa pod schodami) | — | — | — |
| hub3_in9 / SPA Lustro Prawy | hub1_out1 (SPA Kinkiet Lustro) | — | — | — |
| hub3_in10 / Biuro Skos | hub1_out2 (Biuro) | serwer_led | — | — |
| hub3_in11 / Serwer Prawy | serwer_led | test_led_2 | hub3_out2 (Wentylator Główny Obieg) | — |
| hub3_in12 / Serwer Lewy | hub1_out14 (Korytarz Halogeny) | hub1_out14 (Korytarz Halogeny) + hub1_out2 (Biuro) | — | off_all |
| hub3_in13..15 / (niepodpięte) | — | — | — | — |

View File

@@ -0,0 +1,64 @@
# Lista Binary Sensor — Main Hub
## Binary Sensor — hub1_IN (mcp23xxx_hub1_IN)
| ID | Opis |
|------------|--------------------------------|
| hub1_in0 | Wejście 1 |
| hub1_in1 | Wejście 3 |
| hub1_in2 | Wejście 2 |
| hub1_in3 | Sypialnia 3 |
| hub1_in4 | Sypialnia 1 |
| hub1_in5 | Sypialnia 2 |
| hub1_in6 | Sypialnia Łóżko Prawa Strona |
| hub1_in7 | Sypialnia Łóżko Lewa Strona |
| hub1_in8 | Pokój dla Gości Lewy |
| hub1_in9 | Pokój dla Gości Prawy |
| hub1_in10 | (niepodpięte) |
| hub1_in11 | (niepodpięte) |
| hub1_in12 | (niepodpięte) |
| hub1_in13 | (niepodpięte) |
| hub1_in14 | (niepodpięte) |
| hub1_in15 | (niepodpięte) |
## Binary Sensor — hub2_IN (mcp23xxx_hub2_IN)
| ID | Opis |
|------------|-------------------|
| hub2_in0 | Korytarz 2 |
| hub2_in1 | Korytarz 3 |
| hub2_in2 | Korytarz 1 |
| hub2_in3 | Mały Korytarz |
| hub2_in4 | Garderoba Mała |
| hub2_in5 | Kuchnia 3_1 |
| hub2_in6 | Kuchnia 3_2 |
| hub2_in7 | Kuchnia 2_1 |
| hub2_in8 | Kuchnia 2_2 |
| hub2_in9 | Kuchnia 1_1 |
| hub2_in10 | Kuchnia 1_2 |
| hub2_in11 | Schody 3 |
| hub2_in12 | Schody 1 |
| hub2_in13 | Schody 2 |
| hub2_in14 | (niepodpięte) |
| hub2_in15 | (niepodpięte) |
## Binary Sensor — hub3_IN (mcp23xxx_hub3_IN)
| ID | Opis |
|------------|---------------------------|
| hub3_in0 | Garderoba Duża Lewy |
| hub3_in1 | Garderoba Duża Prawy |
| hub3_in2 | SPA Lewy |
| hub3_in3 | SPA Prawy |
| hub3_in4 | Biała Łazienka Ściana |
| hub3_in5 | Małe WC Lustro Prawy |
| hub3_in6 | Małe WC Lustro Lewy |
| hub3_in7 | Biała Łazienka Skos |
| hub3_in8 | SPA Lustro Lewy |
| hub3_in9 | SPA Lustro Prawy |
| hub3_in10 | Biuro Skos |
| hub3_in11 | Serwer Prawy |
| hub3_in12 | Serwer Lewy |
| hub3_in13 | (niepodpięte) |
| hub3_in14 | (niepodpięte) |
| hub3_in15 | (niepodpięte) |

View File

@@ -0,0 +1,79 @@
# Lista Switch / Light — Main Hub
## Switch — hub1_OUT (mcp23xxx_hub1_OUT)
| ID | Opis |
|-------------|-------------------------|
| hub1_out0 | (wolne) |
| hub1_out1 | SPA Kinkiet Lustro |
| hub1_out2 | Biuro |
| hub1_out3 | Kuchnia Halogen |
| hub1_out4 | SPA Wentylator [FAN] |
| hub1_out5 | Kanciapa pod schodami |
| hub1_out6 | (wolne) |
| hub1_out7 | Garderoba Duża |
| hub1_out8 | Jadalnia |
| hub1_out9 | WC Lustro |
| hub1_out10 | SPA Halogeny |
| hub1_out11 | (wolne) |
| hub1_out12 | (wolne) |
| hub1_out13 | Mały Korytarz Kinkiet |
| hub1_out14 | Korytarz Halogeny |
| hub1_out15 | Wejście Halogeny |
## Switch — hub2_OUT (mcp23xxx_hub2_OUT)
| ID | Opis |
|-------------|---------------------------------------------|
| hub2_out0 | Łazienka Sufit |
| hub2_out1 | Sypialnia Łóżko Prawa strona |
| hub2_out2 | WC Sufit |
| hub2_out3 | Mały Korytarz Sufit |
| hub2_out4 | Łazienka Skos |
| hub2_out5 | WC Wentylator [FAN] |
| hub2_out6 | (wolne) |
| hub2_out7 | Sypialnia Halogen |
| hub2_out8 | Biała Łazienka Wentylator [FAN] |
| hub2_out9 | (wolne) |
| hub2_out10 | Pokój Gościnny Sufit |
| hub2_out11 | Salon Plafon |
| hub2_out12 | Sypialnia Łóżko Lewa strona |
| hub2_out13 | SPA Zwisy |
| hub2_out14 | Mała Garderoba |
| hub2_out15 | (wolne) |
## Switch — hub3_OUT (mcp23xxx_hub3_OUT)
| ID | Opis |
|-------------|---------------------------------|
| hub3_out0 | (wolne) |
| hub3_out1 | (wolne) |
| hub3_out2 | Wentylator Główny Obieg [FAN] |
| hub3_out3 | Ogrzewanie Kuchnia |
| hub3_out4 | Ogrzewanie Jadalnia/Salon |
| hub3_out5 | Ogrzewanie Salon kanapa |
| hub3_out6 | Ogrzewanie SPA |
| hub3_out7 | Ogrzewanie Korytarz |
| hub3_out8 | Ogrzewanie Pokój Dziecka 2 |
| hub3_out9 | Ogrzewanie Biuro/Serwer |
| hub3_out10 | Ogrzewanie Biuro |
| hub3_out11 | Ogrzewanie Pokój Dziecka 1 |
| hub3_out12 | Ogrzewanie Garderoba |
| hub3_out13 | Ogrzewanie Sypialnia 2 |
| hub3_out14 | Ogrzewanie Biała Łazienka/WC |
| hub3_out15 | Ogrzewanie Sypialnia 1 |
## Light — PCA9685 + lokalne GPIO
| ID | Nazwa | Typ |
|-------------------------|----------------------------|--------------|
| status_led | Status LED | rgb |
| serwer_led | Serwer LED | cwww |
| jadalnia_led | Jadalnia LED | cwww |
| biala_lazienka_wanna_led| Biała Łazienka wanna LED | cwww |
| kuchnia_lezka_led | Kuchnia Łezka LED | monochromatic|
| SPA_Ledy | SPA Ledy | cwww |
| pokoj_dla_gosci_led | Pokój dla gości LED | cwww |
| *(brak id)* | TEST LED 1 | monochromatic|
| test_led_2 | TEST LED 2 | monochromatic|
| sypialnia_led | Sypialnia LED | rgbww |

File diff suppressed because it is too large Load Diff

View File

@@ -1,97 +0,0 @@
esphome:
name: main-hub
friendly_name: main-hub
esp32:
board: esp32dev
framework:
type: esp-idf
logger:
api:
encryption:
key: "eyBNZWDUaBDCTIZsSIUzwHFpUcm/Kbc9UAWjX++ToL4="
ota:
- platform: esphome
password: "000f95472f1adc514d45abdc280a3903"
#wifi:
# ssid: !secret wifi_ssid
# password: !secret wifi_password
#
# ap:
# ssid: "Main-Hub Fallback Hotspot"
# password: "y0LGSOyT5tjJ"
#captive_portal:
web_server:
port: 80
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
power_pin: GPIO12
button:
- platform: restart
name: "main-hub Restart"
packages:
i2c: !include packages/i2c.yaml
pca9685: !include packages/pca9685.yaml
mcp23017_outputs: !include packages/mcp23017_outputs.yaml
mcp23017_inputs: !include packages/mcp23017_inputs.yaml
scripts: !include packages/scripts.yaml
esp32_ble_tracker:
sensor:
- platform: uptime
type: seconds
name: Uptime Sensor
- platform: atc_mithermometer
mac_address: "A4:C1:38:C5:11:58"
temperature:
name: "Biuro Temperatura"
humidity:
name: "Biuro Nawilżenie"
battery_level:
name: "Biuro Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:5C:4F:38"
temperature:
name: "Serwer Temperatura"
humidity:
name: "Serwer Nawilżenie"
battery_level:
name: "Serwer Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:67:6B:94"
temperature:
name: "Kuchnia Temperatura"
humidity:
name: "Kuchnia Nawilżenie"
battery_level:
name: "Kuchnia Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:C9:FE:CA"
temperature:
name: "WC Temperatura"
humidity:
name: "WC Nawilżenie"
battery_level:
name: "WC Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:63:6D:DB"
temperature:
name: "Łazienka Temperatura"
humidity:
name: "Łazienka Nawilżenie"
battery_level:
name: "Łazienka Bateria"

File diff suppressed because it is too large Load Diff

837
Kuba/mapping Normal file
View File

@@ -0,0 +1,837 @@
switch:
#mcp23xxx_hub1_OUT
- platform: gpio
name: "hub1_out0" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 0
mode: OUTPUT
inverted: False
id: hub1_out0
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out1" # SPA Kinkiet Lustro
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 1
mode: OUTPUT
inverted: False
id: hub1_out1
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out2" # Biuro
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 2
mode: OUTPUT
inverted: False
id: hub1_out2
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out3" # Kuchnia Halogen
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 3
mode: OUTPUT
inverted: False
id: hub1_out3
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out4" # SPA Wentylator [FAN]
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 4
mode: OUTPUT
inverted: False
id: hub1_out4
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out5" # Kanciapa pod schodami
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 5
mode: OUTPUT
inverted: False
id: hub1_out5
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out6" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 6
mode: OUTPUT
inverted: False
id: hub1_out6
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out7" # Garderoba Duża
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 7
mode: OUTPUT
inverted: False
id: hub1_out7
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out8" # Jadalnia
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 8
mode: OUTPUT
inverted: False
id: hub1_out8
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out9" # WC Lustro
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 9
mode: OUTPUT
inverted: False
id: hub1_out9
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out10" # SPA Halogeny
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 10
mode: OUTPUT
inverted: False
id: hub1_out10
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out11" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 11
mode: OUTPUT
inverted: False
id: hub1_out11
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out12" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 12
mode: OUTPUT
inverted: False
id: hub1_out12
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out13" # Mały Korytarz Kinkiet
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 13
mode: OUTPUT
inverted: False
id: hub1_out13
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out14" # Korytarz Halogeny
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 14
mode: OUTPUT
inverted: False
id: hub1_out14
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub1_out15" # Wejście Halogeny
pin:
mcp23xxx: mcp23xxx_hub1_OUT
number: 15
mode: OUTPUT
inverted: False
id: hub1_out15
restore_mode: ALWAYS_OFF
#mcp23xxx_hub2_OUT
- platform: gpio
name: "hub2_out0" # Łazienka Sufit
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 0
mode: OUTPUT
inverted: False
id: hub2_out0
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out1" # Sypialnia Łóżko Prawa strona
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 1
mode: OUTPUT
inverted: False
id: hub2_out1
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out2" # WC Sufit
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 2
mode: OUTPUT
inverted: False
id: hub2_out2
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out3" # Mały Korytarz Sufit
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 3
mode: OUTPUT
inverted: False
id: hub2_out3
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out4" # Łazienka Skos
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 4
mode: OUTPUT
inverted: False
id: hub2_out4
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out5" # WC Wentylator [FAN]
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 5
mode: OUTPUT
inverted: False
id: hub2_out5
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out6" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 6
mode: OUTPUT
inverted: False
id: hub2_out6
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out7" # Sypialnia Halogen
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 7
mode: OUTPUT
inverted: False
id: hub2_out7
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out8" # Łazienka Sufit (Biała Łazienka Wentylator) [FAN]
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 8
mode: OUTPUT
inverted: False
id: hub2_out8
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out9" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 9
mode: OUTPUT
inverted: False
id: hub2_out9
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out10" # Pokój Gościnny Sufit
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 10
mode: OUTPUT
inverted: False
id: hub2_out10
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out11" # Salon Plafon
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 11
mode: OUTPUT
inverted: False
id: hub2_out11
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out12" # Sypialnia Łóżko Lewa strona
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 12
mode: OUTPUT
inverted: False
id: hub2_out12
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out13" # SPA Zwisy
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 13
mode: OUTPUT
inverted: False
id: hub2_out13
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out14" # Mała Garderoba
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 14
mode: OUTPUT
inverted: False
id: hub2_out14
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub2_out15" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub2_OUT
number: 15
mode: OUTPUT
inverted: False
id: hub2_out15
restore_mode: ALWAYS_OFF
#mcp23xxx_hub3_OUT
- platform: gpio
name: "hub3_out0" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 0
mode: OUTPUT
inverted: False
id: hub3_out0
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out1" # (wolne)
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 1
mode: OUTPUT
inverted: False
id: hub3_out1
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out2" # Wentylator Główny Obieg [FAN]
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 2
mode: OUTPUT
inverted: False
id: hub3_out2
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out3" # Ogrzewanie Kuchnia
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 3
mode: OUTPUT
inverted: False
id: hub3_out3
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out4" # Ogrzewanie Jadalnia/Salon
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 4
mode: OUTPUT
inverted: False
id: hub3_out4
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out5" # Ogrzewanie Salon kanapa
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 5
mode: OUTPUT
inverted: False
id: hub3_out5
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out6" # Ogrzewanie SPA
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 6
mode: OUTPUT
inverted: False
id: hub3_out6
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out7" # Ogrzewanie Korytarz
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 7
mode: OUTPUT
inverted: False
id: hub3_out7
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out8" # Ogrzewanie Pokój Dziecka 2
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 8
mode: OUTPUT
inverted: False
id: hub3_out8
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out9" # Ogrzewanie Biuro/Serwer
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 9
mode: OUTPUT
inverted: False
id: hub3_out9
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out10" # Ogrzewanie Biuro
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 10
mode: OUTPUT
inverted: False
id: hub3_out10
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out11" # Ogrzewanie Pokój Dziecka 1
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 11
mode: OUTPUT
inverted: False
id: hub3_out11
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out12" # Ogrzewanie Garderoba
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 12
mode: OUTPUT
inverted: False
id: hub3_out12
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out13" # Ogrzewanie Sypialnia 2
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 13
mode: OUTPUT
inverted: False
id: hub3_out13
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out14" # Ogrzewanie Biała Łazienka/WC
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 14
mode: OUTPUT
inverted: False
id: hub3_out14
restore_mode: ALWAYS_OFF
- platform: gpio
name: "hub3_out15" # Ogrzewanie Sypialnia 1
pin:
mcp23xxx: mcp23xxx_hub3_OUT
number: 15
mode: OUTPUT
inverted: False
id: hub3_out15
restore_mode: ALWAYS_OFF
binary_sensor:
#Mains detector
#- platform: gpio
# pin:
# number: 39
# inverted: True
# name: "Mains detector"
##################
#mcp23xxx_hub1_IN#
##################
- platform: gpio
name: "hub1_in0" # Wejście 1
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 0
mode: INPUT
inverted: True
id: hub1_in0
- platform: gpio
name: "hub1_in1" # Wejście 3
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 1
mode: INPUT
inverted: True
id: hub1_in1
- platform: gpio
name: "hub1_in2" # Wejście 2
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 2
mode: INPUT
inverted: True
id: hub1_in2
- platform: gpio
name: "hub1_in3" # Sypialnia 3
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 3
mode: INPUT
inverted: True
id: hub1_in3
- platform: gpio
name: "hub1_in4" # Sypialnia 1
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 4
mode: INPUT
inverted: True
id: hub1_in4
- platform: gpio
name: "hub1_in5" # Sypialnia 2
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 5
mode: INPUT
inverted: True
id: hub1_in5
- platform: gpio
name: "hub1_in6" # Sypialnia Łóżko Prawa Strona
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 6
mode: INPUT
inverted: True
id: hub1_in6
- platform: gpio
name: "hub1_in7" # Sypialnia Łóżko Lewa Strona
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 7
mode: INPUT
inverted: True
id: hub1_in7
- platform: gpio
name: "hub1_in8" # Niebieski Pokój Lewy
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 8
mode: INPUT
inverted: True
id: hub1_in8
- platform: gpio
name: "hub1_in9" # Niebieski Pokój Prawy
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 9
mode: INPUT
inverted: True
id: hub1_in9
- platform: gpio
name: "hub1_in10" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 10
mode: INPUT
inverted: True
id: hub1_in10
- platform: gpio
name: "hub1_in11" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 11
mode: INPUT
inverted: True
id: hub1_in11
- platform: gpio
name: "hub1_in12" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 12
mode: INPUT
inverted: True
id: hub1_in12
- platform: gpio
name: "hub1_in13" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 13
mode: INPUT
inverted: True
id: hub1_in13
- platform: gpio
name: "hub1_in14" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 14
mode: INPUT
inverted: True
id: hub1_in14
- platform: gpio
name: "hub1_in15" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 15
mode: INPUT
inverted: True
id: hub1_in15
##################
#mcp23xxx_hub2_IN#
##################
- platform: gpio
name: "hub2_in0" # Korytarz 2
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 0
mode: INPUT
inverted: True
id: hub2_in0
- platform: gpio
name: "hub2_in1" # Korytarz 3
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 1
mode: INPUT
inverted: True
id: hub2_in1
- platform: gpio
name: "hub2_in2" # Korytarz 1
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 2
mode: INPUT
inverted: True
id: hub2_in2
- platform: gpio
name: "hub2_in3" # Mały Korytarz
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 3
mode: INPUT
inverted: True
id: hub2_in3
- platform: gpio
name: "hub2_in4" # Garderoba Mała
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 4
mode: INPUT
inverted: True
id: hub2_in4
- platform: gpio
name: "hub2_in5" # Kuchnia 3_1
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 5
mode: INPUT
inverted: True
id: hub2_in5
- platform: gpio
name: "hub2_in6" # Kuchnia 3_2
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 6
mode: INPUT
inverted: True
id: hub2_in6
- platform: gpio
name: "hub2_in7" # Kuchnia 2_1
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 7
mode: INPUT
inverted: True
id: hub2_in7
- platform: gpio
name: "hub2_in8" # Kuchnia 2_2
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 8
mode: INPUT
inverted: True
id: hub2_in8
- platform: gpio
name: "hub2_in9" # Kuchnia 1_1
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 9
mode: INPUT
inverted: True
id: hub2_in9
- platform: gpio
name: "hub2_in10" # Kuchnia 1_2
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 10
mode: INPUT
inverted: True
id: hub2_in10
- platform: gpio
name: "hub2_in11" # Schody 3
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 11
mode: INPUT
inverted: True
id: hub2_in11
- platform: gpio
name: "hub2_in12" # Schody 1
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 12
mode: INPUT
inverted: True
id: hub2_in12
- platform: gpio
name: "hub2_in13" # Schody 2
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 13
mode: INPUT
inverted: True
id: hub2_in13
- platform: gpio
name: "hub2_in14" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 14
mode: INPUT
inverted: True
id: hub2_in14
- platform: gpio
name: "hub2_in15" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 15
mode: INPUT
inverted: True
id: hub2_in15
##################
#mcp23xxx_hub3_IN#
##################
- platform: gpio
name: "hub3_in0" # Garderoba Duża Lewy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 0
mode: INPUT
inverted: True
id: hub3_in0
- platform: gpio
name: "hub3_in1" # Garderoba Duża Prawy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 1
mode: INPUT
inverted: True
id: hub3_in1
- platform: gpio
name: "hub3_in2" # SPA Lewy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 2
mode: INPUT
inverted: True
id: hub3_in2
- platform: gpio
name: "hub3_in3" # SPA Prawy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 3
mode: INPUT
inverted: True
id: hub3_in3
- platform: gpio
name: "hub3_in4" # Biała Łazienka Ściana
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 4
mode: INPUT
inverted: True
id: hub3_in4
- platform: gpio
name: "hub3_in5" # Małe WC Lustro Prawy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 5
mode: INPUT
inverted: True
id: hub3_in5
- platform: gpio
name: "hub3_in6" # Małe WC Lustro Lewy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 6
mode: INPUT
inverted: True
id: hub3_in6
- platform: gpio
name: "hub3_in7" # Biała Łazienka Skos
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 7
mode: INPUT
inverted: True
id: hub3_in7
- platform: gpio
name: "hub3_in8" # SPA Lustro Lewy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 8
mode: INPUT
inverted: True
id: hub3_in8
- platform: gpio
name: "hub3_in9" # SPA Lustro Prawy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 9
mode: INPUT
inverted: True
id: hub3_in9
- platform: gpio
name: "hub3_in10" # Biuro Skos
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 10
mode: INPUT
inverted: True
id: hub3_in10
- platform: gpio
name: "hub3_in11" # Serwer Prawy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 11
mode: INPUT
inverted: True
id: hub3_in11
- platform: gpio
name: "hub3_in12" # Serwer Lewy
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 12
mode: INPUT
inverted: True
id: hub3_in12
- platform: gpio
name: "hub3_in13" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 13
mode: INPUT
inverted: True
id: hub3_in13
- platform: gpio
name: "hub3_in14" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 14
mode: INPUT
inverted: True
id: hub3_in14
- platform: gpio
name: "hub3_in15" # (niepodpięte)
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 15
mode: INPUT
inverted: True
id: hub3_in15

View File

@@ -0,0 +1,299 @@
input_boolean:
switch:
name: Grupa ogrzewania
icon: mdi:radiator
sensor:
- platform: min_max
type: min
name: Srednia Temperatura
round_digits: 1
entity_ids:
- sensor.temperatura_spa
- sensor.temperatura_kuchnia
- sensor.temperatura_sypialnia
- platform: min_max
type: min
name: Biała Łazienka/WC
round_digits: 1
entity_ids:
- sensor.temperatura_wc
- sensor.temperatura_lazienka
- platform: hydro_imgw
station_id: "152210170"
## Temperatury ##
- platform: min_max
type: last
name: Temperatura Antresola
round_digits: 1
entity_ids:
- esp32_c6_antresola_temperatura
- sensor.antresola_temperatura
- platform: min_max
type: last
name: Temperatura Biuro
round_digits: 1
entity_ids:
- sensor.esp32_c6_biuro_temperatura
- sensor.main_hub_biuro_temperatura
- platform: min_max
type: last
name: Temperatura Garderoba Duza
round_digits: 1
entity_ids:
- sensor.esp32_c6_garderoba_duza_temperatura
- ensor.garderoba_duza_temperatura_3
- platform: min_max
type: last
name: Temperatura Kuchnia
round_digits: 1
entity_ids:
- sensor.esp32_c6_kuchnia_temperatura
- sensor.main_hub_kuchnia_temperatura
- platform: min_max
type: last
name: Temperatura Lazienka
round_digits: 1
entity_ids:
- sensor.esp32_c6_lazienka_temperatura
- sensor.main_hub_azienka_temperatura
- platform: min_max
type: last
name: Temperatura Pokoj Dziecka
round_digits: 1
entity_ids:
- sensor.esp32_c6_pokoj_temperatura
- sensor.pokoj_temperatura_3
- sensor.czujnik_temp_pokoj_dziecka_temperature
- platform: min_max
type: last
name: Temperatura Serwer
round_digits: 1
entity_ids:
- sensor.esp32_c6_serwer_temperatura
- sensor.main_hub_serwer_temperatura
- platform: min_max
type: last
name: Temperatura SPA
round_digits: 1
entity_ids:
- sensor.esp32_c6_spa_temperatura
- sensor.spa_temperatura
- platform: min_max
type: last
name: Temperatura Sypialnia
round_digits: 1
entity_ids:
- sensor.esp32_c6_sypialnia_temperatura
- sensor.sypialnia_temperatura
- platform: min_max
type: last
name: Temperatura WC
round_digits: 1
entity_ids:
- sensor.esp32_c6_wc_temperatura
- sensor.main_hub_wc_temperatura
climate:
- platform: generic_thermostat
name: Całe Mieszkanie
heater: input_boolean.ogrzewanie_cale
target_sensor: sensor.srednia_temperatura_2
min_temp: 10
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 18
precision: 0.1
- platform: generic_thermostat
name: Sypialnia
heater: switch.ogrzewanie_sypialnia
target_sensor: sensor.temperatura_sypialnia
min_temp: 10
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 18
precision: 0.1
- platform: generic_thermostat
name: Salon/Kuchnia
heater: switch.ogrzewanie_salon_kuchnia
target_sensor: sensor.temperatura_kuchnia
min_temp: 10
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 18
precision: 0.1
- platform: generic_thermostat
name: Biuro
heater: switch.ogrzewanie_biuro
target_sensor: sensor.temperatura_biuro
min_temp: 10
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 18
precision: 0.1
- platform: generic_thermostat
name: Biała Łazienka/WC
heater: switch.hub3_out14
target_sensor: sensor.temperatura_lazienka
min_temp: 10
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 18
precision: 0.1
- platform: generic_thermostat
name: Pokój dziecka
heater: switch.ogrzewanie_pokoj_dziecka
target_sensor: sensor.temperatura_pokoj_dziecka
#target_sensor: sensor.czujnik_temp_pokoj_dziecka_temperature
min_temp: 10
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "off"
away_temp: 18
precision: 0.1
input_number:
last_temp_cale_mieszkanie:
min: 10
max: 26
step: 0.1
last_temp_sypialnia:
min: 10
max: 26
step: 0.1
last_temp_salon_kuchnia:
min: 10
max: 26
step: 0.1
last_temp_biuro:
min: 10
max: 26
step: 0.1
last_temp_biala_lazienka_wc:
min: 10
max: 26
step: 0.1
last_temp_pokoj_dziecka:
min: 10
max: 26
step: 0.1
template:
- sensor:
- name: Średnia Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.srednia_temperatura_2') | float(0) | round(1) }}
- sensor:
- name: Biuro Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_biuro') | float(0) | round(1) }}
- sensor:
- name: Garderoba Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_garderoba_duza') | float(0) | round(1) }}
- sensor:
- name: Kuchnia Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_kuchnia') | float(0) | round(1) }}
- sensor:
- name: Łazienka Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_lazienka') | float(0) | round(1) }}
- sensor:
- name: Pokoj Władzia Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_pokoj_dziecka') | float(0) | round(1) }}
- sensor:
- name: Serwer Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_serwer') | float(0) | round(1) }}
- sensor:
- name: SPA Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_spa') | float(0) | round(1) }}
- sensor:
- name: Sypialnia Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_sypialnia') | float(0) | round(1) }}
- sensor:
- name: WC Temperatura
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: >
{{ states('sensor.temperatura_wc') | float(0) | round(1) }}

View File

@@ -31,10 +31,6 @@ ethernet:
phy_addr: 0
power_pin: GPIO12
dashboard_import:
package_import_url: github://gitea.domowyasystent.com/jkocon/ESP32-Hub/main-hub.yaml@main
import_full_config: true
logger:
api:
@@ -174,49 +170,87 @@ packages:
]
esp32_ble_tracker:
# ── Nazwane oświetlenie LED PWM (PCA9685) ────────────────────────────────────
# Zdefiniuj tu nazwane światła mapujące kanały PCA9685 na logiczne ID.
# Platformy: monochromatic (1 kanał), cwww (2), rgb (3), rgbww (5).
# Odkomentuj i uzupełnij wg okablowania.
#
# light:
# - platform: monochromatic
# name: "Nazwa Światła"
# id: nazwa_swiatla
# output: pca_0x40_ch0 # kanał PCA9685
#
# - platform: cwww
# name: "Nazwa Światła CW"
# id: nazwa_swiatla_cw
# cold_white: pca_0x40_ch1
# warm_white: pca_0x40_ch2
# cold_white_color_temperature: 6000K
# warm_white_color_temperature: 2700K
# ── Wejścia cyfrowe (MCP23017 INPUTS) ────────────────────────────────────────
# Zdefiniuj tu sensory mapujące piny MCP23017 na logiczne przyciski.
# Dla pojedynczego kliknięcia użyj on_click, dla wielu gestów on_multi_click.
#
# binary_sensor:
# - platform: gpio
# name: "Nazwa Przycisku"
# id: przycisk_id
# pin:
# mcp23xxx: mcp23xxx_0x20 # ID chipu z packages/main_hub/mcp23017/inputs/
# number: 0
# mode: INPUT
# inverted: True
# on_click:
# then:
# - light.toggle: nazwa_swiatla
#
# - platform: gpio
# name: "Przycisk Multi"
# id: przycisk_multi_id
# pin:
# mcp23xxx: mcp23xxx_0x20
# number: 1
# mode: INPUT
# inverted: True
# on_multi_click:
# - timing: # single click
# - ON for at most 350ms
# - OFF for at least 350ms
# then:
# - light.toggle: nazwa_swiatla
# - timing: # double click
# - ON for at most 350ms
# - OFF for at most 350ms
# - ON for at most 350ms
# - OFF for at least 350ms
# then:
# - script.execute: off_all_lights
# - timing: # long press
# - ON for at least 350ms
# then:
# - script.execute: off_all_fans
# ── Czujniki BLE ATC MiThermometer ───────────────────────────────────────────
# Odkomentuj esp32_ble_tracker oraz sensory jeśli używasz czujników BLE.
#
# esp32_ble_tracker:
#
# sensor:
# - platform: uptime
# type: seconds
# name: Uptime Sensor
# - platform: atc_mithermometer
# mac_address: "AA:BB:CC:DD:EE:FF" # TODO: wpisz MAC z etykiety czujnika
# temperature:
# name: "Pokój Temperatura"
# humidity:
# name: "Pokój Nawilzenie"
# battery_level:
# name: "Pokój Bateria"
sensor:
- platform: uptime
type: seconds
name: Uptime Sensor
- platform: atc_mithermometer
mac_address: "A4:C1:38:C5:11:58"
temperature:
name: "Biuro Temperatura"
humidity:
name: "Biuro Nawilzenie"
battery_level:
name: "Biuro Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:5C:4F:38"
temperature:
name: "Serwer Temperatura"
humidity:
name: "Serwer Nawilzenie"
battery_level:
name: "Serwer Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:67:6B:94"
temperature:
name: "Kuchnia Temperatura"
humidity:
name: "Kuchnia Nawilzenie"
battery_level:
name: "Kuchnia Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:C9:FE:CA"
temperature:
name: "WC Temperatura"
humidity:
name: "WC Nawilzenie"
battery_level:
name: "WC Bateria"
- platform: atc_mithermometer
mac_address: "A4:C1:38:63:6D:DB"
temperature:
name: "Lazienka Temperatura"
humidity:
name: "Lazienka Nawilzenie"
battery_level:
name: "Lazienka Bateria"

217
mapping.yaml Normal file
View File

@@ -0,0 +1,217 @@
# ============================================================
# KUBA-HUB — Mapa okablowania
# Źródło: Kuba/config esphome (eksport z Home Assistant)
# Wygenerowano: 2026-04-14
# ============================================================
#
# Ten plik jest tylko dokumentacją — nie jest wczytywany przez ESPHome.
#
# ============================================================
# ────────────────────────────────────────────────────────────
# MCP23017 OUTPUTS
# ESPHome ID prefix: mcp_0xADDR_outN
# Pakiet: packages/main_hub/mcp23017/outputs/0xADDR.yaml
# ────────────────────────────────────────────────────────────
# MCP23017 @ 0x21 (A2=0 A1=0 A0=1) — hub1 outputs
# ─────────────────────────────────────────────────────
# pin 0: mcp_0x21_out0 — (wolne)
# pin 1: mcp_0x21_out1 — SPA Kinkiet Lustro
# pin 2: mcp_0x21_out2 — Biuro
# pin 3: mcp_0x21_out3 — Kuchnia Halogen
# pin 4: mcp_0x21_out4 — SPA Wentylator [FAN]
# pin 5: mcp_0x21_out5 — Kanciapa pod schodami
# pin 6: mcp_0x21_out6 — (wolne)
# pin 7: mcp_0x21_out7 — Garderoba Duża
# pin 8: mcp_0x21_out8 — Jadalnia
# pin 9: mcp_0x21_out9 — WC Lustro
# pin 10: mcp_0x21_out10 — SPA Halogeny
# pin 11: mcp_0x21_out11 — (wolne)
# pin 12: mcp_0x21_out12 — (wolne)
# pin 13: mcp_0x21_out13 — Mały Korytarz Kinkiet
# pin 14: mcp_0x21_out14 — Korytarz Halogeny
# pin 15: mcp_0x21_out15 — Wejście Halogeny
# MCP23017 @ 0x23 (A2=0 A1=1 A0=1) — hub2 outputs
# ─────────────────────────────────────────────────────
# pin 0: mcp_0x23_out0 — Łazienka Sufit
# pin 1: mcp_0x23_out1 — Sypialnia Łóżko Prawa strona
# pin 2: mcp_0x23_out2 — WC Sufit
# pin 3: mcp_0x23_out3 — Mały Korytarz Sufit
# pin 4: mcp_0x23_out4 — Łazienka Skos
# pin 5: mcp_0x23_out5 — WC Wentylator [FAN]
# pin 6: mcp_0x23_out6 — (wolne)
# pin 7: mcp_0x23_out7 — Sypialnia Halogen
# pin 8: mcp_0x23_out8 — Łazienka Sufit (wentylator Biała Łazienka) [FAN]
# pin 9: mcp_0x23_out9 — (wolne)
# pin 10: mcp_0x23_out10 — Pokój Gościnny Sufit
# pin 11: mcp_0x23_out11 — Salon Plafon
# pin 12: mcp_0x23_out12 — Sypialnia Łóżko Lewa strona
# pin 13: mcp_0x23_out13 — SPA Zwisy
# pin 14: mcp_0x23_out14 — Mała Garderoba
# pin 15: mcp_0x23_out15 — (wolne)
# MCP23017 @ 0x25 (A2=1 A1=0 A0=1) — hub3 outputs
# ─────────────────────────────────────────────────────
# pin 0: mcp_0x25_out0 — (wolne)
# pin 1: mcp_0x25_out1 — (wolne)
# pin 2: mcp_0x25_out2 — Wentylator Główny Obieg [FAN]
# pin 3: mcp_0x25_out3 — Ogrzewanie Kuchnia
# pin 4: mcp_0x25_out4 — Ogrzewanie Jadalnia/Salon
# pin 5: mcp_0x25_out5 — Ogrzewanie Salon kanapa
# pin 6: mcp_0x25_out6 — Ogrzewanie SPA
# pin 7: mcp_0x25_out7 — Ogrzewanie Korytarz
# pin 8: mcp_0x25_out8 — Ogrzewanie Pokój Dziecka 2
# pin 9: mcp_0x25_out9 — Ogrzewanie Biuro/Serwer
# pin 10: mcp_0x25_out10 — Ogrzewanie Biuro
# pin 11: mcp_0x25_out11 — Ogrzewanie Pokój Dziecka 1
# pin 12: mcp_0x25_out12 — Ogrzewanie Garderoba
# pin 13: mcp_0x25_out13 — Ogrzewanie Sypialnia 2
# pin 14: mcp_0x25_out14 — Ogrzewanie Biała Łazienka/WC
# pin 15: mcp_0x25_out15 — Ogrzewanie Sypialnia 1
# ────────────────────────────────────────────────────────────
# MCP23017 INPUTS
# ESPHome ID prefix: mcp23xxx_0xADDR (chip), pin N
# Pakiet: packages/main_hub/mcp23017/inputs/0xADDR.yaml
# Sensory definiowane w: kuba-hub.yaml (binary_sensor:)
# ────────────────────────────────────────────────────────────
# MCP23017 @ 0x20 (A2=0 A1=0 A0=0) — hub1 inputs
# ─────────────────────────────────────────────────────
# pin 0: hub1_in0 — Wejście 1
# pin 1: hub1_in1 — Wejście 3
# pin 2: hub1_in2 — Wejście 2
# pin 3: hub1_in3 — Sypialnia 3
# pin 4: hub1_in4 — Sypialnia 1
# pin 5: hub1_in5 — Sypialnia 2
# pin 6: hub1_in6 — Łóżko Prawa Strona
# pin 7: hub1_in7 — Łóżko Lewa Strona
# pin 8: hub1_in8 — Pokój dla Gości Lewy
# pin 9: hub1_in9 — Pokój dla Gości Prawy
# pin 10: hub1_in10 — (niepodpięte)
# pin 11: hub1_in11 — (niepodpięte)
# pin 12: hub1_in12 — (niepodpięte)
# pin 13: hub1_in13 — (niepodpięte)
# pin 14: hub1_in14 — (niepodpięte)
# pin 15: hub1_in15 — (niepodpięte)
# MCP23017 @ 0x22 (A2=0 A1=1 A0=0) — hub2 inputs
# ─────────────────────────────────────────────────────
# pin 0: hub2_in0 — Korytarz 2
# pin 1: hub2_in1 — Korytarz 3
# pin 2: hub2_in2 — Korytarz 1
# pin 3: hub2_in3 — Mały Korytarz
# pin 4: hub2_in4 — Mała Garderoba
# pin 5: hub2_in5 — Kuchnia 3_1
# pin 6: hub2_in6 — Kuchnia 3_2
# pin 7: hub2_in7 — Kuchnia 2_1
# pin 8: hub2_in8 — Kuchnia 2_2
# pin 9: hub2_in9 — Kuchnia 1_1
# pin 10: hub2_in10 — Kuchnia 1_2
# pin 11: hub2_in11 — Schody 3
# pin 12: hub2_in12 — Schody 1
# pin 13: hub2_in13 — Schody 2
# pin 14: hub2_in14 — (niepodpięte)
# pin 15: hub2_in15 — (niepodpięte)
# MCP23017 @ 0x24 (A2=1 A1=0 A0=0) — hub3 inputs
# ─────────────────────────────────────────────────────
# pin 0: hub3_in0 — Duża Garderoba Lewy
# pin 1: hub3_in1 — Duża Garderoba Prawy
# pin 2: hub3_in2 — SPA Lewy
# pin 3: hub3_in3 — SPA Prawy
# pin 4: hub3_in4 — Łazienka Ściana
# pin 5: hub3_in5 — WC Prawy
# pin 6: hub3_in6 — WC Lewy
# pin 7: hub3_in7 — Łazienka Skos
# pin 8: hub3_in8 — SPA Lustro L
# pin 9: hub3_in9 — SPA Lustro R
# pin 10: hub3_in10 — Biuro
# pin 11: hub3_in11 — Serwer Prawy
# pin 12: hub3_in12 — Serwer Lewy
# pin 13: hub3_in13 — (niepodpięte)
# pin 14: hub3_in14 — (niepodpięte)
# pin 15: hub3_in15 — (niepodpięte)
# ────────────────────────────────────────────────────────────
# PCA9685 PWM — nazwane światła LED
# Pakiety: packages/main_hub/pca9685/0x40.yaml, 0x41.yaml
# Światła definiowane w: kuba-hub.yaml (light:)
# ────────────────────────────────────────────────────────────
# PCA9685 @ 0x40 (A0=0 A1=0 A2=0 A3=0 A4=0 A5=0)
# ─────────────────────────────────────────────────
# ch0: pca_0x40_ch0 — TODO: przypisz nazwę (serwer_led ?)
# ch1: pca_0x40_ch1 — TODO
# ch2: pca_0x40_ch2 — TODO
# ch3: pca_0x40_ch3 — TODO
# ch4: pca_0x40_ch4 — TODO
# ch5: pca_0x40_ch5 — TODO
# ch6: pca_0x40_ch6 — TODO
# ch7: pca_0x40_ch7 — TODO
# ch8: pca_0x40_ch8 — TODO
# ch9: pca_0x40_ch9 — TODO
# ch10: pca_0x40_ch10 — TODO
# ch11: pca_0x40_ch11 — TODO
# ch12: pca_0x40_ch12 — TODO
# ch13: pca_0x40_ch13 — TODO
# ch14: pca_0x40_ch14 — TODO
# ch15: pca_0x40_ch15 — TODO
# PCA9685 @ 0x41 (A0=1 A1=0 A2=0 A3=0 A4=0 A5=0)
# ─────────────────────────────────────────────────
# ch0: pca_0x41_ch0 — TODO
# ch1: pca_0x41_ch1 — TODO
# ch2: pca_0x41_ch2 — TODO
# ch3: pca_0x41_ch3 — TODO
# ch4: pca_0x41_ch4 — TODO
# ch5: pca_0x41_ch5 — TODO
# ch6: pca_0x41_ch6 — TODO
# ch7: pca_0x41_ch7 — TODO
# ch8: pca_0x41_ch8 — TODO
# ch9: pca_0x41_ch9 — TODO
# ch10: pca_0x41_ch10 — TODO
# ch11: pca_0x41_ch11 — TODO
# ch12: pca_0x41_ch12 — TODO
# ch13: pca_0x41_ch13 — TODO
# ch14: pca_0x41_ch14 — TODO
# ch15: pca_0x41_ch15 — TODO
# Nazwane światła PWM (ESPHome ID → HA entity):
# serwer_led → light.main_hub_serwer_led — Serwer LED
# jadalnia_led → light.main_hub_jadalnia_led — Jadalnia LED
# sypialnia_led → light.main_hub_sypialnia_led — Sypialnia LED
# pokoj_dla_gosci_led → light.main_hub_pokoj_dla_gosci_led — Pokój dla Gości LED
# spa_ledy → light.main_hub_spa_ledy — SPA Ledy
# biala_lazienka_wanna_led→ light.main_hub_biala_lazienka_wanna_led — Biała Łazienka Wanna LED
# kuchnia_lezka_led → light.main_hub_kuchnia_lezka_led — Kuchnia Łezka LED
# ────────────────────────────────────────────────────────────
# WLED / zewnętrzne encje HA
# Używane w scripts.yaml (placeholder → docelowo ha.turn_on/off)
# ────────────────────────────────────────────────────────────
# wled_korytarz_kinkiety_toggle → light.korytarz_kinkiety (ESP: Korytarzkinkiety)
# wled_komin_toggle → light.komin_led (ESP: Komin)
# wled_komin_on → light.komin_led (ESP: Komin)
# wled_salon_kinkiety_toggle → light.salon_kinkiety_led (ESP: Salonkinkietyrgb)
# wled_salon_kinkiety_off → light.salon_kinkiety_led (ESP: Salonkinkietyrgb)
# wled_schody_all_toggle → light.schody_2 (ESP: Schody)
# wled_wc_led_toggle → light.wc_led (ESP: Lazienka)
# wled_salon_wentylator_toggle → switch.salon_wentylator (ESP: Salonwentylator)
# ────────────────────────────────────────────────────────────
# WENTYLATORY — szybki podgląd
# ────────────────────────────────────────────────────────────
# mcp_0x21_out4 — SPA Wentylator
# mcp_0x23_out5 — WC Wentylator
# mcp_0x23_out8 — Biała Łazienka Wentylator
# mcp_0x25_out2 — Wentylator Główny Obieg