Compare commits

..

27 Commits

Author SHA1 Message Date
pszafer
ca0dde93fa fix boneio cover close action 2024-04-08 16:08:10 +02:00
pszafer
d1b58579b9 re-add cover id 2024-04-08 11:52:03 +02:00
pszafer
81c4df11fd fix repository filenames 2024-04-08 11:36:31 +02:00
pszafer
d50a53ee4a change packages 2024-04-08 11:34:30 +02:00
pszafer
35ac0272bc remove debug info 2024-04-07 22:24:55 +02:00
pszafer
ef63aa5025 readd pcf 2024-04-07 22:11:25 +02:00
pszafer
3235568705 rename boards 2024-04-07 22:08:09 +02:00
pszafer
d11bb863ba fix node name 2024-04-07 20:28:38 +02:00
pszafer
cf3d24dc0c fix naming 2024-04-07 20:02:35 +02:00
pszafer
28ddb5042c rename dirs 2024-04-06 19:47:53 +02:00
pszafer
11fef44b4f remove typo 2024-04-06 08:08:00 +02:00
pszafer
334e7d677c fix display installation 2024-04-06 08:07:01 +02:00
pszafer
2dac5f97c3 add front 0 to outputs and add inputs 2024-04-05 21:38:03 +02:00
pszafer
65bff746a2 fix display 2024-04-05 20:26:01 +02:00
pszafer
817f67193c change dir name 2024-04-05 20:19:48 +02:00
pszafer
7c7b66dddb remove i2c bus 2024-04-05 20:19:04 +02:00
pszafer
749f3745cd add i2c bus 2024-04-05 20:18:14 +02:00
pszafer
c6f05cc406 fix modbus uart 2024-04-05 20:17:40 +02:00
pszafer
7550791f43 test for v0.7 2024-04-05 20:15:18 +02:00
pszafer
8cdbbdbfc8 note about logger 2024-03-28 21:31:42 +01:00
pszafer
1722ecc165 add project info 2024-03-28 21:20:05 +01:00
pszafer
d6aa38183f remove redefined in buzzer 2024-03-28 21:19:16 +01:00
pszafer
cd0e209571 remove redefined 2024-03-28 21:18:43 +01:00
pszafer
a2e2eda7ab change display 2024-03-28 21:17:38 +01:00
pszafer
3ca2550a0c fix uart pins 2024-03-28 21:16:03 +01:00
pszafer
84a11eeac8 import full config 2024-03-28 21:14:47 +01:00
pszafer
afc20b8a48 test boneio lights 2024-03-28 20:24:58 +01:00
48 changed files with 3186 additions and 1391 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,3 @@
pcf8574:
- id: 'pcf_1'
address: 0x21
@@ -7,359 +6,292 @@ pcf8574:
- id: 'pcf_2'
address: 0x20
pcf8575: true
i2c_id: bus_b
i2c_id: bus_b
switch:
output:
- platform: gpio
id: relay_1
name: "Relay_01"
id: out_1
pin:
pcf8574: pcf_1
# Use pin number 0
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: relay_2
name: "Relay_02"
id: out_2
pin:
pcf8574: pcf_1
# Use pin number 1
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_3
name: "Relay_03"
id: out_3
pin:
pcf8574: pcf_1
# Use pin number 2
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_4
name: "Relay_04"
id: out_4
pin:
pcf8574: pcf_1
# Use pin number 3
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_5
name: "Relay_05"
id: out_5
pin:
pcf8574: pcf_1
# Use pin number 4
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_6
name: "Relay_06"
id: out_6
pin:
pcf8574: pcf_1
# Use pin number 5
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_7
name: "Relay_07"
id: out_7
pin:
pcf8574: pcf_1
# Use pin number 6
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_8
name: "Relay_08"
id: out_8
pin:
pcf8574: pcf_1
# Use pin number 7
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_9
name: "Relay_09"
id: out_9
pin:
pcf8574: pcf_2
# Use pin number 0
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: relay_10
name: "Relay_10"
id: out_10
pin:
pcf8574: pcf_2
# Use pin number 1
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: relay_11
name: "Relay_11"
id: out_11
pin:
pcf8574: pcf_2
# Use pin number 2
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: relay_12
name: "Relay_12"
id: out_12
pin:
pcf8574: pcf_2
# Use pin number 3
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: relay_13
name: "Relay_13"
id: out_13
pin:
pcf8574: pcf_2
# Use pin number 4
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: relay_14
name: "Relay_14"
id: out_14
pin:
pcf8574: pcf_2
# Use pin number 5
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: relay_15
name: "Relay_15"
id: out_15
pin:
pcf8574: pcf_2
# Use pin number 6
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: relay_16
name: "Relay_16"
id: out_16
pin:
pcf8574: pcf_2
# Use pin number 7
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: relay_17
name: "Relay_17"
id: out_17
pin:
pcf8574: pcf_1
# Use pin number 15
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_18
name: "Relay_18"
id: out_18
pin:
pcf8574: pcf_1
# Use pin number 14
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_19
name: "Relay_19"
id: out_19
pin:
pcf8574: pcf_1
# Use pin number 13
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_20
name: "Relay_20"
id: out_20
pin:
pcf8574: pcf_1
# Use pin number 12
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_21
name: "Relay_21"
id: out_21
pin:
pcf8574: pcf_1
# Use pin number 11
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_22
name: "Relay_22"
id: out_22
pin:
pcf8574: pcf_1
# Use pin number 10
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_23
name: "Relay_23"
id: out_23
pin:
pcf8574: pcf_1
# Use pin number 9
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_24
name: "Relay_24"
id: out_24
pin:
pcf8574: pcf_1
# Use pin number 8
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: relay_25
name: "Relay_25"
id: out_25
pin:
pcf8574: pcf_2
# Use pin number 15
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: relay_26
name: "Relay_26"
id: out_26
pin:
pcf8574: pcf_2
# Use pin number 14
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: relay_27
name: "Relay_27"
id: out_27
pin:
pcf8574: pcf_2
# Use pin number 13
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: relay_28
name: "Relay_28"
id: out_28
pin:
pcf8574: pcf_2
# Use pin number 12
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: relay_29
name: "Relay_29"
id: out_29
pin:
pcf8574: pcf_2
# Use pin number 11
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: relay_30
name: "Relay_30"
id: out_30
pin:
pcf8574: pcf_2
# Use pin number 10
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: relay_31
name: "Relay_31"
id: out_31
pin:
pcf8574: pcf_2
# Use pin number 9
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: relay_32
name: "Relay_32"
id: out_32
pin:
pcf8574: pcf_2
# Use pin number 8
number: 7
mode:
output: true
inverted: true

