Initial commit

This commit is contained in:
2026-04-14 00:58:38 +02:00
commit 66f85682df
145 changed files with 13849 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
{
"permissions": {
"allow": [
"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\")"
]
}
}

67
CLAUDE.md Normal file
View File

@@ -0,0 +1,67 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## What this repo is
ESPHome firmware configuration for an ESP32-based smart home lighting hub. The device runs on an `esp32dev` board with `esp-idf` framework, connects via Ethernet (LAN8720), and controls lights and fans throughout the house. `flows.json` contains the corresponding Node-RED automation flows that run in Home Assistant and react to input sensor state changes from this device.
## ESPHome commands
```bash
esphome compile main-hub.yaml # compile only
esphome upload main-hub.yaml # OTA upload
esphome logs main-hub.yaml # stream logs from device
esphome run main-hub.yaml # compile + upload + logs
esphome config main-hub.yaml # validate and dump merged config
```
Secrets (wifi credentials, etc.) are expected in a `secrets.yaml` file in the same directory (WiFi is currently commented out in favor of Ethernet).
## Architecture
`main-hub.yaml` is the root config. It uses ESPHome's `packages:` feature to split the config across `packages/`:
| File | Purpose |
|---|---|
| `packages/i2c.yaml` | I2C bus definition (SDA:13, SCL:16, 200kHz) |
| `packages/pca9685.yaml` | 2× PCA9685 PWM drivers + all dimmable/color lights |
| `packages/mcp23017_outputs.yaml` | 3× MCP23017 output expanders + binary light wrappers |
| `packages/mcp23017_inputs.yaml` | 3× MCP23017 input expanders + all switch click automations |
| `packages/scripts.yaml` | `off_all_lights`, `off_all_fans`, and WLED placeholder scripts |
### I2C address map
| Device | Address | Role |
|---|---|---|
| mcp23xxx_hub1_IN | 0x20 | 16 inputs |
| mcp23xxx_hub1_OUT | 0x21 | 16 outputs |
| mcp23xxx_hub2_IN | 0x22 | 16 inputs |
| mcp23xxx_hub2_OUT | 0x23 | 16 outputs |
| mcp23xxx_hub3_IN | 0x24 | 16 inputs |
| mcp23xxx_hub3_OUT | 0x25 | 16 outputs |
| pca9685_hub1 | 0x40 | 16-ch PWM |
| pca9685_hub2 | 0x41 | 16-ch PWM |
### Naming conventions
- Binary outputs: raw GPIO output id is `hubN_outM_gpio`; the binary light wrapping it is `hubN_outM` (all `restore_mode: ALWAYS_OFF`)
- PWM outputs: `PWMX_Y_HubN` where X = circuit group, Y = channel within group, N = PCA9685 instance; all capped at `max_power: 75%` (some hub2 channels at 95%)
- Named lights (cwww/rgbww/monochromatic on PCA9685): `serwer_led`, `jadalnia_led`, `biala_lazienka_wanna_led`, `kuchnia_lezka_led`, `spa_ledy`, `pokoj_dla_gosci_led`, `sypialnia_led`
- Inputs: `hubN_inM`; fans are specific binary outputs noted in comments (hub1_out4, hub2_out5, hub2_out8, hub3_out2)
### Input click gestures
All input switches use `on_multi_click` with 350ms as the single-click vs. multi-click boundary:
- **single** (≤350ms ON, then ≥350ms OFF) → primary light toggle
- **double** (two short pulses) → secondary action
- **triple** (three short pulses) → often `off_all_lights` or WLED control
- **long** (≥350ms hold) → often `off_all_fans` or `off_all_lights + off_all_fans`
### WLED integration
WLED-controlled strips (korytarz kinkiety, komin, salon kinkiety, schody, wc, salon wentylator) are currently **placeholder scripts** that only log. The TODO in `scripts.yaml` notes these should be replaced with actual WLED control via Home Assistant/MQTT.
### `packages/main-hub.yaml`
This file is an identical copy of the root `main-hub.yaml`. It appears to be a duplicate — the canonical entry point for `esphome` commands is the root `main-hub.yaml`.

1
Kuba/flows.json Normal file

File diff suppressed because one or more lines are too long

97
Kuba/main-hub.yaml Normal file
View File

@@ -0,0 +1,97 @@
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"

5
Kuba/packages/i2c.yaml Normal file
View File

@@ -0,0 +1,5 @@
i2c:
sda: 13
scl: 16
scan: True
frequency: 200kHz

View File

@@ -0,0 +1,97 @@
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"

View File

@@ -0,0 +1,884 @@
mcp23017:
- id: "mcp23xxx_hub1_IN"
address: 0x20
- id: "mcp23xxx_hub2_IN"
address: 0x22
- id: "mcp23xxx_hub3_IN"
address: 0x24
binary_sensor:
##################
#mcp23xxx_hub1_IN#
##################
# Wejście 1 — single: halogeny wejście, triple: wyłącz lampy, long: wyłącz wentylatory
- platform: gpio
name: "hub1_in0"
id: hub1_in0
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 0
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out15
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- 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:
- ON for at least 350ms
then:
- script.execute: off_all_fans
# Wejście 3 — brak automatyzacji w Node-RED
- platform: gpio
name: "hub1_in1"
id: hub1_in1
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 1
mode: INPUT
inverted: True
# Wejście 2 — single: hub1_out14, triple: WLED korytarz kinkiety
- platform: gpio
name: "hub1_in2"
id: hub1_in2
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 2
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out14
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_korytarz_kinkiety_toggle
# Sypialnia 3 — single: turn_on hub2_out12+hub2_out1, double: toggle hub2_out12+hub2_out1
- platform: gpio
name: "hub1_in3"
id: hub1_in3
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 3
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.turn_on: hub2_out12
- light.turn_on: hub2_out1
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out12
- light.toggle: hub2_out1
# Sypialnia 1 — single: sypialnia LED
- platform: gpio
name: "hub1_in4"
id: hub1_in4
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 4
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: sypialnia_led
# Sypialnia 2 — single: hub2_out7
- platform: gpio
name: "hub1_in5"
id: hub1_in5
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 5
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out7
# Sypialnia Łóżko Prawa Strona — single: hub2_out1, double: hub2_out12+hub2_out1, long: wyłącz wszystkie
- platform: gpio
name: "hub1_in6"
id: hub1_in6
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 6
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out1
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out12
- light.toggle: hub2_out1
- timing:
- ON for at least 350ms
then:
- script.execute: off_all_lights
- script.execute: off_all_fans
# Sypialnia Łóżko Lewa Strona — single: hub2_out12, double: hub2_out12+hub2_out1, long: wyłącz wszystkie
- platform: gpio
name: "hub1_in7"
id: hub1_in7
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 7
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out12
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out12
- light.toggle: hub2_out1
- timing:
- ON for at least 350ms
then:
- script.execute: off_all_lights
- script.execute: off_all_fans
# Niebieski Pokój Lewy — single: hub2_out10, double: hub1_out7
- platform: gpio
name: "hub1_in8"
id: hub1_in8
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 8
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out10
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out7
# Niebieski Pokój Prawy — bezpośredni toggle pokój dla gości LED (bez gestów)
- platform: gpio
name: "hub1_in9"
id: hub1_in9
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 9
mode: INPUT
inverted: True
on_click:
min_length: 50ms
max_length: 1000ms
then:
- light.toggle: pokoj_dla_gosci_led
# Nie podpięte
- platform: gpio
name: "hub1_in10"
id: hub1_in10
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 10
mode: INPUT
inverted: True
- platform: gpio
name: "hub1_in11"
id: hub1_in11
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 11
mode: INPUT
inverted: True
- platform: gpio
name: "hub1_in12"
id: hub1_in12
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 12
mode: INPUT
inverted: True
- platform: gpio
name: "hub1_in13"
id: hub1_in13
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 13
mode: INPUT
inverted: True
- platform: gpio
name: "hub1_in14"
id: hub1_in14
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 14
mode: INPUT
inverted: True
- platform: gpio
name: "hub1_in15"
id: hub1_in15
pin:
mcp23xxx: mcp23xxx_hub1_IN
number: 15
mode: INPUT
inverted: True
##################
#mcp23xxx_hub2_IN#
##################
# Korytarz 2 — single: hub1_out15
- platform: gpio
name: "hub2_in0"
id: hub2_in0
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 0
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out15
# Korytarz 3 — single: WLED korytarz kinkiety, long: wyłącz wszystkie
- platform: gpio
name: "hub2_in1"
id: hub2_in1
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 1
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_korytarz_kinkiety_toggle
- timing:
- ON for at least 350ms
then:
- script.execute: off_all_lights
- script.execute: off_all_fans
# Korytarz 1 — single: hub1_out14, long: wyłącz wszystkie
- platform: gpio
name: "hub2_in2"
id: hub2_in2
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 2
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out14
- timing:
- ON for at least 350ms
then:
- script.execute: off_all_lights
- script.execute: off_all_fans
# Mały Korytarz — brak automatyzacji w Node-RED
- platform: gpio
name: "hub2_in3"
id: hub2_in3
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 3
mode: INPUT
inverted: True
# Garderoba Mała — single: hub2_out14, double: hub3_out2 (wentylator)
- platform: gpio
name: "hub2_in4"
id: hub2_in4
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 4
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out14
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub3_out2
# Kuchnia 3_1 — single: hub1_out8
- platform: gpio
name: "hub2_in5"
id: hub2_in5
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 5
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out8
# Kuchnia 3_2 — single: jadalnia LED
- platform: gpio
name: "hub2_in6"
id: hub2_in6
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 6
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: jadalnia_led
# Kuchnia 2_1 — single: hub1_out3, triple: wyłącz lampy, long: wyłącz wentylatory
- platform: gpio
name: "hub2_in7"
id: hub2_in7
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 7
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out3
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- 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:
- ON for at least 350ms
then:
- script.execute: off_all_fans
# Kuchnia 2_2 — single: kuchnia łezka LED
- platform: gpio
name: "hub2_in8"
id: hub2_in8
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 8
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: kuchnia_lezka_led
# Kuchnia 1_1 — single: hub2_out11, double: WLED salon wentylator
- platform: gpio
name: "hub2_in9"
id: hub2_in9
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 9
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out11
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_salon_wentylator_toggle
# Kuchnia 1_2 — single: WLED komin+salon kinkiety toggle, double: WLED komin on, long: WLED komin on
- platform: gpio
name: "hub2_in10"
id: hub2_in10
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 10
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_komin_toggle
- script.execute: wled_salon_kinkiety_toggle
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_komin_on
- timing:
- ON for at least 350ms
then:
- script.execute: wled_komin_on
# Schody 3 — single: WLED oczka taras + skrzynia + tunel + zwis schody toggle
- platform: gpio
name: "hub2_in11"
id: hub2_in11
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 11
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_schody_all_toggle
# Schody 1 — single: hub2_out11
- platform: gpio
name: "hub2_in12"
id: hub2_in12
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 12
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out11
# Schody 2 — single: WLED salon kinkiety toggle, double: WLED salon kinkiety off, long: WLED komin toggle
- platform: gpio
name: "hub2_in13"
id: hub2_in13
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 13
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_salon_kinkiety_toggle
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- script.execute: wled_salon_kinkiety_off
- timing:
- ON for at least 350ms
then:
- script.execute: wled_komin_toggle
# Nie podpięte
- platform: gpio
name: "hub2_in14"
id: hub2_in14
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 14
mode: INPUT
inverted: True
- platform: gpio
name: "hub2_in15"
id: hub2_in15
pin:
mcp23xxx: mcp23xxx_hub2_IN
number: 15
mode: INPUT
inverted: True
##################
#mcp23xxx_hub3_IN#
##################
# Garderoba Duża Lewy — single: hub1_out7
- platform: gpio
name: "hub3_in0"
id: hub3_in0
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 0
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out7
# Garderoba Duża Prawy — single: hub1_out7
- platform: gpio
name: "hub3_in1"
id: hub3_in1
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 1
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out7
# SPA Lewy — single: hub2_out13, triple: hub1_out4 (wentylator)
- platform: gpio
name: "hub3_in2"
id: hub3_in2
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 2
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out13
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out4
# SPA Prawy — single: hub1_out4+hub1_out10, triple: SPA Ledy
- platform: gpio
name: "hub3_in3"
id: hub3_in3
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 3
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out4
- light.toggle: hub1_out10
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: spa_ledy
# Biała Łazienka Ściana — single: hub2_out0, double: biała łazienka wanna LED, long: hub2_out8 (wentylator)
- platform: gpio
name: "hub3_in4"
id: hub3_in4
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 4
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out0
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: biala_lazienka_wanna_led
- timing:
- ON for at least 350ms
then:
- light.toggle: hub2_out8
# Małe WC Lustro Prawy — bezpośredni toggle hub2_out2 + WLED wc_led + hub2_out5 (wentylator)
- platform: gpio
name: "hub3_in5"
id: hub3_in5
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 5
mode: INPUT
inverted: True
on_click:
min_length: 50ms
max_length: 1000ms
then:
- light.toggle: hub2_out2
- light.toggle: hub2_out5
- script.execute: wled_wc_led_toggle
# Małe WC Lustro Lewy — bezpośredni toggle hub1_out9
- platform: gpio
name: "hub3_in6"
id: hub3_in6
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 6
mode: INPUT
inverted: True
on_click:
min_length: 50ms
max_length: 1000ms
then:
- light.toggle: hub1_out9
# Biała Łazienka Skos — single: hub2_out4
- platform: gpio
name: "hub3_in7"
id: hub3_in7
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 7
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub2_out4
# SPA Lustro Lewy — single: hub1_out5
- platform: gpio
name: "hub3_in8"
id: hub3_in8
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 8
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out5
# SPA Lustro Prawy — single: hub1_out1
- platform: gpio
name: "hub3_in9"
id: hub3_in9
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 9
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out1
# Biuro Skos — single: hub1_out2, double: serwer LED wyłącz
- platform: gpio
name: "hub3_in10"
id: hub3_in10
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 10
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out2
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.turn_off: serwer_led
# Serwer Prawy — single: serwer LED, double: hub1_out2, triple: hub3_out2 (wentylator)
- platform: gpio
name: "hub3_in11"
id: hub3_in11
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 11
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: serwer_led
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out2
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at most 350ms
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub3_out2
# Serwer Lewy — single: hub1_out14, triple: wyłącz lampy, long: wyłącz wentylatory
- platform: gpio
name: "hub3_in12"
id: hub3_in12
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 12
mode: INPUT
inverted: True
on_multi_click:
- timing:
- ON for at most 350ms
- OFF for at least 350ms
then:
- light.toggle: hub1_out14
- timing:
- ON for at most 350ms
- OFF for at most 350ms
- 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:
- ON for at least 350ms
then:
- script.execute: off_all_fans
# Nie podpięte
- platform: gpio
name: "hub3_in13"
id: hub3_in13
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 13
mode: INPUT
inverted: True
- platform: gpio
name: "hub3_in14"
id: hub3_in14
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 14
mode: INPUT
inverted: True
- platform: gpio
name: "hub3_in15"
id: hub3_in15
pin:
mcp23xxx: mcp23xxx_hub3_IN
number: 15
mode: INPUT
inverted: True

