From 8c4ce848f04875f1c918a8024ce97310aec99bbb Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Wed, 26 Jun 2024 09:39:07 +0200 Subject: [PATCH 01/14] Create boneio-32x10_switches_v0_4.yaml --- boneio-32x10_switches_v0_4.yaml | 1 + 1 file changed, 1 insertion(+) create mode 100644 boneio-32x10_switches_v0_4.yaml diff --git a/boneio-32x10_switches_v0_4.yaml b/boneio-32x10_switches_v0_4.yaml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/boneio-32x10_switches_v0_4.yaml @@ -0,0 +1 @@ + From fb3a0c5308c732d913373b5ba672fe6b10211019 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Wed, 26 Jun 2024 09:42:46 +0200 Subject: [PATCH 02/14] Update boneio-32x10_switches_v0_4.yaml --- boneio-32x10_switches_v0_4.yaml | 653 ++++++++++++++++++++++++++++++++ 1 file changed, 653 insertions(+) diff --git a/boneio-32x10_switches_v0_4.yaml b/boneio-32x10_switches_v0_4.yaml index 8b13789..db9309f 100644 --- a/boneio-32x10_switches_v0_4.yaml +++ b/boneio-32x10_switches_v0_4.yaml @@ -1 +1,654 @@ +substitutions: + name: boneio-32-sw-04 + friendly_name: 'BoneIO ESP 32x10 Switches' + serial_prefix: 'esp' #Don't change it. +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + name_add_mac_suffix: true + project: + name: boneio.32x10-lights + version: '0.4' + +esp32: + board: nodemcu-32s + +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_4.yaml@latest + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.1.0 + files: [ + 'devices/buzzer.yaml', + 'devices/serial_no.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', + ] + +logger: +api: +ota: + platform: esphome + +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 +###################### +### MODBUS SECTION ### +###################### +# UNCOMMENT BELOW TO USE MODBUS +# uart: +# id: uart_pin14_15 +# rx_pin: GPIO14 +# tx_pin: GPIO15 +# baud_rate: 9600 +# stop_bits: 1 + +# modbus: +# send_wait_time: 200ms +# uart_id: uart_pin14_15 +# id: boneio_modbus + +# modbus_controller: +# - id: YOURDEVICE ID +# address: 0x09 +# modbus_id: mod_bus +# setup_priority: -10 +# update_interval: 60s From 91dd0d9e7869b15adae864ebe659b3ff0207c089 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 21:53:01 +0200 Subject: [PATCH 03/14] Update boneio-32x10_switches_v0_4.yaml --- boneio-32x10_switches_v0_4.yaml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/boneio-32x10_switches_v0_4.yaml b/boneio-32x10_switches_v0_4.yaml index db9309f..4d5548e 100644 --- a/boneio-32x10_switches_v0_4.yaml +++ b/boneio-32x10_switches_v0_4.yaml @@ -8,8 +8,8 @@ esphome: friendly_name: '${friendly_name}' name_add_mac_suffix: true project: - name: boneio.32x10-lights - version: '0.4' + name: boneio.32x10-switches + version: '0.4PP' esp32: board: nodemcu-32s @@ -22,6 +22,7 @@ ethernet: clk_mode: GPIO0_IN phy_addr: 1 power_pin: GPIO16 + #use_address: dashboard_import: package_import_url: github://boneIO-eu/esphome/boneio-32x10_switches_v0_4.yaml@latest @@ -47,7 +48,9 @@ logger: api: ota: platform: esphome - + password: boneio + +# disable web server - for testing only web_server: port: 80 local: true @@ -56,7 +59,12 @@ time: - platform: homeassistant timezone: Europe/Warsaw id: homeassistant_time - + # instead try to synchronize via network repeatedly ... + on_time_sync: + then: + # ... and update the RTC when the synchronization was successful + ds1307.write_time: + switch: - platform: output name: 'Switch 01' From 118887d7a9dddc58914b55cfcbe19d93c9e9ae29 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:02:53 +0200 Subject: [PATCH 04/14] Create i2c.yaml --- devices_v0.4/i2c.yaml | 1 + 1 file changed, 1 insertion(+) create mode 100644 devices_v0.4/i2c.yaml diff --git a/devices_v0.4/i2c.yaml b/devices_v0.4/i2c.yaml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/devices_v0.4/i2c.yaml @@ -0,0 +1 @@ + From 609b2ebe7611e5a3d48e8e8b2ffd4a3bc6d84127 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:03:23 +0200 Subject: [PATCH 05/14] Update i2c.yaml --- devices_v0.4/i2c.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/devices_v0.4/i2c.yaml b/devices_v0.4/i2c.yaml index 8b13789..0dc4143 100644 --- a/devices_v0.4/i2c.yaml +++ b/devices_v0.4/i2c.yaml @@ -1 +1,6 @@ - +i2c: + - id: i2c_bus + sda: GPIO14 + scl: GPIO15 + scan: True + frequency: 400kHz From f92c1d1523df52ae856fda1e11bcd4c39fa96a80 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:04:19 +0200 Subject: [PATCH 06/14] Create ina219.yaml --- devices_v0.4/ina219.yaml | 1 + 1 file changed, 1 insertion(+) create mode 100644 devices_v0.4/ina219.yaml diff --git a/devices_v0.4/ina219.yaml b/devices_v0.4/ina219.yaml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/devices_v0.4/ina219.yaml @@ -0,0 +1 @@ + From 1f484039e73ccac768b9c32b8b04e9b3ab8ba758 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:04:46 +0200 Subject: [PATCH 07/14] Update ina219.yaml --- devices_v0.4/ina219.yaml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/devices_v0.4/ina219.yaml b/devices_v0.4/ina219.yaml index 8b13789..20b7c8a 100644 --- a/devices_v0.4/ina219.yaml +++ b/devices_v0.4/ina219.yaml @@ -1 +1,20 @@ - +sensor: + # Module power consmption + - platform: ina219 + address: 0x40 + shunt_resistance: 0.1 ohm + current: + id: ina_current + name: 'INA219 Current' + power: + id: ina_power + name: 'INA219 Power' + bus_voltage: + id: ina_bus_voltage + name: 'INA219 Bus Voltage' + shunt_voltage: + id: ina_shunt_voltage + name: 'INA219 Shunt Voltage' + max_voltage: 32.0V + max_current: 3.2A + update_interval: 30s From 9f0bc09e32a75d8e78f4d4ec82a33d6b6f5807f2 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:16:42 +0200 Subject: [PATCH 08/14] Create pcf.yaml --- devices_v0.4/pcf.yaml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 devices_v0.4/pcf.yaml diff --git a/devices_v0.4/pcf.yaml b/devices_v0.4/pcf.yaml new file mode 100644 index 0000000..1f8fc07 --- /dev/null +++ b/devices_v0.4/pcf.yaml @@ -0,0 +1,7 @@ +pcf8574: + - id: 'pcf_left' + address: 0x21 + pcf8575: true + - id: 'pcf_right' + address: 0x20 + pcf8575: true From a1aefcccf8dcb800857eff133f11e0c22d207091 Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sat, 17 Aug 2024 22:28:39 +0200 Subject: [PATCH 09/14] Create display.yaml --- devices_v0.4/display.yaml | 131 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 devices_v0.4/display.yaml diff --git a/devices_v0.4/display.yaml b/devices_v0.4/display.yaml new file mode 100644 index 0000000..12b73e3 --- /dev/null +++ b/devices_v0.4/display.yaml @@ -0,0 +1,131 @@ +#i2c address: 0x3C input oled +sensor: + - platform: uptime + id: wt32_uptime_seconds + update_interval: 60s + entity_category: diagnostic + on_raw_value: + then: + - text_sensor.template.publish: + id: wt32_uptime + state: !lambda |- + int seconds = round(id(wt32_uptime_seconds).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(); + +text_sensor: + - platform: template + name: Uptime + 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 + # screensaver script, turn on screensaver after 30 seconds, restart counter each time when invoked + mode: restart + then: + # set the time after which the screensaver will be activated + - delay: 30s + - display.page.show: screensaver + - component.update: oled_display + +esphome: + on_boot: + priority: 0 + then: + - display.page.show: first_page + - component.update: ip_address + - component.update: oled_display + - script.execute: screensaver_script + +binary_sensor: + - platform: gpio + entity_category: config + id: boneIO_button + pin: + number: GPIO4 + mode: + input: true + pullup: true + inverted: true + on_press: + then: + # woke up when on the screensaver, as well do not include the logo page and screensaver in a loop when pushing a button + - if: + condition: + # on the last page go to the first page skipping the screensaver and logo page + display.is_displaying_page: last_page + then: + - display.page.show: first_page + - component.update: oled_display + else: + - if: + condition: + # on the screensaver, show the logo for a while and display the first page + display.is_displaying_page: screensaver + then: + - display.page.show: first_page + - component.update: oled_display + else: + # not the last page and screensaver go to the next page + - display.page.show_next: oled_display + - component.update: oled_display + # restart screensaver script + - script.execute: screensaver_script + +display: + - platform: ssd1306_i2c + id: oled_display + model: "SH1106 128x64" + address: 0x3C + contrast: 0.5 + pages: + - id: first_page + lambda: |- + it.rectangle(0, 0, 126, 15); + 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(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://Ubuntu' + id: size_10 + size: 10 + From 24398e5bfd6f8e9a03787d545622130ccf709f3a Mon Sep 17 00:00:00 2001 From: wedr0wycz <98967693+wedr0wycz@users.noreply.github.com> Date: Sun, 18 Aug 2024 00:26:31 +0200 Subject: [PATCH 10/14] nowy katalog z konfigami dla wersji 0.4PP --- boneio-32x10_switches_v0_4.yaml | 11 +++++------ devices_v0.4/pcf.yaml | 7 ------- {devices_v0.4 => devices_v0_4}/display.yaml | 0 {devices_v0.4 => devices_v0_4}/i2c.yaml | 0 {devices_v0.4 => devices_v0_4}/ina219.yaml | 0 devices_v0_4/lm75b.yaml | 12 ++++++++++++ devices_v0_4/pcf.yaml | 13 +++++++++++++ devices_v0_4/time.yaml | 3 +++ 8 files changed, 33 insertions(+), 13 deletions(-) delete mode 100644 devices_v0.4/pcf.yaml rename {devices_v0.4 => devices_v0_4}/display.yaml (100%) rename {devices_v0.4 => devices_v0_4}/i2c.yaml (100%) rename {devices_v0.4 => devices_v0_4}/ina219.yaml (100%) create mode 100644 devices_v0_4/lm75b.yaml create mode 100644 devices_v0_4/pcf.yaml create mode 100644 devices_v0_4/time.yaml diff --git a/boneio-32x10_switches_v0_4.yaml b/boneio-32x10_switches_v0_4.yaml index 4d5548e..1a294c5 100644 --- a/boneio-32x10_switches_v0_4.yaml +++ b/boneio-32x10_switches_v0_4.yaml @@ -33,13 +33,12 @@ packages: url: https://github.com/boneIO-eu/esphome ref: v1.1.0 files: [ - 'devices/buzzer.yaml', 'devices/serial_no.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', + 'devices_v0_4/display.yaml', + 'devices_v0_4/i2c.yaml', + 'devices_v0_4/ina219.yaml', + 'devices_v0_4/lm75b.yaml', + 'devices_v0_4/pcf.yaml', 'boards/32x10_output.yaml', # 'devices_v0_7/one_wire.yaml', ] diff --git a/devices_v0.4/pcf.yaml b/devices_v0.4/pcf.yaml deleted file mode 100644 index 1f8fc07..0000000 --- a/devices_v0.4/pcf.yaml +++ /dev/null @@ -1,7 +0,0 @@ -pcf8574: - - id: 'pcf_left' - address: 0x21 - pcf8575: true - - id: 'pcf_right' - address: 0x20 - pcf8575: true diff --git a/devices_v0.4/display.yaml b/devices_v0_4/display.yaml similarity index 100% rename from devices_v0.4/display.yaml rename to devices_v0_4/display.yaml diff --git a/devices_v0.4/i2c.yaml b/devices_v0_4/i2c.yaml similarity index 100% rename from devices_v0.4/i2c.yaml rename to devices_v0_4/i2c.yaml diff --git a/devices_v0.4/ina219.yaml b/devices_v0_4/ina219.yaml similarity index 100% rename from devices_v0.4/ina219.yaml rename to devices_v0_4/ina219.yaml diff --git a/devices_v0_4/lm75b.yaml b/devices_v0_4/lm75b.yaml new file mode 100644 index 0000000..a7151d3 --- /dev/null +++ b/devices_v0_4/lm75b.yaml @@ -0,0 +1,12 @@ +#i2c address: 0x48 output lm75b temp +#LM75B +external_components: + - source: github://boneIO-eu/esphome-LM75@main #Original source and thank you note for BTomala https://github.com/boneIO-eu/esphome-lm75 + components: [lm75] + +sensor: + # Lower board temperature + - platform: lm75 + id: boneIO_temp + name: 'LM75B Temperature' + update_interval: 30s diff --git a/devices_v0_4/pcf.yaml b/devices_v0_4/pcf.yaml new file mode 100644 index 0000000..8463af2 --- /dev/null +++ b/devices_v0_4/pcf.yaml @@ -0,0 +1,13 @@ +pcf8574: + - id: 'pcf_right' + address: 0x20 + pcf8575: true + - id: 'pcf_left' + address: 0x21 + pcf8575: true + - id: 'mcp_inputs_1to16' + address: 0x26 + pcf8575: true + - id: 'mcp_inputs_17to32' + address: 0x27 + pcf8575: true diff --git a/devices_v0_4/time.yaml b/devices_v0_4/time.yaml new file mode 100644 index 0000000..e0371ea --- /dev/null +++ b/devices_v0_4/time.yaml @@ -0,0 +1,3 @@ +time: + - platform: ds1307 + id: ds1307_time \ No newline at end of file From 5ad10482c9e4753fd16fd45f7462c99442c943cb Mon Sep 17 00:00:00 2001 From: pszafer Date: Sun, 29 Sep 2024 14:07:20 +0200 Subject: [PATCH 11/14] Add v0.9 test board --- boneio-24x16_switches_v0_7.yaml | 10 +- boneio-32x10_lights_v0_7.yaml | 10 +- boneio-32x10_lights_v0_9.yaml | 655 ++++++++++++++++ boneio-32x10_switches_v0_7.yaml | 8 +- boneio-8x10A_v0_1.yaml | 192 +++++ boneio-cover_mix_lights_v0_7.yaml | 11 +- boneio-cover_mix_switches_v0_7.yaml | 10 +- boneio-cover_v0_7.yaml | 10 +- boneio-ssr8x2A_v0_1.yaml | 719 ++++++++++++++++++ create_firmware.py | 2 +- .../ina219.yaml | 0 .../lm75b.yaml | 0 .../one_wire.yaml | 5 +- {devices_v0_7 => devices_v0_7-v0_9}/pcf.yaml | 0 .../pcf_mosfet.yaml | 0 .../pcf_with_mcp.yaml | 0 devices_v0_9/display.yaml | 129 ++++ devices_v0_9/i2c.yaml | 6 + 18 files changed, 1735 insertions(+), 32 deletions(-) create mode 100644 boneio-32x10_lights_v0_9.yaml create mode 100644 boneio-8x10A_v0_1.yaml create mode 100644 boneio-ssr8x2A_v0_1.yaml rename {devices_v0_7 => devices_v0_7-v0_9}/ina219.yaml (100%) rename {devices_v0_7 => devices_v0_7-v0_9}/lm75b.yaml (100%) rename {devices_v0_7 => devices_v0_7-v0_9}/one_wire.yaml (85%) rename {devices_v0_7 => devices_v0_7-v0_9}/pcf.yaml (100%) rename {devices_v0_7 => devices_v0_7-v0_9}/pcf_mosfet.yaml (100%) rename {devices_v0_7 => devices_v0_7-v0_9}/pcf_with_mcp.yaml (100%) create mode 100644 devices_v0_9/display.yaml create mode 100644 devices_v0_9/i2c.yaml diff --git a/boneio-24x16_switches_v0_7.yaml b/boneio-24x16_switches_v0_7.yaml index 4fc4b65..aa78498 100644 --- a/boneio-24x16_switches_v0_7.yaml +++ b/boneio-24x16_switches_v0_7.yaml @@ -30,17 +30,17 @@ dashboard_import: packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: v1.1.0 + ref: v1.2.0 files: [ 'devices/buzzer.yaml', 'devices/serial_no.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_with_mcp.yaml', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', 'boards/24x16_output.yaml', - # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: diff --git a/boneio-32x10_lights_v0_7.yaml b/boneio-32x10_lights_v0_7.yaml index 32e529f..9180a74 100644 --- a/boneio-32x10_lights_v0_7.yaml +++ b/boneio-32x10_lights_v0_7.yaml @@ -30,17 +30,17 @@ dashboard_import: packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: v1.1.0 + ref: v1.2.0 files: [ 'devices/buzzer.yaml', 'devices/serial_no.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', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', 'boards/32x10_output.yaml', - # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: diff --git a/boneio-32x10_lights_v0_9.yaml b/boneio-32x10_lights_v0_9.yaml new file mode 100644 index 0000000..e5ce1af --- /dev/null +++ b/boneio-32x10_lights_v0_9.yaml @@ -0,0 +1,655 @@ +substitutions: + name: boneio-32-l-09 + friendly_name: 'BoneIO ESP 32x10 Lights' + serial_prefix: 'esp' #Don't change it. + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + name_add_mac_suffix: true + project: + name: boneio.32x10-lights + version: '0.9' + +esp32: + board: nodemcu-32s + +ethernet: + id: eth + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO17_out + phy_addr: 1 + power_pin: GPIO12 + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-32x10_lights_v0_9.yaml@latest + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.2.0 + files: [ + 'devices/buzzer.yaml', + 'devices/serial_no.yaml', + 'devices_v0_9/display.yaml', + 'devices_v0_9/i2c.yaml', + 'devices_v0_9/ina219.yaml', + 'devices_v0_9/lm75b.yaml', + 'devices_v0_9/pcf.yaml', + 'boards/32x10_output.yaml', + # 'devices_v0_9/one_wire.yaml', + ] + +logger: +api: + reboot_timeout: 0s +ota: + platform: esphome + +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 +###################### +### MODBUS SECTION ### +###################### +# UNCOMMENT BELOW TO USE MODBUS +# uart: +# id: uart_pin14_15 +# rx_pin: GPIO14 +# tx_pin: GPIO15 +# baud_rate: 9600 +# stop_bits: 1 + +# modbus: +# send_wait_time: 200ms +# uart_id: uart_pin14_15 +# id: boneio_modbus + +# modbus_controller: +# - id: YOURDEVICE ID +# address: 0x09 +# modbus_id: mod_bus +# setup_priority: -10 +# update_interval: 60s diff --git a/boneio-32x10_switches_v0_7.yaml b/boneio-32x10_switches_v0_7.yaml index 74051e1..eec5c2c 100644 --- a/boneio-32x10_switches_v0_7.yaml +++ b/boneio-32x10_switches_v0_7.yaml @@ -36,11 +36,11 @@ packages: 'devices/serial_no.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', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', 'boards/32x10_output.yaml', - # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: diff --git a/boneio-8x10A_v0_1.yaml b/boneio-8x10A_v0_1.yaml new file mode 100644 index 0000000..bff404b --- /dev/null +++ b/boneio-8x10A_v0_1.yaml @@ -0,0 +1,192 @@ +substitutions: + name: boneio-8-s-01 + friendly_name: 'BoneIO ESP 8x10A Switches' + serial_prefix: 'espm' #Don't change it. + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + name_add_mac_suffix: true + project: + name: boneio.8_10-switches + version: '0.1' + +esp32: + board: esp32dev + +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-mosfet48_lights_v0_7.yaml@latest +# import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.1.0 + files: + [ + 'devices/buzzer.yaml', + 'devices/serial_no.yaml', + 'devices/dimmer_i2c.yaml', + 'devices_v0_7/lm75b.yaml', + ] + +logger: +api: + reboot_timeout: 0s +ota: + platform: esphome + +web_server: + port: 80 + local: true + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +mcp23017: + - id: 'mcp1' + address: 0x20 + +# Individual outputs +switch: + - platform: gpio + name: 'OUT 1' + pin: + mcp23xxx: mcp1 + number: 8 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 2' + pin: + mcp23xxx: mcp1 + number: 9 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 3' + pin: + mcp23xxx: mcp1 + number: 10 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 4' + pin: + mcp23xxx: mcp1 + number: 11 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 5' + pin: + mcp23xxx: mcp1 + number: 12 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 6' + pin: + mcp23xxx: mcp1 + number: 13 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 7' + pin: + mcp23xxx: mcp1 + number: 14 + mode: + output: true + inverted: false + - platform: gpio + name: 'OUT 8' + pin: + mcp23xxx: mcp1 + number: 15 + mode: + output: true + inverted: false + +binary_sensor: + - platform: gpio + name: 'IN 01' + pin: + mcp23xxx: mcp1 + number: 0 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 02' + pin: + mcp23xxx: mcp1 + number: 1 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 03' + pin: + mcp23xxx: mcp1 + number: 2 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 04' + pin: + mcp23xxx: mcp1 + number: 3 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 05' + pin: + mcp23xxx: mcp1 + number: 4 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 06' + pin: + mcp23xxx: mcp1 + number: 5 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 07' + pin: + mcp23xxx: mcp1 + number: 6 + mode: + input: true + inverted: false + - platform: gpio + name: 'IN 08' + pin: + mcp23xxx: mcp1 + number: 7 + mode: + input: true + inverted: false diff --git a/boneio-cover_mix_lights_v0_7.yaml b/boneio-cover_mix_lights_v0_7.yaml index 520c7f5..3c1e012 100644 --- a/boneio-cover_mix_lights_v0_7.yaml +++ b/boneio-cover_mix_lights_v0_7.yaml @@ -30,17 +30,18 @@ dashboard_import: packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: v1.1.0 + ref: v1.2.0 files: [ 'devices/buzzer.yaml', 'devices/serial_no.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', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', + 'boards/32x10_output.yaml', 'boards/8_covers_16_output.yaml', - # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: diff --git a/boneio-cover_mix_switches_v0_7.yaml b/boneio-cover_mix_switches_v0_7.yaml index 8fc214d..7d32da2 100644 --- a/boneio-cover_mix_switches_v0_7.yaml +++ b/boneio-cover_mix_switches_v0_7.yaml @@ -30,17 +30,17 @@ dashboard_import: packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: v1.1.0 + ref: v1.2.0 files: [ 'devices/buzzer.yaml', 'devices/serial_no.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', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', 'boards/8_covers_16_output.yaml', - # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: diff --git a/boneio-cover_v0_7.yaml b/boneio-cover_v0_7.yaml index 7dcf516..163bb56 100644 --- a/boneio-cover_v0_7.yaml +++ b/boneio-cover_v0_7.yaml @@ -30,17 +30,17 @@ dashboard_import: packages: internals_packages: url: https://github.com/boneIO-eu/esphome - ref: v1.1.0 + ref: v1.2.0 files: [ 'devices/buzzer.yaml', 'devices/serial_no.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', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', 'boards/16_cover_pcf.yaml', - # 'devices_v0_7/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: diff --git a/boneio-ssr8x2A_v0_1.yaml b/boneio-ssr8x2A_v0_1.yaml new file mode 100644 index 0000000..c65f92a --- /dev/null +++ b/boneio-ssr8x2A_v0_1.yaml @@ -0,0 +1,719 @@ +substitutions: + name: boneio-8_2-s- + friendly_name: 'BoneIO ESP Mosfet 48 Lights' + serial_prefix: 'esp' #Don't change it. + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + name_add_mac_suffix: true + project: + name: boneio.mosfet48-lights + version: '0.7' + +esp32: + board: nodemcu-32s + +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-mosfet48_lights_v0_7.yaml@latest + import_full_config: true + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.1.0 + files: [ + 'devices/buzzer.yaml', + 'devices/serial_no.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_mosfet.yaml', + 'boards/mosfet48_output.yaml', + # 'devices_v0_7/one_wire.yaml', + ] + +logger: +api: + reboot_timeout: 0s +ota: + platform: esphome + +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 + - platform: binary + name: 'Light 33' + output: out_33 + id: light_33 + - platform: binary + name: 'Light 34' + output: out_34 + id: light_34 + - platform: binary + name: 'Light 35' + output: out_35 + id: light_35 + - platform: binary + name: 'Light 36' + output: out_36 + id: light_36 + - platform: binary + name: 'Light 37' + output: out_37 + id: light_37 + - platform: binary + name: 'Light 38' + output: out_38 + id: light_38 + - platform: binary + name: 'Light 39' + output: out_39 + id: light_39 + - platform: binary + name: 'Light 40' + output: out_40 + id: light_40 + - platform: binary + name: 'Light 41' + output: out_41 + id: light_41 + - platform: binary + name: 'Light 42' + output: out_42 + id: light_42 + - platform: binary + name: 'Light 43' + output: out_43 + id: light_43 + - platform: binary + name: 'Light 44' + output: out_44 + id: light_44 + - platform: binary + name: 'Light 45' + output: out_45 + id: light_45 + - platform: binary + name: 'Light 46' + output: out_46 + id: light_46 + - platform: binary + name: 'Light 47' + output: out_47 + id: light_47 + - platform: binary + name: 'Light 48' + output: out_48 + id: light_48 + +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 +###################### +### MODBUS SECTION ### +###################### +# UNCOMMENT BELOW TO USE MODBUS +# uart: +# id: uart_pin14_15 +# rx_pin: GPIO14 +# tx_pin: GPIO15 +# baud_rate: 9600 +# stop_bits: 1 + +# modbus: +# send_wait_time: 200ms +# uart_id: uart_pin14_15 +# id: boneio_modbus + +# modbus_controller: +# - id: YOURDEVICE ID +# address: 0x09 +# modbus_id: mod_bus +# setup_priority: -10 +# update_interval: 60s diff --git a/create_firmware.py b/create_firmware.py index 9960fe9..7c25fcf 100644 --- a/create_firmware.py +++ b/create_firmware.py @@ -55,7 +55,7 @@ for file in glob.glob("*.yaml"): if not filename: print("No file found.") break - firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware-factory.bin" + firmware_path = f"{cwd}/.esphome/build/{filename}/.pioenvs/{filename}/firmware.factory.bin" print("CWD", cwd) subprocess.run( f'docker run --rm -p 6052:6052 -v "{cwd}":/config -it ghcr.io/esphome/esphome compile {file}', diff --git a/devices_v0_7/ina219.yaml b/devices_v0_7-v0_9/ina219.yaml similarity index 100% rename from devices_v0_7/ina219.yaml rename to devices_v0_7-v0_9/ina219.yaml diff --git a/devices_v0_7/lm75b.yaml b/devices_v0_7-v0_9/lm75b.yaml similarity index 100% rename from devices_v0_7/lm75b.yaml rename to devices_v0_7-v0_9/lm75b.yaml diff --git a/devices_v0_7/one_wire.yaml b/devices_v0_7-v0_9/one_wire.yaml similarity index 85% rename from devices_v0_7/one_wire.yaml rename to devices_v0_7-v0_9/one_wire.yaml index 538b634..38b0c23 100644 --- a/devices_v0_7/one_wire.yaml +++ b/devices_v0_7-v0_9/one_wire.yaml @@ -1,5 +1,6 @@ -dallas: - - pin: GPIO32 +one_wire: + - platform: gpio + pin: GPIO32 # sensor: # - platform: dallas # address: 0x283c01d607d4df28 diff --git a/devices_v0_7/pcf.yaml b/devices_v0_7-v0_9/pcf.yaml similarity index 100% rename from devices_v0_7/pcf.yaml rename to devices_v0_7-v0_9/pcf.yaml diff --git a/devices_v0_7/pcf_mosfet.yaml b/devices_v0_7-v0_9/pcf_mosfet.yaml similarity index 100% rename from devices_v0_7/pcf_mosfet.yaml rename to devices_v0_7-v0_9/pcf_mosfet.yaml diff --git a/devices_v0_7/pcf_with_mcp.yaml b/devices_v0_7-v0_9/pcf_with_mcp.yaml similarity index 100% rename from devices_v0_7/pcf_with_mcp.yaml rename to devices_v0_7-v0_9/pcf_with_mcp.yaml diff --git a/devices_v0_9/display.yaml b/devices_v0_9/display.yaml new file mode 100644 index 0000000..d99ed11 --- /dev/null +++ b/devices_v0_9/display.yaml @@ -0,0 +1,129 @@ +#i2c address: 0x3C input oled +sensor: + - platform: uptime + id: wt32_uptime_seconds + update_interval: 60s + entity_category: diagnostic + on_raw_value: + then: + - text_sensor.template.publish: + id: wt32_uptime + state: !lambda |- + int seconds = round(id(wt32_uptime_seconds).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(); + +text_sensor: + - platform: template + name: Uptime + 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 + # screensaver script, turn on screensaver after 30 seconds, restart counter each time when invoked + mode: restart + then: + # set the time after which the screensaver will be activated + - delay: 30s + - display.page.show: screensaver + - component.update: oled_display + +esphome: + on_boot: + priority: 0 + then: + - display.page.show: first_page + - component.update: ip_address + - component.update: oled_display + - script.execute: screensaver_script + +binary_sensor: + - platform: gpio + entity_category: config + id: boneIO_button + pin: + number: GPIO34 + mode: + input: true + inverted: true + on_press: + then: + # woke up when on the screensaver, as well do not include the logo page and screensaver in a loop when pushing a button + - if: + condition: + # on the last page go to the first page skipping the screensaver and logo page + display.is_displaying_page: last_page + then: + - display.page.show: first_page + - component.update: oled_display + else: + - if: + condition: + # on the screensaver, show the logo for a while and display the first page + display.is_displaying_page: screensaver + then: + - display.page.show: first_page + - component.update: oled_display + else: + # not the last page and screensaver go to the next page + - display.page.show_next: oled_display + - component.update: oled_display + # restart screensaver script + - script.execute: screensaver_script + +display: + - platform: ssd1306_i2c + id: oled_display + model: 'SH1106 128x64' + address: 0x3C + contrast: 0.5 + pages: + - id: first_page + lambda: |- + it.rectangle(0, 0, 126, 15); + 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(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://Ubuntu' + id: size_10 + size: 10 diff --git a/devices_v0_9/i2c.yaml b/devices_v0_9/i2c.yaml new file mode 100644 index 0000000..b4ba75d --- /dev/null +++ b/devices_v0_9/i2c.yaml @@ -0,0 +1,6 @@ +i2c: + - id: i2c_bus + sda: GPIO16 + scl: GPIO33 + scan: True + frequency: 400kHz From 5ab0ad779498ca8d0c9e6dcedec6a4957fc66d84 Mon Sep 17 00:00:00 2001 From: pszafer Date: Sun, 29 Sep 2024 14:10:51 +0200 Subject: [PATCH 12/14] fix devices_v0_7-v0_9 --- boneio-32x10_lights_v0_9.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/boneio-32x10_lights_v0_9.yaml b/boneio-32x10_lights_v0_9.yaml index e5ce1af..c074366 100644 --- a/boneio-32x10_lights_v0_9.yaml +++ b/boneio-32x10_lights_v0_9.yaml @@ -36,11 +36,11 @@ packages: 'devices/serial_no.yaml', 'devices_v0_9/display.yaml', 'devices_v0_9/i2c.yaml', - 'devices_v0_9/ina219.yaml', - 'devices_v0_9/lm75b.yaml', - 'devices_v0_9/pcf.yaml', + 'devices_v0_7-v0_9/ina219.yaml', + 'devices_v0_7-v0_9/lm75b.yaml', + 'devices_v0_7-v0_9/pcf.yaml', 'boards/32x10_output.yaml', - # 'devices_v0_9/one_wire.yaml', + # 'devices_v0_7-v0_9/one_wire.yaml', ] logger: From 9df077dc8c299e4034e49352b2ee2d2047085aa8 Mon Sep 17 00:00:00 2001 From: pszafer Date: Mon, 30 Sep 2024 09:07:55 +0200 Subject: [PATCH 13/14] change phy addr in v0.9 --- boneio-32x10_lights_v0_9.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boneio-32x10_lights_v0_9.yaml b/boneio-32x10_lights_v0_9.yaml index c074366..918e272 100644 --- a/boneio-32x10_lights_v0_9.yaml +++ b/boneio-32x10_lights_v0_9.yaml @@ -20,7 +20,7 @@ ethernet: mdc_pin: GPIO23 mdio_pin: GPIO18 clk_mode: GPIO17_out - phy_addr: 1 + phy_addr: 0 power_pin: GPIO12 dashboard_import: From 0509f60860f64aecf07bd2063910a1952e3c0729 Mon Sep 17 00:00:00 2001 From: pszafer Date: Fri, 4 Oct 2024 19:34:32 +0200 Subject: [PATCH 14/14] add 8x10A --- boneio-8x10A_v0_1.yaml | 22 +- boneio-ssr8x2A_v0_1.yaml | 719 --------------------------------------- 2 files changed, 19 insertions(+), 722 deletions(-) delete mode 100644 boneio-ssr8x2A_v0_1.yaml diff --git a/boneio-8x10A_v0_1.yaml b/boneio-8x10A_v0_1.yaml index bff404b..8a220f1 100644 --- a/boneio-8x10A_v0_1.yaml +++ b/boneio-8x10A_v0_1.yaml @@ -23,9 +23,9 @@ ethernet: phy_addr: 1 power_pin: GPIO16 -# dashboard_import: -# package_import_url: github://boneIO-eu/esphome/boneio-mosfet48_lights_v0_7.yaml@latest -# import_full_config: true +dashboard_import: + package_import_url: github://boneIO-eu/esphome/boneio-8x10A_v0_1.yaml@latest + import_full_config: true packages: internals_packages: @@ -62,6 +62,7 @@ mcp23017: switch: - platform: gpio name: 'OUT 1' + id: out_01 pin: mcp23xxx: mcp1 number: 8 @@ -70,6 +71,7 @@ switch: inverted: false - platform: gpio name: 'OUT 2' + id: out_02 pin: mcp23xxx: mcp1 number: 9 @@ -78,6 +80,7 @@ switch: inverted: false - platform: gpio name: 'OUT 3' + id: out_03 pin: mcp23xxx: mcp1 number: 10 @@ -86,6 +89,7 @@ switch: inverted: false - platform: gpio name: 'OUT 4' + id: out_04 pin: mcp23xxx: mcp1 number: 11 @@ -94,6 +98,7 @@ switch: inverted: false - platform: gpio name: 'OUT 5' + id: out_05 pin: mcp23xxx: mcp1 number: 12 @@ -102,6 +107,7 @@ switch: inverted: false - platform: gpio name: 'OUT 6' + id: out_06 pin: mcp23xxx: mcp1 number: 13 @@ -110,6 +116,7 @@ switch: inverted: false - platform: gpio name: 'OUT 7' + id: out_07 pin: mcp23xxx: mcp1 number: 14 @@ -118,6 +125,7 @@ switch: inverted: false - platform: gpio name: 'OUT 8' + id: out_08 pin: mcp23xxx: mcp1 number: 15 @@ -128,6 +136,7 @@ switch: binary_sensor: - platform: gpio name: 'IN 01' + id: in_01 pin: mcp23xxx: mcp1 number: 0 @@ -136,6 +145,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 02' + id: in_02 pin: mcp23xxx: mcp1 number: 1 @@ -144,6 +154,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 03' + id: in_03 pin: mcp23xxx: mcp1 number: 2 @@ -152,6 +163,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 04' + id: in_04 pin: mcp23xxx: mcp1 number: 3 @@ -160,6 +172,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 05' + id: in_05 pin: mcp23xxx: mcp1 number: 4 @@ -168,6 +181,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 06' + id: in_06 pin: mcp23xxx: mcp1 number: 5 @@ -176,6 +190,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 07' + id: in_07 pin: mcp23xxx: mcp1 number: 6 @@ -184,6 +199,7 @@ binary_sensor: inverted: false - platform: gpio name: 'IN 08' + id: in_08 pin: mcp23xxx: mcp1 number: 7 diff --git a/boneio-ssr8x2A_v0_1.yaml b/boneio-ssr8x2A_v0_1.yaml deleted file mode 100644 index c65f92a..0000000 --- a/boneio-ssr8x2A_v0_1.yaml +++ /dev/null @@ -1,719 +0,0 @@ -substitutions: - name: boneio-8_2-s- - friendly_name: 'BoneIO ESP Mosfet 48 Lights' - serial_prefix: 'esp' #Don't change it. - -esphome: - name: '${name}' - friendly_name: '${friendly_name}' - name_add_mac_suffix: true - project: - name: boneio.mosfet48-lights - version: '0.7' - -esp32: - board: nodemcu-32s - -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-mosfet48_lights_v0_7.yaml@latest - import_full_config: true - -packages: - internals_packages: - url: https://github.com/boneIO-eu/esphome - ref: v1.1.0 - files: [ - 'devices/buzzer.yaml', - 'devices/serial_no.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_mosfet.yaml', - 'boards/mosfet48_output.yaml', - # 'devices_v0_7/one_wire.yaml', - ] - -logger: -api: - reboot_timeout: 0s -ota: - platform: esphome - -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 - - platform: binary - name: 'Light 33' - output: out_33 - id: light_33 - - platform: binary - name: 'Light 34' - output: out_34 - id: light_34 - - platform: binary - name: 'Light 35' - output: out_35 - id: light_35 - - platform: binary - name: 'Light 36' - output: out_36 - id: light_36 - - platform: binary - name: 'Light 37' - output: out_37 - id: light_37 - - platform: binary - name: 'Light 38' - output: out_38 - id: light_38 - - platform: binary - name: 'Light 39' - output: out_39 - id: light_39 - - platform: binary - name: 'Light 40' - output: out_40 - id: light_40 - - platform: binary - name: 'Light 41' - output: out_41 - id: light_41 - - platform: binary - name: 'Light 42' - output: out_42 - id: light_42 - - platform: binary - name: 'Light 43' - output: out_43 - id: light_43 - - platform: binary - name: 'Light 44' - output: out_44 - id: light_44 - - platform: binary - name: 'Light 45' - output: out_45 - id: light_45 - - platform: binary - name: 'Light 46' - output: out_46 - id: light_46 - - platform: binary - name: 'Light 47' - output: out_47 - id: light_47 - - platform: binary - name: 'Light 48' - output: out_48 - id: light_48 - -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 -###################### -### MODBUS SECTION ### -###################### -# UNCOMMENT BELOW TO USE MODBUS -# uart: -# id: uart_pin14_15 -# rx_pin: GPIO14 -# tx_pin: GPIO15 -# baud_rate: 9600 -# stop_bits: 1 - -# modbus: -# send_wait_time: 200ms -# uart_id: uart_pin14_15 -# id: boneio_modbus - -# modbus_controller: -# - id: YOURDEVICE ID -# address: 0x09 -# modbus_id: mod_bus -# setup_priority: -10 -# update_interval: 60s