diff --git a/boards_v0_7/16_cover_pcf.yaml b/boards/16_cover_pcf.yaml similarity index 100% rename from boards_v0_7/16_cover_pcf.yaml rename to boards/16_cover_pcf.yaml diff --git a/boards/24x16_output.yaml b/boards/24x16_output.yaml new file mode 100644 index 0000000..5372af2 --- /dev/null +++ b/boards/24x16_output.yaml @@ -0,0 +1,216 @@ +output: + - platform: gpio + id: out_01 + pin: + mcp23xxx: mcp_left + number: 8 + mode: + output: true + inverted: false + + - platform: gpio + id: out_02 + pin: + mcp23xxx: mcp_left + number: 9 + mode: + output: true + inverted: false + + - platform: gpio + id: out_03 + pin: + mcp23xxx: mcp_left + number: 10 + mode: + output: true + inverted: false + + - platform: gpio + id: out_04 + pin: + mcp23xxx: mcp_left + number: 11 + mode: + output: true + inverted: false + + - platform: gpio + id: out_05 + pin: + mcp23xxx: mcp_left + number: 12 + mode: + output: true + inverted: false + + - platform: gpio + id: out_06 + pin: + mcp23xxx: mcp_left + number: 13 + mode: + output: true + inverted: false + + - platform: gpio + id: out_07 + pin: + mcp23xxx: mcp_left + number: 14 + mode: + output: true + inverted: false + + - platform: gpio + id: out_08 + pin: + mcp23xxx: mcp_left + number: 15 + mode: + output: true + inverted: false + + - platform: gpio + id: out_09 + pin: + mcp23xxx: mcp_right + number: 8 + mode: + output: true + inverted: false + + - platform: gpio + id: out_10 + pin: + mcp23xxx: mcp_right + number: 9 + mode: + output: true + inverted: false + + - platform: gpio + id: out_11 + pin: + mcp23xxx: mcp_right + number: 10 + mode: + output: true + inverted: false + + - platform: gpio + id: out_12 + pin: + mcp23xxx: mcp_right + number: 11 + mode: + output: true + inverted: false + + - platform: gpio + id: out_13 + pin: + mcp23xxx: mcp_left + number: 7 + mode: + output: true + inverted: false + + - platform: gpio + id: out_14 + pin: + mcp23xxx: mcp_left + number: 6 + mode: + output: true + inverted: false + + - platform: gpio + id: out_15 + pin: + mcp23xxx: mcp_left + number: 5 + mode: + output: true + inverted: false + + - platform: gpio + id: out_16 + pin: + mcp23xxx: mcp_left + number: 4 + mode: + output: true + inverted: false + + - platform: gpio + id: out_17 + pin: + mcp23xxx: mcp_left + number: 3 + mode: + output: true + inverted: false + + - platform: gpio + id: out_18 + pin: + mcp23xxx: mcp_left + number: 2 + mode: + output: true + inverted: false + + - platform: gpio + id: out_19 + pin: + mcp23xxx: mcp_left + number: 1 + mode: + output: true + inverted: false + + - platform: gpio + id: out_20 + pin: + mcp23xxx: mcp_left + number: 0 + mode: + output: true + inverted: false + + - platform: gpio + id: out_21 + pin: + mcp23xxx: mcp_right + number: 12 + mode: + output: true + inverted: false + + - platform: gpio + id: out_22 + pin: + mcp23xxx: mcp_right + number: 13 + mode: + output: true + inverted: false + + - platform: gpio + id: out_23 + pin: + mcp23xxx: mcp_right + number: 14 + mode: + output: true + inverted: false + + - platform: gpio + id: out_24 + pin: + mcp23xxx: mcp_right + number: 15 + mode: + output: true + inverted: false diff --git a/boards_v0_7/32x10_output.yaml b/boards/32x10_output.yaml similarity index 100% rename from boards_v0_7/32x10_output.yaml rename to boards/32x10_output.yaml diff --git a/boards_v0_5-v0_6/32x10_outputs.yaml b/boards/8_covers_16_output.yaml similarity index 53% rename from boards_v0_5-v0_6/32x10_outputs.yaml rename to boards/8_covers_16_output.yaml index 4ddc591..685c2ed 100644 --- a/boards_v0_5-v0_6/32x10_outputs.yaml +++ b/boards/8_covers_16_output.yaml @@ -1,152 +1,193 @@ -pcf8574: - - id: 'pcf_1' - address: 0x21 - pcf8575: true - i2c_id: bus_b - - id: 'pcf_2' - address: 0x20 - pcf8575: true - i2c_id: bus_b - -output: +switch: - platform: gpio - id: out_1 + id: cover_open_01_out01 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 15 mode: output: true inverted: true + interlock: &cover_interlock_01 [cover_open_01_out01, cover_close_01_out02] + interlock_wait_time: 5ms + restore_mode: always off + - platform: gpio - id: out_2 + id: cover_close_01_out02 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 14 mode: output: true inverted: true + interlock: *cover_interlock_01 + restore_mode: always off - platform: gpio - id: out_3 + id: cover_open_02_out03 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 13 mode: output: true inverted: true + interlock: &cover_interlock_02 [cover_open_02_out03, cover_close_02_out04] + interlock_wait_time: 5ms + restore_mode: always off - platform: gpio - id: out_4 + id: cover_close_02_out04 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 12 mode: output: true inverted: true + interlock: *cover_interlock_02 + restore_mode: always off - platform: gpio - id: out_5 + id: cover_open_03_out05 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 11 mode: output: true inverted: true + interlock: &cover_interlock_03 [cover_open_03_out05, cover_close_03_out06] + interlock_wait_time: 5ms + restore_mode: always off - platform: gpio - id: out_6 + id: cover_close_03_out06 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 10 mode: output: true inverted: true + interlock: *cover_interlock_03 + restore_mode: always off - platform: gpio - id: out_7 + id: cover_open_04_out07 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 9 mode: output: true inverted: true + interlock: &cover_interlock_04 [cover_open_04_out07, cover_close_04_out08] + interlock_wait_time: 5ms + restore_mode: always off - platform: gpio - id: out_8 + id: cover_close_04_out08 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 8 mode: output: true inverted: true + interlock: *cover_interlock_04 + restore_mode: always off - platform: gpio - id: out_9 + id: cover_open_05_out09 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 15 mode: output: true inverted: true + interlock: &cover_interlock_05 [cover_open_05_out09, cover_close_05_out10] + interlock_wait_time: 5ms + restore_mode: always off - platform: gpio - id: out_10 + id: cover_close_05_out10 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 14 mode: output: true inverted: true + interlock: *cover_interlock_05 + restore_mode: always off - platform: gpio - id: out_11 + id: cover_open_06_out11 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 13 mode: output: true inverted: true + interlock: &cover_interlock_06 [cover_open_06_out11, cover_close_06_out12] + interlock_wait_time: 5ms + restore_mode: always off - platform: gpio - id: out_12 + id: cover_close_06_out12 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 12 mode: output: true inverted: true + interlock: *cover_interlock_06 + restore_mode: always off - platform: gpio - id: out_13 + id: cover_open_07_out13 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 11 mode: output: true inverted: true + interlock: &cover_interlock_07 [cover_open_07_out13, cover_close_07_out14] + interlock_wait_time: 5ms + restore_mode: always off - platform: gpio - id: out_14 + id: cover_close_07_out14 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 10 mode: output: true inverted: true + interlock: *cover_interlock_07 + restore_mode: always off - platform: gpio - id: out_15 + id: cover_open_08_out15 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 9 mode: output: true inverted: true + interlock: &cover_interlock_08 [cover_open_08_out15, cover_close_08_out16] + interlock_wait_time: 5ms + restore_mode: always off + - platform: gpio + id: cover_close_08_out16 + pin: + pcf8574: pcf_right + number: 8 + mode: + output: true + inverted: true + interlock: *cover_interlock_08 + restore_mode: always off + +output: - platform: gpio id: out_16 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 8 mode: output: true @@ -155,7 +196,7 @@ output: - platform: gpio id: out_17 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 0 mode: output: true @@ -164,7 +205,7 @@ output: - platform: gpio id: out_18 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 1 mode: output: true @@ -173,7 +214,7 @@ output: - platform: gpio id: out_19 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 2 mode: output: true @@ -182,7 +223,7 @@ output: - platform: gpio id: out_20 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 3 mode: output: true @@ -191,7 +232,7 @@ output: - platform: gpio id: out_21 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 4 mode: output: true @@ -200,7 +241,7 @@ output: - platform: gpio id: out_22 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 5 mode: output: true @@ -209,7 +250,7 @@ output: - platform: gpio id: out_23 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 6 mode: output: true @@ -218,7 +259,7 @@ output: - platform: gpio id: out_24 pin: - pcf8574: pcf_1 + pcf8574: pcf_left number: 7 mode: output: true @@ -227,7 +268,7 @@ output: - platform: gpio id: out_25 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 0 mode: output: true @@ -236,7 +277,7 @@ output: - platform: gpio id: out_26 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 1 mode: output: true @@ -245,7 +286,7 @@ output: - platform: gpio id: out_27 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 2 mode: output: true @@ -254,7 +295,7 @@ output: - platform: gpio id: out_28 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 3 mode: output: true @@ -263,7 +304,7 @@ output: - platform: gpio id: out_29 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 4 mode: output: true @@ -272,7 +313,7 @@ output: - platform: gpio id: out_30 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 5 mode: output: true @@ -281,7 +322,7 @@ output: - platform: gpio id: out_31 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 6 mode: output: true @@ -290,7 +331,7 @@ output: - platform: gpio id: out_32 pin: - pcf8574: pcf_2 + pcf8574: pcf_right number: 7 mode: output: true diff --git a/boards_v0_5-v0_6/cover.yaml b/boards_v0_5-v0_6/cover.yaml deleted file mode 100644 index 389e3e7..0000000 --- a/boards_v0_5-v0_6/cover.yaml +++ /dev/null @@ -1,256 +0,0 @@ -cover: -- platform: time_based - name: "${node_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: 60s - close_action: - - switch.turn_off: cover_open_01 - - switch.turn_on: cover_close_01 - close_duration: 60s - stop_action: - - switch.turn_off: cover_open_01 - - switch.turn_off: cover_close_01 - -- platform: time_based - name: "${node_name} Cover 02" - device_class: shutter - id: cover_02 - open_action: - - switch.turn_off: cover_close_02 - - switch.turn_on: cover_open_02 - open_duration: 60s - close_action: - - switch.turn_off: cover_open_02 - - switch.turn_on: cover_close_02 - close_duration: 60s - stop_action: - - switch.turn_off: cover_open_02 - - switch.turn_off: cover_close_02 - -- platform: time_based - name: "${node_name} Cover 03" - device_class: shutter - id: cover_03 - open_action: - - switch.turn_off: cover_close_03 - - switch.turn_on: cover_open_03 - open_duration: 60s - close_action: - - switch.turn_off: cover_open_03 - - switch.turn_on: cover_close_03 - close_duration: 60s - stop_action: - - switch.turn_off: cover_open_03 - - switch.turn_off: cover_close_03 - -- platform: time_based - name: "${node_name} Cover 04" - device_class: shutter - id: cover_04 - open_action: - - switch.turn_off: cover_close_04 - - switch.turn_on: cover_open_04 - open_duration: 60s - close_action: - - switch.turn_off: cover_open_04 - - switch.turn_on: cover_close_04 - close_duration: 60s - stop_action: - - switch.turn_off: cover_open_04 - - switch.turn_off: cover_close_04 - -- platform: time_based - name: "${node_name} Cover 05" - device_class: shutter - id: cover_05 - open_action: - - switch.turn_off: cover_close_05 - - switch.turn_on: cover_open_05 - open_duration: 60s - close_action: - - switch.turn_off: cover_open_05 - - switch.turn_on: cover_close_05 - close_duration: 60s - stop_action: - - switch.turn_off: cover_open_05 - - switch.turn_off: cover_close_05 - -- platform: time_based - name: "${node_name} Cover 06" - device_class: shutter - id: cover_06 - open_action: - - switch.turn_off: cover_close_06 - - switch.turn_on: cover_open_06 - open_duration: 60s - close_action: - - switch.turn_off: cover_open_06 - - switch.turn_on: cover_close_06 - close_duration: 60s - 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 diff --git a/boards_v0_5-v0_6/cover_mix.yaml b/boards_v0_5-v0_6/cover_mix.yaml deleted file mode 100644 index 9d310d9..0000000 --- a/boards_v0_5-v0_6/cover_mix.yaml +++ /dev/null @@ -1,121 +0,0 @@ -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_v0_5-v0_6/dimmer_led8x4_inputs.yaml b/boards_v0_5-v0_6/dimmer_led8x4_inputs.yaml deleted file mode 100644 index 30eea1a..0000000 --- a/boards_v0_5-v0_6/dimmer_led8x4_inputs.yaml +++ /dev/null @@ -1,559 +0,0 @@ -# require light configuration (monochromatic_light.yaml) -binary_sensor: - - platform: gpio - name: "${node_name} IN_01" - id: in_01 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 0 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_1 - - - platform: gpio - name: "${node_name} IN_02" - id: in_02 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 1 - mode: - input: true - pullup: false - inverted: true - on_press: - - light.toggle: - id: led_2 - - - platform: gpio - name: "${node_name} IN_03" - id: in_03 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 2 - mode: - input: true - pullup: false - inverted: true - on_press: - - light.toggle: - id: led_3 - - - platform: gpio - name: "${node_name} IN_04" - id: in_04 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 3 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_4 - - - platform: gpio - name: "${node_name} IN_05" - id: in_05 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 4 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_5 - - - platform: gpio - name: "${node_name} IN_06" - id: in_06 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 5 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_6 - - - platform: gpio - name: "${node_name} IN_07" - id: in_07 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 6 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_7 - - - platform: gpio - name: "${node_name} IN_08" - id: in_08 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 7 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_8 - - - platform: gpio - name: "${node_name} IN_09" - id: in_09 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 8 - mode: - input: true - pullup: false - inverted: true - on_press: - - while: - condition: - binary_sensor.is_on: in_09 - then: - - logger.log: "Dimm light led_4 by -5%" - - light.dim_relative: - id: led_4 - relative_brightness: -5% - transition_length: 0.2s - - delay: 0.2s - - - platform: gpio - name: "${node_name} IN_10" - id: in_10 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 9 - mode: - input: true - pullup: false - inverted: true - on_press: - - while: - condition: - binary_sensor.is_on: in_10 - then: - - logger.log: "Dimm light led_4 by -10%" - - light.dim_relative: - id: led_4 - relative_brightness: -10% - transition_length: 0.2s - - delay: 0.2s - - - platform: gpio - name: "${node_name} IN_11" - id: in_11 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 10 - mode: - input: true - pullup: false - inverted: true - on_press: - - while: - condition: - binary_sensor.is_on: in_11 - then: - - logger.log: "Dimm light led_4 by 5%" - - light.dim_relative: - id: led_4 - relative_brightness: 5% - transition_length: 0.2s - - delay: 0.2s - - - platform: gpio - name: "${node_name} IN_12" - id: in_12 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 11 - mode: - input: true - pullup: false - inverted: true - on_press: - - while: - condition: - binary_sensor.is_on: in_12 - then: - - logger.log: "Dimm light led_4 by 10%" - - light.dim_relative: - id: led_4 - relative_brightness: 10% - transition_length: 0.2s - - delay: 0.2s - - - platform: gpio - name: "${node_name} IN_13" - id: in_13 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 12 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_13 - - - platform: gpio - name: "${node_name} IN_14" - id: in_14 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 13 - mode: - input: true - pullup: false - inverted: true - on_press: - - if: - condition: - light.is_on: led_4 - then: - - while: - condition: - binary_sensor.is_on: in_14 - then: - - logger.log: "Dimm light led_4 by -10%" - - light.dim_relative: - id: led_4 - relative_brightness: -10% - transition_length: 0.2s - - delay: 0.2s - else: - - while: - condition: - binary_sensor.is_on: in_14 - then: - - logger.log: "Dimm light led_4 by 10%" - - light.dim_relative: - id: led_4 - relative_brightness: 10% - transition_length: 0.2s - - delay: 0.2s - - - platform: gpio - name: "${node_name} IN_15" - id: in_15 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 14 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_15 - - - platform: gpio - name: "${node_name} IN_16" - id: in_16 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 15 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_16 - - - platform: gpio - name: "${node_name} IN_17" - id: in_17 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 7 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_17 - - - platform: gpio - name: "${node_name} IN_18" - id: in_18 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 6 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_18 - - - platform: gpio - name: "${node_name} IN_19" - id: in_19 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 5 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_19 - - - platform: gpio - name: "${node_name} IN_20" - id: in_20 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 4 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_20 - - - platform: gpio - name: "${node_name} IN_21" - id: in_21 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 3 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_21 - - - platform: gpio - name: "${node_name} IN_22" - id: in_22 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 2 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_22 - - - platform: gpio - name: "${node_name} IN_23" - id: in_23 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 1 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_23 - - - platform: gpio - name: "${node_name} IN_24" - id: in_24 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 0 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_24 - - - platform: gpio - name: "${node_name} IN_25" - id: in_25 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 8 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_25 - - - platform: gpio - name: "${node_name} IN_26" - id: in_26 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 9 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_26 - - - platform: gpio - name: "${node_name} IN_27" - id: in_27 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 10 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_27 - - - platform: gpio - name: "${node_name} IN_28" - id: in_28 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 11 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_28 - - - platform: gpio - name: "${node_name} IN_29" - id: in_29 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 12 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_29 - - - platform: gpio - name: "${node_name} IN_30" - id: in_30 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 13 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_30 - - - platform: gpio - name: "${node_name} IN_31" - id: in_31 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 14 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_31 - - - platform: gpio - name: "${node_name} IN_32" - id: in_32 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 15 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - light.toggle: - id: led_32 - - - platform: gpio - name: "${node_name} IN_33" - id: in_33 - pin: - number: GPIO33 - mode: - input: true - pullup: false - inverted: true - - - platform: gpio - name: "${node_name} IN_34" - id: in_34 - pin: - number: GPIO17 - mode: - input: true - pullup: false - inverted: true - - - platform: gpio - name: "${node_name} IN_35" - id: in_35 - pin: - number: GPIO12 - mode: - input: true - pullup: false - inverted: false diff --git a/boards_v0_5-v0_6/dimmer_led8x4_outputs.yaml b/boards_v0_5-v0_6/dimmer_led8x4_outputs.yaml deleted file mode 100644 index 5e2681d..0000000 --- a/boards_v0_5-v0_6/dimmer_led8x4_outputs.yaml +++ /dev/null @@ -1,142 +0,0 @@ -# i2c address: 0x41 output pca pwm -# i2c address: 0x42 output pca pwm - -pca9685: - - address: 0x41 - id: pca_hub_1to16 - frequency: 500 - i2c_id: bus_b - - address: 0x42 - id: pca_hub_17to32 - frequency: 500 - i2c_id: bus_b - -output: - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_1' - channel: 0 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_2' - channel: 1 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_3' - channel: 2 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_4' - channel: 3 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_5' - channel: 4 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_6' - channel: 5 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_7' - channel: 6 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_8' - channel: 7 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_9' - channel: 8 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_10' - channel: 9 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_11' - channel: 10 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_12' - channel: 11 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_13' - channel: 12 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_14' - channel: 13 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_15' - channel: 14 - - platform: pca9685 - pca9685_id: 'pca_hub_1to16' - id: 'pca_output_16' - channel: 15 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_17' - channel: 0 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_18' - channel: 1 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_19' - channel: 2 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_20' - channel: 3 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_21' - channel: 4 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_22' - channel: 5 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_23' - channel: 6 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_24' - channel: 7 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_25' - channel: 8 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_26' - channel: 9 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_27' - channel: 10 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_28' - channel: 11 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_29' - channel: 12 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_30' - channel: 13 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_31' - channel: 14 - - platform: pca9685 - pca9685_id: 'pca_hub_17to32' - id: 'pca_output_32' - channel: 15 diff --git a/boards_v0_5-v0_6/relay32_inputs_MCP.yaml b/boards_v0_5-v0_6/relay32_inputs_MCP.yaml deleted file mode 100644 index ac2daef..0000000 --- a/boards_v0_5-v0_6/relay32_inputs_MCP.yaml +++ /dev/null @@ -1,483 +0,0 @@ -#i2c addresses -# address: 0x26 input mcp io -# address: 0x27 input mcp 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: - mcp23xxx: mcp_inputs_1to16 - number: 0 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_1 - - - platform: gpio - name: "${node_name} IN_02" - id: in_02 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 1 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_2 - - - platform: gpio - name: "${node_name} IN_03" - id: in_03 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 2 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_3 - - - platform: gpio - name: "${node_name} IN_04" - id: in_04 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 3 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_4 - - - platform: gpio - name: "${node_name} IN_05" - id: in_05 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 4 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_5 - - - platform: gpio - name: "${node_name} IN_06" - id: in_06 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 5 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_6 - - - platform: gpio - name: "${node_name} IN_07" - id: in_07 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 6 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_7 - - - platform: gpio - name: "${node_name} IN_08" - id: in_08 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 7 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_8 - - - platform: gpio - name: "${node_name} IN_09" - id: in_09 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 8 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_9 - - - platform: gpio - name: "${node_name} IN_10" - id: in_10 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 9 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_10 - - - platform: gpio - name: "${node_name} IN_11" - id: in_11 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 10 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_11 - - - platform: gpio - name: "${node_name} IN_12" - id: in_12 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 11 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_12 - - - platform: gpio - name: "${node_name} IN_13" - id: in_13 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 12 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_13 - - - platform: gpio - name: "${node_name} IN_14" - id: in_14 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 13 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_14 - - - platform: gpio - name: "${node_name} IN_15" - id: in_15 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 14 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_15 - - - platform: gpio - name: "${node_name} IN_16" - id: in_16 - pin: - mcp23xxx: mcp_inputs_1to16 - number: 15 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_16 - - - platform: gpio - name: "${node_name} IN_17" - id: in_17 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 7 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_17 - - - platform: gpio - name: "${node_name} IN_18" - id: in_18 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 6 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_18 - - - platform: gpio - name: "${node_name} IN_19" - id: in_19 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 5 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_19 - - - platform: gpio - name: "${node_name} IN_20" - id: in_20 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 4 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_20 - - - platform: gpio - name: "${node_name} IN_21" - id: in_21 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 3 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_21 - - - platform: gpio - name: "${node_name} IN_22" - id: in_22 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 2 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_22 - - - platform: gpio - name: "${node_name} IN_23" - id: in_23 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 1 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_23 - - - platform: gpio - name: "${node_name} IN_24" - id: in_24 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 0 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_24 - - - platform: gpio - name: "${node_name} IN_25" - id: in_25 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 8 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_25 - - - platform: gpio - name: "${node_name} IN_26" - id: in_26 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 9 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_26 - - - platform: gpio - name: "${node_name} IN_27" - id: in_27 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 10 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_27 - - - platform: gpio - name: "${node_name} IN_28" - id: in_28 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 11 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_28 - - - platform: gpio - name: "${node_name} IN_29" - id: in_29 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 12 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_29 - - - platform: gpio - name: "${node_name} IN_30" - id: in_30 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 13 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_30 - - - platform: gpio - name: "${node_name} IN_31" - id: in_31 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 14 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_31 - - - platform: gpio - name: "${node_name} IN_32" - id: in_32 - pin: - mcp23xxx: mcp_inputs_17to32 - number: 15 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - - switch.toggle: relay_32 - - - platform: gpio - name: "${node_name} IN_33" - pin: - number: GPIO33 - mode: - input: true - pullup: false - inverted: true - - - platform: gpio - name: "${node_name} IN_34" - pin: - number: GPIO17 - mode: - input: true - pullup: false - inverted: true - - - platform: gpio - name: "${node_name} IN_35" - pin: - number: GPIO12 - mode: - input: true - pullup: true - inverted: false - diff --git a/boneio-24x16_switches_v0_5-v0_6.yaml b/boneio-24x16_switches_v0_5-v0_6.yaml new file mode 100644 index 0000000..d1dfb3b --- /dev/null +++ b/boneio-24x16_switches_v0_5-v0_6.yaml @@ -0,0 +1,574 @@ +substitutions: + name: boneio-esp24x16-switches + friendly_name: 'BoneIO ESP 24x16 Switches' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.24x16-switches_v0_5-v0_6 + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-24x16_switches_v0_5-v0_6.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_5-v0_6/display.yaml', + 'devices_v0_5-v0_6/i2c.yaml', + 'devices_v0_5-v0_6/ina219.yaml', + 'devices_v0_5-v0_6/lm75b.yaml', + 'devices_v0_5-v0_6/pcf.yaml', + 'boards/24x16_output.yaml', + # 'devices_v0_5-v0_6/one_wire.yaml', + # 'devices_v0_5-v0_6/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +switch: + - platform: output + name: 'Switch 01' + output: out_01 + id: switch_01 + - platform: output + name: 'Switch 02' + output: out_02 + id: switch_02 + - platform: output + name: 'Switch 03' + output: out_03 + id: switch_03 + - platform: output + name: 'Switch 04' + output: out_04 + id: switch_04 + - platform: output + name: 'Switch 05' + output: out_05 + id: switch_05 + - platform: output + name: 'Switch 06' + output: out_06 + id: switch_06 + - platform: output + name: 'Switch 07' + output: out_07 + id: switch_07 + - platform: output + name: 'Switch 08' + output: out_08 + id: switch_08 + - platform: output + name: 'Switch 09' + output: out_09 + id: switch_09 + - platform: output + name: 'Switch 10' + output: out_10 + id: switch_10 + - platform: output + name: 'Switch 11' + output: out_11 + id: switch_11 + - platform: output + name: 'Switch 12' + output: out_12 + id: switch_12 + - platform: output + name: 'Switch 13' + output: out_13 + id: switch_13 + - platform: output + name: 'Switch 14' + output: out_14 + id: switch_14 + - platform: output + name: 'Switch 15' + output: out_15 + id: switch_15 + - platform: output + name: 'Switch 16' + output: out_16 + id: switch_16 + - platform: output + name: 'Switch 17' + output: out_17 + id: switch_17 + - platform: output + name: 'Switch 18' + output: out_18 + id: switch_18 + - platform: output + name: 'Switch 19' + output: out_19 + id: switch_19 + - platform: output + name: 'Switch 20' + output: out_20 + id: switch_20 + - platform: output + name: 'Switch 21' + output: out_21 + id: switch_21 + - platform: output + name: 'Switch 22' + output: out_22 + id: switch_22 + - platform: output + name: 'Switch 23' + output: out_23 + id: switch_23 + - platform: output + name: 'Switch 24' + output: out_24 + id: switch_24 + +binary_sensor: + - platform: gpio + name: 'IN_01' + id: in_01 + pin: + pcf8574: pcf_inputs_1to14 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_01 + + - platform: gpio + name: 'IN_02' + id: in_02 + pin: + pcf8574: pcf_inputs_1to14 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_02 + + - platform: gpio + name: 'IN_03' + id: in_03 + pin: + pcf8574: pcf_inputs_1to14 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_03 + + - platform: gpio + name: 'IN_04' + id: in_04 + pin: + pcf8574: pcf_inputs_1to14 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_04 + + - platform: gpio + name: 'IN_05' + id: in_05 + pin: + pcf8574: pcf_inputs_1to14 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_05 + + - platform: gpio + name: 'IN_06' + id: in_06 + pin: + pcf8574: pcf_inputs_1to14 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_06 + + - platform: gpio + name: 'IN_07' + id: in_07 + pin: + pcf8574: pcf_inputs_1to14 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_07 + + - platform: gpio + name: 'IN_08' + id: in_08 + pin: + pcf8574: pcf_inputs_1to14 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_08 + + - platform: gpio + name: 'IN_09' + id: in_09 + pin: + pcf8574: pcf_inputs_1to14 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_09 + + - platform: gpio + name: 'IN_10' + id: in_10 + pin: + pcf8574: pcf_inputs_1to14 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_10 + + - platform: gpio + name: 'IN_11' + id: in_11 + pin: + pcf8574: pcf_inputs_1to14 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_11 + + - platform: gpio + name: 'IN_12' + id: in_12 + pin: + pcf8574: pcf_inputs_1to14 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_12 + + - platform: gpio + name: 'IN_13' + id: in_13 + pin: + pcf8574: pcf_inputs_1to14 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_13 + + - platform: gpio + name: 'IN_14' + id: in_14 + pin: + pcf8574: pcf_inputs_1to14 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_14 + + - platform: gpio + name: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-24x16_switches_v0_7.yaml b/boneio-24x16_switches_v0_7.yaml new file mode 100644 index 0000000..3d30d3b --- /dev/null +++ b/boneio-24x16_switches_v0_7.yaml @@ -0,0 +1,574 @@ +substitutions: + name: boneio-esp24x16-switches + friendly_name: 'BoneIO ESP 24x16 Switches' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.24x16-switches + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-24x16_switches_v0_7.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_7/display.yaml', + 'devices_v0_7/i2c.yaml', + 'devices_v0_7/ina219.yaml', + 'devices_v0_7/lm75b.yaml', + 'devices_v0_7/pcf.yaml', + 'boards/24x16_output.yaml', + # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +switch: + - platform: output + name: 'Switch 01' + output: out_01 + id: switch_01 + - platform: output + name: 'Switch 02' + output: out_02 + id: switch_02 + - platform: output + name: 'Switch 03' + output: out_03 + id: switch_03 + - platform: output + name: 'Switch 04' + output: out_04 + id: switch_04 + - platform: output + name: 'Switch 05' + output: out_05 + id: switch_05 + - platform: output + name: 'Switch 06' + output: out_06 + id: switch_06 + - platform: output + name: 'Switch 07' + output: out_07 + id: switch_07 + - platform: output + name: 'Switch 08' + output: out_08 + id: switch_08 + - platform: output + name: 'Switch 09' + output: out_09 + id: switch_09 + - platform: output + name: 'Switch 10' + output: out_10 + id: switch_10 + - platform: output + name: 'Switch 11' + output: out_11 + id: switch_11 + - platform: output + name: 'Switch 12' + output: out_12 + id: switch_12 + - platform: output + name: 'Switch 13' + output: out_13 + id: switch_13 + - platform: output + name: 'Switch 14' + output: out_14 + id: switch_14 + - platform: output + name: 'Switch 15' + output: out_15 + id: switch_15 + - platform: output + name: 'Switch 16' + output: out_16 + id: switch_16 + - platform: output + name: 'Switch 17' + output: out_17 + id: switch_17 + - platform: output + name: 'Switch 18' + output: out_18 + id: switch_18 + - platform: output + name: 'Switch 19' + output: out_19 + id: switch_19 + - platform: output + name: 'Switch 20' + output: out_20 + id: switch_20 + - platform: output + name: 'Switch 21' + output: out_21 + id: switch_21 + - platform: output + name: 'Switch 22' + output: out_22 + id: switch_22 + - platform: output + name: 'Switch 23' + output: out_23 + id: switch_23 + - platform: output + name: 'Switch 24' + output: out_24 + id: switch_24 + +binary_sensor: + - platform: gpio + name: 'IN_01' + id: in_01 + pin: + pcf8574: pcf_inputs_1to14 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_01 + + - platform: gpio + name: 'IN_02' + id: in_02 + pin: + pcf8574: pcf_inputs_1to14 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_02 + + - platform: gpio + name: 'IN_03' + id: in_03 + pin: + pcf8574: pcf_inputs_1to14 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_03 + + - platform: gpio + name: 'IN_04' + id: in_04 + pin: + pcf8574: pcf_inputs_1to14 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_04 + + - platform: gpio + name: 'IN_05' + id: in_05 + pin: + pcf8574: pcf_inputs_1to14 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_05 + + - platform: gpio + name: 'IN_06' + id: in_06 + pin: + pcf8574: pcf_inputs_1to14 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_06 + + - platform: gpio + name: 'IN_07' + id: in_07 + pin: + pcf8574: pcf_inputs_1to14 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_07 + + - platform: gpio + name: 'IN_08' + id: in_08 + pin: + pcf8574: pcf_inputs_1to14 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_08 + + - platform: gpio + name: 'IN_09' + id: in_09 + pin: + pcf8574: pcf_inputs_1to14 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_09 + + - platform: gpio + name: 'IN_10' + id: in_10 + pin: + pcf8574: pcf_inputs_1to14 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_10 + + - platform: gpio + name: 'IN_11' + id: in_11 + pin: + pcf8574: pcf_inputs_1to14 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_11 + + - platform: gpio + name: 'IN_12' + id: in_12 + pin: + pcf8574: pcf_inputs_1to14 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_12 + + - platform: gpio + name: 'IN_13' + id: in_13 + pin: + pcf8574: pcf_inputs_1to14 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_13 + + - platform: gpio + name: 'IN_14' + id: in_14 + pin: + pcf8574: pcf_inputs_1to14 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_14 + + - platform: gpio + name: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-32x10_lights_v0_5-v0_6.yaml b/boneio-32x10_lights_v0_5-v0_6.yaml new file mode 100644 index 0000000..aaedda8 --- /dev/null +++ b/boneio-32x10_lights_v0_5-v0_6.yaml @@ -0,0 +1,631 @@ +substitutions: + name: boneio-esp32x10-lights + friendly_name: 'BoneIO ESP 32x10 Lights' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-lights_v0_5-v0_6 + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_5-v0_6.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_5-v0_6/display.yaml', + 'devices_v0_5-v0_6/i2c.yaml', + 'devices_v0_5-v0_6/ina219.yaml', + 'devices_v0_5-v0_6/lm75b.yaml', + 'devices_v0_5-v0_6/pcf.yaml', + 'boards/32x10_outputs.yaml', + # 'devices_v0_5-v0_6/one_wire.yaml', + # 'devices_v0_5-v0_6/uart.yaml', + ] + +logger: + baud_rate: 0 #IMPORTANT FOR V0.5-V0.6 TO GET MODBUS WORKING +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +light: + - platform: binary + name: 'Light 01' + output: out_01 + id: light_01 + - platform: binary + name: 'Light 02' + output: out_02 + id: light_02 + - platform: binary + name: 'Light 03' + output: out_03 + id: light_03 + - platform: binary + name: 'Light 04' + output: out_04 + id: light_04 + - platform: binary + name: 'Light 05' + output: out_05 + id: light_05 + - platform: binary + name: 'Light 06' + output: out_06 + id: light_06 + - platform: binary + name: 'Light 07' + output: out_07 + id: light_07 + - platform: binary + name: 'Light 08' + output: out_08 + id: light_08 + - platform: binary + name: 'Light 09' + output: out_09 + id: light_09 + - platform: binary + name: 'Light 10' + output: out_10 + id: light_10 + - platform: binary + name: 'Light 11' + output: out_11 + id: light_11 + - platform: binary + name: 'Light 12' + output: out_12 + id: light_12 + - platform: binary + name: 'Light 13' + output: out_13 + id: light_13 + - platform: binary + name: 'Light 14' + output: out_14 + id: light_14 + - platform: binary + name: 'Light 15' + output: out_15 + id: light_15 + - platform: binary + name: 'Light 16' + output: out_16 + id: light_16 + - platform: binary + name: 'Light 17' + output: out_17 + id: light_17 + - platform: binary + name: 'Light 18' + output: out_18 + id: light_18 + - platform: binary + name: 'Light 19' + output: out_19 + id: light_19 + - platform: binary + name: 'Light 20' + output: out_20 + id: light_20 + - platform: binary + name: 'Light 21' + output: out_21 + id: light_21 + - platform: binary + name: 'Light 22' + output: out_22 + id: light_22 + - platform: binary + name: 'Light 23' + output: out_23 + id: light_23 + - platform: binary + name: 'Light 24' + output: out_24 + id: light_24 + - platform: binary + name: 'Light 25' + output: out_25 + id: light_25 + - platform: binary + name: 'Light 26' + output: out_26 + id: light_26 + - platform: binary + name: 'Light 27' + output: out_27 + id: light_27 + - platform: binary + name: 'Light 28' + output: out_28 + id: light_28 + - platform: binary + name: 'Light 29' + output: out_29 + id: light_29 + - platform: binary + name: 'Light 30' + output: out_30 + id: light_30 + - platform: binary + name: 'Light 31' + output: out_31 + id: light_31 + - platform: binary + name: 'Light 32' + output: out_32 + id: light_32 + +binary_sensor: + - platform: gpio + name: 'IN_01' + id: in_01 + pin: + pcf8574: pcf_inputs_1to14 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_01 + + - platform: gpio + name: 'IN_02' + id: in_02 + pin: + pcf8574: pcf_inputs_1to14 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_02 + + - platform: gpio + name: 'IN_03' + id: in_03 + pin: + pcf8574: pcf_inputs_1to14 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_03 + + - platform: gpio + name: 'IN_04' + id: in_04 + pin: + pcf8574: pcf_inputs_1to14 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_04 + + - platform: gpio + name: 'IN_05' + id: in_05 + pin: + pcf8574: pcf_inputs_1to14 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_05 + + - platform: gpio + name: 'IN_06' + id: in_06 + pin: + pcf8574: pcf_inputs_1to14 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_06 + + - platform: gpio + name: 'IN_07' + id: in_07 + pin: + pcf8574: pcf_inputs_1to14 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_07 + + - platform: gpio + name: 'IN_08' + id: in_08 + pin: + pcf8574: pcf_inputs_1to14 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_08 + + - platform: gpio + name: 'IN_09' + id: in_09 + pin: + pcf8574: pcf_inputs_1to14 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_09 + + - platform: gpio + name: 'IN_10' + id: in_10 + pin: + pcf8574: pcf_inputs_1to14 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_10 + + - platform: gpio + name: 'IN_11' + id: in_11 + pin: + pcf8574: pcf_inputs_1to14 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_11 + + - platform: gpio + name: 'IN_12' + id: in_12 + pin: + pcf8574: pcf_inputs_1to14 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_12 + + - platform: gpio + name: 'IN_13' + id: in_13 + pin: + pcf8574: pcf_inputs_1to14 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_13 + + - platform: gpio + name: 'IN_14' + id: in_14 + pin: + pcf8574: pcf_inputs_1to14 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_14 + + - platform: gpio + name: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-lights_v0_7.yaml b/boneio-32x10_lights_v0_7.yaml similarity index 98% rename from boneio-lights_v0_7.yaml rename to boneio-32x10_lights_v0_7.yaml index 53bcff9..93137e6 100644 --- a/boneio-lights_v0_7.yaml +++ b/boneio-32x10_lights_v0_7.yaml @@ -11,6 +11,7 @@ esphome: project: name: boneio.32x10-lights version: '1.0' + ethernet: id: eth type: LAN8720 @@ -21,21 +22,21 @@ ethernet: power_pin: GPIO16 dashboard_import: - package_import_url: github://boneIO-eu/esphome/boneio-lights_v0_7.yaml@single_file_test + package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_7.yaml@v1.0 import_full_config: true packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: single_file_test + ref: v1.0 files: [ - 'devices_v0_7/buzzer.yaml', + 'devices/buzzer.yaml', 'devices_v0_7/display.yaml', 'devices_v0_7/i2c.yaml', 'devices_v0_7/ina219.yaml', 'devices_v0_7/lm75b.yaml', 'devices_v0_7/pcf.yaml', - 'boards_v0_7/32x10_output.yaml', + 'boards/32x10_output.yaml', # 'devices_v0_7/one_wire.yaml', # 'devices_v0_7/uart.yaml', ] diff --git a/boneio-32x10_switches_v0_5-v0_6.yaml b/boneio-32x10_switches_v0_5-v0_6.yaml new file mode 100644 index 0000000..67d5c32 --- /dev/null +++ b/boneio-32x10_switches_v0_5-v0_6.yaml @@ -0,0 +1,630 @@ +substitutions: + name: boneio-esp32x10-switches + friendly_name: 'BoneIO ESP 32x10 Switches' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-lights_v0_5-v0_6 + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_5-v0_6.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_5-v0_6/display.yaml', + 'devices_v0_5-v0_6/i2c.yaml', + 'devices_v0_5-v0_6/ina219.yaml', + 'devices_v0_5-v0_6/lm75b.yaml', + 'devices_v0_5-v0_6/pcf.yaml', + 'boards/32x10_output.yaml', + # 'devices_v0_5-v0_6/one_wire.yaml', + # 'devices_v0_5-v0_6/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +switch: + - platform: output + name: 'Switch 01' + output: out_01 + id: switch_01 + - platform: output + name: 'Switch 02' + output: out_02 + id: switch_02 + - platform: output + name: 'Switch 03' + output: out_03 + id: switch_03 + - platform: output + name: 'Switch 04' + output: out_04 + id: switch_04 + - platform: output + name: 'Switch 05' + output: out_05 + id: switch_05 + - platform: output + name: 'Switch 06' + output: out_06 + id: switch_06 + - platform: output + name: 'Switch 07' + output: out_07 + id: switch_07 + - platform: output + name: 'Switch 08' + output: out_08 + id: switch_08 + - platform: output + name: 'Switch 09' + output: out_09 + id: switch_09 + - platform: output + name: 'Switch 10' + output: out_10 + id: switch_10 + - platform: output + name: 'Switch 11' + output: out_11 + id: switch_11 + - platform: output + name: 'Switch 12' + output: out_12 + id: switch_12 + - platform: output + name: 'Switch 13' + output: out_13 + id: switch_13 + - platform: output + name: 'Switch 14' + output: out_14 + id: switch_14 + - platform: output + name: 'Switch 15' + output: out_15 + id: switch_15 + - platform: output + name: 'Switch 16' + output: out_16 + id: switch_16 + - platform: output + name: 'Switch 17' + output: out_17 + id: switch_17 + - platform: output + name: 'Switch 18' + output: out_18 + id: switch_18 + - platform: output + name: 'Switch 19' + output: out_19 + id: switch_19 + - platform: output + name: 'Switch 20' + output: out_20 + id: switch_20 + - platform: output + name: 'Switch 21' + output: out_21 + id: switch_21 + - platform: output + name: 'Switch 22' + output: out_22 + id: switch_22 + - platform: output + name: 'Switch 23' + output: out_23 + id: switch_23 + - platform: output + name: 'Switch 24' + output: out_24 + id: switch_24 + - platform: output + name: 'Switch 25' + output: out_25 + id: switch_25 + - platform: output + name: 'Switch 26' + output: out_26 + id: switch_26 + - platform: output + name: 'Switch 27' + output: out_27 + id: switch_27 + - platform: output + name: 'Switch 28' + output: out_28 + id: switch_28 + - platform: output + name: 'Switch 29' + output: out_29 + id: switch_29 + - platform: output + name: 'Switch 30' + output: out_30 + id: switch_30 + - platform: output + name: 'Switch 31' + output: out_31 + id: switch_31 + - platform: output + name: 'Switch 32' + output: out_32 + id: switch_32 + +binary_sensor: + - platform: gpio + name: 'IN_01' + id: in_01 + pin: + pcf8574: pcf_inputs_1to14 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_01 + + - platform: gpio + name: 'IN_02' + id: in_02 + pin: + pcf8574: pcf_inputs_1to14 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_02 + + - platform: gpio + name: 'IN_03' + id: in_03 + pin: + pcf8574: pcf_inputs_1to14 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_03 + + - platform: gpio + name: 'IN_04' + id: in_04 + pin: + pcf8574: pcf_inputs_1to14 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_04 + + - platform: gpio + name: 'IN_05' + id: in_05 + pin: + pcf8574: pcf_inputs_1to14 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_05 + + - platform: gpio + name: 'IN_06' + id: in_06 + pin: + pcf8574: pcf_inputs_1to14 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_06 + + - platform: gpio + name: 'IN_07' + id: in_07 + pin: + pcf8574: pcf_inputs_1to14 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_07 + + - platform: gpio + name: 'IN_08' + id: in_08 + pin: + pcf8574: pcf_inputs_1to14 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_08 + + - platform: gpio + name: 'IN_09' + id: in_09 + pin: + pcf8574: pcf_inputs_1to14 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_09 + + - platform: gpio + name: 'IN_10' + id: in_10 + pin: + pcf8574: pcf_inputs_1to14 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_10 + + - platform: gpio + name: 'IN_11' + id: in_11 + pin: + pcf8574: pcf_inputs_1to14 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_11 + + - platform: gpio + name: 'IN_12' + id: in_12 + pin: + pcf8574: pcf_inputs_1to14 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_12 + + - platform: gpio + name: 'IN_13' + id: in_13 + pin: + pcf8574: pcf_inputs_1to14 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_13 + + - platform: gpio + name: 'IN_14' + id: in_14 + pin: + pcf8574: pcf_inputs_1to14 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_14 + + - platform: gpio + name: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-32x10_switches_v0_7.yaml b/boneio-32x10_switches_v0_7.yaml new file mode 100644 index 0000000..e4a86e6 --- /dev/null +++ b/boneio-32x10_switches_v0_7.yaml @@ -0,0 +1,630 @@ +substitutions: + name: boneio-esp32x10-switches + friendly_name: 'BoneIO ESP 32x10 Switches' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-lights + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_7.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_7/display.yaml', + 'devices_v0_7/i2c.yaml', + 'devices_v0_7/ina219.yaml', + 'devices_v0_7/lm75b.yaml', + 'devices_v0_7/pcf.yaml', + 'boards/32x10_output.yaml', + # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +switch: + - platform: output + name: 'Switch 01' + output: out_01 + id: switch_01 + - platform: output + name: 'Switch 02' + output: out_02 + id: switch_02 + - platform: output + name: 'Switch 03' + output: out_03 + id: switch_03 + - platform: output + name: 'Switch 04' + output: out_04 + id: switch_04 + - platform: output + name: 'Switch 05' + output: out_05 + id: switch_05 + - platform: output + name: 'Switch 06' + output: out_06 + id: switch_06 + - platform: output + name: 'Switch 07' + output: out_07 + id: switch_07 + - platform: output + name: 'Switch 08' + output: out_08 + id: switch_08 + - platform: output + name: 'Switch 09' + output: out_09 + id: switch_09 + - platform: output + name: 'Switch 10' + output: out_10 + id: switch_10 + - platform: output + name: 'Switch 11' + output: out_11 + id: switch_11 + - platform: output + name: 'Switch 12' + output: out_12 + id: switch_12 + - platform: output + name: 'Switch 13' + output: out_13 + id: switch_13 + - platform: output + name: 'Switch 14' + output: out_14 + id: switch_14 + - platform: output + name: 'Switch 15' + output: out_15 + id: switch_15 + - platform: output + name: 'Switch 16' + output: out_16 + id: switch_16 + - platform: output + name: 'Switch 17' + output: out_17 + id: switch_17 + - platform: output + name: 'Switch 18' + output: out_18 + id: switch_18 + - platform: output + name: 'Switch 19' + output: out_19 + id: switch_19 + - platform: output + name: 'Switch 20' + output: out_20 + id: switch_20 + - platform: output + name: 'Switch 21' + output: out_21 + id: switch_21 + - platform: output + name: 'Switch 22' + output: out_22 + id: switch_22 + - platform: output + name: 'Switch 23' + output: out_23 + id: switch_23 + - platform: output + name: 'Switch 24' + output: out_24 + id: switch_24 + - platform: output + name: 'Switch 25' + output: out_25 + id: switch_25 + - platform: output + name: 'Switch 26' + output: out_26 + id: switch_26 + - platform: output + name: 'Switch 27' + output: out_27 + id: switch_27 + - platform: output + name: 'Switch 28' + output: out_28 + id: switch_28 + - platform: output + name: 'Switch 29' + output: out_29 + id: switch_29 + - platform: output + name: 'Switch 30' + output: out_30 + id: switch_30 + - platform: output + name: 'Switch 31' + output: out_31 + id: switch_31 + - platform: output + name: 'Switch 32' + output: out_32 + id: switch_32 + +binary_sensor: + - platform: gpio + name: 'IN_01' + id: in_01 + pin: + pcf8574: pcf_inputs_1to14 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_01 + + - platform: gpio + name: 'IN_02' + id: in_02 + pin: + pcf8574: pcf_inputs_1to14 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_02 + + - platform: gpio + name: 'IN_03' + id: in_03 + pin: + pcf8574: pcf_inputs_1to14 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_03 + + - platform: gpio + name: 'IN_04' + id: in_04 + pin: + pcf8574: pcf_inputs_1to14 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_04 + + - platform: gpio + name: 'IN_05' + id: in_05 + pin: + pcf8574: pcf_inputs_1to14 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_05 + + - platform: gpio + name: 'IN_06' + id: in_06 + pin: + pcf8574: pcf_inputs_1to14 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_06 + + - platform: gpio + name: 'IN_07' + id: in_07 + pin: + pcf8574: pcf_inputs_1to14 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_07 + + - platform: gpio + name: 'IN_08' + id: in_08 + pin: + pcf8574: pcf_inputs_1to14 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_08 + + - platform: gpio + name: 'IN_09' + id: in_09 + pin: + pcf8574: pcf_inputs_1to14 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_09 + + - platform: gpio + name: 'IN_10' + id: in_10 + pin: + pcf8574: pcf_inputs_1to14 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_10 + + - platform: gpio + name: 'IN_11' + id: in_11 + pin: + pcf8574: pcf_inputs_1to14 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_11 + + - platform: gpio + name: 'IN_12' + id: in_12 + pin: + pcf8574: pcf_inputs_1to14 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_12 + + - platform: gpio + name: 'IN_13' + id: in_13 + pin: + pcf8574: pcf_inputs_1to14 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_13 + + - platform: gpio + name: 'IN_14' + id: in_14 + pin: + pcf8574: pcf_inputs_1to14 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_14 + + - platform: gpio + name: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-cover_mix_lights_v0_5-v0_6.yaml b/boneio-cover_mix_lights_v0_5-v0_6.yaml new file mode 100644 index 0000000..6d7d857 --- /dev/null +++ b/boneio-cover_mix_lights_v0_5-v0_6.yaml @@ -0,0 +1,732 @@ +substitutions: + name: boneio-esp-cover-mix + friendly_name: 'BoneIO ESP Cover Mix Lights' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-cover-mix-lights_v0_5-v0_6 + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_lights_v0_5-v0_6.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_5-v0_6/display.yaml', + 'devices_v0_5-v0_6/i2c.yaml', + 'devices_v0_5-v0_6/ina219.yaml', + 'devices_v0_5-v0_6/lm75b.yaml', + 'devices_v0_5-v0_6/pcf.yaml', + 'boards/8_covers_16_output.yaml', + # 'devices_v0_5-v0_6/one_wire.yaml', + # 'devices_v0_5-v0_6/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +cover: + - platform: time_based + name: 'Cover 01' + id: cover_01 + open_action: + - switch.turn_off: cover_close_01_out02 + - switch.turn_on: cover_open_01_out01 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_on: cover_close_01_out02 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_off: cover_close_01_out02 + + - platform: time_based + name: 'Cover 02' + id: cover_02 + open_action: + - switch.turn_off: cover_close_02_out04 + - switch.turn_on: cover_open_02_out03 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_on: cover_close_02_out04 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_off: cover_close_02_out04 + + - platform: time_based + name: 'Cover 03' + id: cover_03 + open_action: + - switch.turn_off: cover_close_03_out06 + - switch.turn_on: cover_open_03_out05 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_on: cover_close_03_out06 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_off: cover_close_03_out06 + + - platform: time_based + name: 'Cover 04' + id: cover_04 + open_action: + - switch.turn_off: cover_close_04_out08 + - switch.turn_on: cover_open_04_out07 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_on: cover_close_04_out08 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_off: cover_close_04_out08 + + - platform: time_based + name: 'Cover 05' + id: cover_05 + open_action: + - switch.turn_off: cover_close_05_out10 + - switch.turn_on: cover_open_05_out09 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_on: cover_close_05_out10 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_off: cover_close_05_out10 + + - platform: time_based + name: 'Cover 06' + id: cover_06 + open_action: + - switch.turn_off: cover_close_06_out12 + - switch.turn_on: cover_open_06_out11 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_on: cover_close_06_out12 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_off: cover_close_06_out12 + + - platform: time_based + name: 'Cover 07' + id: cover_07 + open_action: + - switch.turn_off: cover_close_07_out14 + - switch.turn_on: cover_open_07_out13 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_on: cover_close_07_out14 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_off: cover_close_07_out14 + + - platform: time_based + name: 'Cover 08' + id: cover_08 + open_action: + - switch.turn_off: cover_close_08_out16 + - switch.turn_on: cover_open_08_out15 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_on: cover_close_08_out16 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_off: cover_close_08_out16 + +light: + - platform: binary + name: 'Light 16' + output: out_16 + id: light_16 + - platform: binary + name: 'Light 17' + output: out_17 + id: light_17 + - platform: binary + name: 'Light 18' + output: out_18 + id: light_18 + - platform: binary + name: 'Light 19' + output: out_19 + id: light_19 + - platform: binary + name: 'Light 20' + output: out_20 + id: light_20 + - platform: binary + name: 'Light 21' + output: out_21 + id: light_21 + - platform: binary + name: 'Light 22' + output: out_22 + id: light_22 + - platform: binary + name: 'Light 23' + output: out_23 + id: light_23 + - platform: binary + name: 'Light 24' + output: out_24 + id: light_24 + - platform: binary + name: 'Light 25' + output: out_25 + id: light_25 + - platform: binary + name: 'Light 26' + output: out_26 + id: light_26 + - platform: binary + name: 'Light 27' + output: out_27 + id: light_27 + - platform: binary + name: 'Light 28' + output: out_28 + id: light_28 + - platform: binary + name: 'Light 29' + output: out_29 + id: light_29 + - platform: binary + name: 'Light 30' + output: out_30 + id: light_30 + - platform: binary + name: 'Light 31' + output: out_31 + id: light_31 + - platform: binary + name: 'Light 32' + output: out_32 + id: light_32 +binary_sensor: + - platform: gpio + 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-cover_mix_lights_v0_7.yaml b/boneio-cover_mix_lights_v0_7.yaml new file mode 100644 index 0000000..3775444 --- /dev/null +++ b/boneio-cover_mix_lights_v0_7.yaml @@ -0,0 +1,732 @@ +substitutions: + name: boneio-esp-cover-mix + friendly_name: 'BoneIO ESP Cover Mix Lights' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-cover-mix-lights + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_lights_v0_7.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_7/display.yaml', + 'devices_v0_7/i2c.yaml', + 'devices_v0_7/ina219.yaml', + 'devices_v0_7/lm75b.yaml', + 'devices_v0_7/pcf.yaml', + 'boards/8_covers_16_output.yaml', + # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +cover: + - platform: time_based + name: 'Cover 01' + id: cover_01 + open_action: + - switch.turn_off: cover_close_01_out02 + - switch.turn_on: cover_open_01_out01 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_on: cover_close_01_out02 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_off: cover_close_01_out02 + + - platform: time_based + name: 'Cover 02' + id: cover_02 + open_action: + - switch.turn_off: cover_close_02_out04 + - switch.turn_on: cover_open_02_out03 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_on: cover_close_02_out04 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_off: cover_close_02_out04 + + - platform: time_based + name: 'Cover 03' + id: cover_03 + open_action: + - switch.turn_off: cover_close_03_out06 + - switch.turn_on: cover_open_03_out05 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_on: cover_close_03_out06 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_off: cover_close_03_out06 + + - platform: time_based + name: 'Cover 04' + id: cover_04 + open_action: + - switch.turn_off: cover_close_04_out08 + - switch.turn_on: cover_open_04_out07 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_on: cover_close_04_out08 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_off: cover_close_04_out08 + + - platform: time_based + name: 'Cover 05' + id: cover_05 + open_action: + - switch.turn_off: cover_close_05_out10 + - switch.turn_on: cover_open_05_out09 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_on: cover_close_05_out10 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_off: cover_close_05_out10 + + - platform: time_based + name: 'Cover 06' + id: cover_06 + open_action: + - switch.turn_off: cover_close_06_out12 + - switch.turn_on: cover_open_06_out11 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_on: cover_close_06_out12 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_off: cover_close_06_out12 + + - platform: time_based + name: 'Cover 07' + id: cover_07 + open_action: + - switch.turn_off: cover_close_07_out14 + - switch.turn_on: cover_open_07_out13 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_on: cover_close_07_out14 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_off: cover_close_07_out14 + + - platform: time_based + name: 'Cover 08' + id: cover_08 + open_action: + - switch.turn_off: cover_close_08_out16 + - switch.turn_on: cover_open_08_out15 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_on: cover_close_08_out16 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_off: cover_close_08_out16 + +light: + - platform: binary + name: 'Light 16' + output: out_16 + id: light_16 + - platform: binary + name: 'Light 17' + output: out_17 + id: light_17 + - platform: binary + name: 'Light 18' + output: out_18 + id: light_18 + - platform: binary + name: 'Light 19' + output: out_19 + id: light_19 + - platform: binary + name: 'Light 20' + output: out_20 + id: light_20 + - platform: binary + name: 'Light 21' + output: out_21 + id: light_21 + - platform: binary + name: 'Light 22' + output: out_22 + id: light_22 + - platform: binary + name: 'Light 23' + output: out_23 + id: light_23 + - platform: binary + name: 'Light 24' + output: out_24 + id: light_24 + - platform: binary + name: 'Light 25' + output: out_25 + id: light_25 + - platform: binary + name: 'Light 26' + output: out_26 + id: light_26 + - platform: binary + name: 'Light 27' + output: out_27 + id: light_27 + - platform: binary + name: 'Light 28' + output: out_28 + id: light_28 + - platform: binary + name: 'Light 29' + output: out_29 + id: light_29 + - platform: binary + name: 'Light 30' + output: out_30 + id: light_30 + - platform: binary + name: 'Light 31' + output: out_31 + id: light_31 + - platform: binary + name: 'Light 32' + output: out_32 + id: light_32 +binary_sensor: + - platform: gpio + 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-cover_mix_switches_v0_5-v0_6.yaml b/boneio-cover_mix_switches_v0_5-v0_6.yaml new file mode 100644 index 0000000..422a34c --- /dev/null +++ b/boneio-cover_mix_switches_v0_5-v0_6.yaml @@ -0,0 +1,732 @@ +substitutions: + name: boneio-esp-cover-mix + friendly_name: 'BoneIO ESP Cover Mix Switches' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-cover-mix-switches_v0_5-v0_6 + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_switches_v0_5-v0_6.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_5-v0_6/display.yaml', + 'devices_v0_5-v0_6/i2c.yaml', + 'devices_v0_5-v0_6/ina219.yaml', + 'devices_v0_5-v0_6/lm75b.yaml', + 'devices_v0_5-v0_6/pcf.yaml', + 'boards/8_covers_16_output.yaml', + # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +cover: + - platform: time_based + name: 'Cover 01' + id: cover_01 + open_action: + - switch.turn_off: cover_close_01_out02 + - switch.turn_on: cover_open_01_out01 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_on: cover_close_01_out02 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_off: cover_close_01_out02 + + - platform: time_based + name: 'Cover 02' + id: cover_02 + open_action: + - switch.turn_off: cover_close_02_out04 + - switch.turn_on: cover_open_02_out03 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_on: cover_close_02_out04 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_off: cover_close_02_out04 + + - platform: time_based + name: 'Cover 03' + id: cover_03 + open_action: + - switch.turn_off: cover_close_03_out06 + - switch.turn_on: cover_open_03_out05 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_on: cover_close_03_out06 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_off: cover_close_03_out06 + + - platform: time_based + name: 'Cover 04' + id: cover_04 + open_action: + - switch.turn_off: cover_close_04_out08 + - switch.turn_on: cover_open_04_out07 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_on: cover_close_04_out08 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_off: cover_close_04_out08 + + - platform: time_based + name: 'Cover 05' + id: cover_05 + open_action: + - switch.turn_off: cover_close_05_out10 + - switch.turn_on: cover_open_05_out09 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_on: cover_close_05_out10 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_off: cover_close_05_out10 + + - platform: time_based + name: 'Cover 06' + id: cover_06 + open_action: + - switch.turn_off: cover_close_06_out12 + - switch.turn_on: cover_open_06_out11 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_on: cover_close_06_out12 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_off: cover_close_06_out12 + + - platform: time_based + name: 'Cover 07' + id: cover_07 + open_action: + - switch.turn_off: cover_close_07_out14 + - switch.turn_on: cover_open_07_out13 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_on: cover_close_07_out14 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_off: cover_close_07_out14 + + - platform: time_based + name: 'Cover 08' + id: cover_08 + open_action: + - switch.turn_off: cover_close_08_out16 + - switch.turn_on: cover_open_08_out15 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_on: cover_close_08_out16 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_off: cover_close_08_out16 + +switch: + - platform: output + name: 'Switch 16' + output: out_16 + id: switch_16 + - platform: output + name: 'Switch 17' + output: out_17 + id: switch_17 + - platform: output + name: 'Switch 18' + output: out_18 + id: switch_18 + - platform: output + name: 'Switch 19' + output: out_19 + id: switch_19 + - platform: output + name: 'Switch 20' + output: out_20 + id: switch_20 + - platform: output + name: 'Switch 21' + output: out_21 + id: switch_21 + - platform: output + name: 'Switch 22' + output: out_22 + id: switch_22 + - platform: output + name: 'Switch 23' + output: out_23 + id: switch_23 + - platform: output + name: 'Switch 24' + output: out_24 + id: switch_24 + - platform: output + name: 'Switch 25' + output: out_25 + id: switch_25 + - platform: output + name: 'Switch 26' + output: out_26 + id: switch_26 + - platform: output + name: 'Switch 27' + output: out_27 + id: switch_27 + - platform: output + name: 'Switch 28' + output: out_28 + id: switch_28 + - platform: output + name: 'Switch 29' + output: out_29 + id: switch_29 + - platform: output + name: 'Switch 30' + output: out_30 + id: switch_30 + - platform: output + name: 'Switch 31' + output: out_31 + id: switch_31 + - platform: output + name: 'Switch 32' + output: out_32 + id: switch_32 +binary_sensor: + - platform: gpio + 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-cover_mix_switches_v0_7.yaml b/boneio-cover_mix_switches_v0_7.yaml new file mode 100644 index 0000000..25f6729 --- /dev/null +++ b/boneio-cover_mix_switches_v0_7.yaml @@ -0,0 +1,732 @@ +substitutions: + name: boneio-esp-cover-mix + friendly_name: 'BoneIO ESP Cover Mix Switches' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-cover-mix-switches + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-cover_mix_switches_v0_7.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_7/display.yaml', + 'devices_v0_7/i2c.yaml', + 'devices_v0_7/ina219.yaml', + 'devices_v0_7/lm75b.yaml', + 'devices_v0_7/pcf.yaml', + 'boards/8_covers_16_output.yaml', + # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +cover: + - platform: time_based + name: 'Cover 01' + id: cover_01 + open_action: + - switch.turn_off: cover_close_01_out02 + - switch.turn_on: cover_open_01_out01 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_on: cover_close_01_out02 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_off: cover_close_01_out02 + + - platform: time_based + name: 'Cover 02' + id: cover_02 + open_action: + - switch.turn_off: cover_close_02_out04 + - switch.turn_on: cover_open_02_out03 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_on: cover_close_02_out04 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_off: cover_close_02_out04 + + - platform: time_based + name: 'Cover 03' + id: cover_03 + open_action: + - switch.turn_off: cover_close_03_out06 + - switch.turn_on: cover_open_03_out05 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_on: cover_close_03_out06 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_off: cover_close_03_out06 + + - platform: time_based + name: 'Cover 04' + id: cover_04 + open_action: + - switch.turn_off: cover_close_04_out08 + - switch.turn_on: cover_open_04_out07 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_on: cover_close_04_out08 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_off: cover_close_04_out08 + + - platform: time_based + name: 'Cover 05' + id: cover_05 + open_action: + - switch.turn_off: cover_close_05_out10 + - switch.turn_on: cover_open_05_out09 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_on: cover_close_05_out10 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_off: cover_close_05_out10 + + - platform: time_based + name: 'Cover 06' + id: cover_06 + open_action: + - switch.turn_off: cover_close_06_out12 + - switch.turn_on: cover_open_06_out11 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_on: cover_close_06_out12 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_off: cover_close_06_out12 + + - platform: time_based + name: 'Cover 07' + id: cover_07 + open_action: + - switch.turn_off: cover_close_07_out14 + - switch.turn_on: cover_open_07_out13 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_on: cover_close_07_out14 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_off: cover_close_07_out14 + + - platform: time_based + name: 'Cover 08' + id: cover_08 + open_action: + - switch.turn_off: cover_close_08_out16 + - switch.turn_on: cover_open_08_out15 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_on: cover_close_08_out16 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_off: cover_close_08_out16 + +switch: + - platform: output + name: 'Switch 16' + output: out_16 + id: switch_16 + - platform: output + name: 'Switch 17' + output: out_17 + id: switch_17 + - platform: output + name: 'Switch 18' + output: out_18 + id: switch_18 + - platform: output + name: 'Switch 19' + output: out_19 + id: switch_19 + - platform: output + name: 'Switch 20' + output: out_20 + id: switch_20 + - platform: output + name: 'Switch 21' + output: out_21 + id: switch_21 + - platform: output + name: 'Switch 22' + output: out_22 + id: switch_22 + - platform: output + name: 'Switch 23' + output: out_23 + id: switch_23 + - platform: output + name: 'Switch 24' + output: out_24 + id: switch_24 + - platform: output + name: 'Switch 25' + output: out_25 + id: switch_25 + - platform: output + name: 'Switch 26' + output: out_26 + id: switch_26 + - platform: output + name: 'Switch 27' + output: out_27 + id: switch_27 + - platform: output + name: 'Switch 28' + output: out_28 + id: switch_28 + - platform: output + name: 'Switch 29' + output: out_29 + id: switch_29 + - platform: output + name: 'Switch 30' + output: out_30 + id: switch_30 + - platform: output + name: 'Switch 31' + output: out_31 + id: switch_31 + - platform: output + name: 'Switch 32' + output: out_32 + id: switch_32 +binary_sensor: + - platform: gpio + 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: 'IN_15' + id: in_15 + pin: + pcf8574: pcf_inputs_15to28 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + pcf8574: pcf_inputs_15to28 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + pcf8574: pcf_inputs_15to28 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + pcf8574: pcf_inputs_15to28 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + pcf8574: pcf_inputs_15to28 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + pcf8574: pcf_inputs_15to28 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + pcf8574: pcf_inputs_15to28 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + pcf8574: pcf_inputs_15to28 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - switch.toggle: switch_32 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-cover_v0_5-v0_6.yaml b/boneio-cover_v0_5-v0_6.yaml new file mode 100644 index 0000000..5d98d3f --- /dev/null +++ b/boneio-cover_v0_5-v0_6.yaml @@ -0,0 +1,837 @@ +substitutions: + name: boneio-esp-covers + friendly_name: 'BoneIO ESP Cover' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + platform: ESP32 + board: nodemcu-32s + name_add_mac_suffix: true + project: + name: boneio.32x10-cover_v0_5-v0_6 + version: '1.0' + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-cover_v0_5-v0_6.yaml@v1.0 + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.0 + files: [ + 'devices/buzzer.yaml', + 'devices_v0_5-v0_6/display.yaml', + 'devices_v0_5-v0_6/i2c.yaml', + 'devices_v0_5-v0_6/ina219.yaml', + 'devices_v0_5-v0_6/lm75b.yaml', + 'devices_v0_5-v0_6/pcf.yaml', + 'boards/16_cover_pcf.yaml', + # 'devices_v0_5-v0_6/one_wire.yaml', + # 'devices_v0_5-v0_6/uart.yaml', + ] + +logger: +api: +ota: + password: boneio + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +cover: + - platform: time_based + name: 'Cover 01' + id: cover_01 + open_action: + - switch.turn_off: cover_close_01_out02 + - switch.turn_on: cover_open_01_out01 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_on: cover_close_01_out02 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_01_out01 + - switch.turn_off: cover_close_01_out02 + + - platform: time_based + name: 'Cover 02' + id: cover_02 + open_action: + - switch.turn_off: cover_close_02_out04 + - switch.turn_on: cover_open_02_out03 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_on: cover_close_02_out04 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_02_out03 + - switch.turn_off: cover_close_02_out04 + + - platform: time_based + name: 'Cover 03' + id: cover_03 + open_action: + - switch.turn_off: cover_close_03_out06 + - switch.turn_on: cover_open_03_out05 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_on: cover_close_03_out06 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_03_out05 + - switch.turn_off: cover_close_03_out06 + + - platform: time_based + name: 'Cover 04' + id: cover_04 + open_action: + - switch.turn_off: cover_close_04_out08 + - switch.turn_on: cover_open_04_out07 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_on: cover_close_04_out08 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_04_out07 + - switch.turn_off: cover_close_04_out08 + + - platform: time_based + name: 'Cover 05' + id: cover_05 + open_action: + - switch.turn_off: cover_close_05_out10 + - switch.turn_on: cover_open_05_out09 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_on: cover_close_05_out10 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_05_out09 + - switch.turn_off: cover_close_05_out10 + + - platform: time_based + name: 'Cover 06' + id: cover_06 + open_action: + - switch.turn_off: cover_close_06_out12 + - switch.turn_on: cover_open_06_out11 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_on: cover_close_06_out12 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_06_out11 + - switch.turn_off: cover_close_06_out12 + + - platform: time_based + name: 'Cover 07' + id: cover_07 + open_action: + - switch.turn_off: cover_close_07_out14 + - switch.turn_on: cover_open_07_out13 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_on: cover_close_07_out14 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_07_out13 + - switch.turn_off: cover_close_07_out14 + + - platform: time_based + name: 'Cover 08' + id: cover_08 + open_action: + - switch.turn_off: cover_close_08_out16 + - switch.turn_on: cover_open_08_out15 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_on: cover_close_08_out16 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_08_out15 + - switch.turn_off: cover_close_08_out16 + + - platform: time_based + name: 'Cover 09' + id: cover_09 + open_action: + - switch.turn_off: cover_close_09_out18 + - switch.turn_on: cover_open_09_out17 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_09_out17 + - switch.turn_on: cover_close_09_out18 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_09_out17 + - switch.turn_off: cover_close_09_out18 + + - platform: time_based + name: 'Cover 10' + id: cover_10 + open_action: + - switch.turn_off: cover_close_10_out20 + - switch.turn_on: cover_open_10_out19 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_10_out19 + - switch.turn_on: cover_close_10_out20 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_10_out19 + - switch.turn_off: cover_close_10_out20 + + - platform: time_based + name: 'Cover 11' + id: cover_11 + open_action: + - switch.turn_off: cover_close_11_out22 + - switch.turn_on: cover_open_11_out21 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_11_out21 + - switch.turn_on: cover_close_11_out22 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_11_out21 + - switch.turn_off: cover_close_11_out22 + + - platform: time_based + name: 'Cover 12' + id: cover_12 + open_action: + - switch.turn_off: cover_close_12_out24 + - switch.turn_on: cover_open_12_out23 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_12_out23 + - switch.turn_on: cover_close_12_out24 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_12_out23 + - switch.turn_off: cover_close_12_out24 + + - platform: time_based + name: 'Cover 13' + id: cover_13 + open_action: + - switch.turn_off: cover_close_13_out26 + - switch.turn_on: cover_open_13_out25 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_13_out25 + - switch.turn_on: cover_close_13_out26 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_13_out25 + - switch.turn_off: cover_close_13_out26 + + - platform: time_based + name: 'Cover 14' + id: cover_14 + open_action: + - switch.turn_off: cover_close_14_out28 + - switch.turn_on: cover_open_14_out27 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_14_out27 + - switch.turn_on: cover_close_14_out28 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_14_out27 + - switch.turn_off: cover_close_14_out28 + + - platform: time_based + name: 'Cover 15' + id: cover_15 + open_action: + - switch.turn_off: cover_close_15_out30 + - switch.turn_on: cover_open_15_out29 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_15_out29 + - switch.turn_on: cover_close_15_out30 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_15_out29 + - switch.turn_off: cover_close_15_out30 + + - platform: time_based + name: 'Cover 16' + id: cover_16 + open_action: + - switch.turn_off: cover_close_16_out32 + - switch.turn_on: cover_open_16_out31 + open_duration: 10s + close_action: + - switch.turn_off: cover_open_16_out31 + - switch.turn_on: cover_close_16_out32 + close_duration: 10s + stop_action: + - switch.turn_off: cover_open_16_out31 + - switch.turn_off: cover_close_16_out32 + +binary_sensor: + - platform: gpio + 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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: '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: 'IN_18' + id: in_18 + pin: + pcf8574: pcf_inputs_15to28 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_09 + on_release: + then: + - cover.stop: cover_09 + + - platform: gpio + 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: 'IN_20' + id: in_20 + pin: + pcf8574: pcf_inputs_15to28 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_10 + on_release: + then: + - cover.stop: cover_10 + + - platform: gpio + 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: 'IN_22' + id: in_22 + pin: + pcf8574: pcf_inputs_15to28 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_11 + on_release: + then: + - cover.stop: cover_11 + + - platform: gpio + 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: 'IN_24' + id: in_24 + pin: + pcf8574: pcf_inputs_15to28 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_12 + on_release: + then: + - cover.stop: cover_12 + + - platform: gpio + 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: 'IN_26' + id: in_26 + pin: + pcf8574: pcf_inputs_15to28 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_13 + on_release: + then: + - cover.stop: cover_13 + + - platform: gpio + 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: 'IN_28' + id: in_28 + pin: + pcf8574: pcf_inputs_15to28 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_14 + on_release: + then: + - cover.stop: cover_14 + + - platform: gpio + 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: 'IN_30' + id: in_30 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_15 + on_release: + then: + - cover.stop: cover_15 + + - platform: gpio + 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: 'IN_32' + id: in_32 + pin: + pcf8574: pcf_inputs_28to35_menu + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - cover.close: cover_16 + on_release: + then: + - cover.stop: cover_16 + + - platform: gpio + name: 'IN_33' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 4 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_34' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 5 + mode: + input: true + inverted: true + + - platform: gpio + name: 'IN_35' + pin: + pcf8574: pcf_inputs_28to35_menu + number: 6 + mode: + input: true + inverted: true diff --git a/boneio-covers_v0_7.yaml b/boneio-cover_v0_7.yaml similarity index 98% rename from boneio-covers_v0_7.yaml rename to boneio-cover_v0_7.yaml index e3003fc..f7c808d 100644 --- a/boneio-covers_v0_7.yaml +++ b/boneio-cover_v0_7.yaml @@ -1,6 +1,6 @@ substitutions: - name: boneio-esp32x10-covers - friendly_name: 'BoneIO ESP 32x10 Cover' + name: boneio-esp-covers + friendly_name: 'BoneIO ESP Cover' esphome: name: '${name}' @@ -9,8 +9,9 @@ esphome: board: nodemcu-32s name_add_mac_suffix: true project: - name: boneio.32x10-covers + name: boneio.32x10-cover version: '1.0' + ethernet: id: eth type: LAN8720 @@ -21,21 +22,21 @@ ethernet: power_pin: GPIO16 dashboard_import: - package_import_url: github://boneIO-eu/esphome/boneio-covers_v0_7.yaml@single_file_test + package_import_url: github://boneIO-eu/esphome/boneio-cover_v0_7.yaml@v1.0 import_full_config: true packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: single_file_test + ref: v1.0 files: [ - 'devices_v0_7/buzzer.yaml', + 'devices/buzzer.yaml', 'devices_v0_7/display.yaml', 'devices_v0_7/i2c.yaml', 'devices_v0_7/ina219.yaml', 'devices_v0_7/lm75b.yaml', 'devices_v0_7/pcf.yaml', - 'boards_v0_7/16_cover_pcf.yaml', + 'boards/16_cover_pcf.yaml', # 'devices_v0_7/one_wire.yaml', # 'devices_v0_7/uart.yaml', ] diff --git a/boneio-lights.yaml b/boneio-lights.yaml deleted file mode 100644 index 7b5cc8e..0000000 --- a/boneio-lights.yaml +++ /dev/null @@ -1,155 +0,0 @@ -substitutions: - name_add_mac_suffix: 'true' - node_name: boneio - -esphome: - name: ${node_name} - platform: ESP32 - board: nodemcu-32s - # set to false if you already added this device to ESPHOME add-on - name_add_mac_suffix: ${name_add_mac_suffix} - project: - name: boneio.32x10-lights - version: '1.0' -ethernet: - id: eth - type: LAN8720 - mdc_pin: GPIO23 - mdio_pin: GPIO18 - clk_mode: GPIO0_IN - phy_addr: 1 - power_pin: GPIO16 - -dashboard_import: - package_import_url: github://boneIO-eu/esphome/boneio-lights.yaml@single_file_test - import_full_config: true - -packages: - internals_packages: - url: https://github.com/boneIO-eu/esphome - ref: single_file_test - files: - [ - 'devices/buzzer.yaml', -# 'devices/display.yaml', - 'devices/i2c.yaml', - 'devices/ina219.yaml', - 'devices/lm75b.yaml', - 'devices/one_wire.yaml', - 'devices/pcf_inputs.yaml', - 'devices/uart.yaml', - 'boards/32x10_outputs.yaml', - ] - -logger: - baud_rate: 0 #IMPORTANT FOR V0.5 TO GET MODBUS WORKING -api: -ota: - password: boneio - -web_server: - port: 80 - local: true - -time: - - platform: homeassistant - timezone: Europe/Warsaw - id: homeassistant_time - -light: - - platform: binary - name: 'OUT 1' - output: out_1 - - platform: binary - name: 'OUT 2' - output: out_2 - - platform: binary - name: 'OUT 3' - output: out_3 - - platform: binary - name: 'OUT 4' - output: out_4 - - platform: binary - name: 'OUT 5' - output: out_5 - - platform: binary - name: 'OUT 6' - output: out_6 - - platform: binary - name: 'OUT 7' - output: out_7 - - platform: binary - name: 'OUT 8' - output: out_8 - - platform: binary - name: 'OUT 9' - output: out_9 - - platform: binary - name: 'OUT 10' - output: out_10 - - platform: binary - name: 'OUT 11' - output: out_11 - - platform: binary - name: 'OUT 12' - output: out_12 - - platform: binary - name: 'OUT 13' - output: out_13 - - platform: binary - name: 'OUT 14' - output: out_14 - - platform: binary - name: 'OUT 15' - output: out_15 - - platform: binary - name: 'OUT 16' - output: out_16 - - platform: binary - name: 'OUT 17' - output: out_17 - - platform: binary - name: 'OUT 18' - output: out_18 - - platform: binary - name: 'OUT 19' - output: out_19 - - platform: binary - name: 'OUT 20' - output: out_20 - - platform: binary - name: 'OUT 21' - output: out_21 - - platform: binary - name: 'OUT 22' - output: out_22 - - platform: binary - name: 'OUT 23' - output: out_23 - - platform: binary - name: 'OUT 24' - output: out_24 - - platform: binary - name: 'OUT 25' - output: out_25 - - platform: binary - name: 'OUT 26' - output: out_26 - - platform: binary - name: 'OUT 27' - output: out_27 - - platform: binary - name: 'OUT 28' - output: out_28 - - platform: binary - name: 'OUT 29' - output: out_29 - - platform: binary - name: 'OUT 30' - output: out_30 - - platform: binary - name: 'OUT 31' - output: out_31 - - platform: binary - name: 'OUT 32' - output: out_32 diff --git a/devices_v0_5-v0_6/buzzer.yaml b/devices/buzzer.yaml similarity index 100% rename from devices_v0_5-v0_6/buzzer.yaml rename to devices/buzzer.yaml diff --git a/devices_v0_5-v0_6/display.yaml b/devices_v0_5-v0_6/display.yaml index f7132e2..64cbb62 100644 --- a/devices_v0_5-v0_6/display.yaml +++ b/devices_v0_5-v0_6/display.yaml @@ -27,6 +27,14 @@ text_sensor: id: wt32_uptime entity_category: diagnostic icon: mdi:clock-start + - platform: template + name: 'IP Address' + id: ip_address + entity_category: diagnostic + icon: 'mdi:ip-network' + lambda: |- + return id(eth).get_ip_addresses().empty() ? "Unset" : id(eth).get_ip_addresses()[0].str(); + update_interval: 60s script: - id: screensaver_script @@ -40,11 +48,10 @@ script: esphome: on_boot: - # by default display show the first page defined in display (which is the logo page) until full initialization - # after that we show the first_page and start the screensaver script priority: 0 then: - display.page.show: first_page + - component.update: ip_address - component.update: oled_display - script.execute: screensaver_script @@ -83,43 +90,41 @@ binary_sensor: # restart screensaver script - script.execute: screensaver_script - # it.printf(4, 37, id(roboto_9), TextAlign::BASELINE_LEFT ,"IP addr:"); - # it.printf(124, 37, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%s", id(eth).get_ip_addresses().str().c_str()); display: - platform: ssd1306_i2c id: oled_display model: 'SH1106 128x64' address: 0x3C - i2c_id: bus_b contrast: 0.5 pages: - id: first_page lambda: |- it.rectangle(0, 0, 126, 15); - it.printf(64,11, id(roboto_9), TextAlign::BASELINE_CENTER, "BoneIO"); - it.strftime(64, 25, id(roboto_9), TextAlign::BASELINE_CENTER ,"%c", id(homeassistant_time).now()); - it.printf(4, 49, id(roboto_9), TextAlign::BASELINE_LEFT ,"Uptime:"); - it.printf(124, 49, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str()); - it.printf(4, 61, id(roboto_9), TextAlign::BASELINE_LEFT ,"Temperature:"); - it.printf(124, 61, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state); + it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "bone IO"); + it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"IP addr:"); + it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT ,"%s", id(ip_address).state.c_str()); + it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT ,"Uptime:"); + it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str()); + it.printf(4, 61, id(size_10), TextAlign::BASELINE_LEFT ,"Temperature:"); + it.printf(124, 61, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state); # additional pages should be defined between the first and last page - id: last_page lambda: |- it.rectangle(0, 0, 126, 15); - it.printf(64,11, id(roboto_9), TextAlign::BASELINE_CENTER, "BoneIO"); - it.printf(4, 25, id(roboto_9), TextAlign::BASELINE_LEFT ,"Current:"); - it.printf(124, 25, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state); - it.printf(4, 37, id(roboto_9), TextAlign::BASELINE_LEFT ,"Power:"); - it.printf(124, 37, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state); - it.printf(4, 49, id(roboto_9), TextAlign::BASELINE_LEFT ,"Bus Volt:"); - it.printf(124, 49, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state); - it.printf(4, 61, id(roboto_9), TextAlign::BASELINE_LEFT ,"Shunt Volt:"); - it.printf(124, 61, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state); + it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "bone IO"); + it.printf(4, 25, id(size_10), TextAlign::BASELINE_LEFT ,"Current:"); + it.printf(124, 25, id(size_10), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state); + it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"Power:"); + it.printf(124, 37, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state); + it.printf(4, 49, id(size_10), TextAlign::BASELINE_LEFT ,"Bus Volt:"); + it.printf(124, 49, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state); + it.printf(4, 61, id(size_10), TextAlign::BASELINE_LEFT ,"Shunt Volt:"); + it.printf(124, 61, id(size_10), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state); - id: screensaver lambda: |- it.fill(COLOR_OFF); font: - - file: 'gfonts://Roboto' - id: roboto_9 - size: 9 + - file: 'gfonts://Ubuntu' + id: size_10 + size: 10 diff --git a/devices_v0_5-v0_6/pcf_inputs.yaml b/devices_v0_5-v0_6/pcf.yaml similarity index 63% rename from devices_v0_5-v0_6/pcf_inputs.yaml rename to devices_v0_5-v0_6/pcf.yaml index 245649f..660f5f8 100644 --- a/devices_v0_5-v0_6/pcf_inputs.yaml +++ b/devices_v0_5-v0_6/pcf.yaml @@ -11,3 +11,11 @@ pcf8574: i2c_id: bus_a address: 0x22 pcf8575: false + - id: 'pcf_left' + address: 0x21 + pcf8575: true + i2c_id: bus_b + - id: 'pcf_right' + address: 0x20 + pcf8575: true + i2c_id: bus_b diff --git a/devices_v0_7/buzzer.yaml b/devices_v0_7/buzzer.yaml deleted file mode 100644 index f91b773..0000000 --- a/devices_v0_7/buzzer.yaml +++ /dev/null @@ -1,9 +0,0 @@ -switch: - - platform: gpio - id: buzzer - name: 'Buzzer' - pin: - number: GPIO2 - mode: - output: true - inverted: false diff --git a/devices_v0_7/display.yaml b/devices_v0_7/display.yaml index 4ba4088..fad98d2 100644 --- a/devices_v0_7/display.yaml +++ b/devices_v0_7/display.yaml @@ -7,7 +7,7 @@ sensor: on_raw_value: then: - text_sensor.template.publish: - id: wt32_uptime + 7 id: wt32_uptime state: !lambda |- int seconds = round(id(wt32_uptime_seconds).raw_state); int days = seconds / (24 * 3600); @@ -111,7 +111,7 @@ display: - id: last_page lambda: |- it.rectangle(0, 0, 126, 15); - it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "boneIO"); + it.printf(64,11, id(size_10), TextAlign::BASELINE_CENTER, "bone IO"); it.printf(4, 25, id(size_10), TextAlign::BASELINE_LEFT ,"Current:"); it.printf(124, 25, id(size_10), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state); it.printf(4, 37, id(size_10), TextAlign::BASELINE_LEFT ,"Power:"); diff --git a/devices_v0_7/pcf_with_mcp.yaml b/devices_v0_7/pcf_with_mcp.yaml new file mode 100644 index 0000000..9e63166 --- /dev/null +++ b/devices_v0_7/pcf_with_mcp.yaml @@ -0,0 +1,18 @@ +pcf8574: + - id: 'pcf_inputs_1to14' + i2c_id: i2c_bus + address: 0x20 + pcf8575: true + - id: 'pcf_inputs_15to28' + i2c_id: i2c_bus + address: 0x21 + pcf8575: true + - id: 'pcf_inputs_28to35_menu' + i2c_id: i2c_bus + address: 0x22 + pcf8575: false +mcp23017: + - id: 'mcp_left' + address: 0x23 + - id: 'mcp_right' + address: 0x24 diff --git a/devices_v0_7/uart.yaml b/devices_v0_7/uart.yaml index 9f7c035..1added4 100644 --- a/devices_v0_7/uart.yaml +++ b/devices_v0_7/uart.yaml @@ -1,5 +1,5 @@ uart: - id: uart_pin3_1 + id: uart_pin14_15 rx_pin: GPIO14 tx_pin: GPIO15 baud_rate: 9600 diff --git a/test_esplan.yaml b/test_esplan.yaml deleted file mode 100644 index a7ebae6..0000000 --- a/test_esplan.yaml +++ /dev/null @@ -1,188 +0,0 @@ -substitutions: - devicename: wt32 - -esphome: - name: ${devicename} - platform: ESP32 - board: esp-wrover-kit - on_boot: - then: - ds1307.read_time: - - -ethernet: - type: LAN8720 - mdc_pin: GPIO23 - mdio_pin: GPIO18 - clk_mode: GPIO0_IN - phy_addr: 1 - power_pin: GPIO16 - id: eth - -external_components: - - source: github://ell249/esphome-PCT2075@master - components: [ pct2075 ] - - source: github://btomala/esphome-LM75@v1 - components: [ lm75 ] - -font: - - file: "fonts/DejaVuSans.ttf" - id: fontSmall - size: 9 - - file: "fonts/danube__.ttf" - id: danube - size: 15 - -logger: - level: DEBUG - baud_rate: 0 #Important. You can't use serial port - -api: -ota: - -web_server: - port: 80 - -i2c: - - id: bus_b - sda: 14 - scl: 15 - scan: true - -time: - - platform: ds1307 - update_interval: never - - platform: homeassistant - on_time_sync: - then: - ds1307.write_time: - - -display: - - platform: ssd1306_i2c - model: "SH1106 128x64" - address: 0x3C - id: my_display - pages: - - id: page1 - lambda: |- - it.print(3, 3, id(danube), "bone"); - it.print(53, 3, id(danube), "iO"); - it.print(3, 22, id(fontSmall), "Host: ${devicename}"); - int seconds = round(id(uptime_sensor).raw_state); - int days = seconds / (24 * 3600); - seconds = seconds % (24 * 3600); - int hours = seconds / 3600; - seconds = seconds % 3600; - int minutes = seconds / 60; - seconds = seconds % 60; - it.printf(3, 32, id(fontSmall), "IP Address: 192.168.1.1"); - it.printf(3, 42, id(fontSmall), "Uptime: %s", ( - (days ? to_string(days) + "d " : "") + - (hours ? to_string(hours) + "h " : "") + - (minutes ? to_string(minutes) + "m " : "") + - (to_string(seconds) + "s") - ).c_str()); - - id: page2 - lambda: |- - it.printf(0, 0, id(fontSmall), "MCP1_1: %s", id(switch_mcp_out1_1).state ? "ON" : "OFF"); - it.print(0, 10, id(fontSmall), "This is page 2!"); -sensor: - - platform: mcp9808 - name: "Living Room Temperature" - update_interval: 60s - - platform: uptime - id: uptime_sensor - - platform: lm75 - id: temperature - name: "Board temperature measurement" - update_interval: 60s - address: 0x48 -# sensor: - # it.printf(3, 32, id(fontSmall), "Wi-Fi: %.1s", id(eth).state); -# - platform: pct2075 -# address: 0x18 -# temperature: -# name: "PCT2075 Temperature" -# update_interval: 30s - - -mcp23017: - - id: 'mcp23017_out1' - address: 0x20 - - id: 'mcp23017_out2' - address: 0x21 - - id: 'mcp23017_out3' - address: 0x22 - - id: 'mcp23017_out4' - address: 0x23 - -# # Individual outputs -switch: - - platform: gpio - id: switch_mcp_out1_1 - name: "MCP23017 Pin A0" - pin: - mcp23xxx: mcp23017_out1 - number: 0 - mode: - output: true - inverted: false - - platform: gpio - name: "MCP23017_1 Pin A0" - pin: - mcp23xxx: mcp23017_out2 - number: 0 - mode: - output: true - inverted: false - -# # Individual inputs -binary_sensor: - - platform: gpio - id: internal_button - pin: - number: GPIO4 - mode: - input: true - pullup: true - inverted: true - filters: - - delayed_on: 10ms - on_press: - then: - - display.page.show_next: my_display - - platform: gpio - id: binary_sensor1 - name: "MCP23017 Pin A0" - pin: - mcp23xxx: mcp23017_out4 - number: 0 - mode: - output: false - inverted: false - on_multi_click: - - timing: - - ON for at most 1s - - OFF for at most 0.3s - - ON for at most 1s - - OFF for at least 0.2s - then: - - switch.turn_on: switch_mcp_out1_1 - - logger.log: "Double-Clicked" - - timing: - - ON for at most 1s - - OFF for at least 0.5s - then: - - switch.toggle: switch_mcp_out1_1 - - logger.log: "Single-Clicked" -# name: "MCP23017 Pin B7" -# pin: -# mcp23xxx: mcp23017_hub -# # Use pin B7 -# number: 15 -# # One of INPUT or INPUT_PULLUP -# mode: -# input: true -# pullup: true -# inverted: false