modular config

This commit is contained in:
Bartłomiej Tomala
2022-09-19 19:57:58 +02:00
parent 016c277e99
commit 15a1223be7
15 changed files with 2793 additions and 0 deletions

103
boards/cover.yaml Executable file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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