View File

@@ -0,0 +1,539 @@
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_16
on_release:
then:
- cover.stop: cover_16
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_16
on_release:
then:
- cover.stop: cover_16
- platform: gpio
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true

View File

@@ -0,0 +1,368 @@
switch:
- platform: gpio
id: cover_open_01_out01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_01 [cover_open_01_out01, cover_close_01_out02]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_01_out02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_01
restore_mode: always off
- platform: gpio
id: cover_open_02_out03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_02 [cover_open_02_out03, cover_close_02_out04]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_02_out04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_02
restore_mode: always off
- platform: gpio
id: cover_open_03_out05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_03 [cover_open_03_out05, cover_close_03_out06]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_03_out06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_03
restore_mode: always off
- platform: gpio
id: cover_open_04_out07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_04 [cover_open_04_out07, cover_close_04_out08]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_04_out08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_04
restore_mode: always off
- platform: gpio
id: cover_open_05_out09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
interlock: &cover_interlock_05 [cover_open_05_out09, cover_close_05_out10]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_05_out10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
interlock: *cover_interlock_05
restore_mode: always off
- platform: gpio
id: cover_open_06_out11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
interlock: &cover_interlock_06 [cover_open_06_out11, cover_close_06_out12]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_06_out12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
interlock: *cover_interlock_06
restore_mode: always off
- platform: gpio
id: cover_open_07_out13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
interlock: &cover_interlock_07 [cover_open_07_out13, cover_close_07_out14]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_07_out14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
interlock: *cover_interlock_07
restore_mode: always off
- platform: gpio
id: cover_open_08_out15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
interlock: &cover_interlock_08 [cover_open_08_out15, cover_close_08_out16]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_08_out16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
interlock: *cover_interlock_08
restore_mode: always off
- platform: gpio
id: cover_open_09_out17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_09 [cover_open_09_out17, cover_close_09_out18]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_09_out18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_09
restore_mode: always off
- platform: gpio
id: cover_open_10_out19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_10 [cover_open_10_out19, cover_close_10_out20]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_10_out20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_10
restore_mode: always off
- platform: gpio
id: cover_open_11_out21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_11 [cover_open_11_out21, cover_close_11_out22]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_11_out22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_11
restore_mode: always off
- platform: gpio
id: cover_open_12_out23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_12 [cover_open_12_out23, cover_close_12_out24]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_12_out24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_12
restore_mode: always off
- platform: gpio
id: cover_open_13_out25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
interlock: &cover_interlock_13 [cover_open_13_out25, cover_close_13_out26]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_13_out26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
interlock: *cover_interlock_13
restore_mode: always off
- platform: gpio
id: cover_open_14_out27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
interlock: &cover_interlock_14 [cover_open_14_out27, cover_close_14_out28]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_14_out28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
interlock: *cover_interlock_14
restore_mode: always off
- platform: gpio
id: cover_open_15_out29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
interlock: &cover_interlock_15 [cover_open_15_out29, cover_close_15_out30]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_15_out30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
interlock: *cover_interlock_15
restore_mode: always off
- platform: gpio
id: cover_open_16_out31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
interlock: &cover_interlock_16 [cover_open_16_out31, cover_close_16_out32]
interlock_wait_time: 5ms
restore_mode: always off
- platform: gpio
id: cover_close_16_out32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true
interlock: *cover_interlock_16
restore_mode: always off

View File

@@ -0,0 +1,287 @@
output:
- platform: gpio
id: out_01
pin:
pcf8574: pcf_left
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_02
pin:
pcf8574: pcf_left
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_03
pin:
pcf8574: pcf_left
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_04
pin:
pcf8574: pcf_left
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_05
pin:
pcf8574: pcf_left
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_06
pin:
pcf8574: pcf_left
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_07
pin:
pcf8574: pcf_left
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_08
pin:
pcf8574: pcf_left
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_09
pin:
pcf8574: pcf_right
number: 15
mode:
output: true
inverted: true
- platform: gpio
id: out_10
pin:
pcf8574: pcf_right
number: 14
mode:
output: true
inverted: true
- platform: gpio
id: out_11
pin:
pcf8574: pcf_right
number: 13
mode:
output: true
inverted: true
- platform: gpio
id: out_12
pin:
pcf8574: pcf_right
number: 12
mode:
output: true
inverted: true
- platform: gpio
id: out_13
pin:
pcf8574: pcf_right
number: 11
mode:
output: true
inverted: true
- platform: gpio
id: out_14
pin:
pcf8574: pcf_right
number: 10
mode:
output: true
inverted: true
- platform: gpio
id: out_15
pin:
pcf8574: pcf_right
number: 9
mode:
output: true
inverted: true
- platform: gpio
id: out_16
pin:
pcf8574: pcf_right
number: 8
mode:
output: true
inverted: true
- platform: gpio
id: out_17
pin:
pcf8574: pcf_left
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_18
pin:
pcf8574: pcf_left
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_19
pin:
pcf8574: pcf_left
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_20
pin:
pcf8574: pcf_left
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_21
pin:
pcf8574: pcf_left
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_22
pin:
pcf8574: pcf_left
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_23
pin:
pcf8574: pcf_left
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_24
pin:
pcf8574: pcf_left
number: 7
mode:
output: true
inverted: true
- platform: gpio
id: out_25
pin:
pcf8574: pcf_right
number: 0
mode:
output: true
inverted: true
- platform: gpio
id: out_26
pin:
pcf8574: pcf_right
number: 1
mode:
output: true
inverted: true
- platform: gpio
id: out_27
pin:
pcf8574: pcf_right
number: 2
mode:
output: true
inverted: true
- platform: gpio
id: out_28
pin:
pcf8574: pcf_right
number: 3
mode:
output: true
inverted: true
- platform: gpio
id: out_29
pin:
pcf8574: pcf_right
number: 4
mode:
output: true
inverted: true
- platform: gpio
id: out_30
pin:
pcf8574: pcf_right
number: 5
mode:
output: true
inverted: true
- platform: gpio
id: out_31
pin:
pcf8574: pcf_right
number: 6
mode:
output: true
inverted: true
- platform: gpio
id: out_32
pin:
pcf8574: pcf_right
number: 7
mode:
output: true
inverted: true

836
boneio-covers_v0_7.yaml Normal file
View File

