Hallo, ich würde gern sowas mit esphome machen. I dachte es mit einem script und mqtt tipo so was zu machen:
mqtt:
broker: !secret mqtt_broker
username: !secret mqtt_user
password: !secret mqtt_password
on_message:
- topic: ota_mode
payload: ‘ON’
then:
- logger.log: ‘Deep Sleep Disabled’
- script.execute: analogsensormessungen
- topic: ota_mode
payload: ‘OFF’
then:
- script.execute: analogsensormessungen
- delay: 20s
- deep_sleep.enter: deep_sleep_enabled
captive_portal:
switch:
-
platform: gpio
pin: D1
name: “Power Plant sensor”
id: spower1
restore_mode: ALWAYS_OFF
internal: true
setup_priority: 1000 -
platform: gpio
pin: D2
name: “Power Water sensor”
id: spower2
restore_mode: ALWAYS_ON
internal: true
setup_priority: 1000
sensor:
#***** DH22 sensor **********
- platform: dht
model: dht22
pin: D4
temperature:
name: “ciof Temperature”
humidity:
name: “ciof Humidity”
update_interval: 8s
#***** Wasserstand sensor ************
- platform: adc
pin: A0
id: wasserstandinvolt
name: “wasserstand in volt”
update_interval: 3s
unit_of_measurement: 'V'
accuracy_decimals: 1
discovery: disable
-
platform: template
name: “waterlevel”
id: waterlevel
unit_of_measurement: “%”
discovery: disablefilters:
#PLANTSENSOR***
- platform: adc
pin: A0
name: “plant”
id: plant
update_interval: 8s
unit_of_measurement: '%'
filters:
- multiply: 300
discovery: disable
script:
- id: analogsensormessungen
mode: queued
then:- delay: 10s
- switch.turn_on: spower2
- delay: 2s
- mqtt.publish:
topic: thermoplant/waterlevel/state
payload: “analogmessung1”
#payload: !lambda |-return to_string(id(waterlevel).state);
- mqtt.publish:
topic: thermoplant/wasserstandinvolt/state
payload: “analogmessung2”
#payload: !lambda |-return to_string(id(wasserstandinvolt).state);
- switch.turn_off: spower2
- delay: 1s
- switch.turn_on: spower1
- delay: 2s
- mqtt.publish:
topic: thermoplant/plant/state
payload: “analogmessung3”
#payload: !lambda |-return to_string(id(plant).state);
- switch.turn_off: spower1
deep_sleep:
id: deep_sleep_enabled
sleep_duration: 1h
funktioniert aber nicht…
Eine Idee wie ich es eventuell anders lösen könnte?
Danke
lg
Christian