From 6a55c7fbc1e3b34fa9d8b3057eb392b8239f09f4 Mon Sep 17 00:00:00 2001 From: Kamil_B <37997460+kamil2466@users.noreply.github.com> Date: Fri, 16 Dec 2022 10:14:03 +0100 Subject: [PATCH] Add 24 relay board --- boards/relay24_inputs_PCF.yaml | 427 +++++++++++++++++++++++++++ boards/relay24_outputs_MCP.yaml | 248 ++++++++++++++++ boneio_config_for_console.yaml | 5 +- boneio_config_for_esphome_addon.yaml | 5 +- 4 files changed, 683 insertions(+), 2 deletions(-) create mode 100644 boards/relay24_inputs_PCF.yaml create mode 100644 boards/relay24_outputs_MCP.yaml diff --git a/boards/relay24_inputs_PCF.yaml b/boards/relay24_inputs_PCF.yaml new file mode 100644 index 0000000..c559fb5 --- /dev/null +++ b/boards/relay24_inputs_PCF.yaml @@ -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 + diff --git a/boards/relay24_outputs_MCP.yaml b/boards/relay24_outputs_MCP.yaml new file mode 100644 index 0000000..0ea266f --- /dev/null +++ b/boards/relay24_outputs_MCP.yaml @@ -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 diff --git a/boneio_config_for_console.yaml b/boneio_config_for_console.yaml index 22c7d7d..3602f52 100644 --- a/boneio_config_for_console.yaml +++ b/boneio_config_for_console.yaml @@ -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 diff --git a/boneio_config_for_esphome_addon.yaml b/boneio_config_for_esphome_addon.yaml index f7dd806..d0eb29c 100644 --- a/boneio_config_for_esphome_addon.yaml +++ b/boneio_config_for_esphome_addon.yaml @@ -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