@@ -0,0 +1,836 @@
substitutions:
name: boneio-esp32x10-covers
friendly_name: 'BoneIO ESP 32x10 Cover'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
platform: ESP32
board: nodemcu-32s
name_add_mac_suffix: true
project:
name: boneio.32x10-covers
version: '1.0'
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-covers_v0_7.yaml@single_file_test
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: single_file_test
files: [
'devices_v0_7/buzzer.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml',
'devices_v0_7/lm75b.yaml',
'devices_v0_7/pcf.yaml',
'boards_v0_7/16_cover_pcf.yaml',
# 'devices_v0_7/one_wire.yaml',
# 'devices_v0_7/uart.yaml',
]
logger:
api:
ota:
password: boneio
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
cover:
- platform: time_based
name: 'Cover 01'
id: cover_01
open_action:
- switch.turn_off: cover_close_01_out02
- switch.turn_on: cover_open_01_out01
open_duration: 10s
close_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_on: cover_close_01_out02
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_01_out01
- switch.turn_off: cover_close_01_out02
- platform: time_based
name: 'Cover 02'
id: cover_02
open_action:
- switch.turn_off: cover_close_02_out04
- switch.turn_on: cover_open_02_out03
open_duration: 10s
close_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_on: cover_close_02_out04
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_02_out03
- switch.turn_off: cover_close_02_out04
- platform: time_based
name: 'Cover 03'
id: cover_03
open_action:
- switch.turn_off: cover_close_03_out06
- switch.turn_on: cover_open_03_out05
open_duration: 10s
close_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_on: cover_close_03_out06
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_03_out05
- switch.turn_off: cover_close_03_out06
- platform: time_based
name: 'Cover 04'
id: cover_04
open_action:
- switch.turn_off: cover_close_04_out08
- switch.turn_on: cover_open_04_out07
open_duration: 10s
close_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_on: cover_close_04_out08
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_04_out07
- switch.turn_off: cover_close_04_out08
- platform: time_based
name: 'Cover 05'
id: cover_05
open_action:
- switch.turn_off: cover_close_05_out10
- switch.turn_on: cover_open_05_out09
open_duration: 10s
close_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_on: cover_close_05_out10
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_05_out09
- switch.turn_off: cover_close_05_out10
- platform: time_based
name: 'Cover 06'
id: cover_06
open_action:
- switch.turn_off: cover_close_06_out12
- switch.turn_on: cover_open_06_out11
open_duration: 10s
close_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_on: cover_close_06_out12
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_06_out11
- switch.turn_off: cover_close_06_out12
- platform: time_based
name: 'Cover 07'
id: cover_07
open_action:
- switch.turn_off: cover_close_07_out14
- switch.turn_on: cover_open_07_out13
open_duration: 10s
close_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_on: cover_close_07_out14
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_07_out13
- switch.turn_off: cover_close_07_out14
- platform: time_based
name: 'Cover 08'
id: cover_08
open_action:
- switch.turn_off: cover_close_08_out16
- switch.turn_on: cover_open_08_out15
open_duration: 10s
close_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_on: cover_close_08_out16
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_08_out15
- switch.turn_off: cover_close_08_out16
- platform: time_based
name: 'Cover 09'
id: cover_09
open_action:
- switch.turn_off: cover_close_09_out18
- switch.turn_on: cover_open_09_out17
open_duration: 10s
close_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_on: cover_close_09_out18
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_09_out17
- switch.turn_off: cover_close_09_out18
- platform: time_based
name: 'Cover 10'
id: cover_10
open_action:
- switch.turn_off: cover_close_10_out20
- switch.turn_on: cover_open_10_out19
open_duration: 10s
close_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_on: cover_close_10_out20
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_10_out19
- switch.turn_off: cover_close_10_out20
- platform: time_based
name: 'Cover 11'
id: cover_11
open_action:
- switch.turn_off: cover_close_11_out22
- switch.turn_on: cover_open_11_out21
open_duration: 10s
close_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_on: cover_close_11_out22
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_11_out21
- switch.turn_off: cover_close_11_out22
- platform: time_based
name: 'Cover 12'
id: cover_12
open_action:
- switch.turn_off: cover_close_12_out24
- switch.turn_on: cover_open_12_out23
open_duration: 10s
close_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_on: cover_close_12_out24
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_12_out23
- switch.turn_off: cover_close_12_out24
- platform: time_based
name: 'Cover 13'
id: cover_13
open_action:
- switch.turn_off: cover_close_13_out26
- switch.turn_on: cover_open_13_out25
open_duration: 10s
close_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_on: cover_close_13_out26
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_13_out25
- switch.turn_off: cover_close_13_out26
- platform: time_based
name: 'Cover 14'
id: cover_14
open_action:
- switch.turn_off: cover_close_14_out28
- switch.turn_on: cover_open_14_out27
open_duration: 10s
close_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_on: cover_close_14_out28
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_14_out27
- switch.turn_off: cover_close_14_out28
- platform: time_based
name: 'Cover 15'
id: cover_15
open_action:
- switch.turn_off: cover_close_15_out30
- switch.turn_on: cover_open_15_out29
open_duration: 10s
close_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_on: cover_close_15_out30
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_15_out29
- switch.turn_off: cover_close_15_out30
- platform: time_based
name: 'Cover 16'
id: cover_16
open_action:
- switch.turn_off: cover_close_16_out32
- switch.turn_on: cover_open_16_out31
open_duration: 10s
close_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_on: cover_close_16_out32
close_duration: 10s
stop_action:
- switch.turn_off: cover_open_16_out31
- switch.turn_off: cover_close_16_out32
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs_1to14
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs_1to14
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_01
on_release:
then:
- cover.stop: cover_01
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs_1to14
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs_1to14
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_02
on_release:
then:
- cover.stop: cover_02
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs_1to14
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs_1to14
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_03
on_release:
then:
- cover.stop: cover_03
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs_1to14
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs_1to14
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_04
on_release:
then:
- cover.stop: cover_04
- platform: gpio
name: 'IN_09'
id: in_09
pin:
pcf8574: pcf_inputs_1to14
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_10'
id: in_10
pin:
pcf8574: pcf_inputs_1to14
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_05
on_release:
then:
- cover.stop: cover_05
- platform: gpio
name: 'IN_11'
id: in_11
pin:
pcf8574: pcf_inputs_1to14
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_12'
id: in_12
pin:
pcf8574: pcf_inputs_1to14
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_06
on_release:
then:
- cover.stop: cover_06
- platform: gpio
name: 'IN_13'
id: in_13
pin:
pcf8574: pcf_inputs_1to14
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_14'
id: in_14
pin:
pcf8574: pcf_inputs_1to14
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_07
on_release:
then:
- cover.stop: cover_07
- platform: gpio
name: 'IN_15'
id: in_15
pin:
pcf8574: pcf_inputs_15to28
number: 6
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_16'
id: in_16
pin:
pcf8574: pcf_inputs_15to28
number: 5
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_08
on_release:
then:
- cover.stop: cover_08
- platform: gpio
name: 'IN_17'
id: in_17
pin:
pcf8574: pcf_inputs_15to28
number: 4
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_18'
id: in_18
pin:
pcf8574: pcf_inputs_15to28
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_09
on_release:
then:
- cover.stop: cover_09
- platform: gpio
name: 'IN_19'
id: in_19
pin:
pcf8574: pcf_inputs_15to28
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_20'
id: in_20
pin:
pcf8574: pcf_inputs_15to28
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_10
on_release:
then:
- cover.stop: cover_10
- platform: gpio
name: 'IN_21'
id: in_21
pin:
pcf8574: pcf_inputs_15to28
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_22'
id: in_22
pin:
pcf8574: pcf_inputs_15to28
number: 8
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_11
on_release:
then:
- cover.stop: cover_11
- platform: gpio
name: 'IN_23'
id: in_23
pin:
pcf8574: pcf_inputs_15to28
number: 9
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_24'
id: in_24
pin:
pcf8574: pcf_inputs_15to28
number: 10
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_12
on_release:
then:
- cover.stop: cover_12
- platform: gpio
name: 'IN_25'
id: in_25
pin:
pcf8574: pcf_inputs_15to28
number: 11
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_26'
id: in_26
pin:
pcf8574: pcf_inputs_15to28
number: 12
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_13
on_release:
then:
- cover.stop: cover_13
- platform: gpio
name: 'IN_27'
id: in_27
pin:
pcf8574: pcf_inputs_15to28
number: 13
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_28'
id: in_28
pin:
pcf8574: pcf_inputs_15to28
number: 14
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_14
on_release:
then:
- cover.stop: cover_14
- platform: gpio
name: 'IN_29'
id: in_29
pin:
pcf8574: pcf_inputs_28to35_menu
number: 0
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_30'
id: in_30
pin:
pcf8574: pcf_inputs_28to35_menu
number: 1
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_15
on_release:
then:
- cover.stop: cover_15
- platform: gpio
name: 'IN_31'
id: in_31
pin:
pcf8574: pcf_inputs_28to35_menu
number: 2
mode:
input: true
inverted: true
on_press:
then:
- cover.open: cover_16
on_release:
then:
- cover.stop: cover_16
- platform: gpio
name: 'IN_32'
id: in_32
pin:
pcf8574: pcf_inputs_28to35_menu
number: 3
mode:
input: true
inverted: true
on_press:
then:
- cover.close: cover_16
on_release:
then:
- cover.stop: cover_16
- platform: gpio
name: 'IN_33'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_34'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_35'
pin:
pcf8574: pcf_inputs_28to35_menu
number: 6
mode:
input: true
inverted: true

