From b715c58c31c2c04571c29adc388a237011779fc2 Mon Sep 17 00:00:00 2001 From: pszafer Date: Tue, 19 Mar 2024 19:41:55 +0100 Subject: [PATCH] add cover mix to config --- boards/coverMix_inputs_PCF.yaml | 491 +++++++++++++++++++++++++++ boards/cover_mix.yaml | 121 +++++++ boards/relay32_outputs_mix_PCF.yaml | 367 ++++++++++++++++++++ boneio_config_for_esphome_addon.yaml | 16 +- 4 files changed, 987 insertions(+), 8 deletions(-) create mode 100644 boards/coverMix_inputs_PCF.yaml create mode 100644 boards/cover_mix.yaml create mode 100644 boards/relay32_outputs_mix_PCF.yaml diff --git a/boards/coverMix_inputs_PCF.yaml b/boards/coverMix_inputs_PCF.yaml new file mode 100644 index 0000000..86461a6 --- /dev/null +++ b/boards/coverMix_inputs_PCF.yaml @@ -0,0 +1,491 @@ +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.close: 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.close: 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.close: 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.close: 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.close: 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.close: 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.close: 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.close: 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: + - 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 + on_press: + then: + - switch.toggle: relay_25 + + - 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: + - switch.toggle: relay_26 + + - 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: + - switch.toggle: relay_27 + + - 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: + - switch.toggle: relay_28 + + - 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: + - switch.toggle: relay_29 + + - 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: + - switch.toggle: relay_30 + + - 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: + - switch.toggle: relay_31 + + - 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: + - switch.toggle: relay_32 + + - 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/cover_mix.yaml b/boards/cover_mix.yaml new file mode 100644 index 0000000..9d310d9 --- /dev/null +++ b/boards/cover_mix.yaml @@ -0,0 +1,121 @@ +cover: + - platform: time_based + 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: 10s + close_action: + - switch.turn_off: cover_open_01 + - switch.turn_on: cover_close_01 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_01 + - switch.turn_off: cover_close_01 + + - platform: time_based + name: 'Cover 02' + id: cover_02 + open_action: + - switch.turn_off: cover_close_02 + - switch.turn_on: cover_open_02 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_02 + - switch.turn_on: cover_close_02 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_02 + - switch.turn_off: cover_close_02 + + - platform: time_based + name: 'Cover 03' + id: cover_03 + open_action: + - switch.turn_off: cover_close_03 + - switch.turn_on: cover_open_03 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_03 + - switch.turn_on: cover_close_03 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_03 + - switch.turn_off: cover_close_03 + + - platform: time_based + name: 'Cover 04' + id: cover_04 + open_action: + - switch.turn_off: cover_close_04 + - switch.turn_on: cover_open_04 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_04 + - switch.turn_on: cover_close_04 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_04 + - switch.turn_off: cover_close_04 + + - platform: time_based + name: 'Cover 05' + id: cover_05 + open_action: + - switch.turn_off: cover_close_05 + - switch.turn_on: cover_open_05 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_05 + - switch.turn_on: cover_close_05 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_05 + - switch.turn_off: cover_close_05 + + - platform: time_based + name: 'Cover 06' + id: cover_06 + open_action: + - switch.turn_off: cover_close_06 + - switch.turn_on: cover_open_06 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_06 + - switch.turn_on: cover_close_06 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_06 + - switch.turn_off: cover_close_06 + + - platform: time_based + name: 'Cover 07' + id: cover_07 + open_action: + - switch.turn_off: cover_close_07 + - switch.turn_on: cover_open_07 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_07 + - switch.turn_on: cover_close_07 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_07 + - switch.turn_off: cover_close_07 + + - platform: time_based + name: 'Cover 08' + id: cover_08 + open_action: + - switch.turn_off: cover_close_08 + - switch.turn_on: cover_open_08 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_08 + - switch.turn_on: cover_close_08 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_08 + - switch.turn_off: cover_close_08 diff --git a/boards/relay32_outputs_mix_PCF.yaml b/boards/relay32_outputs_mix_PCF.yaml new file mode 100644 index 0000000..c5ba48d --- /dev/null +++ b/boards/relay32_outputs_mix_PCF.yaml @@ -0,0 +1,367 @@ +# 8 covers (16 outputs for covers) +# 16 outputs as switch +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 + 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 + number: 13 + mode: + output: true + inverted: true + interlock: &cover_interlock_02 [cover_open_02, cover_close_02] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_02 + pin: + pcf8574: pcf_1 + number: 12 + mode: + output: true + inverted: true + interlock: *cover_interlock_02 + restore_mode: always off + + - platform: gpio + id: cover_open_03 + pin: + pcf8574: pcf_1 + number: 11 + mode: + output: true + inverted: true + interlock: &cover_interlock_03 [cover_open_03, cover_close_03] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_03 + pin: + pcf8574: pcf_1 + number: 10 + mode: + output: true + inverted: true + interlock: *cover_interlock_03 + + - platform: gpio + id: cover_open_04 + pin: + pcf8574: pcf_1 + number: 9 + mode: + output: true + inverted: true + interlock: &cover_interlock_04 [cover_open_04, cover_close_04] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_04 + pin: + pcf8574: pcf_1 + number: 8 + mode: + output: true + inverted: true + interlock: *cover_interlock_04 + + - platform: gpio + id: cover_open_05 + pin: + pcf8574: pcf_2 + number: 15 + mode: + output: true + inverted: true + interlock: &cover_interlock_05 [cover_open_05, cover_close_05] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_05 + pin: + pcf8574: pcf_2 + number: 14 + mode: + output: true + inverted: true + interlock: *cover_interlock_05 + + - platform: gpio + id: cover_open_06 + pin: + pcf8574: pcf_2 + number: 13 + mode: + output: true + inverted: true + interlock: &cover_interlock_06 [cover_open_06, cover_close_06] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_06 + pin: + pcf8574: pcf_2 + number: 12 + mode: + output: true + inverted: true + interlock: *cover_interlock_06 + + - platform: gpio + id: cover_open_07 + pin: + pcf8574: pcf_2 + number: 11 + mode: + output: true + inverted: true + interlock: &cover_interlock_07 [cover_open_07, cover_close_07] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_07 + pin: + pcf8574: pcf_2 + number: 10 + mode: + output: true + inverted: true + interlock: *cover_interlock_07 + + - platform: gpio + id: cover_open_08 + pin: + pcf8574: pcf_2 + number: 9 + mode: + output: true + inverted: true + interlock: &cover_interlock_08 [cover_open_08, cover_close_08] + interlock_wait_time: 5ms + restore_mode: always off + + - platform: gpio + id: cover_close_08 + pin: + pcf8574: pcf_2 + number: 8 + mode: + output: true + inverted: true + interlock: *cover_interlock_08 + + - platform: gpio + id: relay_17 + name: 'Relay_17' + pin: + pcf8574: pcf_1 + # Use pin number 15 + number: 0 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_18 + name: 'Relay_18' + pin: + pcf8574: pcf_1 + # Use pin number 14 + number: 1 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_19 + name: 'Relay_19' + pin: + pcf8574: pcf_1 + # Use pin number 13 + number: 2 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_20 + name: 'Relay_20' + pin: + pcf8574: pcf_1 + # Use pin number 12 + number: 3 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_21 + name: 'Relay_21' + pin: + pcf8574: pcf_1 + # Use pin number 11 + number: 4 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_22 + name: 'Relay_22' + pin: + pcf8574: pcf_1 + # Use pin number 10 + number: 5 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_23 + name: 'Relay_23' + pin: + pcf8574: pcf_1 + # Use pin number 9 + number: 6 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_24 + name: 'Relay_24' + pin: + pcf8574: pcf_1 + # Use pin number 8 + number: 7 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_25 + name: 'Relay_25' + pin: + pcf8574: pcf_2 + # Use pin number 15 + number: 0 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_26 + name: 'Relay_26' + pin: + pcf8574: pcf_2 + # Use pin number 14 + number: 1 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_27 + name: 'Relay_27' + pin: + pcf8574: pcf_2 + # Use pin number 13 + number: 2 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_28 + name: 'Relay_28' + pin: + pcf8574: pcf_2 + # Use pin number 12 + number: 3 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_29 + name: 'Relay_29' + pin: + pcf8574: pcf_2 + # Use pin number 11 + number: 4 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_30 + name: 'Relay_30' + pin: + pcf8574: pcf_2 + # Use pin number 10 + number: 5 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_31 + name: 'Relay_31' + pin: + pcf8574: pcf_2 + # Use pin number 9 + number: 6 + mode: + output: true + inverted: true + + - platform: gpio + id: relay_32 + name: 'Relay_32' + pin: + pcf8574: pcf_2 + # Use pin number 8 + number: 7 + mode: + output: true + inverted: true diff --git a/boneio_config_for_esphome_addon.yaml b/boneio_config_for_esphome_addon.yaml index 5b482b2..fcac06d 100644 --- a/boneio_config_for_esphome_addon.yaml +++ b/boneio_config_for_esphome_addon.yaml @@ -1,11 +1,9 @@ substitutions: # set to false if you don't want mac suffix in your device name - name_add_mac_suffix: "false" - # if you want to change the name of device via OTA you have to set IP first in boneio/devices/wt32_eth01.yaml + name_add_mac_suffix: 'false' + # if you want to change the name of device via OTA you have to set IP first in boneio/devices/wt32_eth01.yaml node_name: boneio dir_name: 'boneio/' - - packages: # select your input board: @@ -15,7 +13,8 @@ packages: # input: !include boneio/boards/dimmer_led8x4_inputs.yaml # input: !include boneio/boards/cover16_inputs_MCP.yaml # input: !include boneio/boards/cover16_inputs_PCF.yaml - + # input: !include boneio/boards/coverMix_inputs_PCF.yaml + # select your output board: output: !include boneio/boards/relay24_outputs_MCP.yaml # output: !include boneio/boards/relay32_outputs_PCF.yaml @@ -23,10 +22,12 @@ packages: # output: !include boneio/boards/dimmer_led8x4_outputs.yaml # light: !include boneio/boards/monochromatic_lights.yaml # cover: !include boneio/boards/cover.yaml + # cover: !include boneio/boards/cover_mix.yaml # output: !include boneio/boards/cover16_outputs_PCF.yaml # output: !include boneio/boards/cover16_outputs_MCP.yaml - # output: !include boneio/mosfet48_outputs_PCF.yaml - + # output: !include boneio/mosfet48_outputs_PCF.yaml + # output: !include boneio/relay32_outputs_mix_PCF.yaml + # select your devices: core: !include boneio/devices/wt32_eth01.yaml internals: !include boneio/devices/boneio_board.yaml @@ -35,7 +36,6 @@ packages: # uart: !include devices/uart.yaml # one_wire: !include devices/one_wire.yaml - logger: baud_rate: 0 api: