Updated gartenhaus light
This commit is contained in:
commit
50779acee3
|
@ -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
|
|
@ -0,0 +1,444 @@
|
|||
esphome:
|
||||
name: garten-bus-controller
|
||||
|
||||
esp32:
|
||||
board: esp32-poe
|
||||
framework:
|
||||
type: arduino
|
||||
|
||||
# Enable logging
|
||||
#logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: !secret api_encryption_key
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
|
||||
external_components:
|
||||
- source:
|
||||
type: git
|
||||
url: "https://github.com/andyboeh/esphome-dmx512"
|
||||
ref: master
|
||||
|
||||
|
||||
external_components:
|
||||
- source:
|
||||
type: local
|
||||
path: my_components
|
||||
|
||||
#wifi:
|
||||
# ssid: "WLAN"
|
||||
# password: !secret wifi_password
|
||||
#
|
||||
# # Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
# ap:
|
||||
# ssid: "Garten Bus Controller Hotspot"
|
||||
# password: !secret ota_password
|
||||
#captive_portal:
|
||||
|
||||
ethernet:
|
||||
type: LAN8720
|
||||
mdc_pin: GPIO23
|
||||
mdio_pin: GPIO18
|
||||
clk_mode: GPIO17_OUT
|
||||
phy_addr: 0
|
||||
power_pin: GPIO12
|
||||
|
||||
uart:
|
||||
- id: "uart_dmx"
|
||||
rx_pin: 0
|
||||
tx_pin: 1 # the pin where the transmission happens connected to tx (not reversed)
|
||||
stop_bits: 2
|
||||
baud_rate: 250000
|
||||
- id: uart_relays
|
||||
rx_pin: 2
|
||||
tx_pin: 3
|
||||
baud_rate: 9600
|
||||
- id: "uart_oxilife"
|
||||
rx_pin: 4
|
||||
tx_pin: 5
|
||||
baud_rate: 19200
|
||||
stop_bits: 1
|
||||
parity: NONE
|
||||
|
||||
modbus:
|
||||
- uart_id: "uart_relays"
|
||||
id: "modbus_relays"
|
||||
- uart_id: "uart_oxilife"
|
||||
id: "modbus_oxilife"
|
||||
|
||||
modbus_controller:
|
||||
- modbus_id: "modbus_relays"
|
||||
id: "relayboard32"
|
||||
address: 0x1
|
||||
- modbus_id: "modbus_relays"
|
||||
id: "relayboard8_with_inputs"
|
||||
address: 0x2
|
||||
update_interval: "1s"
|
||||
- modbus_id: "modbus_oxilife"
|
||||
id: "oxilife"
|
||||
address: 0x1
|
||||
update_interval: "1s"
|
||||
|
||||
|
||||
packages:
|
||||
# ------------ Relays of 32-Relay board ----
|
||||
relay01: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard32
|
||||
name: "modbus-switch01"
|
||||
dev_addr: 0x1
|
||||
register_addr: 0x01
|
||||
relay02: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard32
|
||||
name: "modbus-switch02"
|
||||
dev_addr: 0x1
|
||||
register_addr: 0x02
|
||||
relay03: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard32
|
||||
name: "modbus-switch03"
|
||||
dev_addr: 0x1
|
||||
register_addr: 0x03
|
||||
relay16: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard32
|
||||
name: "modbus-switch16"
|
||||
dev_addr: 0x1
|
||||
register_addr: 0x0f
|
||||
relay17: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard32
|
||||
name: "modbus-switch17"
|
||||
dev_addr: 0x1
|
||||
register_addr: 0x10
|
||||
# ------------ Relays of 8-Relay board ----
|
||||
b2relay1: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard8_with_inputs
|
||||
name: "garten_relayboard8_switch1"
|
||||
dev_addr: 0x2
|
||||
register_addr: 0x1
|
||||
b2relay2: !include
|
||||
file: "modbus_relay.yaml"
|
||||
vars:
|
||||
cid: relayboard8_with_inputs
|
||||
name: "garten_relayboard8_switch2"
|
||||
dev_addr: 0x2
|
||||
register_addr: 0x2
|
||||
|
||||
# Controls input output relationship
|
||||
# 0 no relationship
|
||||
# 1 self-locking
|
||||
# 2 interlocking
|
||||
# 3 momentary
|
||||
# commented out for now, because it sends all the time
|
||||
#number:
|
||||
# - platform: modbus_controller
|
||||
# modbus_controller_id: relayboard8_with_inputs
|
||||
# name: "relayboard8-input-output-relationship"
|
||||
# value_type: U_WORD
|
||||
# address: 0x00fd
|
||||
# min_value: 0
|
||||
# max_value: 3
|
||||
# skip_updates: true
|
||||
|
||||
|
||||
dmx512:
|
||||
id: dmx1
|
||||
uart_id: uart_dmx
|
||||
tx_pin: 1
|
||||
uart_num: 0
|
||||
periodic_update: true
|
||||
|
||||
output:
|
||||
- platform: dmx512
|
||||
channel: 1
|
||||
universe: dmx1
|
||||
id: pool_licht_r
|
||||
- platform: dmx512
|
||||
channel: 2
|
||||
universe: dmx1
|
||||
id: pool_licht_g
|
||||
- platform: dmx512
|
||||
channel: 3
|
||||
universe: dmx1
|
||||
id: pool_licht_b
|
||||
- platform: dmx512
|
||||
channel: 4
|
||||
universe: dmx1
|
||||
id: magnolie_links_r
|
||||
- platform: dmx512
|
||||
channel: 5
|
||||
universe: dmx1
|
||||
id: magnolie_links_g
|
||||
- platform: dmx512
|
||||
channel: 6
|
||||
universe: dmx1
|
||||
id: magnolie_links_b
|
||||
light:
|
||||
- platform: rgb
|
||||
name: pool_licht
|
||||
red: pool_licht_r
|
||||
green: pool_licht_g
|
||||
blue: pool_licht_b
|
||||
default_transition_length: 0s
|
||||
restore_mode: RESTORE_DEFAULT_OFF
|
||||
- platform: rgb
|
||||
name: magnolie_links
|
||||
red: magnolie_links_r
|
||||
green: magnolie_links_g
|
||||
blue: magnolie_links_b
|
||||
default_transition_length: 0s
|
||||
restore_mode: RESTORE_DEFAULT_OFF
|
||||
|
||||
|
||||
# ----------------------- Oxilife ------------------------------
|
||||
|
||||
sensor:
|
||||
#- platform: modbus_controller
|
||||
# modbus_controller_id: oxilife
|
||||
# id: oxilife_ionization_current
|
||||
# name: Ionization Strom
|
||||
# value_type: U_WORD
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_hidro_current
|
||||
name: Oxilife Hydrolyse
|
||||
state_class: measurement
|
||||
device_class: POWER_FACTOR
|
||||
icon: mdi:percent
|
||||
address: 0x0101
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
unit_of_measurement: "%"
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_ph
|
||||
name: Oxilife pH
|
||||
state_class: measurement
|
||||
icon: mdi:ph
|
||||
address: 0x0102
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
accuracy_decimals: 2
|
||||
filters:
|
||||
- multiply: 0.01
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_redox_level
|
||||
name: Oxilife Redox Level
|
||||
state_class: measurement
|
||||
icon: mdi:atom
|
||||
address: 0x0103
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
unit_of_measurement: "mV"
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_clorine_ppm
|
||||
address: 0x0104
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
internal: true
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_conductivity
|
||||
address: 0x0105
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
internal: true
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_temperature
|
||||
name: Pool Temperatur
|
||||
device_class: TEMPERATURE
|
||||
state_class: measurement
|
||||
address: 0x0106
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
unit_of_measurement: "°C"
|
||||
accuracy_decimals: 1
|
||||
filters:
|
||||
- multiply: 0.1
|
||||
# pH status
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife pH Status Alarm
|
||||
id: oxilife_ph_status_alarm
|
||||
address: 0x0107
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
bitmask: 0x000F
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Polarization A Time
|
||||
address: 0x0214
|
||||
register_type: read
|
||||
value_type: U_DWORD
|
||||
device_class: DURATION
|
||||
state_class: total_increasing
|
||||
unit_of_measurement: "s"
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Polarization B Time
|
||||
address: 0x0216
|
||||
register_type: read
|
||||
value_type: U_DWORD
|
||||
device_class: DURATION
|
||||
state_class: total_increasing
|
||||
unit_of_measurement: "s"
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Runtime Polarity Changes
|
||||
address: 0x0216
|
||||
register_type: read
|
||||
value_type: U_DWORD
|
||||
state_class: total_increasing
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay State
|
||||
id: oxilife_raw_relays
|
||||
address: 0x010E
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
|
||||
binary_sensor:
|
||||
# Oxilife
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_acid_pump
|
||||
name: Oxilife Säure Pumpe
|
||||
device_class: RUNNING
|
||||
address: 0x0107
|
||||
bitmask: 0x1000
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_ph_module_flow_control
|
||||
name: Oxilife pH Flow Control
|
||||
device_class: RUNNING
|
||||
address: 0x0107
|
||||
bitmask: 0x0400
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: oxilife_hydrolysis_flow
|
||||
name: Oxilife Hydrolysis Flow
|
||||
device_class: RUNNING
|
||||
address: 0x010D
|
||||
bitmask: 0x0008
|
||||
register_type: read
|
||||
#Oxilife relays
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay 1 pH
|
||||
address: 0x010E
|
||||
bitmask: 0x0001
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay 2 Filtering
|
||||
address: 0x010E
|
||||
bitmask: 0x0010
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay 3 Light
|
||||
address: 0x010E
|
||||
bitmask: 0x0004
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay 4
|
||||
address: 0x010E
|
||||
bitmask: 0x0008
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay Slow Speed
|
||||
address: 0x010E
|
||||
bitmask: 0x0100
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay Medium Speed
|
||||
address: 0x010E
|
||||
bitmask: 0x0200
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Relay High Speed
|
||||
address: 0x010E
|
||||
bitmask: 0x0400
|
||||
device_class: POWER
|
||||
register_type: read
|
||||
# Relay board
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: relayboard8_with_inputs
|
||||
name: "garten_relayboard8_input1"
|
||||
register_type: holding
|
||||
address: 0x81
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: relayboard8_with_inputs
|
||||
name: "garten_relayboard8_input2"
|
||||
register_type: holding
|
||||
address: 0x82
|
||||
|
||||
|
||||
switch:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
name: Oxilife Aux Relay
|
||||
register_type: holding
|
||||
address: 0x010E
|
||||
bitmask: 0x0008
|
||||
write_lambda: |-
|
||||
uint16_t previous = id(oxilife_raw_relays).state;
|
||||
ESP_LOGE("main","Previous state to overwrite: = %d", previous);
|
||||
if(x)
|
||||
previous |= 0x0008;
|
||||
else
|
||||
previous &= ~(0x0008);
|
||||
|
||||
ESP_LOGE("main","Previous state overwritten: = %d", previous);
|
||||
|
||||
payload.push_back(0x01); // device address
|
||||
payload.push_back(0x10); // write function
|
||||
payload.push_back((uint8_t)(0x010E >> 8)); // register address high
|
||||
payload.push_back((uint8_t)(0x010E)); // register address low
|
||||
payload.push_back(0x00); // register count high
|
||||
payload.push_back(0x01); // register count low
|
||||
payload.push_back(0x02); // byte count
|
||||
|
||||
payload.push_back((uint8_t)(previous >> 8)); // data high
|
||||
payload.push_back((uint8_t)(previous)); // data low
|
||||
return true;
|
||||
|
||||
# filtration state: 0x0421 0 off, 1 is on
|
||||
# filtration mode: register 0x0411
|
||||
# 0 manual
|
||||
# 1 auto
|
||||
# 2 heating
|
||||
# 3 smart
|
||||
# 4 intelligent
|
||||
# 13 backwash
|
|
@ -0,0 +1,184 @@
|
|||
|
||||
esphome:
|
||||
name: gartenhaus-taster-input
|
||||
|
||||
esp32:
|
||||
board: esp32-poe
|
||||
framework:
|
||||
type: arduino
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: !secret api_encryption_key
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
|
||||
ethernet:
|
||||
type: LAN8720
|
||||
mdc_pin: GPIO23
|
||||
mdio_pin: GPIO18
|
||||
clk_mode: GPIO17_OUT
|
||||
phy_addr: 0
|
||||
power_pin: GPIO12
|
||||
|
||||
globals:
|
||||
- id: taster_oben_state
|
||||
type: int
|
||||
restore_value: yes
|
||||
initial_value: '0'
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "gartenhaus_lichtschalter_gross"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 4
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
on_press:
|
||||
then:
|
||||
- if:
|
||||
condition:
|
||||
lambda: 'return (id(taster_oben_state) == 0);'
|
||||
then:
|
||||
- globals.set:
|
||||
id: taster_oben_state
|
||||
value: '1'
|
||||
- homeassistant.service:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.garten_farbig
|
||||
else:
|
||||
- globals.set:
|
||||
id: taster_oben_state
|
||||
value: '0'
|
||||
- homeassistant.service:
|
||||
service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.garten_aus
|
||||
- platform: gpio
|
||||
name: "gartenhaus_lichtschalter_klein_links"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
on_press:
|
||||
homeassistant.service:
|
||||
service: script.esphome_light_toggle
|
||||
data:
|
||||
light_name: "light.gartenhaus_deckenlicht_mitte, light.gartenhaus_deckenlicht_hinten"
|
||||
transition: "0"
|
||||
red: "0"
|
||||
blue: "0"
|
||||
green: "0"
|
||||
white: "255"
|
||||
- platform: gpio
|
||||
name: "gartenhaus_lichtschalter_klein_rechts"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 16
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
on_press:
|
||||
homeassistant.service:
|
||||
service: script.esphome_light_toggle
|
||||
data:
|
||||
light_name: "light.gartenhaus_deckenlicht_vorne"
|
||||
transition: "0"
|
||||
red: "0"
|
||||
blue: "0"
|
||||
green: "0"
|
||||
white: "255"
|
||||
- platform: gpio
|
||||
name: "gartenhaus_taster1"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
- platform: gpio
|
||||
name: "gartenhaus_taster2"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 13
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
- platform: gpio
|
||||
name: "gartenhaus_taster3"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 2
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
- platform: gpio
|
||||
name: "gartenhaus_taster4"
|
||||
filters:
|
||||
- invert:
|
||||
- delayed_on: 10ms
|
||||
pin:
|
||||
number: 5
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
device_class: LIGHT
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#on_multi_click:
|
||||
# - timing:
|
||||
# - ON for at most 1s
|
||||
# - OFF for at most 0.3s
|
||||
# - ON for at most 1s
|
||||
# - OFF for at least 0.2s
|
||||
# then:
|
||||
# - homeassistant.event:
|
||||
# event: esphome.gartenhaus_lichtschalter_gross_doubleclick
|
||||
# - homeassistant.service:
|
||||
# service: light.toggle
|
||||
# data:
|
||||
# entity_id: light.gartenhaus_deckenlicht_mitte
|
||||
# - timing:
|
||||
# - ON for at most 1s
|
||||
# - OFF for at least 0.5s
|
||||
# then:
|
||||
# - homeassistant.event:
|
||||
# event: esphome.gartenhaus_lichtschalter_gross_click
|
||||
# - homeassistant.service:
|
||||
# service: light.toggle
|
||||
# data:
|
||||
# entity_id: light.gartenhaus_deckenlicht_hinten
|
|
@ -0,0 +1,142 @@
|
|||
# ----------------------------------------- Generic -----------------------------------------------
|
||||
|
||||
esphome:
|
||||
name: gartenhaus-led-controller
|
||||
|
||||
esp32:
|
||||
board: esp32-poe
|
||||
framework:
|
||||
type: arduino
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
#password: !secret ota_password
|
||||
encryption:
|
||||
key: !secret api_encryption_key
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
|
||||
ethernet:
|
||||
type: LAN8720
|
||||
mdc_pin: GPIO23
|
||||
mdio_pin: GPIO18
|
||||
clk_mode: GPIO17_OUT
|
||||
phy_addr: 0
|
||||
power_pin: GPIO12
|
||||
|
||||
# ----------------------------------------- Buttons -----------------------------------------------
|
||||
# 13 led r
|
||||
# 14 led l
|
||||
# 16 button r
|
||||
# 15 button l
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: gartenhaus-led-controller-button-links
|
||||
pin:
|
||||
number: 15
|
||||
inverted: true
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
- platform: gpio
|
||||
name: gartenhaus-led-controller-button-rechts
|
||||
pin:
|
||||
number: 16
|
||||
inverted: true
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
# Motion sensor
|
||||
- platform: gpio
|
||||
pin: 32
|
||||
name: gartenhaus-led-controller-motion-sensor
|
||||
device_class: motion
|
||||
|
||||
# ----------------------------------------- Button lights -----------------------------------------------
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: gartenhaus-led-controller-button-led-links
|
||||
restore_mode: RESTORE_DEFAULT_OFF
|
||||
pin:
|
||||
number: 14
|
||||
mode:
|
||||
output: true
|
||||
- platform: gpio
|
||||
name: gartenhaus-led-controller-button-led-rechts
|
||||
restore_mode: RESTORE_DEFAULT_OFF
|
||||
pin:
|
||||
number: 13
|
||||
mode:
|
||||
output: true
|
||||
|
||||
# ----------------------------------------- Led Channel 1 -----------------------------------------------
|
||||
|
||||
# Kanal1: GPIO3
|
||||
# Kanal2: GPIO2
|
||||
# Kanal3: GPIO4
|
||||
# Kanal4: GPIO5
|
||||
|
||||
light:
|
||||
- platform: esp32_rmt_led_strip
|
||||
rgb_order: grb
|
||||
chipset: SK6812
|
||||
icon: mdi:led-strip-variant
|
||||
id: gartenhaus_wandlicht
|
||||
name: Gartenhaus Wandlicht
|
||||
pin: 3
|
||||
num_leds: 300
|
||||
is_rgbw: true
|
||||
rmt_channel: 0
|
||||
effects:
|
||||
- addressable_rainbow:
|
||||
name: Regenbogen
|
||||
width: 300
|
||||
- addressable_color_wipe:
|
||||
name: Wipe
|
||||
colors:
|
||||
random: true
|
||||
num_leds: 150
|
||||
- random:
|
||||
name: "Zufall langsam"
|
||||
transition_length: 30s
|
||||
update_interval: 30s
|
||||
- addressable_twinkle:
|
||||
name: Twinkle
|
||||
- addressable_fireworks:
|
||||
name: Feuerwerk
|
||||
- platform: esp32_rmt_led_strip
|
||||
rgb_order: grb
|
||||
chipset: SK6812
|
||||
name: Gartenhaus Deckenlicht
|
||||
id: gartenhaus_deckenlicht
|
||||
pin: 2
|
||||
num_leds: 352
|
||||
is_rgbw: true
|
||||
rmt_channel: 1
|
||||
internal: true
|
||||
- platform: partition
|
||||
name: Gartenhaus Deckenlicht Hinten
|
||||
segments:
|
||||
- id: gartenhaus_deckenlicht
|
||||
from: 0
|
||||
to: 116
|
||||
- platform: partition
|
||||
name: Gartenhaus Deckenlicht Mitte
|
||||
segments:
|
||||
- id: gartenhaus_deckenlicht
|
||||
from: 117
|
||||
to: 233
|
||||
reversed: true
|
||||
- platform: partition
|
||||
name: Gartenhaus Deckenlicht Vorne
|
||||
segments:
|
||||
- id: gartenhaus_deckenlicht
|
||||
from: 234
|
||||
to: 351
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
switch:
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: ${cid}
|
||||
name: ${name}
|
||||
register_type: holding
|
||||
address: ${dev_addr}
|
||||
write_lambda: |-
|
||||
bool open = (x == 1);
|
||||
payload.push_back(${dev_addr}); // device address
|
||||
payload.push_back(0x6); // write function
|
||||
payload.push_back(0); // relay select
|
||||
payload.push_back(${register_addr}); //
|
||||
payload.push_back(open ? 0x01 : 0x02); // Command
|
||||
payload.push_back(0x00);
|
||||
return true;
|
|
@ -0,0 +1,83 @@
|
|||
|
||||
esphome:
|
||||
name: modbustester
|
||||
|
||||
esp32:
|
||||
board: esp32-poe
|
||||
framework:
|
||||
type: arduino
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
#password: !secret ota_password
|
||||
encryption:
|
||||
key: !secret api_encryption_key
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
|
||||
ethernet:
|
||||
type: LAN8720
|
||||
mdc_pin: GPIO23
|
||||
mdio_pin: GPIO18
|
||||
clk_mode: GPIO17_OUT
|
||||
phy_addr: 0
|
||||
power_pin: GPIO12
|
||||
|
||||
|
||||
uart:
|
||||
- id: uart_for_modbus
|
||||
rx_pin: 1
|
||||
tx_pin: 0
|
||||
baud_rate: 19200
|
||||
stop_bits: 1
|
||||
parity: NONE
|
||||
|
||||
modbus:
|
||||
uart_id: "uart_for_modbus"
|
||||
id: modbus_comp
|
||||
|
||||
modbus_controller:
|
||||
- modbus_id: "modbus_comp"
|
||||
id: oxilife
|
||||
address: 0x1
|
||||
update_interval: "1s"
|
||||
|
||||
sensor:
|
||||
#- platform: modbus_controller
|
||||
# modbus_controller_id: oxilife
|
||||
# id: oxilife_ionization_current
|
||||
# name: Ionization Strom
|
||||
# address: 0x0100
|
||||
# value_type: U_WORD
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: tester_oxilife_hidro_current
|
||||
name: Test Oxilife Hydro Strom
|
||||
address: 0x0101
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: tester_oxilife_ph
|
||||
name: Test Oxilife pH
|
||||
address: 0x0102
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
accuracy_decimals: 2
|
||||
filters:
|
||||
- multiply: 0.01
|
||||
- platform: modbus_controller
|
||||
modbus_controller_id: oxilife
|
||||
id: tester_oxilife_redox_level
|
||||
name: Test Oxilife Redox Level
|
||||
address: 0x0103
|
||||
register_type: read
|
||||
value_type: U_WORD
|
||||
unit_of_measurement: "mV"
|
||||
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
esphome:
|
||||
name: poolcoversensor
|
||||
|
||||
esp32:
|
||||
board: esp32-poe
|
||||
framework:
|
||||
type: arduino
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
password: !secret ota_password
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
#wifi:
|
||||
# ssid: "WLAN"
|
||||
# password: !secret wifi_password
|
||||
#
|
||||
# # Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
# ap:
|
||||
# ssid: "Poolcoversensor Fallback Hotspot"
|
||||
# password: !secret ota_password
|
||||
#captive_portal:
|
||||
|
||||
ethernet:
|
||||
type: LAN8720
|
||||
mdc_pin: GPIO23
|
||||
mdio_pin: GPIO18
|
||||
clk_mode: GPIO17_OUT
|
||||
phy_addr: 0
|
||||
power_pin: GPIO12
|
||||
|
||||
|
||||
sensor:
|
||||
- platform: ultrasonic
|
||||
trigger_pin: 4
|
||||
echo_pin: 36
|
||||
name: "Poolcover Einstieg Abstand"
|
||||
icon: "mdi:door-sliding-open"
|
||||
update_interval: 1s
|
||||
timeout: 3m
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
device_class: opening
|
||||
name: "Poolcover Vorne Einstieg"
|
||||
icon: "mdi:waves-arrow-right"
|
||||
filters:
|
||||
- delayed_on: 100ms
|
||||
pin:
|
||||
number: 16
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
- platform: gpio
|
||||
device_class: opening
|
||||
name: "Poolcover Mitte"
|
||||
icon: "mdi:waves-arrow-up"
|
||||
filters:
|
||||
- delayed_on: 100ms
|
||||
pin:
|
||||
number: 15
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
- platform: gpio
|
||||
device_class: opening
|
||||
name: "Poolcover Ende"
|
||||
icon: "mdi:waves-arrow-left"
|
||||
filters:
|
||||
- delayed_on: 100ms
|
||||
pin:
|
||||
number: 14
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
|
||||
# Those pins act as GND to be connected with the binary inputs
|
||||
switch:
|
||||
- platform: gpio
|
||||
id: gndpin1
|
||||
pin: 13
|
||||
internal: true
|
||||
- platform: gpio
|
||||
id: gndpin2
|
||||
pin: 2
|
||||
internal: true
|
||||
- platform: gpio
|
||||
id: gndpin3
|
||||
pin: 5
|
||||
internal: true
|
Loading…
Reference in New Issue