155
boneio-lights.yaml Normal file
View File

@@ -0,0 +1,155 @@
substitutions:
name_add_mac_suffix: 'true'
node_name: boneio
esphome:
name: ${node_name}
platform: ESP32
board: nodemcu-32s
# set to false if you already added this device to ESPHOME add-on
name_add_mac_suffix: ${name_add_mac_suffix}
project:
name: boneio.32x10-lights
version: '1.0'
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-lights.yaml@single_file_test
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: single_file_test
files:
[
'devices/buzzer.yaml',
# 'devices/display.yaml',
'devices/i2c.yaml',
'devices/ina219.yaml',
'devices/lm75b.yaml',
'devices/one_wire.yaml',
'devices/pcf_inputs.yaml',
'devices/uart.yaml',
'boards/32x10_outputs.yaml',
]
logger:
baud_rate: 0 #IMPORTANT FOR V0.5 TO GET MODBUS WORKING
api:
ota:
password: boneio
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
light:
- platform: binary
name: 'OUT 1'
output: out_1
- platform: binary
name: 'OUT 2'
output: out_2
- platform: binary
name: 'OUT 3'
output: out_3
- platform: binary
name: 'OUT 4'
output: out_4
- platform: binary
name: 'OUT 5'
output: out_5
- platform: binary
name: 'OUT 6'
output: out_6
- platform: binary
name: 'OUT 7'
output: out_7
- platform: binary
name: 'OUT 8'
output: out_8
- platform: binary
name: 'OUT 9'
output: out_9
- platform: binary
name: 'OUT 10'
output: out_10
- platform: binary
name: 'OUT 11'
output: out_11
- platform: binary
name: 'OUT 12'
output: out_12
- platform: binary
name: 'OUT 13'
output: out_13
- platform: binary
name: 'OUT 14'
output: out_14
- platform: binary
name: 'OUT 15'
output: out_15
- platform: binary
name: 'OUT 16'
output: out_16
- platform: binary
name: 'OUT 17'
output: out_17
- platform: binary
name: 'OUT 18'
output: out_18
- platform: binary
name: 'OUT 19'
output: out_19
- platform: binary
name: 'OUT 20'
output: out_20
- platform: binary
name: 'OUT 21'
output: out_21
- platform: binary
name: 'OUT 22'
output: out_22
- platform: binary
name: 'OUT 23'
output: out_23
- platform: binary
name: 'OUT 24'
output: out_24
- platform: binary
name: 'OUT 25'
output: out_25
- platform: binary
name: 'OUT 26'
output: out_26
- platform: binary
name: 'OUT 27'
output: out_27
- platform: binary
name: 'OUT 28'
output: out_28
- platform: binary
name: 'OUT 29'
output: out_29
- platform: binary
name: 'OUT 30'
output: out_30
- platform: binary
name: 'OUT 31'
output: out_31
- platform: binary
name: 'OUT 32'
output: out_32