View File

@@ -0,0 +1,407 @@
mcp23017:
- id: "mcp23xxx_hub1_OUT"
address: 0x21
- id: "mcp23xxx_hub2_OUT"
address: 0x23
- id: "mcp23xxx_hub3_OUT"
address: 0x25
output:
# MCP23017 GPIO outputs — hub1
- platform: gpio
id: hub1_out0_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out1_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out2_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out3_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out4_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out5_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out6_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out7_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out8_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out9_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out10_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out11_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out12_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out13_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out14_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub1_out15_gpio
pin: {mcp23xxx: mcp23xxx_hub1_OUT, number: 15, mode: OUTPUT, inverted: False}
# MCP23017 GPIO outputs — hub2
- platform: gpio
id: hub2_out0_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out1_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out2_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out3_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out4_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out5_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out6_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out7_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out8_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out9_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out10_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out11_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out12_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out13_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out14_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub2_out15_gpio
pin: {mcp23xxx: mcp23xxx_hub2_OUT, number: 15, mode: OUTPUT, inverted: False}
# MCP23017 GPIO outputs — hub3
- platform: gpio
id: hub3_out0_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out1_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out2_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out3_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out4_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out5_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out6_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out7_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out8_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out9_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out10_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out11_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out12_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out13_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out14_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: hub3_out15_gpio
pin: {mcp23xxx: mcp23xxx_hub3_OUT, number: 15, mode: OUTPUT, inverted: False}
light:
# hub1 outputs
- platform: binary
name: "hub1_out0"
id: hub1_out0
output: hub1_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out1"
id: hub1_out1
output: hub1_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out2"
id: hub1_out2
output: hub1_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out3"
id: hub1_out3
output: hub1_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out4" # Fan: SPA/Łazienka
id: hub1_out4
output: hub1_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out5"
id: hub1_out5
output: hub1_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out6"
id: hub1_out6
output: hub1_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out7"
id: hub1_out7
output: hub1_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out8"
id: hub1_out8
output: hub1_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out9"
id: hub1_out9
output: hub1_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out10"
id: hub1_out10
output: hub1_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out11"
id: hub1_out11
output: hub1_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out12"
id: hub1_out12
output: hub1_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out13"
id: hub1_out13
output: hub1_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out14"
id: hub1_out14
output: hub1_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub1_out15"
id: hub1_out15
output: hub1_out15_gpio
restore_mode: ALWAYS_OFF
# hub2 outputs
- platform: binary
name: "hub2_out0"
id: hub2_out0
output: hub2_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out1"
id: hub2_out1
output: hub2_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out2"
id: hub2_out2
output: hub2_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out3"
id: hub2_out3
output: hub2_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out4"
id: hub2_out4
output: hub2_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out5" # Fan: Małe WC
id: hub2_out5
output: hub2_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out6"
id: hub2_out6
output: hub2_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out7"
id: hub2_out7
output: hub2_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out8" # Fan: Biała Łazienka
id: hub2_out8
output: hub2_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out9"
id: hub2_out9
output: hub2_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out10"
id: hub2_out10
output: hub2_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out11"
id: hub2_out11
output: hub2_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out12"
id: hub2_out12
output: hub2_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out13"
id: hub2_out13
output: hub2_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out14"
id: hub2_out14
output: hub2_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub2_out15"
id: hub2_out15
output: hub2_out15_gpio
restore_mode: ALWAYS_OFF
# hub3 outputs
- platform: binary
name: "hub3_out0"
id: hub3_out0
output: hub3_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out1"
id: hub3_out1
output: hub3_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out2" # Fan: Biuro/Serwer
id: hub3_out2
output: hub3_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out3"
id: hub3_out3
output: hub3_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out4"
id: hub3_out4
output: hub3_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out5"
id: hub3_out5
output: hub3_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out6"
id: hub3_out6
output: hub3_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out7"
id: hub3_out7
output: hub3_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out8"
id: hub3_out8
output: hub3_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out9"
id: hub3_out9
output: hub3_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out10"
id: hub3_out10
output: hub3_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out11"
id: hub3_out11
output: hub3_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out12"
id: hub3_out12
output: hub3_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out13"
id: hub3_out13
output: hub3_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out14"
id: hub3_out14
output: hub3_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "hub3_out15"
id: hub3_out15
output: hub3_out15_gpio
restore_mode: ALWAYS_OFF

221
Kuba/packages/pca9685.yaml Normal file
View File

