Add 24 relay board

This commit is contained in:
Kamil_B
2022-12-16 10:14:03 +01:00
parent 1cf3b09faa
commit 6a55c7fbc1
4 changed files with 683 additions and 2 deletions

View File

@@ -0,0 +1,427 @@
#i2c addresses
# address: 0x26 input pcf io
# address: 0x27 input pcf 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:
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_1
- platform: gpio
name: "${node_name} IN_02"
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_2
- platform: gpio
name: "${node_name} IN_03"
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_3
- platform: gpio
name: "${node_name} IN_04"
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_4
- platform: gpio
name: "${node_name} IN_05"
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_5
- platform: gpio
name: "${node_name} IN_06"
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_6
- platform: gpio
name: "${node_name} IN_07"
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_7
- platform: gpio
name: "${node_name} IN_08"
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_8
- platform: gpio
name: "${node_name} IN_09"
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_9
- platform: gpio
name: "${node_name} IN_10"
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_10
- platform: gpio
name: "${node_name} IN_11"
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_11
- platform: gpio
name: "${node_name} IN_12"
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_12
- platform: gpio
name: "${node_name} IN_13"
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_13
- platform: gpio
name: "${node_name} IN_14"
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_14
- platform: gpio
name: "${node_name} IN_15"
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_15
- platform: gpio
name: "${node_name} IN_16"
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_16
- platform: gpio
name: "${node_name} IN_17"
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_17
- platform: gpio
name: "${node_name} IN_18"
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_18
- platform: gpio
name: "${node_name} IN_19"
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_19
- platform: gpio
name: "${node_name} IN_20"
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_20
- platform: gpio
name: "${node_name} IN_21"
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_21
- platform: gpio
name: "${node_name} IN_22"
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_22
- platform: gpio
name: "${node_name} IN_23"
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_23
- platform: gpio
name: "${node_name} IN_24"
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- switch.toggle: relay_24
- platform: gpio
name: "${node_name} IN_25"
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_26"
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_27"
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_28"
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_29"
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_30"
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_31"
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_32"
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_33"
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_34"
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: "${node_name} IN_35"
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true

View File

@@ -0,0 +1,248 @@
mcp23017:
- id: 'mcp_outputs_1to16'
address: 0x21
i2c_id: bus_b
- id: 'mcp_outputs_17to32'
address: 0x20
i2c_id: bus_b
switch:
- platform: gpio
id: relay_1
name: "${node_name} Relay 01"
pin:
mcp23xxx: mcp_outputs_1to16
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: relay_2
name: "${node_name} Relay 02"
pin:
mcp23xxx: mcp_outputs_1to16
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: relay_3
name: "${node_name} Relay 03"
pin:
mcp23xxx: mcp_outputs_1to16
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: relay_4
name: "${node_name} Relay 04"
pin:
mcp23xxx: mcp_outputs_1to16
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: relay_5
name: "${node_name} Relay 05"
pin:
mcp23xxx: mcp_outputs_1to16
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: relay_6
name: "${node_name} Relay 06"
pin:
mcp23xxx: mcp_outputs_1to16
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: relay_7
name: "${node_name} Relay 07"
pin:
mcp23xxx: mcp_outputs_1to16
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: relay_8
name: "${node_name} Relay 08"
pin:
mcp23xxx: mcp_outputs_1to16
number: 15
mode:
output: true
inverted: false
- platform: gpio
id: relay_9
name: "${node_name} Relay 09"
pin:
mcp23xxx: mcp_outputs_17to32
number: 8
mode:
output: true
inverted: false
- platform: gpio
id: relay_10
name: "${node_name} Relay 10"
pin:
mcp23xxx: mcp_outputs_17to32
number: 9
mode:
output: true
inverted: false
- platform: gpio
id: relay_11
name: "${node_name} Relay 11"
pin:
mcp23xxx: mcp_outputs_17to32
number: 10
mode:
output: true
inverted: false
- platform: gpio
id: relay_12
name: "${node_name} Relay 12"
pin:
mcp23xxx: mcp_outputs_17to32
number: 11
mode:
output: true
inverted: false
- platform: gpio
id: relay_13
name: "${node_name} Relay 13"
pin:
mcp23xxx: mcp_outputs_1to16
number: 7
mode:
output: true
inverted: false
- platform: gpio
id: relay_14
name: "${node_name} Relay 14"
pin:
mcp23xxx: mcp_outputs_1to16
number: 6
mode:
output: true
inverted: false
- platform: gpio
id: relay_15
name: "${node_name} Relay 15"
pin:
mcp23xxx: mcp_outputs_1to16
number: 5
mode:
output: true
inverted: false
- platform: gpio
id: relay_16
name: "${node_name} Relay 16"
pin:
mcp23xxx: mcp_outputs_1to16
number: 4
mode:
output: true
inverted: false
- platform: gpio
id: relay_17
name: "${node_name} Relay 17"
pin:
mcp23xxx: mcp_outputs_1to16
number: 3
mode:
output: true
inverted: false
- platform: gpio
id: relay_18
name: "${node_name} Relay 18"
pin:
mcp23xxx: mcp_outputs_1to16
number: 2
mode:
output: true
inverted: false
- platform: gpio
id: relay_19
name: "${node_name} Relay 19"
pin:
mcp23xxx: mcp_outputs_1to16
number: 1
mode:
output: true
inverted: false
- platform: gpio
id: relay_20
name: "${node_name} Relay 20"
pin:
mcp23xxx: mcp_outputs_1to16
number: 0
mode:
output: true
inverted: false
- platform: gpio
id: relay_21
name: "${node_name} Relay 21"
pin:
mcp23xxx: mcp_outputs_17to32
number: 12
mode:
output: true
inverted: false
- platform: gpio
id: relay_22
name: "${node_name} Relay 22"
pin:
mcp23xxx: mcp_outputs_17to32
number: 13
mode:
output: true
inverted: false
- platform: gpio
id: relay_23
name: "${node_name} Relay 23"
pin:
mcp23xxx: mcp_outputs_17to32
number: 14
mode:
output: true
inverted: false
- platform: gpio
id: relay_24
name: "${node_name} Relay 24"
pin:
mcp23xxx: mcp_outputs_17to32
number: 15
mode:
output: true
inverted: false

View File

@@ -1,5 +1,5 @@
substitutions:
node_name: boneio-5d9340
node_name: boneio
dir_name: './'
packages:
@@ -10,6 +10,9 @@ packages:
display: !include devices/display.yaml
# uart: !include devices/uart.yaml
# one_wire: !include devices/one_wire.yaml
# relay24
output: !include boneio/boards/relay24_outputs_MCP.yaml
input: !include boneio/boards/relay24_inputs_PCF.yaml
# relay32
# output: !include boards/relay32_outputs_PCF.yaml #or MCP
# input: !include boards/relay32_inputs_PCF.yaml #or MCP

View File

@@ -1,5 +1,5 @@
substitutions:
node_name: boneio-5d9340
node_name: boneio
dir_name: 'boneio/'
packages:
@@ -10,6 +10,9 @@ packages:
display: !include boneio/devices/display.yaml
# uart: !include devices/uart.yaml
# one_wire: !include devices/one_wire.yaml
# relay24
output: !include boneio/boards/relay24_outputs_MCP.yaml
input: !include boneio/boards/relay24_inputs_PCF.yaml
# relay32
output: !include boneio/boards/relay32_outputs_PCF.yaml
#output: !include boneio/boards/relay32_outputs_MCP.yaml