diff --git a/cover_32x10A_board.yaml b/cover_32x10A_board.yaml deleted file mode 100644 index 1b7c132..0000000 --- a/cover_32x10A_board.yaml +++ /dev/null @@ -1,1322 +0,0 @@ -esphome: - name: cover-board-v0-1 - -esp32: - board: esp32dev - framework: - type: arduino - -external_components: - - source: github://ell249/esphome-PCT2075@master - components: [ pct2075 ] - -ethernet: - id: eth - type: LAN8720 - mdc_pin: GPIO23 - mdio_pin: GPIO18 - clk_mode: GPIO0_IN - phy_addr: 1 - power_pin: GPIO16 - - -i2c: - sda: GPIO14 - scl: GPIO15 - scan: True - frequency: 100kHz - -logger: - baud_rate: 0 -api: -ota: -web_server: - port: 80 - -time: - - platform: ds1307 - id: ds1307_time - - - platform: homeassistant - # instead try to synchronize via network repeatedly ... - on_time_sync: - then: - # ... and update the RTC when the synchronization was successful - ds1307.write_time: - - -mcp23017: - - id: 'mcp_1' - address: 0x26 - - id: 'mcp_2' - address: 0x27 - - id: 'mcp_3' - address: 0x21 - - id: 'mcp_4' - address: 0x20 - -uart: - - id: modbus_serial - rx_pin: GPIO3 - tx_pin: GPIO1 - baud_rate: 9600 - stop_bits: 1 - -#modbus: - - #flow_control_pin: 5 - #id: modbus1 - #uart_id: modbus_serial - -#modbus_controller: - - # - id: edpbox - # update_interval: 31s - # address: 0x1 - # command_throttle: 150ms - # setup_priority: -10 - -switch: - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 0 - mode: OUTPUT - inverted: false - id: relay1 - interlock: &interlock_1 [relay1, relay2] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 1 - mode: OUTPUT - inverted: false - id: relay2 - interlock: *interlock_1 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 2 - mode: OUTPUT - inverted: false - id: relay3 - interlock: &interlock_2 [relay3, relay4] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 3 - mode: OUTPUT - inverted: false - id: relay4 - interlock: *interlock_2 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 4 - mode: OUTPUT - inverted: false - id: relay5 - interlock: &interlock_3 [relay5, relay6] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 5 - mode: OUTPUT - inverted: false - id: relay6 - interlock: *interlock_3 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 6 - mode: OUTPUT - inverted: false - id: relay7 - interlock: &interlock_4 [relay7, relay8] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 7 - mode: OUTPUT - inverted: false - id: relay8 - interlock: *interlock_4 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 8 - mode: OUTPUT - inverted: false - id: relay9 - interlock: &interlock_5 [relay9, relay10] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 9 - mode: OUTPUT - inverted: false - id: relay10 - interlock: *interlock_5 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 10 - mode: OUTPUT - inverted: false - id: relay11 - interlock: &interlock_6 [relay11, relay12] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 11 - mode: OUTPUT - inverted: false - id: relay12 - interlock: *interlock_6 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 12 - mode: OUTPUT - inverted: false - id: relay13 - interlock: &interlock_7 [relay13, relay14] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 13 - mode: OUTPUT - inverted: false - id: relay14 - interlock: *interlock_7 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 14 - mode: OUTPUT - inverted: false - id: relay15 - interlock: &interlock_8 [relay15, relay16] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_3 - number: 15 - mode: OUTPUT - inverted: false - id: relay16 - interlock: *interlock_8 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 0 - mode: OUTPUT - inverted: false - id: relay17 - interlock: &interlock_9 [relay17, relay18] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 1 - mode: OUTPUT - inverted: false - id: relay18 - interlock: *interlock_9 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 2 - mode: OUTPUT - inverted: false - id: relay19 - interlock: &interlock_10 [relay19, relay20] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 3 - mode: OUTPUT - inverted: false - id: relay20 - interlock: *interlock_10 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 4 - mode: OUTPUT - inverted: false - id: relay21 - interlock: &interlock_11 [relay21, relay22] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 5 - mode: OUTPUT - inverted: false - id: relay22 - interlock: *interlock_11 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 6 - mode: OUTPUT - inverted: false - id: relay23 - interlock: &interlock_12 [relay23, relay24] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 7 - mode: OUTPUT - inverted: false - id: relay24 - interlock: *interlock_12 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 8 - mode: OUTPUT - inverted: false - id: relay25 - interlock: &interlock_13 [relay25, relay26] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 9 - mode: OUTPUT - inverted: false - id: relay26 - interlock: *interlock_13 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 10 - mode: OUTPUT - inverted: false - id: relay27 - interlock: &interlock_14 [relay27, relay28] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 11 - mode: OUTPUT - inverted: false - id: relay28 - interlock: *interlock_14 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 12 - mode: OUTPUT - inverted: false - id: relay29 - interlock: &interlock_15 [relay29, relay30] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 13 - mode: OUTPUT - inverted: false - id: relay30 - interlock: *interlock_15 - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 14 - mode: OUTPUT - inverted: false - id: relay31 - interlock: &interlock_16 [relay31, relay32] - interlock_wait_time: 200ms - - platform: gpio - pin: - mcp23xxx: mcp_4 - number: 15 - mode: OUTPUT - inverted: false - id: relay32 - interlock: *interlock_16 - interlock_wait_time: 200ms - - - - -cover: - - platform: time_based - name: "Cover_01" - id: cover_01 - assumed_state: false - open_action: - - switch.turn_on: relay1 - open_duration: 30s - close_action: - - switch.turn_on: relay2 - close_duration: 30s - stop_action: - - switch.turn_off: relay1 - - switch.turn_off: relay2 - - platform: time_based - name: "Cover_02" - id: cover_02 - assumed_state: false - open_action: - - switch.turn_on: relay3 - open_duration: 30s - close_action: - - switch.turn_on: relay4 - close_duration: 30s - stop_action: - - switch.turn_off: relay3 - - switch.turn_off: relay4 - - platform: time_based - name: "Cover_03" - id: cover_03 - assumed_state: false - open_action: - - switch.turn_on: relay5 - open_duration: 30s - close_action: - - switch.turn_on: relay6 - close_duration: 30s - stop_action: - - switch.turn_off: relay5 - - switch.turn_off: relay6 - - platform: time_based - name: "Cover_04" - id: cover_04 - assumed_state: false - open_action: - - switch.turn_on: relay7 - open_duration: 30s - close_action: - - switch.turn_on: relay8 - close_duration: 30s - stop_action: - - switch.turn_off: relay7 - - switch.turn_off: relay8 - - platform: time_based - name: "Cover_05" - id: cover_05 - assumed_state: false - open_action: - - switch.turn_on: relay9 - open_duration: 30s - close_action: - - switch.turn_on: relay10 - close_duration: 30s - stop_action: - - switch.turn_off: relay9 - - switch.turn_off: relay10 - - platform: time_based - name: "Cover_06" - id: cover_06 - assumed_state: false - open_action: - - switch.turn_on: relay11 - open_duration: 30s - close_action: - - switch.turn_on: relay12 - close_duration: 30s - stop_action: - - switch.turn_off: relay11 - - switch.turn_off: relay12 - - platform: time_based - name: "Cover_07" - id: cover_07 - assumed_state: false - open_action: - - switch.turn_on: relay13 - open_duration: 30s - close_action: - - switch.turn_on: relay14 - close_duration: 30s - stop_action: - - switch.turn_off: relay13 - - switch.turn_off: relay14 - - platform: time_based - name: "Cover_08" - id: cover_08 - assumed_state: false - open_action: - - switch.turn_on: relay15 - open_duration: 30s - close_action: - - switch.turn_on: relay16 - close_duration: 30s - stop_action: - - switch.turn_off: relay15 - - switch.turn_off: relay16 - - platform: time_based - name: "Cover_09" - id: cover_09 - assumed_state: false - open_action: - - switch.turn_on: relay17 - open_duration: 30s - close_action: - - switch.turn_on: relay18 - close_duration: 30s - stop_action: - - switch.turn_off: relay17 - - switch.turn_off: relay18 - - platform: time_based - name: "Cover_10" - id: cover_10 - assumed_state: false - open_action: - - switch.turn_on: relay19 - open_duration: 30s - close_action: - - switch.turn_on: relay20 - close_duration: 30s - stop_action: - - switch.turn_off: relay19 - - switch.turn_off: relay20 - - platform: time_based - name: "Cover_11" - id: cover_11 - assumed_state: false - open_action: - - switch.turn_on: relay21 - open_duration: 30s - close_action: - - switch.turn_on: relay22 - close_duration: 30s - stop_action: - - switch.turn_off: relay21 - - switch.turn_off: relay22 - - platform: time_based - name: "Cover_12" - id: cover_12 - assumed_state: false - open_action: - - switch.turn_on: relay23 - open_duration: 35s - close_action: - - switch.turn_on: relay24 - close_duration: 29s - stop_action: - - switch.turn_off: relay23 - - switch.turn_off: relay24 - - platform: time_based - name: "Cover_13" - id: cover_13 - assumed_state: false - open_action: - - switch.turn_on: relay25 - open_duration: 35s - close_action: - - switch.turn_on: relay26 - close_duration: 29s - stop_action: - - switch.turn_off: relay25 - - switch.turn_off: relay26 - - platform: time_based - name: "Cover_14" - id: cover_14 - assumed_state: false - open_action: - - switch.turn_on: relay27 - open_duration: 35s - close_action: - - switch.turn_on: relay28 - close_duration: 29s - stop_action: - - switch.turn_off: relay27 - - switch.turn_off: relay28 - - platform: time_based - name: "Cover_15" - id: cover_15 - assumed_state: false - open_action: - - switch.turn_on: relay29 - open_duration: 35s - close_action: - - switch.turn_on: relay30 - close_duration: 29s - stop_action: - - switch.turn_off: relay29 - - switch.turn_off: relay30 - - platform: time_based - name: "Cover_16" - id: cover_16 - assumed_state: false - open_action: - - switch.turn_on: relay31 - open_duration: 17s - close_action: - - switch.turn_on: relay32 - close_duration: 14s - stop_action: - - switch.turn_off: relay31 - - switch.turn_off: relay32 - - - - -binary_sensor: - - - platform: gpio - name: "IN_01" - pin: - mcp23xxx: mcp_1 - number: 0 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_01 - on_release: - cover.stop: cover_01 - - platform: gpio - name: "IN_02" - pin: - mcp23xxx: mcp_1 - number: 1 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_01 - on_release: - cover.stop: cover_01 - - platform: gpio - name: "IN_03" - pin: - mcp23xxx: mcp_1 - number: 2 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_02 - on_release: - cover.stop: cover_02 - - platform: gpio - name: "IN_04" - pin: - mcp23xxx: mcp_1 - number: 3 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_02 - on_release: - cover.stop: cover_02 - - platform: gpio - name: "IN_05" - pin: - mcp23xxx: mcp_1 - number: 4 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_03 - on_release: - cover.stop: cover_03 - - platform: gpio - name: "IN_06" - pin: - mcp23xxx: mcp_1 - number: 5 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_03 - on_release: - cover.stop: cover_03 - - platform: gpio - name: "IN_07" - pin: - mcp23xxx: mcp_1 - number: 6 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_04 - on_release: - cover.stop: cover_04 - - platform: gpio - name: "IN_08" - pin: - mcp23xxx: mcp_1 - number: 7 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_04 - on_release: - cover.stop: cover_04 - - platform: gpio - name: "IN_09" - pin: - mcp23xxx: mcp_1 - number: 8 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_05 - on_release: - cover.stop: cover_05 - - platform: gpio - name: "IN_10" - pin: - mcp23xxx: mcp_1 - number: 9 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_05 - on_release: - cover.stop: cover_05 - - platform: gpio - name: "IN_11" - pin: - mcp23xxx: mcp_1 - number: 10 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_06 - on_release: - cover.stop: cover_06 - - platform: gpio - name: "IN_12" - pin: - mcp23xxx: mcp_1 - number: 11 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_06 - on_release: - cover.stop: cover_06 - - platform: gpio - name: "IN_13" - pin: - mcp23xxx: mcp_1 - number: 12 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_07 - on_release: - cover.stop: cover_07 - - platform: gpio - name: "IN_14" - pin: - mcp23xxx: mcp_1 - number: 13 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_07 - on_release: - cover.stop: cover_07 - - platform: gpio - name: "IN_15" - pin: - mcp23xxx: mcp_1 - number: 14 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_08 - on_release: - cover.stop: cover_08 - - platform: gpio - name: "IN_16" - pin: - mcp23xxx: mcp_1 - number: 15 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_08 - on_release: - cover.stop: cover_08 - - platform: gpio - name: "IN_17" - pin: - mcp23xxx: mcp_2 - number: 7 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_09 - on_release: - cover.stop: cover_09 - - platform: gpio - name: "IN_18" - pin: - mcp23xxx: mcp_2 - number: 6 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_09 - on_release: - cover.stop: cover_09 - - platform: gpio - name: "IN_19" - pin: - mcp23xxx: mcp_2 - number: 5 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_10 - on_release: - cover.stop: cover_10 - - platform: gpio - name: "IN_20" - pin: - mcp23xxx: mcp_2 - number: 4 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_10 - on_release: - cover.stop: cover_10 - - platform: gpio - name: "IN_21" - pin: - mcp23xxx: mcp_2 - number: 3 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_11 - on_release: - cover.stop: cover_11 - - platform: gpio - name: "IN_22" - pin: - mcp23xxx: mcp_2 - number: 2 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_11 - on_release: - cover.stop: cover_11 - - platform: gpio - name: "IN_23" - pin: - mcp23xxx: mcp_2 - number: 1 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.open: cover_12 - on_release: - cover.stop: cover_12 - - platform: gpio - name: "IN_24" - pin: - mcp23xxx: mcp_2 - number: 0 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - cover.close: cover_12 - on_release: - cover.stop: cover_12 - - platform: gpio - name: "IN_25" - pin: - mcp23xxx: mcp_2 - number: 8 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_13).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_13).is_fully_closed()) { - id(cover_13).open(); - } else { - id(cover_13).open(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_13).stop(); - } -# cover.open: cover_13 -# on_release: -# cover.stop: cover_13 - - platform: gpio - name: "IN_26" - pin: - mcp23xxx: mcp_2 - number: 9 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_13).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_13).is_fully_closed()) { - id(cover_13).open(); - } else { - id(cover_13).close(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_13).stop(); - } -# cover.close: cover_13 -# on_release: -# cover.stop: cover_13 - - platform: gpio - name: "IN_27" - pin: - mcp23xxx: mcp_2 - number: 10 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_14).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_14).is_fully_closed()) { - id(cover_14).open(); - } else { - id(cover_14).open(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_14).stop(); - } -# cover.open: cover_14 -# on_release: -# cover.stop: cover_14 - - platform: gpio - name: "IN_28" - pin: - mcp23xxx: mcp_2 - number: 11 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_14).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_14).is_fully_closed()) { - id(cover_14).open(); - } else { - id(cover_14).close(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_14).stop(); - } -# cover.close: cover_14 -# on_release: -# cover.stop: cover_14 - - platform: gpio - name: "IN_29" - pin: - mcp23xxx: mcp_2 - number: 12 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_15).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_15).is_fully_closed()) { - id(cover_15).open(); - } else { - id(cover_15).open(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_15).stop(); - } -# cover.open: cover_15 -# on_release: -# cover.stop: cover_15 - - platform: gpio - name: "IN_30" - pin: - mcp23xxx: mcp_2 - number: 13 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_15).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_15).is_fully_closed()) { - id(cover_15).open(); - } else { - id(cover_15).close(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_15).stop(); - } -# cover.close: cover_15 -# on_release: -# cover.stop: cover_15 - - platform: gpio - name: "IN_31" - pin: - mcp23xxx: mcp_2 - number: 14 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_16).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_16).is_fully_closed()) { - id(cover_16).open(); - } else { - id(cover_16).open(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_16).stop(); - } -# - cover.toggle: cover_16 -# else: -# - cover.stop: cover_16 - - - platform: gpio - name: "IN_32" - pin: - mcp23xxx: mcp_2 - number: 15 - mode: - input: true - pullup: false - inverted: true - on_press: - then: - # logic for cycling through movements: open->stop->close->stop->... - - lambda: | - if (id(cover_16).current_operation == COVER_OPERATION_IDLE) { - // Cover is idle, check current state and either open or close cover. - if (id(cover_16).is_fully_closed()) { - id(cover_16).open(); - } else { - id(cover_16).close(); - } - } else { - // Cover is opening/closing. Stop it. - id(cover_16).stop(); - } -# - cover.toggle: cover_16 -# - cover.stop: cover_16 - - - - platform: gpio - name: "IN_33" - pin: - number: GPIO33 - mode: - input: true - pullup: false - inverted: true - - - platform: gpio - name: "IN_34" - pin: - number: GPIO17 - mode: - input: true - pullup: false - inverted: true - - - platform: gpio - name: "IN_35" - pin: - number: GPIO12 - mode: - input: true - pullup: true - inverted: false - - - platform: gpio - name: "USER_SWITCH" - pin: - number: GPIO4 - mode: - input: true - pullup: true - inverted: true - on_press: - then: - - display.page.show_next: oled_display - - component.update: oled_display - - - -text_sensor: - - platform: template - name: ${node_name} Uptime - id: wt32_uptime - entity_category: diagnostic - icon: mdi:clock-start - - platform: template - name: "${node_name} IP" - id: ip_address - entity_category: diagnostic - icon: "mdi:ip-network" - lambda: return { id(eth).get_ip_address().str() }; - update_interval: 60s - -#dallas: -# - pin: GPIO32 - -sensor: - - platform: pct2075 - temperature: - id: led_temp - name: "${node_name} LM75B Temperature" - update_interval: 30s - - platform: uptime - name: ${node_name} uptime text - id: wt32_uptime_sensor - update_interval: 60s - on_raw_value: - then: - - text_sensor.template.publish: - id: wt32_uptime - state: !lambda |- - int seconds = round(id(wt32_uptime_sensor).raw_state); - int days = seconds / (24 * 3600); - seconds = seconds % (24 * 3600); - int hours = seconds / 3600; - seconds = seconds % 3600; - int minutes = seconds / 60; - return ( - (days ? to_string(days) + "d " : "") + - (hours ? to_string(hours) + "h " : "") + - (to_string(minutes) + "m") - ).c_str(); - - - -# - platform: mcp9808 -# name: "MCP9808 temp" -# update_interval: 60s - -# - platform: dallas -# address: 0x283c01d607d4df28 -# name: "Dallas Sensor 1" - -# - platform: dallas -# address: 0xdfe67a061e64ff28 -# name: "Dallas Sensor 2" - -# - platform: dallas -# address: 0xa7a89f071e64ff28 -# name: "Dallas Sensor 3" - - - - platform: ina219 - address: 0x40 - shunt_resistance: 0.1 ohm - current: - id: ina_current - name: "${node_name} INA219 Current" - power: - id: ina_power - name: "${node_name} INA219 Power" - bus_voltage: - id: ina_bus_voltage - name: "${node_name} INA219 Bus Voltage" - shunt_voltage: - id: ina_shunt_voltage - name: "${node_name} INA219 Shunt Voltage" - max_voltage: 32.0V - max_current: 3.2A - update_interval: 30s - - -# pin: GPIO36 -# name: "ADC_1" -# update_interval: 5s - -# - platform: adc -# pin: GPIO39 -# name: "ADC_2" -# update_interval: 5s - - -display: - - platform: ssd1306_i2c - id: oled_display - model: "SH1106 128x64" - address: 0x3C - contrast: 0.5 - pages: - - id: page1 - lambda: |- - it.printf(64,25, id(danube), TextAlign::BASELINE_CENTER, "boneIO"); - it.printf(64,40, id(fontSmall), TextAlign::BASELINE_CENTER, "take control"); - it.printf(64,50, id(fontSmall), TextAlign::BASELINE_CENTER, "of your home"); - - id: page2 - lambda: |- - it.rectangle(0, 0, 126, 15); - it.printf(64,12, id(danube1), TextAlign::BASELINE_CENTER, "BoneIO"); - it.strftime(64, 26, id(fontSmall), TextAlign::BASELINE_CENTER ,"%c", id(ds1307_time).now()); - it.printf(4, 38, id(fontSmall), TextAlign::BASELINE_LEFT ,"IP addr:"); - it.printf(124, 38, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%s", id(ip_address).state.c_str()); - it.printf(4, 50, id(fontSmall), TextAlign::BASELINE_LEFT ,"Uptime:"); - it.printf(124, 50, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str()); - it.printf(4, 62, id(fontSmall), TextAlign::BASELINE_LEFT ,"Temperature:"); - it.printf(124, 62, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(led_temp).state); - - id: page3 - lambda: |- - it.rectangle(0, 0, 126, 15); - it.printf(64,12, id(danube1), TextAlign::BASELINE_CENTER, "BoneIO"); - it.printf(4, 26, id(fontSmall), TextAlign::BASELINE_LEFT ,"Current:"); - it.printf(124, 26, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state); - it.printf(4, 38, id(fontSmall), TextAlign::BASELINE_LEFT ,"Power:"); - it.printf(124, 38, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state); - it.printf(4, 50, id(fontSmall), TextAlign::BASELINE_LEFT ,"Bus Volt:"); - it.printf(124, 50, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state); - it.printf(4, 62, id(fontSmall), TextAlign::BASELINE_LEFT ,"Shunt Volt:"); - it.printf(124, 62, id(fontSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state); - -font: - - file: "fonts/DejaVuSans.ttf" - id: fontSmall - size: 9 - - file: "fonts/danube__.ttf" - id: danube - size: 20 - - file: "fonts/danube__.ttf" - id: danube1 - size: 9