mirror of
https://github.com/boneIO-eu/esphome.git
synced 2026-04-10 20:50:02 +02:00
modular config
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