Merge pull request #38 from boneIO-eu/main

Update for 8x10A
This commit is contained in:
Pawel
2025-11-30 11:05:51 +01:00
committed by GitHub
18 changed files with 2433 additions and 601 deletions

View File

@@ -10,6 +10,12 @@ esphome:
project:
name: boneio.32x10-lights
version: '0.7'
on_boot:
- priority: 1001
then:
- lambda: |-
gpio_reset_pin((gpio_num_t)14);
gpio_reset_pin((gpio_num_t)15);
esp32:
board: nodemcu-32s
@@ -657,7 +663,11 @@ binary_sensor:
# UNCOMMENT BELOW TO USE MODBUS
# uart:
# id: uart_pin14_15
# rx_pin: GPIO14
# rx_pin:
# number: GPIO14
# mode:
# input: true
# pullup: true
# tx_pin: GPIO15
# baud_rate: 9600
# stop_bits: 1

View File

@@ -0,0 +1,282 @@
substitutions:
name: boneio-8x10a-gen2-01
friendly_name: 'BoneIO 8x10A Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-8x10a-gen2-01.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.8x10a-gen2
version: '0.1'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
output:
- platform: gpio
pin: GPIO18
inverted: false
id: out_01
- platform: gpio
pin: GPIO17
inverted: false
id: out_02
- platform: gpio
pin: GPIO16
inverted: false
id: out_03
- platform: gpio
pin: GPIO15
inverted: false
id: out_04
- platform: gpio
pin: GPIO7
inverted: false
id: out_05
- platform: gpio
pin: GPIO6
inverted: false
id: out_06
- platform: gpio
pin: GPIO5
inverted: false
id: out_07
- platform: gpio
pin: GPIO4
inverted: false
id: out_08
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
# uart:
# id: boneio_uart
# rx_pin: GPIO21
# tx_pin: GPIO14
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 80ms
# uart_id: boneio_uart
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
# refresh: 1min
# files:
# - path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-8x10A_gen2-v0_1.yaml@latest
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
light:
- platform: binary
output: out_01
name: 'OUT 01'
id: light_01
- platform: binary
output: out_02
name: 'OUT 02'
id: light_02
- platform: binary
output: out_03
name: 'OUT 03'
id: light_03
- platform: binary
output: out_04
name: 'OUT 04'
id: light_04
- platform: binary
output: out_05
name: 'OUT 05'
id: light_05
- platform: binary
output: out_06
name: 'OUT 06'
id: light_06
- platform: binary
output: out_07
name: 'OUT 07'
id: light_07
- platform: binary
output: out_08
name: 'OUT 08'
id: light_08
debug:
update_interval: 15s
sensor:
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -1,213 +0,0 @@
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
framework:
type: esp-idf
ethernet:
id: eth
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk:
pin: GPIO0
mode: CLK_EXT_IN
phy_addr: 1
power_pin: GPIO16
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-8x10A_v0_1.yaml@latest
import_full_config: true
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files:
[
'devices/buzzer.yaml',
'devices/serial_no.yaml',
'devices/dimmer_i2c.yaml',
'devices_v0_7-v0_9/lm75b.yaml',
]
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
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'
id: out_01
pin:
mcp23xxx: mcp1
number: 8
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 2'
id: out_02
pin:
mcp23xxx: mcp1
number: 9
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 3'
id: out_03
pin:
mcp23xxx: mcp1
number: 10
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 4'
id: out_04
pin:
mcp23xxx: mcp1
number: 11
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 5'
id: out_05
pin:
mcp23xxx: mcp1
number: 12
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 6'
id: out_06
pin:
mcp23xxx: mcp1
number: 13
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 7'
id: out_07
pin:
mcp23xxx: mcp1
number: 14
mode:
output: true
inverted: false
- platform: gpio
name: 'OUT 8'
id: out_08
pin:
mcp23xxx: mcp1
number: 15
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN 01'
id: in_01
pin:
mcp23xxx: mcp1
number: 0
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 02'
id: in_02
pin:
mcp23xxx: mcp1
number: 1
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 03'
id: in_03
pin:
mcp23xxx: mcp1
number: 2
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 04'
id: in_04
pin:
mcp23xxx: mcp1
number: 3
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 05'
id: in_05
pin:
mcp23xxx: mcp1
number: 4
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 06'
id: in_06
pin:
mcp23xxx: mcp1
number: 5
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 07'
id: in_07
pin:
mcp23xxx: mcp1
number: 6
mode:
input: true
inverted: false
- platform: gpio
name: 'IN 08'
id: in_08
pin:
mcp23xxx: mcp1
number: 7
mode:
input: true
inverted: false