629
boneio-lights_v0_7.yaml Normal file
View File

@@ -0,0 +1,629 @@
substitutions:
name: boneio-esp32x10-lights
friendly_name: 'BoneIO ESP 32x10 Lights'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
platform: ESP32
board: nodemcu-32s
name_add_mac_suffix: true
project:
name: boneio.32x10-lights
version: '1.0'
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-lights_v0_7.yaml@single_file_test
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: single_file_test
files: [
'devices_v0_7/buzzer.yaml',
'devices_v0_7/display.yaml',
'devices_v0_7/i2c.yaml',
'devices_v0_7/ina219.yaml',
'devices_v0_7/lm75b.yaml',
'devices_v0_7/pcf.yaml',
'boards_v0_7/32x10_output.yaml',
# 'devices_v0_7/one_wire.yaml',
# 'devices_v0_7/uart.yaml',
]
logger:
api:
ota:
password: boneio
web_server:
port: 80
local: true
time:
- platform: homeassistant
timezone: Europe/Warsaw
id: homeassistant_time
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

View File

@@ -1,57 +0,0 @@
substitutions:
# set to false if you don't want mac suffix in your device name
name_add_mac_suffix: 'false'
# if you want to change the name of device via OTA you have to set IP first in boneio/devices/wt32_eth01.yaml
node_name: boneio
dir_name: './'
packages:
# select your input board:
# input: !include boards/relay24_inputs_PCF.yaml
# input: !include boards/relay32_inputs_PCF.yaml
# input: !include boards/relay32_inputs_MCP.yaml
# input: !include boards/dimmer_led8x4_inputs.yaml
# input: !include boards/cover16_inputs_MCP.yaml
# input: !include boards/cover16_inputs_PCF.yaml
input: !include boards/coverMix_inputs_PCF.yaml
# select your output board:
# output: !include boards/relay24_outputs_MCP.yaml
# output: !include boards/relay32_outputs_PCF.yaml
# output: !include boards/relay32_outputs_MCP.yaml
# output: !include boards/dimmer_led8x4_outputs.yaml
# light: !include boards/monochromatic_lights.yaml
# cover: !include boards/cover.yaml
cover: !include boards/cover_mix.yaml
# output: !include boards/cover16_outputs_PCF.yaml
# output: !include boards/cover16_outputs_MCP.yaml
# output: !include boards/mosfet48_outputs_PCF.yaml
output: !include boards/relay32_outputs_mix_PCF.yaml
# select your devices:
core: !include devices/wt32_eth01.yaml
internals: !include devices/boneio_board.yaml
temp: !include devices/lm75b.yaml
display: !include devices/display.yaml
# uart: !include devices/uart.yaml
# one_wire: !include devices/one_wire.yaml
logger:
baud_rate: 0
api:
ota:
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:

View File

@@ -1,58 +0,0 @@
substitutions:
# set to false if you don't want mac suffix in your device name
name_add_mac_suffix: 'false'
# if you want to change the name of device via OTA you have to set IP first in boneio/devices/wt32_eth01.yaml
node_name: boneio
dir_name: 'boneio/'
packages:
# select your input board:
# input: !include boneio/boards/relay24_inputs_PCF.yaml
# input: !include boneio/boards/relay32_inputs_PCF.yaml
# input: !include boneio/boards/relay32_inputs_MCP.yaml
# input: !include boneio/boards/dimmer_led8x4_inputs.yaml
# input: !include boneio/boards/cover16_inputs_MCP.yaml
# input: !include boneio/boards/cover16_inputs_PCF.yaml
# input: !include boneio/boards/coverMix_inputs_PCF.yaml
# select your output board:
# output: !include boneio/boards/relay24_outputs_MCP.yaml
output: !include boneio/boards/relay32_outputs_PCF.yaml
# output: !include boneio/boards/relay32_outputs_MCP.yaml
# output: !include boneio/boards/dimmer_led8x4_outputs.yaml
# light: !include boneio/boards/monochromatic_lights.yaml
# cover: !include boneio/boards/cover.yaml
# cover: !include boneio/boards/cover_mix.yaml
# output: !include boneio/boards/cover16_outputs_PCF.yaml
# output: !include boneio/boards/cover16_outputs_MCP.yaml
# output: !include boneio/mosfet48_outputs_PCF.yaml
# output: !include boneio/relay32_outputs_mix_PCF.yaml
# select your devices:
core: !include boneio/devices/wt32_eth01.yaml
internals: !include boneio/devices/boneio_board.yaml
temp: !include boneio/devices/lm75b.yaml
display: !include boneio/devices/display.yaml
# uart: !include devices/uart.yaml
# one_wire: !include devices/one_wire.yaml
logger:
baud_rate: 0
api:
ota:
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:

View File

@@ -1,55 +0,0 @@
#i2c address: 0x26 input pcf io
#i2c address: 0x27 input pcf io
#i2c address: 0x40 input ina219 power
#i2c address: 0x68 input rtc ds1307
time:
- platform: ds1307
id: ds1307_time
address: 0x68
i2c_id: bus_a
sensor:
# Module power consmption
- platform: ina219
address: 0x40
i2c_id: bus_a
shunt_resistance: 0.1 ohm
current:
id: ina_current
name: "${node_name} INA219 Current"
power:
id: ina_power
name: "${node_name} INA219 Power"
bus_voltage:
id: ina_bus_voltage
name: "${node_name} INA219 Bus Voltage"
shunt_voltage:
id: ina_shunt_voltage
name: "${node_name} INA219 Shunt Voltage"
max_voltage: 32.0V
max_current: 3.2A
update_interval: 30s
switch:
- platform: gpio
id: buzzer
name: "Buzzer"
pin:
number: GPIO2
mode:
output: true
inverted: false
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: bus_a
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: bus_a
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: bus_a
address: 0x22
pcf8575: false

View File

@@ -1,13 +0,0 @@
#i2c address: 0x48 output lm75b temp
#LM75B
external_components:
- source: github://btomala/esphome-LM75@v1.0
components: [ lm75 ]
sensor:
# Lower board temperature
- platform: lm75
id: boneIO_temp
name: "${node_name} LM75B Temperature"
update_interval: 30s
i2c_id: bus_b

View File

@@ -1,30 +0,0 @@
i2c:
- id: bus_a
sda: GPIO14
scl: GPIO15
scan: True
frequency: 400kHz
- id: bus_b
sda: GPIO17
scl: GPIO33
scan: True
frequency: 400kHz
esphome:
name: ${node_name}
platform: ESP32
board: nodemcu-32s
# set to false if you already added this device to ESPHOME add-on
name_add_mac_suffix: ${name_add_mac_suffix}
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
# uncomment this line and set your actual IP address before changing name of device
# use_address: xxx.xxx.xxx.xxx

View File

@@ -0,0 +1,9 @@
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO2
mode:
output: true
inverted: false

View File