@@ -0,0 +1,221 @@
pca9685:
- frequency: 1500
address: 0x40
id: "pca9685_hub1"
- frequency: 1500
address: 0x41
id: "pca9685_hub2"
output:
# Status RGB LED (ledc)
- platform: ledc
id: output_blue
pin: 5
- platform: ledc
id: output_green
pin: 14
- platform: ledc
id: output_red
pin: 15
# PCA9685 Hub1 — kanały PWM
- platform: pca9685
id: 'PWM1_1_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 0
max_power: 75%
- platform: pca9685
id: 'PWM1_2_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 1
max_power: 75%
- platform: pca9685
id: 'PWM2_1_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 2
max_power: 75%
- platform: pca9685
id: 'PWM2_2_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 3
max_power: 75%
- platform: pca9685
id: 'PWM3_1_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 4
max_power: 75%
- platform: pca9685
id: 'PWM3_2_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 8
max_power: 75%
- platform: pca9685
id: 'PWM4_1_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 6
min_power: 0%
max_power: 75%
- platform: pca9685
id: 'PWM4_2_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 7
min_power: 0%
max_power: 75%
- platform: pca9685
id: 'PWM5_1_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 12
max_power: 75%
- platform: pca9685
id: 'PWM5_2_Hub1'
pca9685_id: 'pca9685_hub1'
channel: 13
max_power: 75%
# PCA9685 Hub2 — kanały PWM
- platform: pca9685
id: 'PWM1_1_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 0
max_power: 75%
- platform: pca9685
id: 'PWM1_2_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 1
max_power: 75%
- platform: pca9685
id: 'PWM2_1_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 2
max_power: 75%
- platform: pca9685
id: 'PWM2_2_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 3
max_power: 75%
- platform: pca9685
id: 'PWM3_1_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 4
max_power: 75%
- platform: pca9685
id: 'PWM3_2_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 5
max_power: 95%
- platform: pca9685
id: 'PWM4_1_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 10
max_power: 95%
- platform: pca9685
id: 'PWM4_2_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 13
max_power: 75%
- platform: pca9685
id: 'PWM5_1_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 11
max_power: 75%
- platform: pca9685
id: 'PWM5_2_Hub2'
pca9685_id: 'pca9685_hub2'
channel: 15
max_power: 75%
light:
- platform: rgb
name: "Status LED"
red: output_red
green: output_green
blue: output_blue
effects:
- pulse:
name: "Fast Pulse"
transition_length: 0.5s
update_interval: 0.5s
- pulse:
name: "Slow Pulse"
transition_length: 1s
update_interval: 1s
- random:
name: "Random Effect"
transition_length: 1s
update_interval: 2s
- platform: cwww
name: "Serwer LED"
id: serwer_led
cold_white: PWM2_1_Hub1
warm_white: PWM2_2_Hub1
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
default_transition_length: 2.0s
- platform: cwww
name: "Jadalnia LED"
id: jadalnia_led
cold_white: PWM4_2_Hub1
warm_white: PWM4_1_Hub1
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
default_transition_length: 2.0s
- platform: cwww
name: "Biała Łazienka wanna LED"
id: biala_lazienka_wanna_led
cold_white: PWM5_2_Hub1
warm_white: PWM5_1_Hub1
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
default_transition_length: 2.0s
- platform: monochromatic
name: "Kuchnia Łezka LED"
id: kuchnia_lezka_led
output: PWM2_1_Hub2
default_transition_length: 2.0s
- platform: cwww
name: "SPA Ledy"
id: spa_ledy
cold_white: PWM5_2_Hub2
warm_white: PWM5_1_Hub2
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
default_transition_length: 2.0s
- platform: cwww
name: "Pokój dla gości LED"
id: pokoj_dla_gosci_led
cold_white: PWM3_2_Hub2
warm_white: PWM4_1_Hub2
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
default_transition_length: 2.0s
- platform: monochromatic
name: "TEST LED 1"
id: test_led_1
output: PWM1_2_Hub2
- platform: monochromatic
name: "TEST LED 2"
id: test_led_2
output: PWM3_1_Hub2
- platform: rgbww
name: "Sypialnia LED"
id: sypialnia_led
red: PWM1_1_Hub1
green: PWM1_2_Hub1
blue: PWM3_1_Hub1
cold_white: PWM3_2_Hub1
warm_white: PWM1_1_Hub2
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
color_interlock: false
default_transition_length: 2.0s

114
Kuba/packages/scripts.yaml Normal file
View File

@@ -0,0 +1,114 @@
script:
# ── Wyłącz wszystkie lampy ───────────────────────────────────────────────
- id: off_all_lights
then:
- light.turn_off: serwer_led
- light.turn_off: jadalnia_led
- light.turn_off: biala_lazienka_wanna_led
- light.turn_off: kuchnia_lezka_led
- light.turn_off: spa_ledy
- light.turn_off: pokoj_dla_gosci_led
- light.turn_off: test_led_1
- light.turn_off: test_led_2
- light.turn_off: sypialnia_led
- light.turn_off: hub1_out0
- light.turn_off: hub1_out1
- light.turn_off: hub1_out2
- light.turn_off: hub1_out3
- light.turn_off: hub1_out5
- light.turn_off: hub1_out6
- light.turn_off: hub1_out7
- light.turn_off: hub1_out8
- light.turn_off: hub1_out9
- light.turn_off: hub1_out10
- light.turn_off: hub1_out11
- light.turn_off: hub1_out12
- light.turn_off: hub1_out13
- light.turn_off: hub1_out14
- light.turn_off: hub1_out15
- light.turn_off: hub2_out0
- light.turn_off: hub2_out1
- light.turn_off: hub2_out2
- light.turn_off: hub2_out3
- light.turn_off: hub2_out4
- light.turn_off: hub2_out6
- light.turn_off: hub2_out7
- light.turn_off: hub2_out9
- light.turn_off: hub2_out10
- light.turn_off: hub2_out11
- light.turn_off: hub2_out12
- light.turn_off: hub2_out13
- light.turn_off: hub2_out14
- light.turn_off: hub2_out15
- light.turn_off: hub3_out0
- light.turn_off: hub3_out1
- light.turn_off: hub3_out3
- light.turn_off: hub3_out4
- light.turn_off: hub3_out5
- light.turn_off: hub3_out6
- light.turn_off: hub3_out7
- light.turn_off: hub3_out8
- light.turn_off: hub3_out9
- light.turn_off: hub3_out10
- light.turn_off: hub3_out11
- light.turn_off: hub3_out12
- light.turn_off: hub3_out13
- light.turn_off: hub3_out14
- light.turn_off: hub3_out15
# ── Wyłącz wszystkie wentylatory ─────────────────────────────────────────
- id: off_all_fans
then:
- light.turn_off: hub3_out2 # Fan: Biuro/Serwer
- light.turn_off: hub1_out4 # Fan: SPA/Łazienka
- light.turn_off: hub2_out5 # Fan: Małe WC
- light.turn_off: hub2_out8 # Fan: Biała Łazienka
# ── WLED placeholders (TODO: zastąpić sterowaniem WLED przez HA/MQTT) ───
- id: wled_korytarz_kinkiety_toggle
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: korytarz_kinkiety toggle"
- id: wled_komin_toggle
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: komin_led toggle"
- id: wled_komin_on
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: komin_led turn_on"
- id: wled_salon_kinkiety_toggle
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: salon_kinkiety_led toggle"
- id: wled_salon_kinkiety_off
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: salon_kinkiety_led turn_off"
- id: wled_schody_all_toggle
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: oczka_taras + skrzynia + tunel + zwis_schody toggle"
- id: wled_wc_led_toggle
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: wc_led toggle"
- id: wled_salon_wentylator_toggle
then:
- logger.log:
level: INFO
format: "WLED PLACEHOLDER: salon_wentylator toggle"

View File