View File

@@ -76,7 +76,7 @@ text_sensor:
id: hostname
entity_category: diagnostic
lambda: |-
return id(eth).get_use_address();
return std::string(id(eth).get_use_address());
update_interval: 5min
binary_sensor:

View File

@@ -76,7 +76,7 @@ text_sensor:
id: hostname
entity_category: diagnostic
lambda: |-
return id(eth).get_use_address();
return std::string(id(eth).get_use_address());
update_interval: 5min
binary_sensor:

View File

@@ -76,7 +76,7 @@ text_sensor:
id: hostname
entity_category: diagnostic
lambda: |-
return id(eth).get_use_address();
return std::string(id(eth).get_use_address());
update_interval: 5min
binary_sensor:

View File

@@ -137,7 +137,7 @@ text_sensor:
id: hostname
entity_category: diagnostic
lambda: |-
return id(eth).get_use_address();
return std::string(id(eth).get_use_address());
update_interval: 5min
binary_sensor:

View File

@@ -0,0 +1,283 @@
substitutions:
name: boneio-dr-gen2-2rgbw-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-2rgbw-01.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
# uart:
# id: boneio_uart
# rx_pin: GPIO21
# tx_pin: GPIO14
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 80ms
# uart_id: boneio_uart
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
# refresh: 1min
# files:
# - path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_gen2_2rgbw-v0_1.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
light:
- platform: rgbw
id: rgbw_l
name: 'RGBW L'
red: chl01
green: chl02
blue: chl03
white: chl04
default_transition_length: 2s
gamma_correct: 0
- platform: rgbw
id: rgbw_r
name: 'RGBW R'
red: chr01
green: chr02
blue: chr03
white: chr04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,291 @@
substitutions:
name: boneio-dr-gen2-4cct-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-4cct-01.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
# uart:
# id: boneio_uart
# rx_pin: GPIO21
# tx_pin: GPIO14
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 80ms
# uart_id: boneio_uart
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
# refresh: 1min
# files:
# - path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_gen2_4cct-v0_1.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
light:
- platform: cwww
name: 'CHL_01_02'
cold_white: chl01
warm_white: chl02
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
name: 'CHL_03_04'
cold_white: chl03
warm_white: chl04
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
name: 'CHR_01_02'
cold_white: chr01
warm_white: chr02
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
- platform: cwww
name: 'CHR_03_04'
cold_white: chr03
warm_white: chr04
cold_white_color_temperature: 6536 K
warm_white_color_temperature: 2000 K
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -0,0 +1,374 @@
substitutions:
name: boneio-dr-gen2-8ch-dev04
friendly_name: 'BoneIO Dimmer dev0.4'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-dr-gen2-8ch-dev04.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: 'dev0.4'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
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]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio48 - tx, gpio47 rx, gpio35 stb
modbus:
send_wait_time: 80ms
uart_id: boneio_uart
id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
# 'devices/dimmer_i2c.yaml',
]
boneiopackages:
url: https://github.com/boneIO-eu/esphome_packages
ref: main
refresh: 1min
files:
- path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_gen2_8ch-dev0_4.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
# http_request:
# timeout: 7s
# verify_ssl: false
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
# - platform: http_request
# update:
# - id: update_std
# platform: http_request
# name: boneIO FW Update
# update_interval: 3 minutes
# source: ${firmware_manifest}
web_server:
port: 80
version: 3
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
- platform: gpio
name: "CAN RX"
pin: GPIO47
- platform: gpio
name: "CAN TX"
pin: GPIO48
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
# canbus:
# - platform: esp32_can
# tx_pin: GPIO48
# rx_pin: GPIO47
# can_id: 4
# bit_rate: 50kbps
# on_frame:
# - can_id: 5
# then:
# - lambda: |-
# if(x.size() > 0) {
# switch(x[0]) {
# case 0x12: // button release
# id(can_bus_button).publish_state(false);
# break;
# case 0x11: // button press
# id(can_bus_button).publish_state(true);
# break;
# }
# }
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]

View File