@@ -23,7 +23,7 @@ sensor:
text_sensor:
- platform: template
name: ${node_name} Uptime
name: Uptime
id: wt32_uptime
entity_category: diagnostic
icon: mdi:clock-start
@@ -74,9 +74,6 @@ binary_sensor:
# on the screensaver, show the logo for a while and display the first page
display.is_displaying_page: screensaver
then:
- display.page.show: logo_page
- component.update: oled_display
- delay: 500ms
- display.page.show: first_page
- component.update: oled_display
else:
@@ -86,8 +83,8 @@ binary_sensor:
# restart screensaver script
- script.execute: screensaver_script
# it.printf(4, 37, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"IP addr:");
# it.printf(124, 37, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%s", id(eth).get_ip_addresses().str().c_str());
# it.printf(4, 37, id(roboto_9), TextAlign::BASELINE_LEFT ,"IP addr:");
# it.printf(124, 37, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%s", id(eth).get_ip_addresses().str().c_str());
display:
- platform: ssd1306_i2c
id: oled_display
@@ -96,44 +93,33 @@ display:
i2c_id: bus_b
contrast: 0.5
pages:
- id: logo_page
lambda: |-
it.printf(64,25, id(danubeBig), TextAlign::BASELINE_CENTER, "BoneIO");
it.printf(64,40, id(dejaVuSmall), TextAlign::BASELINE_CENTER, "take control");
it.printf(64,50, id(dejaVuSmall), TextAlign::BASELINE_CENTER, "of your home");
- id: first_page
lambda: |-
it.rectangle(0, 0, 126, 15);
it.printf(64,11, id(danubeSmall), TextAlign::BASELINE_CENTER, "BoneIO");
it.strftime(64, 25, id(dejaVuSmall), TextAlign::BASELINE_CENTER ,"%c", id(ds1307_time).now());
it.printf(4, 49, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Uptime:");
it.printf(124, 49, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
it.printf(4, 61, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Temperature:");
it.printf(124, 61, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state);
it.printf(64,11, id(roboto_9), TextAlign::BASELINE_CENTER, "BoneIO");
it.strftime(64, 25, id(roboto_9), TextAlign::BASELINE_CENTER ,"%c", id(homeassistant_time).now());
it.printf(4, 49, id(roboto_9), TextAlign::BASELINE_LEFT ,"Uptime:");
it.printf(124, 49, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%s", id(wt32_uptime).state.c_str());
it.printf(4, 61, id(roboto_9), TextAlign::BASELINE_LEFT ,"Temperature:");
it.printf(124, 61, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2f°C", id(boneIO_temp).state);
# 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(danubeSmall), TextAlign::BASELINE_CENTER, "BoneIO");
it.printf(4, 25, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Current:");
it.printf(124, 25, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
it.printf(4, 37, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Power:");
it.printf(124, 37, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
it.printf(4, 49, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Bus Volt:");
it.printf(124, 49, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
it.printf(4, 61, id(dejaVuSmall), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
it.printf(124, 61, id(dejaVuSmall), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state);
it.printf(64,11, id(roboto_9), TextAlign::BASELINE_CENTER, "BoneIO");
it.printf(4, 25, id(roboto_9), TextAlign::BASELINE_LEFT ,"Current:");
it.printf(124, 25, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.3fA", id(ina_current).state);
it.printf(4, 37, id(roboto_9), TextAlign::BASELINE_LEFT ,"Power:");
it.printf(124, 37, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fW", id(ina_power).state);
it.printf(4, 49, id(roboto_9), TextAlign::BASELINE_LEFT ,"Bus Volt:");
it.printf(124, 49, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_bus_voltage).state);
it.printf(4, 61, id(roboto_9), TextAlign::BASELINE_LEFT ,"Shunt Volt:");
it.printf(124, 61, id(roboto_9), TextAlign::BASELINE_RIGHT ,"%.2fV", id(ina_shunt_voltage).state);
- id: screensaver
lambda: |-
it.fill(COLOR_OFF);
font:
- file: '${dir_name}/fonts/DejaVuSans.ttf'
id: dejaVuSmall
size: 9
- file: '${dir_name}/fonts/danube__.ttf'
id: danubeBig
size: 20
- file: '${dir_name}/fonts/danube__.ttf'
id: danubeSmall
- file: 'gfonts://Roboto'
id: roboto_9
size: 9

View File

@@ -0,0 +1,11 @@
i2c:
- id: bus_a
sda: GPIO14
scl: GPIO15
scan: True
frequency: 400kHz
- id: bus_b
sda: GPIO17
scl: GPIO33
scan: True
frequency: 400kHz

View File

@@ -0,0 +1,25 @@
#i2c address: 0x26 input pcf io
#i2c address: 0x27 input pcf io
#i2c address: 0x40 input ina219 power
#i2c address: 0x68 input rtc ds1307
sensor:
# Module power consmption
- platform: ina219
address: 0x40
i2c_id: bus_a
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

View File

@@ -0,0 +1,13 @@
#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
i2c_id: bus_b

View File

@@ -0,0 +1,13 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: bus_a
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: bus_a
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: bus_a
address: 0x22
pcf8575: false

View File

@@ -1,5 +1,5 @@
uart:
id: uart
id: uart_pin3_1
rx_pin: GPIO3
tx_pin: GPIO1
baud_rate: 9600

9
devices_v0_7/buzzer.yaml Normal file
View File

@@ -0,0 +1,9 @@
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO2
mode:
output: true
inverted: false

130
devices_v0_7/display.yaml Normal file
View File

@@ -0,0 +1,130 @@
#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:
pcf8574: pcf_inputs_28to35_menu
number: 7
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, "boneIO");
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_7/i2c.yaml Normal file
View File

@@ -0,0 +1,6 @@
i2c:
- id: i2c_bus
sda: GPIO17
scl: GPIO33
scan: True
frequency: 400kHz

20
devices_v0_7/ina219.yaml Normal file
View 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_7/lm75b.yaml Normal file
View 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

View File

@@ -0,0 +1,15 @@
dallas:
- pin: GPIO32
# sensor:
# - platform: dallas
# address: 0x283c01d607d4df28
# name: "Dallas Sensor 1"
#
# - platform: dallas
# address: 0xdfe67a061e64ff28
# name: "Dallas Sensor 2"
#
# - platform: dallas
# address: 0xa7a89f071e64ff28
# name: "Dallas Sensor 3"

21
devices_v0_7/pcf.yaml Normal file
View File

@@ -0,0 +1,21 @@
pcf8574:
- id: 'pcf_inputs_1to14'
i2c_id: i2c_bus
address: 0x20
pcf8575: true
- id: 'pcf_inputs_15to28'
i2c_id: i2c_bus
address: 0x21
pcf8575: true
- id: 'pcf_inputs_28to35_menu'
i2c_id: i2c_bus
address: 0x22
pcf8575: false
- id: 'pcf_left'
address: 0x23
pcf8575: true
i2c_id: i2c_bus
- id: 'pcf_right'
address: 0x24
pcf8575: true
i2c_id: i2c_bus

6
devices_v0_7/uart.yaml Normal file
View File

@@ -0,0 +1,6 @@
uart:
id: uart_pin3_1
rx_pin: GPIO14
tx_pin: GPIO15
baud_rate: 9600
stop_bits: 1

Binary file not shown.

Binary file not shown.