@@ -0,0 +1,686 @@
substitutions:
name: boneio-32-sw-07
friendly_name: 'BoneIO ESP 32x10 Switches'
serial_prefix: 'esp' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.32x10-lights
version: '0.7'
on_boot:
- priority: 1001
then:
- lambda: |-
gpio_reset_pin((gpio_num_t)14);
gpio_reset_pin((gpio_num_t)15);
esp32:
board: nodemcu-32s
framework:
type: esp-idf
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_7.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://gitea.domowyasystent.com/jkocon/BoneIO-ESP
ref: main
files: [
'packages/devices/buzzer.yaml',
'packages/devices/serial_no.yaml',
'packages/devices_v0_7/display.yaml',
'packages/devices_v0_7/i2c.yaml',
'packages/devices_v0_7/wiegand.yaml',
'packages/devices_v0_7-v0_9/ina219.yaml',
'packages/devices_v0_7-v0_9/lm75b.yaml',
'packages/devices_v0_7-v0_9/pcf.yaml',
'packages/boards/output/out01_02.yaml',
'packages/boards/output/out03_04.yaml',
'packages/boards/output/out05_06.yaml',
'packages/boards/output/out07_08.yaml',
'packages/boards/output/out09_10.yaml',
'packages/boards/output/out11_12.yaml',
'packages/boards/output/out13_14.yaml',
'packages/boards/output/out15_16.yaml',
'packages/boards/output/out17_18.yaml',
'packages/boards/output/out19_20.yaml',
'packages/boards/output/out21_22.yaml',
'packages/boards/output/out23_24.yaml',
'packages/boards/output/out25_26.yaml',
'packages/boards/output/out27_28.yaml',
'packages/boards/output/out29_30.yaml',
'packages/boards/output/out31_32.yaml',
'packages/devices_v0_7-v0_9/one_wire.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
switch:
- platform: output
name: 'Switch 01'
output: out_01
id: switch_01
- platform: output
name: 'Switch 02'
output: out_02
id: switch_02
- platform: output
name: 'Switch 03'
output: out_03
id: switch_03
- platform: output
name: 'Switch 04'
output: out_04
id: switch_04
- platform: output
name: 'Switch 05'
output: out_05
id: switch_05
- platform: output
name: 'Switch 06'
output: out_06
id: switch_06
- platform: output
name: 'Switch 07'
output: out_07
id: switch_07
- platform: output
name: 'Switch 08'
output: out_08
id: switch_08
- platform: output
name: 'Switch 09'
output: out_09
id: switch_09
- platform: output
name: 'Switch 10'
output: out_10
id: switch_10
- platform: output
name: 'Switch 11'
output: out_11
id: switch_11
- platform: output
name: 'Switch 12'
output: out_12
id: switch_12
- platform: output
name: 'Switch 13'
output: out_13
id: switch_13
- platform: output
name: 'Switch 14'
output: out_14
id: switch_14
- platform: output
name: 'Switch 15'
output: out_15
id: switch_15
- platform: output
name: 'Switch 16'
output: out_16
id: switch_16
- platform: output
name: 'Switch 17'
output: out_17
id: switch_17
- platform: output
name: 'Switch 18'
output: out_18
id: switch_18
- platform: output
name: 'Switch 19'
output: out_19
id: switch_19
- platform: output
name: 'Switch 20'
output: out_20
id: switch_20
- platform: output
name: 'Switch 21'
output: out_21
id: switch_21
- platform: output
name: 'Switch 22'
output: out_22
id: switch_22
- platform: output
name: 'Switch 23'
output: out_23
id: switch_23
- platform: output
name: 'Switch 24'
output: out_24
id: switch_24
- platform: output
name: 'Switch 25'
output: out_25
id: switch_25
- platform: output
name: 'Switch 26'
output: out_26
id: switch_26
- platform: output
name: 'Switch 27'
output: out_27
id: switch_27
- platform: output
name: 'Switch 28'
output: out_28
id: switch_28
- platform: output
name: 'Switch 29'
output: out_29
id: switch_29
- platform: output
name: 'Switch 30'
output: out_30
id: switch_30
- platform: output
name: 'Switch 31'
output: out_31
id: switch_31
- platform: output
name: 'Switch 32'
output: out_32
id: switch_32
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_02
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_03
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_04
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_05
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_06
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_07
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_08
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_09
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_10
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_11
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_12
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_13
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_14
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_15
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_16
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_17
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_18
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_19
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_20
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_21
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_22
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_23
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_24
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_25
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_26
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_27
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_28
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_29
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_30
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_31
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: switch_32
- platform: gpio
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true
######################
### MODBUS SECTION ###
######################
# UNCOMMENT BELOW TO USE MODBUS
# uart:
# id: uart_pin14_15
# rx_pin:
# number: GPIO14
# mode:
# input: true
# pullup: true
# tx_pin: GPIO15
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 200ms
# uart_id: uart_pin14_15
# id: boneio_modbus
# modbus_controller:
# - id: YOURDEVICE ID
# address: 0x09
# modbus_id: mod_bus
# setup_priority: -10
# update_interval: 60s

View File

@@ -0,0 +1,216 @@
output:
- platform: gpio
id: out_01
pin:
mcp23xxx: mcp_left
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: out_02
pin:
mcp23xxx: mcp_left
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: out_03
pin:
mcp23xxx: mcp_left
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: out_04
pin:
mcp23xxx: mcp_left
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: out_05
pin:
mcp23xxx: mcp_left
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: out_06
pin:
mcp23xxx: mcp_left
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: out_07
pin:
mcp23xxx: mcp_left
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: out_08
pin:
mcp23xxx: mcp_left
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: out_09
pin:
mcp23xxx: mcp_right
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: out_10
pin:
mcp23xxx: mcp_right
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: out_11
pin:
mcp23xxx: mcp_right
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: out_12
pin:
mcp23xxx: mcp_right
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: out_13
pin:
mcp23xxx: mcp_left
number: 7
mode:
output: true
inverted: false
- platform: gpio
id: out_14
pin:
mcp23xxx: mcp_left
number: 6
mode:
output: true
inverted: false
- platform: gpio
id: out_15
pin:
mcp23xxx: mcp_left
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: out_16
pin:
mcp23xxx: mcp_left
number: 4
mode:
output: true
inverted: false
- platform: gpio
id: out_17
pin:
mcp23xxx: mcp_left
number: 3
mode:
output: true
inverted: false
- platform: gpio
id: out_18
pin:
mcp23xxx: mcp_left
number: 2
mode:
output: true
inverted: false
- platform: gpio
id: out_19
pin:
mcp23xxx: mcp_left
number: 1
mode:
output: true
inverted: false
- platform: gpio
id: out_20
pin:
mcp23xxx: mcp_left
number: 0
mode:
output: true
inverted: false
- platform: gpio
id: out_21
pin:
mcp23xxx: mcp_right
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: out_22
pin:
mcp23xxx: mcp_right
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: out_23
pin:
mcp23xxx: mcp_right
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: out_24
pin:
mcp23xxx: mcp_right
number: 15
mode:
output: true
inverted: false

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_01_out01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_01 [cover_open_01_out01, cover_close_01_out02]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_01_out02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_01
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_02_out03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_02 [cover_open_02_out03, cover_close_02_out04]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_02_out04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_02
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_03_out05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_03 [cover_open_03_out05, cover_close_03_out06]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_03_out06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_03
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_04_out07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_04 [cover_open_04_out07, cover_close_04_out08]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_04_out08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_04
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_05_out09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_05 [cover_open_05_out09, cover_close_05_out10]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_05_out10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_05
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_06_out11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_06 [cover_open_06_out11, cover_close_06_out12]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_06_out12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_06
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_07_out13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_07 [cover_open_07_out13, cover_close_07_out14]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_07_out14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_07
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_08_out15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_08 [cover_open_08_out15, cover_close_08_out16]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_08_out16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_08
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_09_out17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_09 [cover_open_09_out17, cover_close_09_out18]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_09_out18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_09
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_10_out19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_10 [cover_open_10_out19, cover_close_10_out20]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_10_out20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_10
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_11_out21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_11 [cover_open_11_out21, cover_close_11_out22]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_11_out22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_11
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_12_out23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_12 [cover_open_12_out23, cover_close_12_out24]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_12_out24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_12
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_13_out25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_13 [cover_open_13_out25, cover_close_13_out26]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_13_out26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_13
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_14_out27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_14 [cover_open_14_out27, cover_close_14_out28]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_14_out28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_14
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_15_out29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_15 [cover_open_15_out29, cover_close_15_out30]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_15_out30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_15
restore_mode: always off

View File

@@ -0,0 +1,23 @@
switch:
- platform: gpio
id: cover_open_16_out31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_16 [cover_open_16_out31, cover_close_16_out32]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_16_out32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_16
restore_mode: always off

View File

@@ -0,0 +1,42 @@
output:
- platform: ledc
pin: 33
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: 32
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: 12
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: 14
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: 13
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: 15
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: 2
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: 17
frequency: 1000Hz
inverted: false
id: chr04

View File

@@ -0,0 +1,431 @@
output:
- platform: gpio
id: out_01
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_02
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_03
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_04
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_05
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_06
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_07
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_08
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_09
pin:
pcf8574: pcf_middle
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_10
pin:
pcf8574: pcf_middle
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_11
pin:
pcf8574: pcf_middle
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_12
pin:
pcf8574: pcf_middle
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_13
pin:
pcf8574: pcf_middle
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_14
pin:
pcf8574: pcf_middle
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_15
pin:
pcf8574: pcf_middle
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_16
pin:
pcf8574: pcf_middle
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_17
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_27
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_29
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_33
pin:
pcf8574: pcf_middle
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_34
pin:
pcf8574: pcf_middle
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_35
pin:
pcf8574: pcf_middle
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_36
pin:
pcf8574: pcf_middle
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_37
pin:
pcf8574: pcf_middle
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_38
pin:
pcf8574: pcf_middle
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_39
pin:
pcf8574: pcf_middle
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_40
pin:
pcf8574: pcf_middle
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_41
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_42
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_43
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_44
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_45
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_46
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_47
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_48
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true

View File

@@ -0,0 +1,17 @@
output:
- platform: gpio
id: out_01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true

View File

@@ -0,0 +1,18 @@
output:
- platform: gpio
id: out_31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true

View File

@@ -0,0 +1,9 @@
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO2
mode:
output: true
inverted: false

View File

@@ -0,0 +1,5 @@
i2c:
sda: GPIO4
scl: GPIO5
scan: True
frequency: 400kHz

View File

@@ -0,0 +1,37 @@
sensor:
- platform: ina219
address: 0x40
shunt_resistance: 0.005 ohm
bus_voltage:
name: 'VDDL Supply'
entity_category: diagnostic
power:
name: 'VDDL Power'
entity_category: diagnostic
current:
name: 'VDDL Current'
entity_category: diagnostic
shunt_voltage:
name: 'VDDL Shunt Voltage'
entity_category: diagnostic
max_voltage: 32V
max_current: 10A
update_interval: 5s
- platform: ina219
address: 0x41
shunt_resistance: 0.005 ohm
bus_voltage:
name: 'VDDR Supply'
entity_category: diagnostic
power:
name: 'VDDR Power'
entity_category: diagnostic
current:
name: 'VDDR Current'
entity_category: diagnostic
shunt_voltage:
name: 'VDDR Shunt Voltage'
entity_category: diagnostic
max_voltage: 32V
max_current: 10A
update_interval: 5s

View File

@@ -0,0 +1,42 @@
output:
- platform: ledc
pin: 33
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: 32
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: 12
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: 14
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: 13
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: 15
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: 2
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: 17
frequency: 1000Hz
inverted: false
id: chr04

View File

@@ -0,0 +1,10 @@
text_sensor:
- platform: template
name: 'Serial No.'
id: serial_no
lambda: |-
std::string mac = get_mac_address();
return std::string("${serial_prefix}") + mac.substr(mac.length()/2);
icon: mdi:expansion-card-variant
entity_category: diagnostic
update_interval: 60min

View File

@@ -0,0 +1,20 @@
sensor:
# Module power consmption
- platform: ina219
address: 0x40
shunt_resistance: 0.1 ohm
current:
id: ina_current
name: 'INA219 Current'
power:
id: ina_power
name: 'INA219 Power'
bus_voltage:
id: ina_bus_voltage
name: 'INA219 Bus Voltage'
shunt_voltage:
id: ina_shunt_voltage
name: 'INA219 Shunt Voltage'
max_voltage: 32.0V
max_current: 3.2A
update_interval: 30s

View File

@@ -0,0 +1,12 @@
#i2c address: 0x48 output lm75b temp
#LM75B
external_components:
- source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75
components: [lm75]
sensor:
# Lower board temperature
- platform: lm75
id: boneIO_temp
name: 'LM75B Temperature'
update_interval: 30s

View File

@@ -0,0 +1,15 @@
one_wire:
- platform: gpio
pin: GPIO32
# sensor:
# - platform: dallas_temp
# address: 0x283c01d607d4df28
# name: "Dallas Sensor 1"
#
# - platform: dallas_temp
# address: 0xdfe67a061e64ff28
# name: "Dallas Sensor 2"
#
# - platform: dallas_temp
# address: 0xa7a89f071e64ff28
# name: "Dallas Sensor 3"

View File

@@ -0,0 +1,21 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: i2c_bus
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: i2c_bus
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: i2c_bus
address: 0x22
pcf8575: false
- id: 'pcf_left'
address: 0x23
pcf8575: true
i2c_id: i2c_bus
- id: 'pcf_right'
address: 0x24
pcf8575: true
i2c_id: i2c_bus

View File

@@ -0,0 +1,25 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: i2c_bus
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: i2c_bus
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: i2c_bus
address: 0x22
pcf8575: false
- id: 'pcf_left'
address: 0x23
pcf8575: true
i2c_id: i2c_bus
- id: 'pcf_middle'
address: 0x24
pcf8575: true
i2c_id: i2c_bus
- id: 'pcf_right'
address: 0x25
pcf8575: true
i2c_id: i2c_bus

View File

@@ -0,0 +1,18 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: i2c_bus
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: i2c_bus
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: i2c_bus
address: 0x22
pcf8575: false
mcp23017:
- id: 'mcp_left'
address: 0x23
- id: 'mcp_right'
address: 0x24

View File

@@ -0,0 +1,151 @@
#i2c address: 0x3C input oled
sensor:
- platform: uptime
id: wt32_uptime_seconds
update_interval: 60s
entity_category: diagnostic
on_raw_value:
then:
- text_sensor.template.publish:
id: wt32_uptime
state: !lambda |-
int seconds = round(id(wt32_uptime_seconds).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
return (
(days ? to_string(days) + "d " : "") +
(hours ? to_string(hours) + "h " : "") +
(to_string(minutes) + "m")
).c_str();
text_sensor:
- platform: template
name: Uptime
id: wt32_uptime
entity_category: diagnostic
icon: mdi:clock-start
- platform: template
name: 'IP Address'
id: ip_address
entity_category: diagnostic
icon: 'mdi:ip-network'
lambda: |-
return id(eth).get_ip_addresses().empty() ? "Unset" : id(eth).get_ip_addresses()[0].str();
update_interval: 60s
script:
- id: screensaver_script
# screensaver script, turn on screensaver after 30 seconds, restart counter each time when invoked
mode: restart
then:
# set the time after which the screensaver will be activated
- delay: 30s
- display.page.show: screensaver
- component.update: oled_display
esphome:
on_boot:
priority: 0
then:
- display.page.show: first_page
- component.update: ip_address
- component.update: oled_display
- script.execute: screensaver_script
binary_sensor:
- platform: gpio
entity_category: config
id: boneIO_button
pin:
pcf8574: pcf_inputs_28to35_menu
number: 7
mode:
input: true
inverted: true
on_press:
then:
# cycle through pages: first_page -> second_page -> third_page -> last_page -> first_page
# screensaver is excluded from the cycle — button press wakes it to first_page
- if:
condition:
# on the last page wrap around to the first page (skip screensaver)
display.is_displaying_page: last_page
then:
- display.page.show: first_page
- component.update: oled_display
else:
- if:
condition:
# button wakes screensaver — jump to first page
display.is_displaying_page: screensaver
then:
- display.page.show: first_page
- component.update: oled_display
else:
# advance to the next page (first -> second -> third -> last)
- display.page.show_next: oled_display
- component.update: oled_display
# restart screensaver script
- script.execute: screensaver_script
display:
- platform: ssd1306_i2c
id: oled_display
model: 'SH1106 128x64'
address: 0x3C
contrast: 0.5
pages:
- id: first_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "Peak Control");
it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"IP addr:");
it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT ,"%s", id(ip_address).state.c_str());
it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT ,"Uptime:");
it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
it.printf(4, 61, id(size_10), TextAlign::BASELINE_LEFT ,"Temperature:");
it.printf(124, 61, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state);
# additional pages should be defined between the first and last page
- id: second_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64, 11, id(size_10), TextAlign::BASELINE_CENTER, "Network");
it.printf(4, 25, id(size_10), TextAlign::BASELINE_LEFT, "Host:");
it.printf(124, 25, id(size_10), TextAlign::BASELINE_RIGHT, "%s", App.get_name().c_str());
it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT, "MAC:");
it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT, "%s", get_mac_address().c_str());
it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT, "ETH:");
it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT, "%s", id(eth).is_connected() ? "Connected" : "No link");
- id: third_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64, 11, id(size_10), TextAlign::BASELINE_CENTER, "System");
it.printf(4, 25, id(size_10), TextAlign::BASELINE_LEFT, "Version:");
it.printf(124, 25, id(size_10), TextAlign::BASELINE_RIGHT, "%s", ESPHOME_VERSION);
it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT, "Free heap:");
it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT, "%u B", esp_get_free_heap_size());
it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT, "CPU freq:");
it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT, "%u MHz", esp_clk_cpu_freq() / 1000000);
- id: last_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "Peak Control");
it.printf(4, 25, id(size_10), TextAlign::BASELINE_LEFT ,"Current:");
it.printf(124, 25, id(size_10), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"Power:");
it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT ,"Bus Volt:");
it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
it.printf(4, 61, id(size_10), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
it.printf(124, 61, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state);
- id: screensaver
lambda: |-
it.fill(COLOR_OFF);
font:
- file: 'gfonts://Ubuntu'
id: size_10
size: 10

View File

@@ -0,0 +1,6 @@
i2c:
- id: i2c_bus
sda: GPIO17
scl: GPIO33
scan: True
frequency: 400kHz

View File

@@ -0,0 +1,35 @@
text_sensor:
- platform: template
name: 'Wiegand 1 Tag'
id: wiegand_1_tag
icon: mdi:card-account-details
entity_category: ""
- platform: template
name: 'Wiegand 2 Tag'
id: wiegand_2_tag
icon: mdi:card-account-details
entity_category: ""
wiegand:
- id: wiegand_reader_1
d0: GPIO34
d1: GPIO35
on_tag:
- text_sensor.template.publish:
id: wiegand_1_tag
state: !lambda 'return x;'
on_key:
- lambda: |-
ESP_LOGI("wiegand1", "Klawisz: %c", x);
- id: wiegand_reader_2
d0: GPIO36
d1: GPIO39
on_tag:
- text_sensor.template.publish:
id: wiegand_2_tag
state: !lambda 'return x;'
on_key:
- lambda: |-
ESP_LOGI("wiegand2", "Klawisz: %c", x);

1014
kuba-hub.yaml Normal file

File diff suppressed because it is too large Load Diff

222
main-hub.yaml Normal file
View File

@@ -0,0 +1,222 @@
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 A0A5 ustawiają adres: A0=+1, A1=+2, A2=+4, A3=+8, A4=+16, A5=+32
# Baza adresów: 0x40. Uwaga: 0x700x73 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 A0A2 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"

View File

@@ -0,0 +1,5 @@
i2c:
sda: 13
scl: 16
scan: True
frequency: 200kHz

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x20"
address: 0x20

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x21"
address: 0x21

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x22"
address: 0x22

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x23"
address: 0x23

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x24"
address: 0x24

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x25"
address: 0x25

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x26"
address: 0x26

View File

@@ -0,0 +1,3 @@
mcp23017:
- id: "mcp23xxx_0x27"
address: 0x27

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x20_out"
address: 0x20
output:
- platform: gpio
id: mcp_0x20_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x20_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x20_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x20_out0"
id: mcp_0x20_out0
output: mcp_0x20_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out1"
id: mcp_0x20_out1
output: mcp_0x20_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out2"
id: mcp_0x20_out2
output: mcp_0x20_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out3"
id: mcp_0x20_out3
output: mcp_0x20_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out4"
id: mcp_0x20_out4
output: mcp_0x20_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out5"
id: mcp_0x20_out5
output: mcp_0x20_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out6"
id: mcp_0x20_out6
output: mcp_0x20_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out7"
id: mcp_0x20_out7
output: mcp_0x20_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out8"
id: mcp_0x20_out8
output: mcp_0x20_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out9"
id: mcp_0x20_out9
output: mcp_0x20_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out10"
id: mcp_0x20_out10
output: mcp_0x20_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out11"
id: mcp_0x20_out11
output: mcp_0x20_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out12"
id: mcp_0x20_out12
output: mcp_0x20_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out13"
id: mcp_0x20_out13
output: mcp_0x20_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out14"
id: mcp_0x20_out14
output: mcp_0x20_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x20_out15"
id: mcp_0x20_out15
output: mcp_0x20_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x21_out"
address: 0x21
output:
- platform: gpio
id: mcp_0x21_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x21_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x21_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x21_out0"
id: mcp_0x21_out0
output: mcp_0x21_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out1"
id: mcp_0x21_out1
output: mcp_0x21_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out2"
id: mcp_0x21_out2
output: mcp_0x21_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out3"
id: mcp_0x21_out3
output: mcp_0x21_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out4"
id: mcp_0x21_out4
output: mcp_0x21_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out5"
id: mcp_0x21_out5
output: mcp_0x21_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out6"
id: mcp_0x21_out6
output: mcp_0x21_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out7"
id: mcp_0x21_out7
output: mcp_0x21_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out8"
id: mcp_0x21_out8
output: mcp_0x21_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out9"
id: mcp_0x21_out9
output: mcp_0x21_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out10"
id: mcp_0x21_out10
output: mcp_0x21_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out11"
id: mcp_0x21_out11
output: mcp_0x21_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out12"
id: mcp_0x21_out12
output: mcp_0x21_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out13"
id: mcp_0x21_out13
output: mcp_0x21_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out14"
id: mcp_0x21_out14
output: mcp_0x21_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x21_out15"
id: mcp_0x21_out15
output: mcp_0x21_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x22_out"
address: 0x22
output:
- platform: gpio
id: mcp_0x22_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x22_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x22_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x22_out0"
id: mcp_0x22_out0
output: mcp_0x22_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out1"
id: mcp_0x22_out1
output: mcp_0x22_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out2"
id: mcp_0x22_out2
output: mcp_0x22_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out3"
id: mcp_0x22_out3
output: mcp_0x22_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out4"
id: mcp_0x22_out4
output: mcp_0x22_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out5"
id: mcp_0x22_out5
output: mcp_0x22_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out6"
id: mcp_0x22_out6
output: mcp_0x22_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out7"
id: mcp_0x22_out7
output: mcp_0x22_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out8"
id: mcp_0x22_out8
output: mcp_0x22_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out9"
id: mcp_0x22_out9
output: mcp_0x22_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out10"
id: mcp_0x22_out10
output: mcp_0x22_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out11"
id: mcp_0x22_out11
output: mcp_0x22_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out12"
id: mcp_0x22_out12
output: mcp_0x22_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out13"
id: mcp_0x22_out13
output: mcp_0x22_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out14"
id: mcp_0x22_out14
output: mcp_0x22_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x22_out15"
id: mcp_0x22_out15
output: mcp_0x22_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x23_out"
address: 0x23
output:
- platform: gpio
id: mcp_0x23_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x23_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x23_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x23_out0"
id: mcp_0x23_out0
output: mcp_0x23_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out1"
id: mcp_0x23_out1
output: mcp_0x23_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out2"
id: mcp_0x23_out2
output: mcp_0x23_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out3"
id: mcp_0x23_out3
output: mcp_0x23_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out4"
id: mcp_0x23_out4
output: mcp_0x23_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out5"
id: mcp_0x23_out5
output: mcp_0x23_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out6"
id: mcp_0x23_out6
output: mcp_0x23_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out7"
id: mcp_0x23_out7
output: mcp_0x23_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out8"
id: mcp_0x23_out8
output: mcp_0x23_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out9"
id: mcp_0x23_out9
output: mcp_0x23_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out10"
id: mcp_0x23_out10
output: mcp_0x23_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out11"
id: mcp_0x23_out11
output: mcp_0x23_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out12"
id: mcp_0x23_out12
output: mcp_0x23_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out13"
id: mcp_0x23_out13
output: mcp_0x23_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out14"
id: mcp_0x23_out14
output: mcp_0x23_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x23_out15"
id: mcp_0x23_out15
output: mcp_0x23_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x24_out"
address: 0x24
output:
- platform: gpio
id: mcp_0x24_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x24_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x24_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x24_out0"
id: mcp_0x24_out0
output: mcp_0x24_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out1"
id: mcp_0x24_out1
output: mcp_0x24_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out2"
id: mcp_0x24_out2
output: mcp_0x24_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out3"
id: mcp_0x24_out3
output: mcp_0x24_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out4"
id: mcp_0x24_out4
output: mcp_0x24_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out5"
id: mcp_0x24_out5
output: mcp_0x24_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out6"
id: mcp_0x24_out6
output: mcp_0x24_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out7"
id: mcp_0x24_out7
output: mcp_0x24_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out8"
id: mcp_0x24_out8
output: mcp_0x24_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out9"
id: mcp_0x24_out9
output: mcp_0x24_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out10"
id: mcp_0x24_out10
output: mcp_0x24_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out11"
id: mcp_0x24_out11
output: mcp_0x24_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out12"
id: mcp_0x24_out12
output: mcp_0x24_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out13"
id: mcp_0x24_out13
output: mcp_0x24_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out14"
id: mcp_0x24_out14
output: mcp_0x24_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x24_out15"
id: mcp_0x24_out15
output: mcp_0x24_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x25_out"
address: 0x25
output:
- platform: gpio
id: mcp_0x25_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x25_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x25_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x25_out0"
id: mcp_0x25_out0
output: mcp_0x25_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out1"
id: mcp_0x25_out1
output: mcp_0x25_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out2"
id: mcp_0x25_out2
output: mcp_0x25_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out3"
id: mcp_0x25_out3
output: mcp_0x25_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out4"
id: mcp_0x25_out4
output: mcp_0x25_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out5"
id: mcp_0x25_out5
output: mcp_0x25_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out6"
id: mcp_0x25_out6
output: mcp_0x25_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out7"
id: mcp_0x25_out7
output: mcp_0x25_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out8"
id: mcp_0x25_out8
output: mcp_0x25_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out9"
id: mcp_0x25_out9
output: mcp_0x25_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out10"
id: mcp_0x25_out10
output: mcp_0x25_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out11"
id: mcp_0x25_out11
output: mcp_0x25_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out12"
id: mcp_0x25_out12
output: mcp_0x25_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out13"
id: mcp_0x25_out13
output: mcp_0x25_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out14"
id: mcp_0x25_out14
output: mcp_0x25_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x25_out15"
id: mcp_0x25_out15
output: mcp_0x25_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x26_out"
address: 0x26
output:
- platform: gpio
id: mcp_0x26_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x26_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x26_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x26_out0"
id: mcp_0x26_out0
output: mcp_0x26_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out1"
id: mcp_0x26_out1
output: mcp_0x26_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out2"
id: mcp_0x26_out2
output: mcp_0x26_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out3"
id: mcp_0x26_out3
output: mcp_0x26_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out4"
id: mcp_0x26_out4
output: mcp_0x26_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out5"
id: mcp_0x26_out5
output: mcp_0x26_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out6"
id: mcp_0x26_out6
output: mcp_0x26_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out7"
id: mcp_0x26_out7
output: mcp_0x26_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out8"
id: mcp_0x26_out8
output: mcp_0x26_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out9"
id: mcp_0x26_out9
output: mcp_0x26_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out10"
id: mcp_0x26_out10
output: mcp_0x26_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out11"
id: mcp_0x26_out11
output: mcp_0x26_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out12"
id: mcp_0x26_out12
output: mcp_0x26_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out13"
id: mcp_0x26_out13
output: mcp_0x26_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out14"
id: mcp_0x26_out14
output: mcp_0x26_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x26_out15"
id: mcp_0x26_out15
output: mcp_0x26_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,151 @@
mcp23017:
- id: "mcp23xxx_0x27_out"
address: 0x27
output:
- platform: gpio
id: mcp_0x27_out0_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 0, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out1_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 1, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out2_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 2, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out3_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 3, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out4_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 4, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out5_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 5, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out6_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 6, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out7_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 7, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out8_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 8, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out9_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 9, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out10_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 10, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out11_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 11, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out12_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 12, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out13_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 13, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out14_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 14, mode: OUTPUT, inverted: False}
- platform: gpio
id: mcp_0x27_out15_gpio
pin: {mcp23xxx: mcp23xxx_0x27_out, number: 15, mode: OUTPUT, inverted: False}
light:
- platform: binary
name: "mcp_0x27_out0"
id: mcp_0x27_out0
output: mcp_0x27_out0_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out1"
id: mcp_0x27_out1
output: mcp_0x27_out1_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out2"
id: mcp_0x27_out2
output: mcp_0x27_out2_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out3"
id: mcp_0x27_out3
output: mcp_0x27_out3_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out4"
id: mcp_0x27_out4
output: mcp_0x27_out4_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out5"
id: mcp_0x27_out5
output: mcp_0x27_out5_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out6"
id: mcp_0x27_out6
output: mcp_0x27_out6_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out7"
id: mcp_0x27_out7
output: mcp_0x27_out7_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out8"
id: mcp_0x27_out8
output: mcp_0x27_out8_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out9"
id: mcp_0x27_out9
output: mcp_0x27_out9_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out10"
id: mcp_0x27_out10
output: mcp_0x27_out10_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out11"
id: mcp_0x27_out11
output: mcp_0x27_out11_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out12"
id: mcp_0x27_out12
output: mcp_0x27_out12_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out13"
id: mcp_0x27_out13
output: mcp_0x27_out13_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out14"
id: mcp_0x27_out14
output: mcp_0x27_out14_gpio
restore_mode: ALWAYS_OFF
- platform: binary
name: "mcp_0x27_out15"
id: mcp_0x27_out15
output: mcp_0x27_out15_gpio
restore_mode: ALWAYS_OFF

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x40
id: "pca9685_0x40"
output:
- platform: pca9685
id: pca_0x40_ch0
pca9685_id: 'pca9685_0x40'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x40_ch1
pca9685_id: 'pca9685_0x40'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x40_ch2
pca9685_id: 'pca9685_0x40'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x40_ch3
pca9685_id: 'pca9685_0x40'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x40_ch4
pca9685_id: 'pca9685_0x40'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x40_ch5
pca9685_id: 'pca9685_0x40'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x40_ch6
pca9685_id: 'pca9685_0x40'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x40_ch7
pca9685_id: 'pca9685_0x40'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x40_ch8
pca9685_id: 'pca9685_0x40'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x40_ch9
pca9685_id: 'pca9685_0x40'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x40_ch10
pca9685_id: 'pca9685_0x40'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x40_ch11
pca9685_id: 'pca9685_0x40'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x40_ch12
pca9685_id: 'pca9685_0x40'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x40_ch13
pca9685_id: 'pca9685_0x40'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x40_ch14
pca9685_id: 'pca9685_0x40'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x40_ch15
pca9685_id: 'pca9685_0x40'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x41
id: "pca9685_0x41"
output:
- platform: pca9685
id: pca_0x41_ch0
pca9685_id: 'pca9685_0x41'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x41_ch1
pca9685_id: 'pca9685_0x41'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x41_ch2
pca9685_id: 'pca9685_0x41'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x41_ch3
pca9685_id: 'pca9685_0x41'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x41_ch4
pca9685_id: 'pca9685_0x41'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x41_ch5
pca9685_id: 'pca9685_0x41'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x41_ch6
pca9685_id: 'pca9685_0x41'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x41_ch7
pca9685_id: 'pca9685_0x41'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x41_ch8
pca9685_id: 'pca9685_0x41'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x41_ch9
pca9685_id: 'pca9685_0x41'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x41_ch10
pca9685_id: 'pca9685_0x41'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x41_ch11
pca9685_id: 'pca9685_0x41'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x41_ch12
pca9685_id: 'pca9685_0x41'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x41_ch13
pca9685_id: 'pca9685_0x41'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x41_ch14
pca9685_id: 'pca9685_0x41'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x41_ch15
pca9685_id: 'pca9685_0x41'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x42
id: "pca9685_0x42"
output:
- platform: pca9685
id: pca_0x42_ch0
pca9685_id: 'pca9685_0x42'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x42_ch1
pca9685_id: 'pca9685_0x42'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x42_ch2
pca9685_id: 'pca9685_0x42'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x42_ch3
pca9685_id: 'pca9685_0x42'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x42_ch4
pca9685_id: 'pca9685_0x42'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x42_ch5
pca9685_id: 'pca9685_0x42'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x42_ch6
pca9685_id: 'pca9685_0x42'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x42_ch7
pca9685_id: 'pca9685_0x42'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x42_ch8
pca9685_id: 'pca9685_0x42'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x42_ch9
pca9685_id: 'pca9685_0x42'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x42_ch10
pca9685_id: 'pca9685_0x42'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x42_ch11
pca9685_id: 'pca9685_0x42'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x42_ch12
pca9685_id: 'pca9685_0x42'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x42_ch13
pca9685_id: 'pca9685_0x42'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x42_ch14
pca9685_id: 'pca9685_0x42'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x42_ch15
pca9685_id: 'pca9685_0x42'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x43
id: "pca9685_0x43"
output:
- platform: pca9685
id: pca_0x43_ch0
pca9685_id: 'pca9685_0x43'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x43_ch1
pca9685_id: 'pca9685_0x43'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x43_ch2
pca9685_id: 'pca9685_0x43'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x43_ch3
pca9685_id: 'pca9685_0x43'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x43_ch4
pca9685_id: 'pca9685_0x43'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x43_ch5
pca9685_id: 'pca9685_0x43'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x43_ch6
pca9685_id: 'pca9685_0x43'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x43_ch7
pca9685_id: 'pca9685_0x43'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x43_ch8
pca9685_id: 'pca9685_0x43'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x43_ch9
pca9685_id: 'pca9685_0x43'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x43_ch10
pca9685_id: 'pca9685_0x43'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x43_ch11
pca9685_id: 'pca9685_0x43'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x43_ch12
pca9685_id: 'pca9685_0x43'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x43_ch13
pca9685_id: 'pca9685_0x43'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x43_ch14
pca9685_id: 'pca9685_0x43'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x43_ch15
pca9685_id: 'pca9685_0x43'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x44
id: "pca9685_0x44"
output:
- platform: pca9685
id: pca_0x44_ch0
pca9685_id: 'pca9685_0x44'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x44_ch1
pca9685_id: 'pca9685_0x44'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x44_ch2
pca9685_id: 'pca9685_0x44'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x44_ch3
pca9685_id: 'pca9685_0x44'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x44_ch4
pca9685_id: 'pca9685_0x44'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x44_ch5
pca9685_id: 'pca9685_0x44'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x44_ch6
pca9685_id: 'pca9685_0x44'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x44_ch7
pca9685_id: 'pca9685_0x44'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x44_ch8
pca9685_id: 'pca9685_0x44'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x44_ch9
pca9685_id: 'pca9685_0x44'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x44_ch10
pca9685_id: 'pca9685_0x44'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x44_ch11
pca9685_id: 'pca9685_0x44'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x44_ch12
pca9685_id: 'pca9685_0x44'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x44_ch13
pca9685_id: 'pca9685_0x44'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x44_ch14
pca9685_id: 'pca9685_0x44'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x44_ch15
pca9685_id: 'pca9685_0x44'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x45
id: "pca9685_0x45"
output:
- platform: pca9685
id: pca_0x45_ch0
pca9685_id: 'pca9685_0x45'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x45_ch1
pca9685_id: 'pca9685_0x45'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x45_ch2
pca9685_id: 'pca9685_0x45'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x45_ch3
pca9685_id: 'pca9685_0x45'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x45_ch4
pca9685_id: 'pca9685_0x45'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x45_ch5
pca9685_id: 'pca9685_0x45'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x45_ch6
pca9685_id: 'pca9685_0x45'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x45_ch7
pca9685_id: 'pca9685_0x45'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x45_ch8
pca9685_id: 'pca9685_0x45'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x45_ch9
pca9685_id: 'pca9685_0x45'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x45_ch10
pca9685_id: 'pca9685_0x45'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x45_ch11
pca9685_id: 'pca9685_0x45'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x45_ch12
pca9685_id: 'pca9685_0x45'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x45_ch13
pca9685_id: 'pca9685_0x45'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x45_ch14
pca9685_id: 'pca9685_0x45'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x45_ch15
pca9685_id: 'pca9685_0x45'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x46
id: "pca9685_0x46"
output:
- platform: pca9685
id: pca_0x46_ch0
pca9685_id: 'pca9685_0x46'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x46_ch1
pca9685_id: 'pca9685_0x46'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x46_ch2
pca9685_id: 'pca9685_0x46'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x46_ch3
pca9685_id: 'pca9685_0x46'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x46_ch4
pca9685_id: 'pca9685_0x46'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x46_ch5
pca9685_id: 'pca9685_0x46'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x46_ch6
pca9685_id: 'pca9685_0x46'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x46_ch7
pca9685_id: 'pca9685_0x46'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x46_ch8
pca9685_id: 'pca9685_0x46'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x46_ch9
pca9685_id: 'pca9685_0x46'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x46_ch10
pca9685_id: 'pca9685_0x46'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x46_ch11
pca9685_id: 'pca9685_0x46'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x46_ch12
pca9685_id: 'pca9685_0x46'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x46_ch13
pca9685_id: 'pca9685_0x46'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x46_ch14
pca9685_id: 'pca9685_0x46'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x46_ch15
pca9685_id: 'pca9685_0x46'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x47
id: "pca9685_0x47"
output:
- platform: pca9685
id: pca_0x47_ch0
pca9685_id: 'pca9685_0x47'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x47_ch1
pca9685_id: 'pca9685_0x47'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x47_ch2
pca9685_id: 'pca9685_0x47'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x47_ch3
pca9685_id: 'pca9685_0x47'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x47_ch4
pca9685_id: 'pca9685_0x47'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x47_ch5
pca9685_id: 'pca9685_0x47'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x47_ch6
pca9685_id: 'pca9685_0x47'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x47_ch7
pca9685_id: 'pca9685_0x47'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x47_ch8
pca9685_id: 'pca9685_0x47'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x47_ch9
pca9685_id: 'pca9685_0x47'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x47_ch10
pca9685_id: 'pca9685_0x47'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x47_ch11
pca9685_id: 'pca9685_0x47'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x47_ch12
pca9685_id: 'pca9685_0x47'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x47_ch13
pca9685_id: 'pca9685_0x47'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x47_ch14
pca9685_id: 'pca9685_0x47'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x47_ch15
pca9685_id: 'pca9685_0x47'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x48
id: "pca9685_0x48"
output:
- platform: pca9685
id: pca_0x48_ch0
pca9685_id: 'pca9685_0x48'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x48_ch1
pca9685_id: 'pca9685_0x48'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x48_ch2
pca9685_id: 'pca9685_0x48'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x48_ch3
pca9685_id: 'pca9685_0x48'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x48_ch4
pca9685_id: 'pca9685_0x48'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x48_ch5
pca9685_id: 'pca9685_0x48'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x48_ch6
pca9685_id: 'pca9685_0x48'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x48_ch7
pca9685_id: 'pca9685_0x48'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x48_ch8
pca9685_id: 'pca9685_0x48'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x48_ch9
pca9685_id: 'pca9685_0x48'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x48_ch10
pca9685_id: 'pca9685_0x48'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x48_ch11
pca9685_id: 'pca9685_0x48'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x48_ch12
pca9685_id: 'pca9685_0x48'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x48_ch13
pca9685_id: 'pca9685_0x48'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x48_ch14
pca9685_id: 'pca9685_0x48'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x48_ch15
pca9685_id: 'pca9685_0x48'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x49
id: "pca9685_0x49"
output:
- platform: pca9685
id: pca_0x49_ch0
pca9685_id: 'pca9685_0x49'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x49_ch1
pca9685_id: 'pca9685_0x49'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x49_ch2
pca9685_id: 'pca9685_0x49'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x49_ch3
pca9685_id: 'pca9685_0x49'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x49_ch4
pca9685_id: 'pca9685_0x49'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x49_ch5
pca9685_id: 'pca9685_0x49'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x49_ch6
pca9685_id: 'pca9685_0x49'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x49_ch7
pca9685_id: 'pca9685_0x49'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x49_ch8
pca9685_id: 'pca9685_0x49'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x49_ch9
pca9685_id: 'pca9685_0x49'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x49_ch10
pca9685_id: 'pca9685_0x49'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x49_ch11
pca9685_id: 'pca9685_0x49'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x49_ch12
pca9685_id: 'pca9685_0x49'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x49_ch13
pca9685_id: 'pca9685_0x49'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x49_ch14
pca9685_id: 'pca9685_0x49'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x49_ch15
pca9685_id: 'pca9685_0x49'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x4A
id: "pca9685_0x4a"
output:
- platform: pca9685
id: pca_0x4a_ch0
pca9685_id: 'pca9685_0x4a'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch1
pca9685_id: 'pca9685_0x4a'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch2
pca9685_id: 'pca9685_0x4a'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch3
pca9685_id: 'pca9685_0x4a'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch4
pca9685_id: 'pca9685_0x4a'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch5
pca9685_id: 'pca9685_0x4a'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch6
pca9685_id: 'pca9685_0x4a'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch7
pca9685_id: 'pca9685_0x4a'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch8
pca9685_id: 'pca9685_0x4a'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch9
pca9685_id: 'pca9685_0x4a'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch10
pca9685_id: 'pca9685_0x4a'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch11
pca9685_id: 'pca9685_0x4a'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch12
pca9685_id: 'pca9685_0x4a'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch13
pca9685_id: 'pca9685_0x4a'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch14
pca9685_id: 'pca9685_0x4a'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x4a_ch15
pca9685_id: 'pca9685_0x4a'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x4B
id: "pca9685_0x4b"
output:
- platform: pca9685
id: pca_0x4b_ch0
pca9685_id: 'pca9685_0x4b'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch1
pca9685_id: 'pca9685_0x4b'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch2
pca9685_id: 'pca9685_0x4b'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch3
pca9685_id: 'pca9685_0x4b'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch4
pca9685_id: 'pca9685_0x4b'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch5
pca9685_id: 'pca9685_0x4b'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch6
pca9685_id: 'pca9685_0x4b'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch7
pca9685_id: 'pca9685_0x4b'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch8
pca9685_id: 'pca9685_0x4b'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch9
pca9685_id: 'pca9685_0x4b'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch10
pca9685_id: 'pca9685_0x4b'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch11
pca9685_id: 'pca9685_0x4b'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch12
pca9685_id: 'pca9685_0x4b'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch13
pca9685_id: 'pca9685_0x4b'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch14
pca9685_id: 'pca9685_0x4b'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x4b_ch15
pca9685_id: 'pca9685_0x4b'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x4C
id: "pca9685_0x4c"
output:
- platform: pca9685
id: pca_0x4c_ch0
pca9685_id: 'pca9685_0x4c'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch1
pca9685_id: 'pca9685_0x4c'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch2
pca9685_id: 'pca9685_0x4c'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch3
pca9685_id: 'pca9685_0x4c'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch4
pca9685_id: 'pca9685_0x4c'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch5
pca9685_id: 'pca9685_0x4c'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch6
pca9685_id: 'pca9685_0x4c'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch7
pca9685_id: 'pca9685_0x4c'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch8
pca9685_id: 'pca9685_0x4c'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch9
pca9685_id: 'pca9685_0x4c'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch10
pca9685_id: 'pca9685_0x4c'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch11
pca9685_id: 'pca9685_0x4c'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch12
pca9685_id: 'pca9685_0x4c'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch13
pca9685_id: 'pca9685_0x4c'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch14
pca9685_id: 'pca9685_0x4c'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x4c_ch15
pca9685_id: 'pca9685_0x4c'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x4D
id: "pca9685_0x4d"
output:
- platform: pca9685
id: pca_0x4d_ch0
pca9685_id: 'pca9685_0x4d'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch1
pca9685_id: 'pca9685_0x4d'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch2
pca9685_id: 'pca9685_0x4d'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch3
pca9685_id: 'pca9685_0x4d'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch4
pca9685_id: 'pca9685_0x4d'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch5
pca9685_id: 'pca9685_0x4d'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch6
pca9685_id: 'pca9685_0x4d'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch7
pca9685_id: 'pca9685_0x4d'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch8
pca9685_id: 'pca9685_0x4d'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch9
pca9685_id: 'pca9685_0x4d'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch10
pca9685_id: 'pca9685_0x4d'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch11
pca9685_id: 'pca9685_0x4d'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch12
pca9685_id: 'pca9685_0x4d'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch13
pca9685_id: 'pca9685_0x4d'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch14
pca9685_id: 'pca9685_0x4d'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x4d_ch15
pca9685_id: 'pca9685_0x4d'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x4E
id: "pca9685_0x4e"
output:
- platform: pca9685
id: pca_0x4e_ch0
pca9685_id: 'pca9685_0x4e'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch1
pca9685_id: 'pca9685_0x4e'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch2
pca9685_id: 'pca9685_0x4e'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch3
pca9685_id: 'pca9685_0x4e'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch4
pca9685_id: 'pca9685_0x4e'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch5
pca9685_id: 'pca9685_0x4e'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch6
pca9685_id: 'pca9685_0x4e'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch7
pca9685_id: 'pca9685_0x4e'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch8
pca9685_id: 'pca9685_0x4e'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch9
pca9685_id: 'pca9685_0x4e'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch10
pca9685_id: 'pca9685_0x4e'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch11
pca9685_id: 'pca9685_0x4e'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch12
pca9685_id: 'pca9685_0x4e'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch13
pca9685_id: 'pca9685_0x4e'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch14
pca9685_id: 'pca9685_0x4e'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x4e_ch15
pca9685_id: 'pca9685_0x4e'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x4F
id: "pca9685_0x4f"
output:
- platform: pca9685
id: pca_0x4f_ch0
pca9685_id: 'pca9685_0x4f'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch1
pca9685_id: 'pca9685_0x4f'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch2
pca9685_id: 'pca9685_0x4f'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch3
pca9685_id: 'pca9685_0x4f'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch4
pca9685_id: 'pca9685_0x4f'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch5
pca9685_id: 'pca9685_0x4f'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch6
pca9685_id: 'pca9685_0x4f'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch7
pca9685_id: 'pca9685_0x4f'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch8
pca9685_id: 'pca9685_0x4f'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch9
pca9685_id: 'pca9685_0x4f'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch10
pca9685_id: 'pca9685_0x4f'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch11
pca9685_id: 'pca9685_0x4f'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch12
pca9685_id: 'pca9685_0x4f'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch13
pca9685_id: 'pca9685_0x4f'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch14
pca9685_id: 'pca9685_0x4f'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x4f_ch15
pca9685_id: 'pca9685_0x4f'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x50
id: "pca9685_0x50"
output:
- platform: pca9685
id: pca_0x50_ch0
pca9685_id: 'pca9685_0x50'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x50_ch1
pca9685_id: 'pca9685_0x50'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x50_ch2
pca9685_id: 'pca9685_0x50'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x50_ch3
pca9685_id: 'pca9685_0x50'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x50_ch4
pca9685_id: 'pca9685_0x50'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x50_ch5
pca9685_id: 'pca9685_0x50'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x50_ch6
pca9685_id: 'pca9685_0x50'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x50_ch7
pca9685_id: 'pca9685_0x50'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x50_ch8
pca9685_id: 'pca9685_0x50'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x50_ch9
pca9685_id: 'pca9685_0x50'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x50_ch10
pca9685_id: 'pca9685_0x50'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x50_ch11
pca9685_id: 'pca9685_0x50'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x50_ch12
pca9685_id: 'pca9685_0x50'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x50_ch13
pca9685_id: 'pca9685_0x50'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x50_ch14
pca9685_id: 'pca9685_0x50'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x50_ch15
pca9685_id: 'pca9685_0x50'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x51
id: "pca9685_0x51"
output:
- platform: pca9685
id: pca_0x51_ch0
pca9685_id: 'pca9685_0x51'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x51_ch1
pca9685_id: 'pca9685_0x51'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x51_ch2
pca9685_id: 'pca9685_0x51'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x51_ch3
pca9685_id: 'pca9685_0x51'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x51_ch4
pca9685_id: 'pca9685_0x51'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x51_ch5
pca9685_id: 'pca9685_0x51'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x51_ch6
pca9685_id: 'pca9685_0x51'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x51_ch7
pca9685_id: 'pca9685_0x51'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x51_ch8
pca9685_id: 'pca9685_0x51'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x51_ch9
pca9685_id: 'pca9685_0x51'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x51_ch10
pca9685_id: 'pca9685_0x51'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x51_ch11
pca9685_id: 'pca9685_0x51'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x51_ch12
pca9685_id: 'pca9685_0x51'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x51_ch13
pca9685_id: 'pca9685_0x51'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x51_ch14
pca9685_id: 'pca9685_0x51'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x51_ch15
pca9685_id: 'pca9685_0x51'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x52
id: "pca9685_0x52"
output:
- platform: pca9685
id: pca_0x52_ch0
pca9685_id: 'pca9685_0x52'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x52_ch1
pca9685_id: 'pca9685_0x52'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x52_ch2
pca9685_id: 'pca9685_0x52'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x52_ch3
pca9685_id: 'pca9685_0x52'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x52_ch4
pca9685_id: 'pca9685_0x52'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x52_ch5
pca9685_id: 'pca9685_0x52'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x52_ch6
pca9685_id: 'pca9685_0x52'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x52_ch7
pca9685_id: 'pca9685_0x52'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x52_ch8
pca9685_id: 'pca9685_0x52'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x52_ch9
pca9685_id: 'pca9685_0x52'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x52_ch10
pca9685_id: 'pca9685_0x52'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x52_ch11
pca9685_id: 'pca9685_0x52'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x52_ch12
pca9685_id: 'pca9685_0x52'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x52_ch13
pca9685_id: 'pca9685_0x52'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x52_ch14
pca9685_id: 'pca9685_0x52'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x52_ch15
pca9685_id: 'pca9685_0x52'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x53
id: "pca9685_0x53"
output:
- platform: pca9685
id: pca_0x53_ch0
pca9685_id: 'pca9685_0x53'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x53_ch1
pca9685_id: 'pca9685_0x53'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x53_ch2
pca9685_id: 'pca9685_0x53'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x53_ch3
pca9685_id: 'pca9685_0x53'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x53_ch4
pca9685_id: 'pca9685_0x53'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x53_ch5
pca9685_id: 'pca9685_0x53'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x53_ch6
pca9685_id: 'pca9685_0x53'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x53_ch7
pca9685_id: 'pca9685_0x53'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x53_ch8
pca9685_id: 'pca9685_0x53'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x53_ch9
pca9685_id: 'pca9685_0x53'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x53_ch10
pca9685_id: 'pca9685_0x53'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x53_ch11
pca9685_id: 'pca9685_0x53'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x53_ch12
pca9685_id: 'pca9685_0x53'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x53_ch13
pca9685_id: 'pca9685_0x53'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x53_ch14
pca9685_id: 'pca9685_0x53'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x53_ch15
pca9685_id: 'pca9685_0x53'
channel: 15
max_power: 100%

