Files
esphome/boneio-dimmer_8ch-v0_3.yaml
2024-10-25 09:18:54 +02:00

454 lines
12 KiB
YAML

substitutions:
name: boneio-dr-8ch-03
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.3'
esp32:
board: esp32dev
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]
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',
'board/dimmer_output.yaml',
]
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-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: 1
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_01
then:
- if:
condition:
lambda: 'return id(chl_01).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_01
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_01
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_01
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_02'
id: in_02
pin:
pcf8574: pcf_inputs
number: 2
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_02
then:
- if:
condition:
lambda: 'return id(chl_02).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_02
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_02
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_02
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_03'
id: in_03
pin:
pcf8574: pcf_inputs
number: 3
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_03
then:
- if:
condition:
lambda: 'return id(chl_03).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_03
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_03
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_03
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_04'
id: in_04
pin:
pcf8574: pcf_inputs
number: 4
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_04
then:
- if:
condition:
lambda: 'return id(chl_04).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_04
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_04
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_04
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_05'
id: in_05
pin:
number: 36
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_05
then:
- if:
condition:
lambda: 'return id(chl_05).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_05
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_05
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_05
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_06'
id: in_06
pin:
number: 39
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_06
then:
- if:
condition:
lambda: 'return id(chl_06).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_06
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_06
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_06
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_07'
id: in_07
pin:
number: 34
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_07
then:
- if:
condition:
lambda: 'return id(chl_07).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_07
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_07
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_07
invalid_cooldown: 0.5s
- platform: gpio
name: 'IN_08'
id: in_08
pin:
number: 35
mode:
input: true
inverted: true
on_multi_click:
- timing:
- ON for at least 0.7s
then:
- while:
condition:
binary_sensor.is_on: in_08
then:
- if:
condition:
lambda: 'return id(chl_08).current_values.get_brightness() >= 0.90f;'
then:
- light.turn_on:
id: chl_08
brightness: 5%
transition_length: 0.2s
else:
- light.dim_relative:
id: chl_08
relative_brightness: 5%
transition_length: 0.2s
- delay: 200ms
invalid_cooldown: 0.5s
- timing: #single click
- ON for at most 0.4s
- OFF for at least 0.1s
then:
light.toggle: chl_08
invalid_cooldown: 0.5s
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
switch:
- platform: gpio
id: buzzer
name: 'Buzzer'
pin:
pcf8574: pcf_inputs
number: 0
mode:
output: true
inverted: true