substitutions: name: main-hub friendly_name: 'Main Hub' project_version: '1.0' esphome: name: '${name}' friendly_name: '${friendly_name}' name_add_mac_suffix: true project: name: peakcontrol.main-hub version: '${project_version}' on_boot: - priority: 1001 then: - lambda: |- gpio_reset_pin((gpio_num_t)5); gpio_reset_pin((gpio_num_t)14); gpio_reset_pin((gpio_num_t)15); esp32: board: esp32-poe framework: type: esp-idf ethernet: type: LAN8720 mdc_pin: GPIO23 mdio_pin: GPIO18 clk_mode: GPIO17_OUT 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: reboot_timeout: 0s encryption: key: "" # TODO: wygeneruj nowy klucz: esphome generate-api-key ota: - platform: esphome password: "" # TODO: ustaw hasło OTA - platform: web_server web_server: port: 80 local: true #wifi: # ssid: !secret wifi_ssid # password: !secret wifi_password # # ap: # ssid: '${friendly_name} Fallback' # password: "" #captive_portal: time: - platform: homeassistant timezone: Europe/Warsaw id: homeassistant_time button: - platform: restart name: '${friendly_name} Restart' packages: main_hub_packages: url: https://gitea.domowyasystent.com/jkocon/ESP32-Hub ref: main files: [ # ── Zawsze aktywne ──────────────────────────────────────────────────── 'packages/main_hub/i2c.yaml', 'packages/main_hub/status_led.yaml', 'packages/main_hub/scripts.yaml', # ── PCA9685 PWM ─────────────────────────────────────────────────────── # Zworki A0–A5 ustawiają adres: A0=+1, A1=+2, A2=+4, A3=+8, A4=+16, A5=+32 # Baza adresów: 0x40. Uwaga: 0x70–0x73 zarezerwowane przez protokół. # Odkomentuj linię zgodną z fizycznym adresem modułu. # # 'packages/main_hub/pca9685/0x40.yaml', # A0=0 A1=0 A2=0 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x41.yaml', # A0=1 A1=0 A2=0 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x42.yaml', # A0=0 A1=1 A2=0 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x43.yaml', # A0=1 A1=1 A2=0 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x44.yaml', # A0=0 A1=0 A2=1 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x45.yaml', # A0=1 A1=0 A2=1 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x46.yaml', # A0=0 A1=1 A2=1 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x47.yaml', # A0=1 A1=1 A2=1 A3=0 A4=0 A5=0 # 'packages/main_hub/pca9685/0x48.yaml', # A0=0 A1=0 A2=0 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x49.yaml', # A0=1 A1=0 A2=0 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x4a.yaml', # A0=0 A1=1 A2=0 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x4b.yaml', # A0=1 A1=1 A2=0 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x4c.yaml', # A0=0 A1=0 A2=1 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x4d.yaml', # A0=1 A1=0 A2=1 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x4e.yaml', # A0=0 A1=1 A2=1 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x4f.yaml', # A0=1 A1=1 A2=1 A3=1 A4=0 A5=0 # 'packages/main_hub/pca9685/0x50.yaml', # A0=0 A1=0 A2=0 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x51.yaml', # A0=1 A1=0 A2=0 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x52.yaml', # A0=0 A1=1 A2=0 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x53.yaml', # A0=1 A1=1 A2=0 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x54.yaml', # A0=0 A1=0 A2=1 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x55.yaml', # A0=1 A1=0 A2=1 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x56.yaml', # A0=0 A1=1 A2=1 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x57.yaml', # A0=1 A1=1 A2=1 A3=0 A4=1 A5=0 # 'packages/main_hub/pca9685/0x58.yaml', # A0=0 A1=0 A2=0 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x59.yaml', # A0=1 A1=0 A2=0 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x5a.yaml', # A0=0 A1=1 A2=0 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x5b.yaml', # A0=1 A1=1 A2=0 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x5c.yaml', # A0=0 A1=0 A2=1 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x5d.yaml', # A0=1 A1=0 A2=1 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x5e.yaml', # A0=0 A1=1 A2=1 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x5f.yaml', # A0=1 A1=1 A2=1 A3=1 A4=1 A5=0 # 'packages/main_hub/pca9685/0x60.yaml', # A0=0 A1=0 A2=0 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x61.yaml', # A0=1 A1=0 A2=0 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x62.yaml', # A0=0 A1=1 A2=0 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x63.yaml', # A0=1 A1=1 A2=0 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x64.yaml', # A0=0 A1=0 A2=1 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x65.yaml', # A0=1 A1=0 A2=1 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x66.yaml', # A0=0 A1=1 A2=1 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x67.yaml', # A0=1 A1=1 A2=1 A3=0 A4=0 A5=1 # 'packages/main_hub/pca9685/0x68.yaml', # A0=0 A1=0 A2=0 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x69.yaml', # A0=1 A1=0 A2=0 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x6a.yaml', # A0=0 A1=1 A2=0 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x6b.yaml', # A0=1 A1=1 A2=0 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x6c.yaml', # A0=0 A1=0 A2=1 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x6d.yaml', # A0=1 A1=0 A2=1 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x6e.yaml', # A0=0 A1=1 A2=1 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x6f.yaml', # A0=1 A1=1 A2=1 A3=1 A4=0 A5=1 # 'packages/main_hub/pca9685/0x74.yaml', # A0=0 A1=0 A2=1 A3=0 A4=1 A5=1 # 'packages/main_hub/pca9685/0x75.yaml', # A0=1 A1=0 A2=1 A3=0 A4=1 A5=1 # 'packages/main_hub/pca9685/0x76.yaml', # A0=0 A1=1 A2=1 A3=0 A4=1 A5=1 # 'packages/main_hub/pca9685/0x77.yaml', # A0=1 A1=1 A2=1 A3=0 A4=1 A5=1 # 'packages/main_hub/pca9685/0x78.yaml', # A0=0 A1=0 A2=0 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x79.yaml', # A0=1 A1=0 A2=0 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x7a.yaml', # A0=0 A1=1 A2=0 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x7b.yaml', # A0=1 A1=1 A2=0 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x7c.yaml', # A0=0 A1=0 A2=1 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x7d.yaml', # A0=1 A1=0 A2=1 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x7e.yaml', # A0=0 A1=1 A2=1 A3=1 A4=1 A5=1 # 'packages/main_hub/pca9685/0x7f.yaml', # A0=1 A1=1 A2=1 A3=1 A4=1 A5=1 # ── MCP23017 OUTPUTS ────────────────────────────────────────────────── # Zworki A0–A2 ustawiają adres: A0=+1, A1=+2, A2=+4. Baza: 0x20. # Odkomentuj linię zgodną z fizycznym adresem modułu skonfigurowanego jako OUTPUT. # # 'packages/main_hub/mcp23017/outputs/0x20.yaml', # A2=0 A1=0 A0=0 # 'packages/main_hub/mcp23017/outputs/0x21.yaml', # A2=0 A1=0 A0=1 # 'packages/main_hub/mcp23017/outputs/0x22.yaml', # A2=0 A1=1 A0=0 # 'packages/main_hub/mcp23017/outputs/0x23.yaml', # A2=0 A1=1 A0=1 # 'packages/main_hub/mcp23017/outputs/0x24.yaml', # A2=1 A1=0 A0=0 # 'packages/main_hub/mcp23017/outputs/0x25.yaml', # A2=1 A1=0 A0=1 # 'packages/main_hub/mcp23017/outputs/0x26.yaml', # A2=1 A1=1 A0=0 # 'packages/main_hub/mcp23017/outputs/0x27.yaml', # A2=1 A1=1 A0=1 # ── MCP23017 INPUTS ─────────────────────────────────────────────────── # Odkomentuj linię zgodną z fizycznym adresem modułu skonfigurowanego jako INPUT. # # 'packages/main_hub/mcp23017/inputs/0x20.yaml', # A2=0 A1=0 A0=0 # 'packages/main_hub/mcp23017/inputs/0x21.yaml', # A2=0 A1=0 A0=1 # 'packages/main_hub/mcp23017/inputs/0x22.yaml', # A2=0 A1=1 A0=0 # 'packages/main_hub/mcp23017/inputs/0x23.yaml', # A2=0 A1=1 A0=1 # 'packages/main_hub/mcp23017/inputs/0x24.yaml', # A2=1 A1=0 A0=0 # 'packages/main_hub/mcp23017/inputs/0x25.yaml', # A2=1 A1=0 A0=1 # 'packages/main_hub/mcp23017/inputs/0x26.yaml', # A2=1 A1=1 A0=0 # 'packages/main_hub/mcp23017/inputs/0x27.yaml', # A2=1 A1=1 A0=1 ] 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 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"