Files
BoneIO-ESP/development/boneio-dimmer_8ch-v0_4.yaml
2026-04-08 22:54:24 +02:00

391 lines
7.5 KiB
YAML

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
framework:
type: esp-idf
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: packages-v1.7.2
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
- platform: web_server
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 std::string(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: 'MTemperature'
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: 'MHumidity'
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]