Dimmer gen2 dev0_4

This commit is contained in:
pszafer
2025-06-17 14:35:44 +02:00
parent 08db63a36f
commit ebbcc61699
5 changed files with 326 additions and 15 deletions

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

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

View File

@@ -0,0 +1,302 @@
substitutions:
name: boneio-dr-gen2-8ch-dev04
friendly_name: 'BoneIO Dimmer dev0.4'
serial_prefix: 'dim' #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'
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: 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 gpio1 - tx, gpio2 rx
modbus:
send_wait_time: 200ms
uart_id: boneio_uart
id: boneio_modbus
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.6.0
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/package.yaml
dashboard_import:
package_import_url: github://boneIO-eu/esphome/boneio-dimmer_g2_8ch-dev0_4.yaml@latest
import_full_config: true
pcf8574:
- id: 'pcf_inputs'
address: 0x38
logger:
hardware_uart: UART0
api:
reboot_timeout: 0s
ota:
- platform: esphome
- platform: http_request
update:
- id: update_std
platform: http_request
name: Firmware Update
source: ${firmware_manifest}
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

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

@@ -37,7 +37,7 @@ i2c:
frequency: 400kHz frequency: 400kHz
uart: uart:
id: uart_pin id: boneio_uart
rx_pin: GPIO14 rx_pin: GPIO14
tx_pin: GPIO21 tx_pin: GPIO21
baud_rate: 9600 baud_rate: 9600
@@ -88,19 +88,19 @@ output:
##CAN gpio1 - tx, gpio2 rx ##CAN gpio1 - tx, gpio2 rx
# modbus: modbus:
# send_wait_time: 200ms send_wait_time: 200ms
# uart_id: uart_pin8_9 uart_id: boneio_uart
# id: boneio_modbus id: boneio_modbus
packages: packages:
internals_packages: boneio_packages:
url: https://github.com/boneIO-eu/esphome url: "https://github.com/boneIO-eu/esphome_packages"
ref: v1.5.0 refresh: 1min
files: [ files:
'devices/serial_no.yaml', - path: "sdm630.yaml"
# 'devices/dimmer_i2c.yaml', vars:
] device_name: "MySDM"
# dashboard_import: # dashboard_import:
# package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest # package_import_url: github://boneIO-eu/esphome/boneio-dimmer_8ch-v0_3.yaml@latest
@@ -111,6 +111,7 @@ pcf8574:
address: 0x38 address: 0x38
logger: logger:
hardware_uart: UART0
api: api:
reboot_timeout: 0s reboot_timeout: 0s
ota: ota:
@@ -286,4 +287,4 @@ binary_sensor:
mode: mode:
input: true input: true
inverted: 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())