From b8de87b0e28f1db3d5a28925d1eacd7a943a2bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Szafer?= Date: Wed, 14 Dec 2022 10:04:43 +0100 Subject: [PATCH] add cover inputs PCF/MCP to input v0.5 --- ...16_inputs.yaml => cover16_inputs_MCP.yaml} | 0 boards/cover16_inputs_PCF.yaml | 539 ++++++++++++++++++ ..._outputs.yaml => cover16_outputs_MCP.yaml} | 0 boards/cover16_outputs_PCF.yaml | 60 ++ 4 files changed, 599 insertions(+) rename boards/{cover16_inputs.yaml => cover16_inputs_MCP.yaml} (100%) create mode 100644 boards/cover16_inputs_PCF.yaml rename boards/{cover16_outputs.yaml => cover16_outputs_MCP.yaml} (100%) create mode 100644 boards/cover16_outputs_PCF.yaml diff --git a/boards/cover16_inputs.yaml b/boards/cover16_inputs_MCP.yaml similarity index 100% rename from boards/cover16_inputs.yaml rename to boards/cover16_inputs_MCP.yaml diff --git a/boards/cover16_inputs_PCF.yaml b/boards/cover16_inputs_PCF.yaml new file mode 100644 index 0000000..74008e1 --- /dev/null +++ b/boards/cover16_inputs_PCF.yaml @@ -0,0 +1,539 @@ +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: + cover.open: cover_01 + on_release: + then: + cover.stop: cover_01 + + - 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: + cover.open: cover_01 + on_release: + then: + cover.stop: cover_01 + + - 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: + cover.open: cover_02 + on_release: + then: + cover.stop: cover_02 + + - 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: + cover.open: cover_02 + on_release: + then: + cover.stop: cover_02 + + - 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: + cover.open: cover_03 + on_release: + then: + cover.stop: cover_03 + + - 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: + cover.open: cover_03 + on_release: + then: + cover.stop: cover_03 + + - 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: + cover.open: cover_04 + on_release: + then: + cover.stop: cover_04 + + - 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: + cover.open: cover_04 + on_release: + then: + cover.stop: cover_04 + + - 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: + cover.open: cover_05 + on_release: + then: + cover.stop: cover_05 + + - 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: + cover.open: cover_05 + on_release: + then: + cover.stop: cover_05 + + - 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: + cover.open: cover_06 + on_release: + then: + cover.stop: cover_06 + + - 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: + cover.open: cover_06 + on_release: + then: + cover.stop: cover_06 + + - 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: + cover.open: cover_07 + on_release: + then: + cover.stop: cover_07 + + - 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: + cover.open: cover_07 + on_release: + then: + cover.stop: cover_07 + + - 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: + cover.open: cover_08 + on_release: + then: + cover.stop: cover_08 + + - 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: + cover.open: cover_08 + on_release: + then: + cover.stop: cover_08 + + - 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: + cover.open: cover_09 + on_release: + then: + cover.stop: cover_09 + + - 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: + cover.open: cover_09 + on_release: + then: + cover.stop: cover_09 + + - 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: + cover.open: cover_10 + on_release: + then: + cover.stop: cover_10 + + - 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: + cover.open: cover_10 + on_release: + then: + cover.stop: cover_10 + + - 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: + cover.open: cover_11 + on_release: + then: + cover.stop: cover_11 + + - 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: + cover.open: cover_11 + on_release: + then: + cover.stop: cover_11 + + - 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: + cover.open: cover_12 + on_release: + then: + cover.stop: cover_12 + + - 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: + cover.open: cover_12 + on_release: + then: + cover.stop: cover_12 + + - platform: gpio + name: "${node_name} IN_25" + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_13 + on_release: + then: + cover.stop: cover_13 + + - platform: gpio + name: "${node_name} IN_26" + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_13 + on_release: + then: + cover.stop: cover_13 + + - platform: gpio + name: "${node_name} IN_27" + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_14 + on_release: + then: + cover.stop: cover_14 + + - platform: gpio + name: "${node_name} IN_28" + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_14 + on_release: + then: + cover.stop: cover_14 + + - platform: gpio + name: "${node_name} IN_29" + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_15 + on_release: + then: + cover.stop: cover_15 + + - platform: gpio + name: "${node_name} IN_30" + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_15 + on_release: + then: + cover.stop: cover_15 + + - platform: gpio + name: "${node_name} IN_31" + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_16 + on_release: + then: + cover.stop: cover_16 + + - platform: gpio + name: "${node_name} IN_32" + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + cover.open: cover_16 + on_release: + then: + cover.stop: cover_16 + + - 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 \ No newline at end of file diff --git a/boards/cover16_outputs.yaml b/boards/cover16_outputs_MCP.yaml similarity index 100% rename from boards/cover16_outputs.yaml rename to boards/cover16_outputs_MCP.yaml diff --git a/boards/cover16_outputs_PCF.yaml b/boards/cover16_outputs_PCF.yaml new file mode 100644 index 0000000..49f86b7 --- /dev/null +++ b/boards/cover16_outputs_PCF.yaml @@ -0,0 +1,60 @@ + +pcf8574: + - id: 'pcf_1' + address: 0x21 + pcf8575: true + i2c_id: bus_b + - id: 'pcf_2' + address: 0x20 + pcf8575: true + i2c_id: bus_b + +switch: + - platform: gpio + id: cover_open_01 + pin: + pcf8574: pcf_1 + # Use pin number 0 + number: 15 + mode: + output: true + inverted: true + interlock: &cover_interlock_01 [cover_open_01, cover_close_01] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_01 + pin: + pcf8574: pcf_1 + # Use pin number 1 + number: 14 + mode: + output: true + inverted: true + interlock: *cover_interlock_01 + restore_mode: always off + + - platform: gpio + id: cover_open_02 + pin: + pcf8574: pcf_1 + # Use pin number 3 + number: 13 + mode: + output: true + inverted: true + interlock: &cover_interlock_02 [cover_open_02, cover_close_02] + restore_mode: always off + + - platform: gpio + id: cover_close_02 + pin: + pcf8574: pcf_1 + # Use pin number 2 + number: 12 + mode: + output: true + inverted: true + interlock: *cover_interlock_02 + restore_mode: always off