mirror of
https://github.com/boneIO-eu/esphome.git
synced 2026-04-10 20:50:02 +02:00
Merge pull request #16 from wedr0wycz/main
New format configuration for 0.4PP
This commit is contained in:
661
boneio-32x10_switches_v0_4.yaml
Normal file
661
boneio-32x10_switches_v0_4.yaml
Normal file
@@ -0,0 +1,661 @@
|
|||||||
|
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-switches
|
||||||
|
version: '0.4PP'
|
||||||
|
|
||||||
|
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
|
||||||
|
#use_address:
|
||||||
|
|
||||||
|
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/serial_no.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',
|
||||||
|
]
|
||||||
|
|
||||||
|
logger:
|
||||||
|
api:
|
||||||
|
ota:
|
||||||
|
platform: esphome
|
||||||
|
password: boneio
|
||||||
|
|
||||||
|
# disable web server - for testing only
|
||||||
|
web_server:
|
||||||
|
port: 80
|
||||||
|
local: true
|
||||||
|
|
||||||
|
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'
|
||||||
|
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
|
||||||
131
devices_v0_4/display.yaml
Normal file
131
devices_v0_4/display.yaml
Normal file
@@ -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
|
||||||
|
|
||||||
6
devices_v0_4/i2c.yaml
Normal file
6
devices_v0_4/i2c.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
i2c:
|
||||||
|
- id: i2c_bus
|
||||||
|
sda: GPIO14
|
||||||
|
scl: GPIO15
|
||||||
|
scan: True
|
||||||
|
frequency: 400kHz
|
||||||
20
devices_v0_4/ina219.yaml
Normal file
20
devices_v0_4/ina219.yaml
Normal file
@@ -0,0 +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
|
||||||
12
devices_v0_4/lm75b.yaml
Normal file
12
devices_v0_4/lm75b.yaml
Normal file
@@ -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
|
||||||
13
devices_v0_4/pcf.yaml
Normal file
13
devices_v0_4/pcf.yaml
Normal file
@@ -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
|
||||||
3
devices_v0_4/time.yaml
Normal file
3
devices_v0_4/time.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
time:
|
||||||
|
- platform: ds1307
|
||||||
|
id: ds1307_time
|
||||||
Reference in New Issue
Block a user