mirror of
https://github.com/boneIO-eu/esphome.git
synced 2026-04-10 20:50:02 +02:00
Merge pull request #3 from boneIO-eu/esp_modular_config
sample configuration
This commit is contained in:
103
boards/cover.yaml
Executable file
103
boards/cover.yaml
Executable file
@@ -0,0 +1,103 @@
|
||||
cover:
|
||||
- platform: time_based
|
||||
name: "${node_name} Cover 01"
|
||||
device_class: shutter
|
||||
id: cover_01
|
||||
open_action:
|
||||
- switch.turn_off: cover_close_01
|
||||
- switch.turn_on: cover_open_01
|
||||
open_duration: 60s
|
||||
close_action:
|
||||
- switch.turn_off: cover_open_01
|
||||
- switch.turn_on: cover_close_01
|
||||
close_duration: 60s
|
||||
stop_action:
|
||||
- switch.turn_off: cover_open_01
|
||||
- switch.turn_off: cover_close_01
|
||||
tilt_action:
|
||||
- cover.close: this cover
|
||||
- delay: 2s
|
||||
- switch.turn_on: open_cover_switch
|
||||
- lambda: |- wyliczenie czasu z zadanej pozycji
|
||||
- delay: X
|
||||
- switch.turn_off: open_cover_switch
|
||||
|
||||
- platform: time_based
|
||||
name: "${node_name} Cover 02"
|
||||
device_class: shutter
|
||||
id: cover_02
|
||||
open_action:
|
||||
- switch.turn_off: cover_close_02
|
||||
- switch.turn_on: cover_open_02
|
||||
open_duration: 60s
|
||||
close_action:
|
||||
- switch.turn_off: cover_open_02
|
||||
- switch.turn_on: cover_close_02
|
||||
close_duration: 60s
|
||||
stop_action:
|
||||
- switch.turn_off: cover_open_02
|
||||
- switch.turn_off: cover_close_02
|
||||
|
||||
- platform: time_based
|
||||
name: "${node_name} Cover 03"
|
||||
device_class: shutter
|
||||
id: cover_03
|
||||
open_action:
|
||||
- switch.turn_off: cover_close_03
|
||||
- switch.turn_on: cover_open_03
|
||||
open_duration: 60s
|
||||
close_action:
|
||||
- switch.turn_off: cover_open_03
|
||||
- switch.turn_on: cover_close_03
|
||||
close_duration: 60s
|
||||
stop_action:
|
||||
- switch.turn_off: cover_open_03
|
||||
- switch.turn_off: cover_close_03
|
||||
|
||||
- platform: time_based
|
||||
name: "${node_name} Cover 04"
|
||||
device_class: shutter
|
||||
id: cover_04
|
||||
open_action:
|
||||
- switch.turn_off: cover_close_04
|
||||
- switch.turn_on: cover_open_04
|
||||
open_duration: 60s
|
||||
close_action:
|
||||
- switch.turn_off: cover_open_04
|
||||
- switch.turn_on: cover_close_04
|
||||
close_duration: 60s
|
||||
stop_action:
|
||||
- switch.turn_off: cover_open_04
|
||||
- switch.turn_off: cover_close_04
|
||||
|
||||
- platform: time_based
|
||||
name: "${node_name} Cover 05"
|
||||
device_class: shutter
|
||||
id: cover_05
|
||||
open_action:
|
||||
- switch.turn_off: cover_close_05
|
||||
- switch.turn_on: cover_open_05
|
||||
open_duration: 60s
|
||||
close_action:
|
||||
- switch.turn_off: cover_open_05
|
||||
- switch.turn_on: cover_close_05
|
||||
close_duration: 60s
|
||||
stop_action:
|
||||
- switch.turn_off: cover_open_05
|
||||
- switch.turn_off: cover_close_05
|
||||
|
||||
- platform: time_based
|
||||
name: "${node_name} Cover 06"
|
||||
device_class: shutter
|
||||
id: cover_06
|
||||
open_action:
|
||||
- switch.turn_off: cover_close_06
|
||||
- switch.turn_on: cover_open_06
|
||||
open_duration: 60s
|
||||
close_action:
|
||||
- switch.turn_off: cover_open_06
|
||||
- switch.turn_on: cover_close_06
|
||||
close_duration: 60s
|
||||
stop_action:
|
||||
- switch.turn_off: cover_open_06
|
||||
- switch.turn_off: cover_close_06
|
||||
485
boards/cover16_inputs.yaml
Executable file
485
boards/cover16_inputs.yaml
Executable file
@@ -0,0 +1,485 @@
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_01"
|
||||
id: in_01
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 0
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.open: cover_01
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_01
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_02"
|
||||
id: in_02
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 1
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.close: cover_01
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_01
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_03"
|
||||
id: in_03
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.open: cover_02
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_02
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_04"
|
||||
id: in_04
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 3
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.close: cover_02
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_02
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_05"
|
||||
id: in_05
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.open: cover_03
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_03
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_06"
|
||||
id: in_06
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.close: cover_03
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_03
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_07"
|
||||
id: in_07
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 6
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.open: cover_04
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_04
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_08"
|
||||
id: in_08
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 7
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.close: cover_04
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_04
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_09"
|
||||
id: in_09
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.open: cover_05
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_05
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_10"
|
||||
id: in_10
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 9
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.close: cover_05
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_05
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_11"
|
||||
id: in_11
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 10
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.open: cover_06
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_06
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_12"
|
||||
id: in_12
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 11
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
cover.close: cover_06
|
||||
on_release:
|
||||
then:
|
||||
cover.stop: cover_06
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_13"
|
||||
id: in_13
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_13
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_14"
|
||||
id: in_14
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_14
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_15"
|
||||
id: in_15
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_15
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_16"
|
||||
id: in_16
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_16
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_17"
|
||||
id: in_17
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 7
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_17
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_18"
|
||||
id: in_18
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 6
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_18
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_19"
|
||||
id: in_19
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_19
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_20"
|
||||
id: in_20
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_20
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_21"
|
||||
id: in_21
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 3
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_21
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_22"
|
||||
id: in_22
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_22
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_23"
|
||||
id: in_23
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 1
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_22
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_24"
|
||||
id: in_24
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 0
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_24
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_25"
|
||||
id: in_25
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_25
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_26"
|
||||
id: in_26
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 9
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_26
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_27"
|
||||
id: in_27
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 10
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_27
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_28"
|
||||
id: in_28
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 11
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_28
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_29"
|
||||
id: in_29
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_29
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_30"
|
||||
id: in_30
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_30
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_31"
|
||||
id: in_31
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_31
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_32"
|
||||
id: in_32
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_32
|
||||
297
boards/cover16_outputs.yaml
Executable file
297
boards/cover16_outputs.yaml
Executable file
@@ -0,0 +1,297 @@
|
||||
|
||||
mcp23017:
|
||||
- id: 'mcp_outputs_1to16'
|
||||
address: 0x21
|
||||
- id: 'mcp_outputs_17to32'
|
||||
address: 0x20
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
id: cover_open_01
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 0
|
||||
mode: OUTPUT
|
||||
interlock: &cover_interlock_01 [cover_open_01, cover_close_01]
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_close_01
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 1
|
||||
mode: OUTPUT
|
||||
interlock: *cover_interlock_01
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_open_02
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 2
|
||||
mode: OUTPUT
|
||||
interlock: &cover_interlock_02 [cover_open_02, cover_close_02]
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_close_02
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 3
|
||||
mode: OUTPUT
|
||||
interlock: *cover_interlock_02
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_open_03
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 4
|
||||
mode: OUTPUT
|
||||
interlock: &cover_interlock_03 [cover_open_03, cover_close_03]
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_close_03
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 5
|
||||
mode: OUTPUT
|
||||
interlock: *cover_interlock_03
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_open_04
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 6
|
||||
mode: OUTPUT
|
||||
interlock: &cover_interlock_04 [cover_open_04, cover_close_04]
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_close_04
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 7
|
||||
mode: OUTPUT
|
||||
interlock: *cover_interlock_04
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_open_05
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 0
|
||||
mode: OUTPUT
|
||||
interlock: &cover_interlock_05 [cover_open_05, cover_close_05]
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_close_05
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 1
|
||||
mode: OUTPUT
|
||||
interlock: *cover_interlock_05
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_open_06
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 2
|
||||
mode: OUTPUT
|
||||
interlock: &cover_interlock_06 [cover_open_06, cover_close_06]
|
||||
restore_mode: always off
|
||||
|
||||
- platform: gpio
|
||||
id: cover_close_06
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 3
|
||||
mode: OUTPUT
|
||||
interlock: *cover_interlock_06
|
||||
restore_mode: always off
|
||||
|
||||
|
||||
# relay
|
||||
- platform: gpio
|
||||
id: relay_13
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 4
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_14
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 5
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_15
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 6
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_16
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 7
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_17
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 15
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_18
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 14
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_19
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 13
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_20
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 12
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_21
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 11
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_22
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 10
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_23
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 9
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_24
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 8
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_25
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 15
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_26
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 14
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_27
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 13
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_28
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 12
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_29
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 11
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_30
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 10
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_31
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 9
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_32
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 8
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
559
boards/dimmer_led8x4_inputs.yaml
Executable file
559
boards/dimmer_led8x4_inputs.yaml
Executable file
@@ -0,0 +1,559 @@
|
||||
# require light configuration (monochromatic_light.yaml)
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_01"
|
||||
id: in_01
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 0
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_1
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_02"
|
||||
id: in_02
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 1
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- light.toggle:
|
||||
id: led_2
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_03"
|
||||
id: in_03
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- light.toggle:
|
||||
id: led_3
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_04"
|
||||
id: in_04
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 3
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_4
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_05"
|
||||
id: in_05
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_5
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_06"
|
||||
id: in_06
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_6
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_07"
|
||||
id: in_07
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 6
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_7
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_08"
|
||||
id: in_08
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 7
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_8
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_09"
|
||||
id: in_09
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- while:
|
||||
condition:
|
||||
binary_sensor.is_on: in_09
|
||||
then:
|
||||
- logger.log: "Dimm light led_4 by -5%"
|
||||
- light.dim_relative:
|
||||
id: led_4
|
||||
relative_brightness: -5%
|
||||
transition_length: 0.2s
|
||||
- delay: 0.2s
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_10"
|
||||
id: in_10
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 9
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- while:
|
||||
condition:
|
||||
binary_sensor.is_on: in_10
|
||||
then:
|
||||
- logger.log: "Dimm light led_4 by -10%"
|
||||
- light.dim_relative:
|
||||
id: led_4
|
||||
relative_brightness: -10%
|
||||
transition_length: 0.2s
|
||||
- delay: 0.2s
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_11"
|
||||
id: in_11
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 10
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- while:
|
||||
condition:
|
||||
binary_sensor.is_on: in_11
|
||||
then:
|
||||
- logger.log: "Dimm light led_4 by 5%"
|
||||
- light.dim_relative:
|
||||
id: led_4
|
||||
relative_brightness: 5%
|
||||
transition_length: 0.2s
|
||||
- delay: 0.2s
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_12"
|
||||
id: in_12
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 11
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- while:
|
||||
condition:
|
||||
binary_sensor.is_on: in_12
|
||||
then:
|
||||
- logger.log: "Dimm light led_4 by 10%"
|
||||
- light.dim_relative:
|
||||
id: led_4
|
||||
relative_brightness: 10%
|
||||
transition_length: 0.2s
|
||||
- delay: 0.2s
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_13"
|
||||
id: in_13
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_13
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_14"
|
||||
id: in_14
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
- if:
|
||||
condition:
|
||||
light.is_on: led_4
|
||||
then:
|
||||
- while:
|
||||
condition:
|
||||
binary_sensor.is_on: in_14
|
||||
then:
|
||||
- logger.log: "Dimm light led_4 by -10%"
|
||||
- light.dim_relative:
|
||||
id: led_4
|
||||
relative_brightness: -10%
|
||||
transition_length: 0.2s
|
||||
- delay: 0.2s
|
||||
else:
|
||||
- while:
|
||||
condition:
|
||||
binary_sensor.is_on: in_14
|
||||
then:
|
||||
- logger.log: "Dimm light led_4 by 10%"
|
||||
- light.dim_relative:
|
||||
id: led_4
|
||||
relative_brightness: 10%
|
||||
transition_length: 0.2s
|
||||
- delay: 0.2s
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_15"
|
||||
id: in_15
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_15
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_16"
|
||||
id: in_16
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_16
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_17"
|
||||
id: in_17
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 7
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_17
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_18"
|
||||
id: in_18
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 6
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_18
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_19"
|
||||
id: in_19
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_19
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_20"
|
||||
id: in_20
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_20
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_21"
|
||||
id: in_21
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 3
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_21
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_22"
|
||||
id: in_22
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_22
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_23"
|
||||
id: in_23
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 1
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_23
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_24"
|
||||
id: in_24
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 0
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_24
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_25"
|
||||
id: in_25
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_25
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_26"
|
||||
id: in_26
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 9
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_26
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_27"
|
||||
id: in_27
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 10
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_27
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_28"
|
||||
id: in_28
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 11
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_28
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_29"
|
||||
id: in_29
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_29
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_30"
|
||||
id: in_30
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_30
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_31"
|
||||
id: in_31
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_31
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_32"
|
||||
id: in_32
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- light.toggle:
|
||||
id: led_32
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_33"
|
||||
id: in_33
|
||||
pin:
|
||||
number: GPIO33
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_34"
|
||||
id: in_34
|
||||
pin:
|
||||
number: GPIO17
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_35"
|
||||
id: in_35
|
||||
pin:
|
||||
number: GPIO12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: false
|
||||
140
boards/dimmer_led8x4_outputs.yaml
Executable file
140
boards/dimmer_led8x4_outputs.yaml
Executable file
@@ -0,0 +1,140 @@
|
||||
# i2c address: 0x41 output pca pwm
|
||||
# i2c address: 0x42 output pca pwm
|
||||
|
||||
pca9685:
|
||||
- address: 0x41
|
||||
id: pca_hub_1to16
|
||||
frequency: 500
|
||||
- address: 0x42
|
||||
id: pca_hub_17to32
|
||||
frequency: 500
|
||||
|
||||
output:
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_1'
|
||||
channel: 0
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_2'
|
||||
channel: 1
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_3'
|
||||
channel: 2
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_4'
|
||||
channel: 3
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_5'
|
||||
channel: 4
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_6'
|
||||
channel: 5
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_7'
|
||||
channel: 6
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_8'
|
||||
channel: 7
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_9'
|
||||
channel: 8
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_10'
|
||||
channel: 9
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_11'
|
||||
channel: 10
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_12'
|
||||
channel: 11
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_13'
|
||||
channel: 12
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_14'
|
||||
channel: 13
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_15'
|
||||
channel: 14
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_1to16'
|
||||
id: 'pca_output_16'
|
||||
channel: 15
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_17'
|
||||
channel: 0
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_18'
|
||||
channel: 1
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_19'
|
||||
channel: 2
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_20'
|
||||
channel: 3
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_21'
|
||||
channel: 4
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_22'
|
||||
channel: 5
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_23'
|
||||
channel: 6
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_24'
|
||||
channel: 7
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_25'
|
||||
channel: 8
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_26'
|
||||
channel: 9
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_27'
|
||||
channel: 10
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_28'
|
||||
channel: 11
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_29'
|
||||
channel: 12
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_30'
|
||||
channel: 13
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_31'
|
||||
channel: 14
|
||||
- platform: pca9685
|
||||
pca9685_id: 'pca_hub_17to32'
|
||||
id: 'pca_output_32'
|
||||
channel: 15
|
||||
161
boards/monochromatic_lights.yaml
Executable file
161
boards/monochromatic_lights.yaml
Executable file
@@ -0,0 +1,161 @@
|
||||
light:
|
||||
- platform: monochromatic
|
||||
output: pca_output_1
|
||||
name: "${node_name} LED 01"
|
||||
id: led_1
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_2
|
||||
name: "${node_name} LED 02"
|
||||
id: led_2
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_3
|
||||
name: "${node_name} LED 03"
|
||||
id: led_3
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_4
|
||||
name: "${node_name} LED 04"
|
||||
id: led_4
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_5
|
||||
name: "${node_name} LED 05"
|
||||
id: led_5
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_6
|
||||
name: "${node_name} LED 06"
|
||||
id: led_6
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_7
|
||||
name: "${node_name} LED 07"
|
||||
id: led_7
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_8
|
||||
name: "${node_name} LED 08"
|
||||
id: led_8
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_9
|
||||
name: "${node_name} LED 09"
|
||||
id: led_9
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_10
|
||||
name: "${node_name} LED 10"
|
||||
id: led_10
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_11
|
||||
name: "${node_name} LED 11"
|
||||
id: led_11
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_12
|
||||
name: "${node_name} LED 12"
|
||||
id: led_12
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_13
|
||||
name: "${node_name} LED 13"
|
||||
id: led_13
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_14
|
||||
name: "${node_name} LED 14"
|
||||
id: led_14
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_15
|
||||
name: "${node_name} LED 15"
|
||||
id: led_15
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_16
|
||||
name: "${node_name} LED 16"
|
||||
id: led_16
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_17
|
||||
name: "${node_name} LED 17"
|
||||
id: led_17
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_18
|
||||
name: "${node_name} LED 18"
|
||||
id: led_18
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_19
|
||||
name: "${node_name} LED 19"
|
||||
id: led_19
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_20
|
||||
name: "${node_name} LED 20"
|
||||
id: led_20
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_21
|
||||
name: "${node_name} LED 21"
|
||||
id: led_21
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_22
|
||||
name: "${node_name} LED 22"
|
||||
id: led_22
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_23
|
||||
name: "${node_name} LED 23"
|
||||
id: led_23
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_24
|
||||
name: "${node_name} LED 24"
|
||||
id: led_24
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_25
|
||||
name: "${node_name} LED 25"
|
||||
id: led_25
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_26
|
||||
name: "${node_name} LED 26"
|
||||
id: led_26
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_27
|
||||
name: "${node_name} LED 27"
|
||||
id: led_27
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_28
|
||||
name: "${node_name} LED 28"
|
||||
id: led_28
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_29
|
||||
name: "${node_name} LED 29"
|
||||
id: led_29
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_30
|
||||
name: "${node_name} LED 30"
|
||||
id: led_30
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_31
|
||||
name: "${node_name} LED 31"
|
||||
id: led_31
|
||||
default_transition_length: 2s
|
||||
- platform: monochromatic
|
||||
output: pca_output_32
|
||||
name: "${node_name} LED 32"
|
||||
id: led_32
|
||||
default_transition_length: 2s
|
||||
455
boards/relay32_inputs.yaml
Executable file
455
boards/relay32_inputs.yaml
Executable file
@@ -0,0 +1,455 @@
|
||||
#i2c addresses
|
||||
# address: 0x26 input mcp io
|
||||
# address: 0x27 input mcp io
|
||||
# address: 0x3C input oled
|
||||
# address: 0x40 input ina219 power
|
||||
# address: 0x68 input rtc ds1307
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_01"
|
||||
id: in_01
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 0
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_1
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_02"
|
||||
id: in_02
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 1
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_2
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_03"
|
||||
id: in_03
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_3
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_04"
|
||||
id: in_04
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 3
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_4
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_05"
|
||||
id: in_05
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_5
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_06"
|
||||
id: in_06
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_6
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_07"
|
||||
id: in_07
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 6
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_7
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_08"
|
||||
id: in_08
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 7
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_8
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_09"
|
||||
id: in_09
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_9
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_10"
|
||||
id: in_10
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 9
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_10
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_11"
|
||||
id: in_11
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 10
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_11
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_12"
|
||||
id: in_12
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 11
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_12
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_13"
|
||||
id: in_13
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_13
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_14"
|
||||
id: in_14
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_14
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_15"
|
||||
id: in_15
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_15
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_16"
|
||||
id: in_16
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_1to16
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_16
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_17"
|
||||
id: in_17
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 7
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_17
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_18"
|
||||
id: in_18
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 6
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_18
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_19"
|
||||
id: in_19
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_19
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_20"
|
||||
id: in_20
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_20
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_21"
|
||||
id: in_21
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 3
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_21
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_22"
|
||||
id: in_22
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_22
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_23"
|
||||
id: in_23
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 1
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_22
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_24"
|
||||
id: in_24
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 0
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_24
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_25"
|
||||
id: in_25
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_25
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_26"
|
||||
id: in_26
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 9
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_26
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_27"
|
||||
id: in_27
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 10
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_27
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_28"
|
||||
id: in_28
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 11
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_28
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_29"
|
||||
id: in_29
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 12
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_29
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_30"
|
||||
id: in_30
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_30
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_31"
|
||||
id: in_31
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_31
|
||||
|
||||
- platform: gpio
|
||||
name: "${node_name} IN_32"
|
||||
id: in_32
|
||||
pin:
|
||||
mcp23xxx: mcp_inputs_17to32
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: false
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
- switch.toggle: relay_32
|
||||
327
boards/relay32_outputs.yaml
Executable file
327
boards/relay32_outputs.yaml
Executable file
@@ -0,0 +1,327 @@
|
||||
|
||||
mcp23017:
|
||||
- id: 'mcp_outputs_1to16'
|
||||
address: 0x21
|
||||
- id: 'mcp_outputs_17to32'
|
||||
address: 0x20
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
id: relay_1
|
||||
name: "${node_name} Relay 01"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 0
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_2
|
||||
name: "${node_name} Relay 02"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 1
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_3
|
||||
name: "${node_name} Relay 03"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 2
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_4
|
||||
name: "${node_name} Relay 04"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 3
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_5
|
||||
name: "${node_name} Relay 05"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 4
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_6
|
||||
name: "${node_name} Relay 06"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 5
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_7
|
||||
name: "${node_name} Relay 07"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 6
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_8
|
||||
name: "${node_name} Relay 08"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 7
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_9
|
||||
name: "${node_name} Relay 09"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 0
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_10
|
||||
name: "${node_name} Relay 10"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 1
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_11
|
||||
name: "${node_name} Relay 11"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 2
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_12
|
||||
name: "${node_name} Relay 12"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 3
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_13
|
||||
name: "${node_name} Relay 13"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 4
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_14
|
||||
name: "${node_name} Relay 14"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 5
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_15
|
||||
name: "${node_name} Relay 15"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 6
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_16
|
||||
name: "${node_name} Relay 16"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 7
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_17
|
||||
name: "${node_name} Relay 17"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 15
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_18
|
||||
name: "${node_name} Relay 18"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 14
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_19
|
||||
name: "${node_name} Relay 19"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 13
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_20
|
||||
name: "${node_name} Relay 20"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 12
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_21
|
||||
name: "${node_name} Relay 21"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 11
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_22
|
||||
name: "${node_name} Relay 22"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 10
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_23
|
||||
name: "${node_name} Relay 23"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 9
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_24
|
||||
name: "${node_name} Relay 24"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_1to16
|
||||
number: 8
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_25
|
||||
name: "${node_name} Relay 25"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 15
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_26
|
||||
name: "${node_name} Relay 26"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 14
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_27
|
||||
name: "${node_name} Relay 27"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 13
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_28
|
||||
name: "${node_name} Relay 28"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 12
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_29
|
||||
name: "${node_name} Relay 29"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 11
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_30
|
||||
name: "${node_name} Relay 30"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 10
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_31
|
||||
name: "${node_name} Relay 31"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 9
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
- platform: gpio
|
||||
id: relay_32
|
||||
name: "${node_name} Relay 32"
|
||||
pin:
|
||||
mcp23xxx: mcp_outputs_17to32
|
||||
number: 8
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
42
boneIOsample.yml
Normal file
42
boneIOsample.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
substitutions:
|
||||
node_name: boneio
|
||||
|
||||
packages:
|
||||
# devices
|
||||
core: !include devices/wt32_eth01.yaml
|
||||
internals: !include devices/boneio_board.yaml
|
||||
temp: !include devices/lm75b.yaml
|
||||
display: !include devices/display.yaml
|
||||
# uart: !include devices/uart.yaml
|
||||
# one_wire: !include devices/one_wire.yaml
|
||||
# relay32
|
||||
# output: !include boards/relay32_outputs.yaml
|
||||
# input: !include boards/relay32_inputs.yaml
|
||||
# dimmer led
|
||||
# output: !include boards/dimmer_led8x4_outputs.yaml
|
||||
# input: !include boards/dimmer_led8x4_inputs.yaml
|
||||
# light: !include boards/monochromatic_lights.yaml
|
||||
# cover
|
||||
output: !include boards/cover16_outputs.yaml
|
||||
# input: !include boards/cover16_inputs.yaml
|
||||
cover: !include boards/cover.yaml
|
||||
|
||||
logger:
|
||||
baud_rate: 0
|
||||
api:
|
||||
ota:
|
||||
password: secret_ota_password
|
||||
# disable web server - for testing only
|
||||
web_server:
|
||||
port: 80
|
||||
local: true
|
||||
|
||||
time:
|
||||
- platform: homeassistant
|
||||
timezone: Europe/Warsaw
|
||||
id: homeassistant_time
|
||||
# instead try to synchronize via network repeatedly ...
|
||||
on_time_sync:
|
||||
then:
|
||||
# ... and update the RTC when the synchronization was successful
|
||||
ds1307.write_time:
|
||||
34
devices/boneio_board.yaml
Executable file
34
devices/boneio_board.yaml
Executable file
@@ -0,0 +1,34 @@
|
||||
#i2c address: 0x26 input mcp io
|
||||
#i2c address: 0x27 input mcp io
|
||||
#i2c address: 0x40 input ina219 power
|
||||
#i2c address: 0x68 input rtc ds1307
|
||||
time:
|
||||
- platform: ds1307
|
||||
id: ds1307_time
|
||||
|
||||
sensor:
|
||||
# Module power consmption
|
||||
- platform: ina219
|
||||
address: 0x40
|
||||
shunt_resistance: 0.1 ohm
|
||||
current:
|
||||
id: ina_current
|
||||
name: "${node_name} INA219 Current"
|
||||
power:
|
||||
id: ina_power
|
||||
name: "${node_name} INA219 Power"
|
||||
bus_voltage:
|
||||
id: ina_bus_voltage
|
||||
name: "${node_name} INA219 Bus Voltage"
|
||||
shunt_voltage:
|
||||
id: ina_shunt_voltage
|
||||
name: "${node_name} INA219 Shunt Voltage"
|
||||
max_voltage: 32.0V
|
||||
max_current: 3.2A
|
||||
update_interval: 30s
|
||||
|
||||
mcp23017:
|
||||
- id: 'mcp_inputs_1to16'
|
||||
address: 0x26
|
||||
- id: 'mcp_inputs_17to32'
|
||||
address: 0x27
|
||||
138
devices/display.yaml
Executable file
138
devices/display.yaml
Executable file
@@ -0,0 +1,138 @@
|
||||
#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: ${node_name} Uptime
|
||||
id: wt32_uptime
|
||||
entity_category: diagnostic
|
||||
icon: mdi:clock-start
|
||||
|
||||
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:
|
||||
# by default display show the first page defined in display (which is the logo page) until full initialization
|
||||
# after that we show the first_page and start the screensaver script
|
||||
priority: 0
|
||||
then:
|
||||
- display.page.show: first_page
|
||||
- component.update: oled_display
|
||||
- script.execute: screensaver_script
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
entity_category: config
|
||||
id: boneIO_button
|
||||
pin:
|
||||
number: GPIO4
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
on_press:
|
||||
then:
|
||||
# woke up when on the screensaver, as well do not include the logo page and screensaver in a loop when pushing a button
|
||||
- if:
|
||||
condition:
|
||||
# on the last page go to the first page skipping the screensaver and logo page
|
||||
display.is_displaying_page: last_page
|
||||
then:
|
||||
- display.page.show: first_page
|
||||
- component.update: oled_display
|
||||
else:
|
||||
- if:
|
||||
condition:
|
||||
# on the screensaver, show the logo for a while and display the first page
|
||||
display.is_displaying_page: screensaver
|
||||
then:
|
||||
- display.page.show: logo_page
|
||||
- component.update: oled_display
|
||||
- delay: 500ms
|
||||
- display.page.show: first_page
|
||||
- component.update: oled_display
|
||||
else:
|
||||
# not the last page and screensaver go to the next page
|
||||
- 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: logo_page
|
||||
lambda: |-
|
||||
it.printf(64,25, id(danubeBig), TextAlign::BASELINE_CENTER, "BoneIO");
|
||||
it.printf(64,40, id(dejaVuSmall), TextAlign::BASELINE_CENTER, "take control");
|
||||
it.printf(64,50, id(dejaVuSmall), TextAlign::BASELINE_CENTER, "of your home");
|
||||
- id: first_page
|
||||
lambda: |-
|
||||
it.rectangle(0, 0, 126, 15);
|
||||
it.printf(64,11, id(danubeSmall), TextAlign::BASELINE_CENTER, "BoneIO");
|
||||
it.strftime(64, 25, id(dejaVuSmall), TextAlign::BASELINE_CENTER ,"%c", id(ds1307_time).now());
|
||||
it.printf(4, 37, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"IP addr:");
|
||||
it.printf(124, 37, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%s", id(eth).get_ip_address().str().c_str());
|
||||
it.printf(4, 49, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Uptime:");
|
||||
it.printf(124, 49, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
|
||||
it.printf(4, 61, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Temperature:");
|
||||
it.printf(124, 61, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state);
|
||||
# additional pages should be defined between the first and last page
|
||||
- id: last_page
|
||||
lambda: |-
|
||||
it.rectangle(0, 0, 126, 15);
|
||||
it.printf(64,11, id(danubeSmall), TextAlign::BASELINE_CENTER, "BoneIO");
|
||||
it.printf(4, 25, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Current:");
|
||||
it.printf(124, 25, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
|
||||
it.printf(4, 37, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Power:");
|
||||
it.printf(124, 37, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
|
||||
it.printf(4, 49, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Bus Volt:");
|
||||
it.printf(124, 49, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
|
||||
it.printf(4, 61, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
|
||||
it.printf(124, 61, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state);
|
||||
- id: screensaver
|
||||
lambda: |-
|
||||
it.fill(COLOR_OFF);
|
||||
|
||||
font:
|
||||
- file: "fonts/DejaVuSans.ttf"
|
||||
id: dejaVuSmall
|
||||
size: 9
|
||||
- file: "fonts/danube__.ttf"
|
||||
id: danubeBig
|
||||
size: 20
|
||||
- file: "fonts/danube__.ttf"
|
||||
id: danubeSmall
|
||||
size: 9
|
||||
12
devices/lm75b.yaml
Normal file
12
devices/lm75b.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
#i2c address: 0x48 output lm75b temp
|
||||
#LM75B
|
||||
external_components:
|
||||
- source: github://btomala/esphome-LM75@v1.0
|
||||
components: [ lm75 ]
|
||||
|
||||
sensor:
|
||||
# Lower board temperature
|
||||
- platform: lm75
|
||||
id: boneIO_temp
|
||||
name: "${node_name} LM75B Temperature"
|
||||
update_interval: 30s
|
||||
15
devices/one_wire.yaml
Executable file
15
devices/one_wire.yaml
Executable file
@@ -0,0 +1,15 @@
|
||||
dallas:
|
||||
- pin: GPIO32
|
||||
|
||||
# sensor:
|
||||
# - platform: dallas
|
||||
# address: 0x283c01d607d4df28
|
||||
# name: "Dallas Sensor 1"
|
||||
#
|
||||
# - platform: dallas
|
||||
# address: 0xdfe67a061e64ff28
|
||||
# name: "Dallas Sensor 2"
|
||||
#
|
||||
# - platform: dallas
|
||||
# address: 0xa7a89f071e64ff28
|
||||
# name: "Dallas Sensor 3"
|
||||
6
devices/uart.yaml
Executable file
6
devices/uart.yaml
Executable file
@@ -0,0 +1,6 @@
|
||||
uart:
|
||||
id: uart
|
||||
rx_pin: GPIO3
|
||||
tx_pin: GPIO1
|
||||
baud_rate: 9600
|
||||
stop_bits: 1
|
||||
19
devices/wt32_eth01.yaml
Executable file
19
devices/wt32_eth01.yaml
Executable file
@@ -0,0 +1,19 @@
|
||||
esphome:
|
||||
name: ${node_name}
|
||||
platform: ESP32
|
||||
board: nodemcu-32s
|
||||
|
||||
i2c:
|
||||
sda: GPIO14
|
||||
scl: GPIO15
|
||||
scan: True
|
||||
frequency: 100kHz
|
||||
|
||||
ethernet:
|
||||
id: eth
|
||||
type: LAN8720
|
||||
mdc_pin: GPIO23
|
||||
mdio_pin: GPIO18
|
||||
clk_mode: GPIO0_IN
|
||||
phy_addr: 1
|
||||
power_pin: GPIO16
|
||||
Reference in New Issue
Block a user