Merge pull request #31 from boneIO-eu/main

Esphome 2025.7
This commit is contained in:
Pawel
2025-07-28 19:55:09 +02:00
committed by GitHub
9 changed files with 1451 additions and 21 deletions

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"python.languageServer": "None"
}

387
boneio-dimmer_8ch-v0_4.yaml Normal file
View File

@@ -0,0 +1,387 @@
substitutions:
name: boneio-dr-8ch-04
friendly_name: 'BoneIO Dimmer LED'
serial_prefix: 'dim' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: true
project:
name: boneio.dimmer-led
version: '0.4'
esp32:
board: esp32-s3-devkitc-1
ethernet:
id: eth
type: W5500
clk_pin: GPIO12
mosi_pin: GPIO14
miso_pin: GPIO13
cs_pin: GPIO39
interrupt_pin: GPIO21
reset_pin: GPIO38
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: GPIO11
scl: GPIO10
scan: True
frequency: 400kHz
uart:
id: uart_pin8_9
rx_pin: GPIO8
tx_pin: GPIO9
baud_rate: 9600
stop_bits: 1
output:
- platform: ledc
pin: GPIO4
frequency: 1000Hz
inverted: false
id: chl01
- platform: ledc
pin: GPIO5
frequency: 1000Hz
inverted: false
id: chl02
- platform: ledc
pin: GPIO6
frequency: 1000Hz
inverted: false
id: chl03
- platform: ledc
pin: GPIO7
frequency: 1000Hz
inverted: false
id: chl04
- platform: ledc
pin: GPIO15
frequency: 1000Hz
inverted: false
id: chr01
- platform: ledc
pin: GPIO16
frequency: 1000Hz
inverted: false
id: chr02
- platform: ledc
pin: GPIO17
frequency: 1000Hz
inverted: false
id: chr03
- platform: ledc
pin: GPIO18
frequency: 1000Hz
inverted: false
id: chr04
##CAN gpio1 - tx, gpio2 rx
modbus:
send_wait_time: 200ms
uart_id: uart_pin8_9
id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.5.0
files: [
'devices/serial_no.yaml',
# 'devices/dimmer_i2c.yaml',
# 'devices/dimmer_ina219.yaml',
# 'boards/dimmer_output.yaml',
]
# dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest
# import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
local: true
text_sensor:
- platform: version
name: 'boneio-dimmer- Version'
icon: mdi:cube-outline
entity_category: diagnostic
- platform: ethernet_info
ip_address:
entity_category: diagnostic
name: boneio-dimmer IP
- platform: template
name: 'Hostname'
id: hostname
entity_category: diagnostic
lambda: |-
return id(eth).get_use_address();
update_interval: 5min
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
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
sensor:
- 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: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHL Voltage
current:
name: CHLCurrent
power:
name: CHL Watts
temperature:
name: CHL Temperature
address: 0x70
update_interval: 10s
- platform: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHR Voltage
current:
name: CHR Current
power:
name: CHR Watts
temperature:
name: CHR Temperature
address: 0x73
update_interval: 10s
- platform: modbus_controller
modbus_controller_id: sht20
name: 'Temperature'
register_type: read
address: 1
unit_of_measurement: '°C'
device_class: 'temperature'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sht20
name: 'Humidity'
register_type: read
address: 2
unit_of_measurement: '%'
device_class: 'humidity'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO42
mode:
output: true
inverted: true
modbus_controller:
- id: sht20
address: 62
modbus_id: boneio_modbus
setup_priority: -10
update_interval: 20s
canbus:
- platform: esp32_can
tx_pin: GPIO01
rx_pin: GPIO02
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,371 @@
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
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.6.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: 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]

5
configuration/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
# Gitignore settings for ESPHome
# This is an example and may include too much for your use-case.
# You can modify this file to suit your needs.
/.esphome/
/secrets.yaml

View File

