diff --git a/boards/cover.yaml b/boards/cover.yaml index a3874c6..665f6ba 100644 --- a/boards/cover.yaml +++ b/boards/cover.yaml @@ -14,13 +14,6 @@ cover: 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" @@ -101,3 +94,163 @@ cover: stop_action: - switch.turn_off: cover_open_06 - switch.turn_off: cover_close_06 + +- platform: time_based + name: "${node_name} Cover 07" + device_class: shutter + id: cover_07 + open_action: + - switch.turn_off: cover_close_07 + - switch.turn_on: cover_open_07 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_07 + - switch.turn_on: cover_close_07 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_07 + - switch.turn_off: cover_close_07 + +- platform: time_based + name: "${node_name} Cover 08" + device_class: shutter + id: cover_08 + open_action: + - switch.turn_off: cover_close_08 + - switch.turn_on: cover_open_08 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_08 + - switch.turn_on: cover_close_08 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_08 + - switch.turn_off: cover_close_08 + +- platform: time_based + name: "${node_name} Cover 09" + device_class: shutter + id: cover_09 + open_action: + - switch.turn_off: cover_close_09 + - switch.turn_on: cover_open_09 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_09 + - switch.turn_on: cover_close_09 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_09 + - switch.turn_off: cover_close_09 + +- platform: time_based + name: "${node_name} Cover 10" + device_class: shutter + id: cover_10 + open_action: + - switch.turn_off: cover_close_10 + - switch.turn_on: cover_open_10 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_10 + - switch.turn_on: cover_close_10 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_10 + - switch.turn_off: cover_close_10 + +- platform: time_based + name: "${node_name} Cover 11" + device_class: shutter + id: cover_11 + open_action: + - switch.turn_off: cover_close_11 + - switch.turn_on: cover_open_11 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_11 + - switch.turn_on: cover_close_11 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_11 + - switch.turn_off: cover_close_11 + +- platform: time_based + name: "${node_name} Cover 12" + device_class: shutter + id: cover_12 + open_action: + - switch.turn_off: cover_close_12 + - switch.turn_on: cover_open_12 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_12 + - switch.turn_on: cover_close_12 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_12 + - switch.turn_off: cover_close_12 + +- platform: time_based + name: "${node_name} Cover 13" + device_class: shutter + id: cover_13 + open_action: + - switch.turn_off: cover_close_13 + - switch.turn_on: cover_open_13 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_13 + - switch.turn_on: cover_close_13 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_13 + - switch.turn_off: cover_close_13 + +- platform: time_based + name: "${node_name} Cover 14" + device_class: shutter + id: cover_14 + open_action: + - switch.turn_off: cover_close_14 + - switch.turn_on: cover_open_14 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_14 + - switch.turn_on: cover_close_14 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_14 + - switch.turn_off: cover_close_14 + +- platform: time_based + name: "${node_name} Cover 15" + device_class: shutter + id: cover_15 + open_action: + - switch.turn_off: cover_close_15 + - switch.turn_on: cover_open_15 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_15 + - switch.turn_on: cover_close_15 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_15 + - switch.turn_off: cover_close_15 + +- platform: time_based + name: "${node_name} Cover 16" + device_class: shutter + id: cover_16 + open_action: + - switch.turn_off: cover_close_16 + - switch.turn_on: cover_open_16 + open_duration: 60s + close_action: + - switch.turn_off: cover_open_16 + - switch.turn_on: cover_close_16 + close_duration: 60s + stop_action: + - switch.turn_off: cover_open_16 + - switch.turn_off: cover_close_16 \ No newline at end of file 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_MCP_old.yaml b/boards/cover16_outputs_MCP_old.yaml new file mode 100644 index 0000000..f23d82b --- /dev/null +++ b/boards/cover16_outputs_MCP_old.yaml @@ -0,0 +1,310 @@ + +mcp23017: + - id: 'mcp_outputs_1to16' + i2c_id: bus_b + address: 0x21 + - id: 'mcp_outputs_17to32' + i2c_id: bus_b + 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_1to16 + number: 8 + 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_1to16 + number: 9 + mode: OUTPUT + interlock: *cover_interlock_05 + restore_mode: always off + + - platform: gpio + id: cover_open_06 + pin: + mcp23xxx: mcp_outputs_1to16 + number: 10 + 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_1to16 + number: 11 + mode: OUTPUT + interlock: *cover_interlock_06 + restore_mode: always off + + - platform: gpio + id: cover_open_07 + pin: + mcp23xxx: mcp_outputs_1to16 + number: 12 + mode: OUTPUT + interlock: &cover_interlock_07 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_07 + pin: + mcp23xxx: mcp_outputs_1to16 + number: 13 + mode: OUTPUT + interlock: *cover_interlock_07 + restore_mode: always off + + - platform: gpio + id: cover_open_08 + pin: + mcp23xxx: mcp_outputs_1to16 + number: 14 + mode: OUTPUT + interlock: &cover_interlock_08 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_08 + pin: + mcp23xxx: mcp_outputs_1to16 + number: 15 + mode: OUTPUT + interlock: *cover_interlock_08 + restore_mode: always off + + - platform: gpio + id: cover_open_09 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 0 + mode: OUTPUT + interlock: &cover_interlock_09 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_09 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 1 + mode: OUTPUT + interlock: *cover_interlock_09 + restore_mode: always off + + - platform: gpio + id: cover_open_10 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 2 + mode: OUTPUT + interlock: &cover_interlock_10 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_10 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 3 + mode: OUTPUT + interlock: *cover_interlock_10 + restore_mode: always off + + - platform: gpio + id: cover_open_11 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 4 + mode: OUTPUT + interlock: &cover_interlock_11 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_11 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 5 + mode: OUTPUT + interlock: *cover_interlock_11 + restore_mode: always off + + - platform: gpio + id: cover_open_12 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 6 + mode: OUTPUT + interlock: &cover_interlock_12 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_12 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 7 + mode: OUTPUT + interlock: *cover_interlock_12 + restore_mode: always off + + - platform: gpio + id: cover_open_13 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 8 + mode: OUTPUT + interlock: &cover_interlock_13 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_13 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 9 + mode: OUTPUT + interlock: *cover_interlock_13 + restore_mode: always off + + - platform: gpio + id: cover_open_14 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 10 + mode: OUTPUT + interlock: &cover_interlock_14 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_14 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 11 + mode: OUTPUT + interlock: *cover_interlock_14 + restore_mode: always off + + - platform: gpio + id: cover_open_15 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 12 + mode: OUTPUT + interlock: &cover_interlock_15 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_15 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 13 + mode: OUTPUT + interlock: *cover_interlock_15 + restore_mode: always off + + - platform: gpio + id: cover_open_16 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 14 + mode: OUTPUT + interlock: &cover_interlock_16 [cover_open_07, cover_close_07] + restore_mode: always off + + - platform: gpio + id: cover_close_16 + pin: + mcp23xxx: mcp_outputs_17to32 + number: 15 + mode: OUTPUT + interlock: *cover_interlock_16 + restore_mode: always off + +# example +# relay +# - platform: gpio +# id: relay_13 +# pin: +# mcp23xxx: mcp_outputs_17to32 +# number: 4 +# mode: +# output: true +# inverted: false + +