@@ -1,374 +0,0 @@
substitutions:
name: boneio-dr-gen2-8ch-dev04
friendly_name: 'BoneIO Dimmer dev0.4'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-dr-gen2-8ch-dev04.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: 'dev0.4'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
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]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio48 - tx, gpio47 rx, gpio35 stb
modbus:
send_wait_time: 80ms
uart_id: boneio_uart
id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
# 'devices/dimmer_i2c.yaml',
]
boneiopackages:
url: https://github.com/boneIO-eu/esphome_packages
ref: main
refresh: 1min
files:
- path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_g2_8ch-dev0_4.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
# http_request:
# timeout: 7s
# verify_ssl: false
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
# - platform: http_request
# update:
# - id: update_std
# platform: http_request
# name: boneIO FW Update
# update_interval: 3 minutes
# source: ${firmware_manifest}
web_server:
port: 80
version: 3
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
- platform: gpio
name: "CAN RX"
pin: GPIO47
- platform: gpio
name: "CAN TX"
pin: GPIO48
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
# canbus:
# - platform: esp32_can
# tx_pin: GPIO48
# rx_pin: GPIO47
# can_id: 4
# bit_rate: 50kbps
# on_frame:
# - can_id: 5
# then:
# - lambda: |-
# if(x.size() > 0) {
# switch(x[0]) {
# case 0x12: // button release
# id(can_bus_button).publish_state(false);
# break;
# case 0x11: // button press
# id(can_bus_button).publish_state(true);
# break;
# }
# }
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]

View File

@@ -0,0 +1 @@
boneio-dimmer_gen2_8ch-v0_1.yaml

View File

@@ -0,0 +1,314 @@
substitutions:
name: boneio-dr-gen2-8ch-01
friendly_name: 'BoneIO Dimmer Gen2'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/fwesp/boneio-dr-gen2-8ch-01.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led-gen2
version: '0.1'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
# CAN gpio48 - tx, gpio47 rx, gpio35 stb
# uart:
# id: boneio_uart
# rx_pin: GPIO21
# tx_pin: GPIO14
# baud_rate: 9600
# stop_bits: 1
# modbus:
# send_wait_time: 80ms
# uart_id: boneio_uart
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
# boneiopackages:
# url: https://github.com/boneIO-eu/esphome_packages
# ref: main
# refresh: 1min
# files:
# - path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_gen2_8ch-v0_1.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
light:
- platform: monochromatic
output: chl01
name: 'CHL 01'
id: chl_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl02
name: 'CHL 02'
id: chl_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl03
name: 'CHL 03'
id: chl_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chl04
name: 'CHL 04'
id: chl_04
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr01
name: 'CHR 01'
id: chr_01
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr02
name: 'CHR 02'
id: chr_02
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr03
name: 'CHR 03'
id: chr_03
default_transition_length: 2s
gamma_correct: 0
- platform: monochromatic
output: chr04
name: 'CHR 04'
id: chr_04
default_transition_length: 2s
gamma_correct: 0
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: 'CAN Bus Switch'
pin:
number: GPIO35
mode:
output: true
inverted: false
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true

View File