@@ -0,0 +1,290 @@
substitutions:
name: boneio-dev02
friendly_name: 'BoneIO Dimmer dev0.2'
serial_prefix: 'dim' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: false
project:
name: boneio.dimmer-led
version: 'dev0.2'
esp32:
board: esp32-s3-devkitc-1
ethernet:
id: eth
type: W5500
clk_pin: GPIO12
mosi_pin: GPIO39
miso_pin: GPIO38
cs_pin: GPIO13
interrupt_pin: GPIO2
reset_pin: GPIO1
# Enable fallback hotspot (captive portal) in case wifi connection fails
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: GPIO14
tx_pin: GPIO21
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 gpio1 - tx, gpio2 rx
modbus:
send_wait_time: 200ms
uart_id: boneio_uart
id: boneio_modbus
packages:
boneio_packages:
url: "https://github.com/boneIO-eu/esphome_packages"
refresh: 1min
files:
- path: "sdm630.yaml"
vars:
device_name: "MySDM"
# dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest
# import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
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
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,10 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
import subprocess
import glob import glob
import json
import os import os
import re import re
import json
import shutil import shutil
import subprocess
from pathlib import Path from pathlib import Path
home = str(Path.home()) home = str(Path.home())
@@ -21,7 +21,7 @@ firmware_destination = "../website/public/esp/firmware"
def json_pattern(firmware_name): def json_pattern(firmware_name):
return { return {
"name": "ESPHome", "name": "ESPHome",
"version": "2024.10.1", "version": "2025.5.1",
"home_assistant_domain": "esphome", "home_assistant_domain": "esphome",
"funding_url": "https://esphome.io/guides/supporters.html", "funding_url": "https://esphome.io/guides/supporters.html",
"new_install_prompt_erase": False, "new_install_prompt_erase": False,

View File

@@ -9,7 +9,7 @@ esphome:
name_add_mac_suffix: true name_add_mac_suffix: true
project: project:
name: boneio.32x10-lights name: boneio.32x10-lights
version: '0.9' version: 'dev0.9'
esp32: esp32:
board: nodemcu-32s board: nodemcu-32s
@@ -61,8 +61,13 @@ packages:
logger: logger:
api: api:
reboot_timeout: 0s reboot_timeout: 0s
# http_request:
# verify_ssl: false
ota: ota:
- platform: esphome - platform: esphome
# - platform: http_request
# name: Firmware Update
# source: https://boneio.eu/esp/
web_server: web_server:
port: 80 port: 80
@@ -646,25 +651,85 @@ binary_sensor:
mode: mode:
input: true input: true
inverted: true inverted: true
- platform: template
name: CAN Bus Button
id: can_bus_button
###################### ######################
### MODBUS SECTION ### ### MODBUS SECTION ###
###################### ######################
# UNCOMMENT BELOW TO USE MODBUS # UNCOMMENT BELOW TO USE MODBUS
# uart: uart:
# id: uart_pin14_15 id: uart_pin14_15
# rx_pin: GPIO14 rx_pin: GPIO14
# tx_pin: GPIO15 tx_pin: GPIO15
# baud_rate: 9600 baud_rate: 9600
# stop_bits: 1 stop_bits: 1
# modbus: modbus:
# send_wait_time: 200ms send_wait_time: 200ms
# uart_id: uart_pin14_15 uart_id: uart_pin14_15
# id: boneio_modbus id: boneio_modbus
# modbus_controller: modbus_controller:
# - id: YOURDEVICE ID - id: sht20
# address: 0x09 address: 62
# modbus_id: mod_bus modbus_id: boneio_modbus
# setup_priority: -10 setup_priority: -10
# update_interval: 60s update_interval: 20s
sensor:
- platform: modbus_controller
modbus_controller_id: sht20
name: 'Temperature'
register_type: read
address: 1
unit_of_measurement: '°C'
device_class: 'temperature'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
- platform: modbus_controller
modbus_controller_id: sht20
name: 'Humidity'
register_type: read
address: 2
unit_of_measurement: '%'
device_class: 'humidity'
state_class: 'measurement'
value_type: S_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1
canbus:
- platform: esp32_can
tx_pin: GPIO05
rx_pin: GPIO04
can_id: 5
bit_rate: 50kbps
on_frame:
- can_id: 4
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,9 +1,10 @@
text_sensor: text_sensor:
- platform: template - platform: template
name: 'Serial No.' name: 'Serial No.'
id: serial_no
lambda: |- lambda: |-
std::string mac = get_mac_address(); std::string mac = get_mac_address();
return to_string("${serial_prefix}") + mac.erase(0, mac.length()/2); return std::string("${serial_prefix}") + mac.substr(mac.length()/2);
icon: mdi:expansion-card-variant icon: mdi:expansion-card-variant
entity_category: diagnostic entity_category: diagnostic
update_interval: 60min update_interval: 60min

308
dimmer-dev1.yaml Normal file
View File

@@ -0,0 +1,308 @@
substitutions:
name: boneio-dev01
friendly_name: 'BoneIO Dimmer dev0.1'
serial_prefix: 'dim' #Don't change it.
esphome:
name: '${name}'
friendly_name: '${friendly_name}'
name_add_mac_suffix: false
project:
name: boneio.dimmer-led
version: 'dev0.1'
esp32:
board: esp32-s3-devkitc-1
ethernet:
id: eth
type: W5500
clk_pin: GPIO14
mosi_pin: GPIO12
miso_pin: GPIO13
cs_pin: GPIO21
interrupt_pin: GPIO38
reset_pin: GPIO39
# Enable fallback hotspot (captive portal) in case wifi connection fails
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: uart_pin
rx_pin: GPIO48
tx_pin: GPIO47
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 gpio1 - tx, gpio2 rx
# modbus:
# send_wait_time: 200ms
# uart_id: uart_pin8_9
# id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.5.0
files: [
'devices/serial_no.yaml',
# 'devices/dimmer_i2c.yaml',
#'devices/dimmer_ina219.yaml',
]
# dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest
# import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
api:
reboot_timeout: 0s
ota:
- platform: esphome
web_server:
port: 80
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
sensor:
- 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: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHL Voltage
current:
name: CHLCurrent
power:
name: CHL Watts
temperature:
name: CHL Temperature
address: 0x70
update_interval: 10s
- platform: max9611
shunt_resistance: 0.005 ohm
gain: '1X'
voltage:
name: CHR Voltage
current:
name: CHR Current
power:
name: CHR Watts
temperature:
name: CHR Temperature
address: 0x73
update_interval: 10s
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
number: GPIO42
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