View File

@@ -0,0 +1,102 @@
pca9685:
- frequency: 1500
address: 0x54
id: "pca9685_0x54"
output:
- platform: pca9685
id: pca_0x54_ch0
pca9685_id: 'pca9685_0x54'
channel: 0
max_power: 100%
- platform: pca9685
id: pca_0x54_ch1
pca9685_id: 'pca9685_0x54'
channel: 1
max_power: 100%
- platform: pca9685
id: pca_0x54_ch2
pca9685_id: 'pca9685_0x54'
channel: 2
max_power: 100%
- platform: pca9685
id: pca_0x54_ch3
pca9685_id: 'pca9685_0x54'
channel: 3
max_power: 100%
- platform: pca9685
id: pca_0x54_ch4
pca9685_id: 'pca9685_0x54'
channel: 4
max_power: 100%
- platform: pca9685
id: pca_0x54_ch5
pca9685_id: 'pca9685_0x54'
channel: 5
max_power: 100%
- platform: pca9685
id: pca_0x54_ch6
pca9685_id: 'pca9685_0x54'
channel: 6
max_power: 100%
- platform: pca9685
id: pca_0x54_ch7
pca9685_id: 'pca9685_0x54'
channel: 7
max_power: 100%
- platform: pca9685
id: pca_0x54_ch8
pca9685_id: 'pca9685_0x54'
channel: 8
max_power: 100%
- platform: pca9685
id: pca_0x54_ch9
pca9685_id: 'pca9685_0x54'
channel: 9
max_power: 100%
- platform: pca9685
id: pca_0x54_ch10
pca9685_id: 'pca9685_0x54'
channel: 10
max_power: 100%
- platform: pca9685
id: pca_0x54_ch11
pca9685_id: 'pca9685_0x54'
channel: 11
max_power: 100%
- platform: pca9685
id: pca_0x54_ch12
pca9685_id: 'pca9685_0x54'
channel: 12
max_power: 100%
- platform: pca9685
id: pca_0x54_ch13
pca9685_id: 'pca9685_0x54'
channel: 13
max_power: 100%
- platform: pca9685
id: pca_0x54_ch14
pca9685_id: 'pca9685_0x54'
channel: 14
max_power: 100%
- platform: pca9685
id: pca_0x54_ch15
pca9685_id: 'pca9685_0x54'
channel: 15
max_power: 100%

Some files were not shown because too many files have changed in this diff Show More