Asuries
18. September 2024 um 19:20
1
Hallo,
ich beschäftige mich seit ein paar Tagen mit Home Assistent (nach 10 Jahren
FHEM ) und komme soweit “eigentlich” auch ganz gut klar.
Nur habe ich jetzt seit 3 Tagen ein Problem das ich alleine nicht lösen kann:
Ich habe einen HX711 über ESP Home an HA angebunden. Er liefert im 3
Sekunden Takt valide Werte.
Ich möchte jetzt gerne eine Automation starten:
wenn der “neue” Wert über 90 liegt
aber nur wenn der vorherige Wert (also aus der Messung davor) unter 40 lag.
Und genau hier stecke ich fest.
Wie kann ich den Wert der vorherigen Messung als Bedingung auswerten?
Würde mich über eure Unterstützung wirklich freuen.
Viele Grüße
Stefan
Osorkon
18. September 2024 um 19:40
2
Auch Dir kann geholfen werden.
alias: von kleiner 40 zu größer 90
description: ""
trigger:
- platform: state
entity_id:
- sensor.xyz
condition:
- condition: template
value_template: >-
{{ trigger.from_state.state | int < 40 and trigger.to_state.state | int >
90 }}
Gruß
Osorkon
2 „Gefällt mir“
Asuries
19. September 2024 um 14:26
3
Hi,
vielen Dank für Deine Hilfe.
Aber leider hab ich da noch den Bock drin.
Aus Deiner Vorlage habe ich folgendes gebaut.
- id: '1726753449999'
alias: von kleiner 40 zu größer 90
description: ''
trigger:
- platform: state
entity_id:
- sensor.bett_gewicht
condition:
- condition: template
value_template: >-
{{ trigger.from_state.state | int < 500.000 and trigger.to_state.state | int >
1.900.000 }}
action:
- action: notify.whatsapp
metadata: {}
data:
message: Im Bett.
mode: single
Das ESP-Home Device sendet alle 3 sek. den aktuellen Wert im oben stehend Format. Die Automation löst zwar aus, aber das Template wird nie “true”.
Vielleicht noch ein Tip?
Lieben Gruß
Stefan
Gunter
19. September 2024 um 15:11
4
Ich kann nur einen anderen Lösungsansatz bieten über einen Helfer und 2 Automationen.
Einen input_number
-Helfer (Eingabe für Zahlenwert) erstellen
Mittels einer Automatisierung wird der Wert dann in den erstellten Helfer geschrieben:
trigger:
- platform: state
entity_id:
- sensor.xyz
condition: []
action:
- action: input_number.set_value
metadata: {}
data:
value: "{{ states('sensor.xyz') }}"
target:
entity_id: input_number.letzterWert
mode: single
Eine weitere Automation prüft, ob der aktuelle Wert über 90 und der vorherige Wert unter 40 war und löst dann das entsprechende Ereignis, aus:
trigger:
- platform: state
entity_id:
- sensor.xyz
condition:
- condition: and
conditions:
- condition: numeric_state
entity_id: sensor.xyz
above: 90
- condition: numeric_state
entity_id: input_number.letzterWert
below: 40
action:
- action: notify.whatsapp
metadata: {}
data:
message: Im Bett.
mode: single
Name des Sensors und Name des Helfers natürlich anpassen.
1 „Gefällt mir“
Osorkon
19. September 2024 um 15:13
5
Von <40 zu >90 oder von <500 zu >1900
Was ist nun richtig?
In beiden Fällen muss der Wert direkt von y springen ohne Zwischenschritte.
Gruß
Osorkon
1 „Gefällt mir“
Asuries
19. September 2024 um 15:22
6
Ja, er springt direkt von unter dem einen Wert, welcher kleiner 500000 ist zu einem Wert über 1900000.
Sorry für die Verwirrung der Zahlen. Der Werte 40 und 90 die ich ursprünglich angegeben habe sind umgerechnete Daten vom HX711. Die beiden anderen sind die Rohdaten des HX711, mit welchen sich besser hantieren lassen.
Um sicher zu gehen, das dieser direkter Sprung zwischen den beiden Werten satt findet, habe ich testweise die Zeit der Messung von 3 Sek auf 10 Sek hoch gesetzt. Aber leider ist das Ergebnis das selbe…
Asuries
19. September 2024 um 19:00
8
Leider brachte auch das nicht den gewünschten Erfolg.
Hier nochmal der akt. Code:
- id: '1726753449999'
alias: HX711
description: ''
trigger:
- platform: state
entity_id:
- sensor.bett_gewicht
condition:
- condition: template
value_template: '{{ trigger.from_state.state | int < 500000 and trigger.to_state.state
| int > 1900000 }}'
action:
- action: notify.whatsapp
metadata: {}
data:
message: Im Bett.
mode: single
Asuries
19. September 2024 um 19:11
9
Kommando zurück. Ich behaupte das Gegenteil.
Warum auch immer, es geht.
Vielen lieben Dank für eure Hilfe!!!
Gruß
Stefan
1 „Gefällt mir“