@@ -14,23 +14,42 @@ cwd = os.getcwd()
pattern = r"name:\s*(\S+)"
json_destination = "../website/public/esp"
firmware_destination = "../website/public/esp/firmware"
json_destination = "../website2/public/fwesp"
firmware_destination = "../website2/public/fwesp/firmware"
firmware_destination2 = "../esphome_uploader/firmware"
# Lista plików do wykluczenia z przetwarzania
exclude_files = [
"dimmer_gen2_can.yaml",
"dimmer_gen2_emc.yaml",
"dev-boneio-32x10_lights_v0_9.yaml"
"boneio-mosfet48_lights_v0_7.yaml",
"boneio-mosfet48_switches_v0_7.yaml"
"boneio-8x10A_v0_1.yaml"
"boneio-dimmer_gen2_8ch-dev0_4.yaml"
# Dodaj tutaj kolejne pliki do wykluczenia
]
include_files = [
"boneio-8x10A_gen2_lights-v0_1.yaml",
# "boneio-dimmer_gen2_2rgbw-v0_1.yaml",
]
def json_pattern(firmware_name):
def json_pattern(firmware_name, chip_family="ESP32"):
return {
"name": "ESPHome",
"version": "2025.8.2",
"version": "2025.11.2",
"home_assistant_domain": "esphome",
"funding_url": "https://esphome.io/guides/supporters.html",
"new_install_prompt_erase": False,
"builds": [
{
"chipFamily": "ESP32",
"chipFamily": chip_family,
"parts": [
{
"path": f"/esp/firmware/{firmware_name}.bin",
"path": f"/fwesp/firmware/{firmware_name}.bin",
"offset": 0,
}
],
@@ -51,7 +70,16 @@ def get_boneio_name(file):
for file in glob.glob("*.yaml"):
# Pomiń pliki z listy wykluczeń
if file in exclude_files:
print(f"Skipping excluded file: {file}")
continue
if file not in include_files:
print(f"Skipping file: {file}")
continue
filename = get_boneio_name(file)
chip_family = "ESP32-S3" if "gen2" in filename else "ESP32"
if not filename:
print("No file found.")
break
@@ -66,12 +94,14 @@ for file in glob.glob("*.yaml"):
print("Process failed, breaking.")
break
shutil.copyfile(firmware_path, f"{firmware_destination}/{filename}.bin")
shutil.copyfile(firmware_path, f"{firmware_destination2}/{filename}.bin")
with open(
f"{json_destination}/{filename}.json", "w", encoding="utf-8"
) as f:
print(f"Creating JSON file: {json_destination}/{filename}.json")
json.dump(
json_pattern(firmware_name=filename),
json_pattern(firmware_name=filename, chip_family=chip_family),
f,
ensure_ascii=False,
indent=4,

355
dev-boneio-8x10A-adc.yaml Normal file
View File

@@ -0,0 +1,355 @@
substitutions:
name: boneio-8x10a-cover-dev01
friendly_name: 'BoneIO Relay 8x10A dev0.1'
serial_prefix: 'dim2' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-relay-8x10a-cover-dev0.3.json'
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.relay-8x10a-cover
version: 'dev0.3'
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
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]
i2c:
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
spi:
- id: spi_ade7953
mosi_pin: GPIO35
miso_pin: GPIO37
clk_pin: GPIO36
modbus:
send_wait_time: 80ms
uart_id: boneio_uart
id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
boneiopackages:
url: https://github.com/boneIO-eu/esphome_packages
ref: main
refresh: 1min
files:
- path: sdm630.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-relay-8x10a-cover-dev0.3.yaml@main
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
# update:
# - id: update_std
# platform: http_request
# name: boneIO FW Update
# update_interval: 3 minutes
# source: ${firmware_manifest}
web_server:
port: 80
version: 3
local: true
debug:
update_interval: 15s
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
- platform: lm75
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO40
irq_pin: GPIO15
update_interval: 10s
voltage:
name: "ADE7953 1 Voltage"
current_a:
name: "ADE7953 1 Current"
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO41
irq_pin: GPIO16
update_interval: 10s
voltage:
name: "ADE7953 2 Voltage"
current_a:
name: "ADE7953 2 Current"
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO42
irq_pin: GPIO17
update_interval: 10s
voltage:
name: "ADE7953 3 Voltage"
current_a:
name: "ADE7953 3 Current"
- platform: ade7953_spi
spi_id: spi_ade7953
cs_pin: GPIO45
irq_pin: GPIO18
update_interval: 10s
voltage:
name: "ADE7953 4 Voltage"
current_a:
name: "ADE7953 4 Current"
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO9
mode:
output: true
inverted: false
# *** POCZĄTEK AKTUALIZACJI ***
- platform: gpio
id: can_stb # Poprzednio id: can_bus_switch
name: 'CAN STB' # Poprzednio name: 'CAN Bus Switch'
pin:
number: GPIO20 # Pin dla CAN_STB
mode:
output: true
inverted: false
- platform: gpio
id: can_led
name: 'CAN LED'
pin:
number: GPIO8 # Pin dla CAN_LED
mode:
output: true
inverted: false
# *** KONIEC AKTUALIZACJI ***
- platform: gpio
name: "CAN RX"
pin: GPIO47
- platform: gpio
name: "CAN TX"
pin: GPIO48
# Przełączniki dla linii RST układów ADE7953
- platform: gpio
name: "ADE7953 RST 1"
pin: GPIO4
- platform: gpio
name: "ADE7953 RST 2"
pin: GPIO5
- platform: gpio
name: "ADE7953 RST 3"
pin: GPIO6
- platform: gpio
name: "ADE7953 RST 4"
pin: GPIO7
# !!! BRAKUJĄCA SEKCJA !!!
# Musisz tutaj dodać definicje dla 8 przekaźników.
# Na przykład:
# - platform: gpio
# name: "Relay 1"
# pin: GPIO_PIN_PRZEKAŹNIKA_1
# - platform: gpio
# name: "Relay 2"
# pin: GPIO_PIN_PRZEKAŹNIKA_2
# ... i tak 8 razy
binary_sensor:
- platform: gpio
name: 'IN_01'
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_05'
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_06'
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_07'
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: 'IN_08'
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
# canbus:
# - platform: esp32_can
# tx_pin: GPIO48
# rx_pin: GPIO47
# can_id: 4
# bit_rate: 50kbps
# on_frame:
# - can_id: 5
# then:
# - lambda: |-
# if(x.size() > 0) {
# switch(x[0]) {
# case 0x12: // button release
# id(can_bus_button).publish_state(false);
# break;
# case 0x11: // button press
# id(can_bus_button).publish_state(true);
# break;
# }
# }
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]

194
dev-boneio-ps01.yaml Normal file
View File

@@ -0,0 +1,194 @@
substitutions:
name: boneio-ps-01
friendly_name: 'BoneIO PS-01 Czujnik Obecności'
serial_prefix: 'ps01' #Don't change it.
firmware_manifest: 'https://boneio.eu/esp/boneio-ps-01.json' # URL manifestu
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.presence-sensor-ps01
version: 'dev0.1' # Przykładowa wersja
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: 'return id(serial_no) != nullptr;'
then:
- component.update: serial_no
- logger.log: "Serial No updated on boot"
else:
- logger.log: "Serial No component not found"
esp32:
variant: esp32s3
flash_size: 16MB
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
# --- NOWA SEKCJA: WiFi ---
wifi:
ssid: "TwojeSSID"
password: "TwojeHaslo"
# Tryb AP do pierwszej konfiguracji
ap:
ssid: "PS-01 Sensor Setup"
password: "boneio-setup"
captive_portal:
i2c:
id: i2c_bus # Dodano ID dla czujników
sda: GPIO10
scl: GPIO11
scan: True
frequency: 400kHz
# --- ZAKTUALIZOWANY UART (dla radaru) ---
uart:
- id: radar_uart
tx_pin: GPIO21 # ESP TX -> Radar RX
rx_pin: GPIO14 # ESP RX -> Radar TX
baud_rate: 115200 # Standard dla LD2412
- id: boneio_uart
rx_pin: GPIO47 # CAN RX wg tabeli (dla CAN Bus)
tx_pin: GPIO48 # CAN TX wg tabeli (dla CAN Bus)
baud_rate: 9600
stop_bits: 1
# --- NOWA SEKCJA: Radar LD2412 ---
ld2412:
uart_id: radar_uart
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [
'devices/serial_no.yaml',
]
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-ps-01-presence-sensor.yaml@main # Zgadywany URL
import_full_config: true
# --- USUNIĘTY pcf8574 ---
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
# --- USUNIĘTE 'output' i 'light' ---
debug:
update_interval: 15s
sensor:
- platform: lm75b
id: boneIO_temp
name: 'Temperature'
update_interval: 30s
entity_category: diagnostic
on_value_range:
- above: 70.0
then:
- switch.turn_on: buzzer
- below: 70.0
then:
- switch.turn_off: buzzer
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
# --- NOWA SEKCJA: Czujniki I2C ---
- platform: sht4x
i2c_id: i2c_bus
address: 0x44 # Z tabeli
temperature:
name: "Temperatura"
humidity:
name: "Wilgotność"
update_interval: 15s
- platform: veml7700
address: 0x10
update_interval: 60s
# short variant of sensor definition:
ambient_light: "Ambient light"
# longer variant of sensor definition:
actual_gain:
name: "Actual gain"
# Czujniki dla radaru LD2412 (dystans, energia)
# zostaną dodane automatycznie przez komponent 'ld2412'
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO12 # Zaktualizowany pin
mode: output
inverted: false
- platform: gpio
id: can_stb
name: 'CAN STB'
pin:
number: GPIO13 # Zaktualizowany pin
mode: output
inverted: false
# --- NOWA SEKCJA: Przełączniki ---
- platform: gpio
id: led_status
name: 'LED Status'
pin:
number: GPIO1 # Zaktualizowany pin
mode: output
inverted: false
- platform: gpio
id: relay_1
name: 'Przekaźnik 1'
pin:
number: GPIO18 # Z tabeli
mode: output
inverted: false
- platform: gpio
id: relay_2
name: 'Przekaźnik 2'
pin:
number: GPIO17 # Z tabeli
mode: output
inverted: false
binary_sensor:
- platform: gpio
name: 'Obecność (Pin OUT)'
pin:
number: GPIO41 # RADAR_OUT
mode: input
device_class: presence

View File

@@ -1,5 +1,6 @@
dallas:
- pin: GPIO32
one_wire:
- platform: gpio
pin: GPIO32
# sensor:
# - platform: dallas

284
dimmer_gen2_can.yaml Normal file
View File

@@ -0,0 +1,284 @@
#CAN
substitutions:
name: boneio-dr-gen2-8ch-dev04-3328f7
friendly_name: BoneIO Dimmer dev0.4 3328f7
serial_prefix: dim2 #Don't change it.
firmware_manifest: https://boneio.eu/esp/boneio-dr-gen2-8ch-dev04.json
esphome:
name: ${name}
friendly_name: ${friendly_name}
name_add_mac_suffix: false
project:
name: boneio.dimmer-led-gen2
version: dev0.4
on_boot:
priority: -100
then:
- delay: 5s
- if:
condition:
lambda: return id(serial_no) != nullptr;
then:
- component.update: serial_no
- logger.log: Serial No updated on boot
else:
- logger.log: Serial No component not found
external_components:
- source: github://mrk-its/esphome-canopen
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
ethernet:
id: eth
type: W5500
clk_pin: GPIO13
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO12
interrupt_pin: GPIO2
reset_pin: GPIO1
clock_speed: 25MHz
# use_address: 192.168.13.107
use_address: 192.168.50.173
i2c:
sda: GPIO10
scl: GPIO11
scan: true
frequency: 400kHz
uart:
id: boneio_uart
rx_pin: GPIO21
tx_pin: GPIO14
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio48 - tx, gpio47 rx, gpio35 stb
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.7.1
files: [devices/serial_no.yaml]
dashboard_import:
package_import_url:
github://boneIO-eu/esphome/boneio-dimmer_g2_8ch-dev0_4.yaml@main
import_full_config: true
pcf8574:
- id: pcf_inputs
address: 0x38
# http_request:
# timeout: 7s
# verify_ssl: false
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: web_server
web_server:
port: 80
version: 3
local: true
switch:
- platform: gpio
id: buzzer
name: Buzzer
pin:
number: GPIO9
mode:
output: true
inverted: false
- platform: gpio
id: can_bus_switch
name: CAN Bus Switch
pin:
number: GPIO3
mode:
output: true
inverted: false
- platform: template
id: master
name: master
optimistic: true
on_turn_on:
then:
- delay: 0ms
- lambda: id(can_open).send_entity_cmd(0x2, 1, (uint8_t)1);
on_turn_off:
then:
- delay: 0ms
- lambda: id(can_open).send_entity_cmd(0x2, 1, (uint8_t)0);
binary_sensor:
- platform: gpio
name: IN_01
id: in_01
pin:
pcf8574: pcf_inputs
number: 0
mode:
input: true
inverted: true
- platform: gpio
name: IN_02
id: in_02
pin:
pcf8574: pcf_inputs
number: 1
mode:
input: true
inverted: true
- platform: gpio
name: IN_03
id: in_03
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
- platform: gpio
name: IN_04
id: in_04
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
- platform: gpio
name: IN_05
id: in_05
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
- platform: gpio
name: IN_06
id: in_06
pin:
pcf8574: pcf_inputs
number: 5
mode:
input: true
inverted: true
- platform: gpio
name: IN_07
id: in_07
pin:
pcf8574: pcf_inputs
number: 6
mode:
input: true
inverted: true
- platform: gpio
name: IN_08
id: in_08
pin:
pcf8574: pcf_inputs
number: 7
mode:
input: true
inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
canbus:
- platform: esp32_can
id: can_bus
tx_pin: GPIO48
rx_pin: GPIO47
can_id: 1
bit_rate: 50kbps
# button:
# - platform: template
# name: 'CAN Sensor ON'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x11, 0x22, 0x33]
# - platform: template
# name: 'CAN Sensor OFF'
# on_press:
# - logger.log: Button Pressed
# - canbus.send: [0x12, 0x22, 0x33]
canopen:
id: can_open
canbus_id: can_bus
entities: []
node_id: 1

0
dimmer_gen2_emc.yaml Normal file
View File