nachdem ich nun tagelang versucht habe das zum Laufen zu bekommen, wende ich mich mal an die Experten.
Also: Ich habe einen Taster und der wird oft gedrückt.
Nun möchte ich wissen wie oft er gedrückt wurde.
Wie oft wurde er in den letzten 24 Stunden gedrückt?
Die Zahl soll gespeichert und der Taster wieder auf 0 gesetzt werde.
Alles in ESPhome mit einem D1mini.
Da ich totaler Laie in Sachen HA bin, wäre es mir egal, wie es gelöst wird.
Hauptsache es geht
Also:
Als Taster fungiert ein Reed Sensor.
Dessen Schaltungen sollen gezählt und nach 24h wieder auf 0 gesetzt werden.
Es schmerzt mich ja selbst, wenn ich meine nicht vorhandene Intelligenz so offen zur Schau stellen muss.
Aber ich weiß nicht, was ich mit dem Code oben anfangen muss
Nun sollte sich dieses Bild bieten, welches du speichern kannst und die für Dich notwendigen Änderung durchführst, wie z.B. “deinen” Button konfigurierst, da wo jetzt “single” action steht.
Nun wollte ich die Automation erstellen.
Aber wie mache ich das?
Automation erstellen —> im nächsten Fenster “Neue Automation erstellen”
Drei Punkte oben rechts:
In Yaml bearbeiten.
Hier füge ich Deinen Code ein.
Bei “device_id” habe ich meinen api key eingetragen.
Wenn ich auf Speichern drücke, soll ich “Test-Button” umbenennen.
Da kann ich aber reinschreiben was ich will, da passiert nichts.
Und wenn ich auf Speicher drücke kommt folgende Fehlermeldung:
“Message malformed: Unknown device ‘+SyTMwuJwhfaKof2grC+aMqZBjJxLWftfsHxBvUdO+w=’”
by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
Ich kann dir eine einfache Methode anbieten, mit der du die Impulse zählen kannst. Auf jeden Fall ist sie aus meiner Sicht einfacher.
Dieser Code ist für die Datei „template.yaml”.
# Test Impulszöhler
- trigger:
- trigger: time
at: "00:02"
id: tr_time
- trigger: state
entity_id:
- binary_sensor.dein_taster
from: "off"
to: "on"
id: tr_impuls
sensor:
- name: Zaehler Schalter1
unique_id: "zaehler_schalter1"
state: >
{% set zaehler = states('sensor.zaehler_schalter1') | float(0) %}
{% if trigger.id == 'tr_time' %}
{{ 0 }}
{% endif %}
{% if trigger.id == 'tr_impuls' %}
{{ zaehler + 1 }}
{% endif %}
Danke Dir!
Aber ich bin zu blöd für diese Welt
Wo ist diese besagte “template.yaml” Datei?
Muss ich sie selbst erstellen?
Und wo trage ich dies ein?
Ich hab das jetzt mal mit
template:
- trigger:
- trigger: time
versucht.
Bekomme immer die Fehlermeldung:
while parsing a block collection
in "/config/esphome/2terversuch.yaml", line 41, column 3
expected <block end>, but found '?'
in "/config/esphome/2terversuch.yaml", line 51, column 3
ja,
im Config Ordner eine neue Datei erstellen und tempalte.yaml bennenen.
Füge dann in “configuration.yaml” folgenden Eintrag ein:
template: !include template.yaml
Ich habe eine Kleinigkeit vergessen: Damit der Zähler funktioniert, muss er zunächst initialisiert werden. Das kannst du machen, indem du eine Zeile änderst und HA neu startest.
Verstehe ich jetzt nicht.
Bilde mir ein, alles so gemacht zu haben wie von Dir beschrieben.
Der Taster funktioniert. Zeigt mir aus/an.
Nur gezählt wird nichts.
Gestern war der der “Zaehler Schalter1” noch unbekannt.
Seit 0000 zeigt er mit 0, zählt aber nicht.
Hatte heute Morgen die Zeile auf den Ursprung gesetzt und HA neu gestartet.
Nichts.
Ist da jemand verärgert?
Bevor ich den Zähler präsentiert habe, habe ich ihn auf seine Funktion getestet. Bei mir funktioniert der Zähler. Wenn er bei dir nicht funktioniert, hast du irgendwo einen Fehler gemacht. Dein Zähler wurde um 0:02 Uhr auf Null gesetzt. Das bedeutet, dass der erste Trigger funktioniert. Das Problem muss also beim zweiten Trigger liegen.
Ich habe dich gebeten, deinen YAML-Code zu posten. Du hast jedoch nur einen Teil davon präsentiert, das Teil mit den Triggern fehlt
Keine Angst, ich ärgere mich nicht über jemanden der mir helfen will!
Jetzt geht bei mir aber gar nichts mehr.
Mein Raspberry hat keine USB Ports mehr.
Muss erstmal sehen wie ich das wieder hinbekomme.
Aber…
Wie meinst Du dies:
Ich habe doch alles eingetragen, was Du mir gezeigt hast.
Im File Editor.
Oder meinst Du, dass unter meinem Code noch was wie Trigger fehlt?
Kann aber zur Zeit nichts mehr aktualisieren, muss erstmals sehen wo ich die USB Ports wieder herbekomme.
Hoffe nicht, das der Raspberry defekt ist.
Ich versuche, es zu erklären. Ich habe ein Bild von dem yaml Codes erstellt. Ich würde den grün markierten Bereich als Triggerteil bezeichnen. Hier werden die Trigger (Auslöser) festgelegt.
Der blau markierte Bereich ist der Deklarations- und Aktionsbereich. Hier wird der Sensor deklariert und festgelegt, was passieren soll, wenn einer der Trigger ausgelöst wird. Du hast nur den blau markierten Teil deines Codes gepostet, der grün markierte Teil fehlt.
Der orange markierte Bereich könnte möglicherweise einen Fehler beinhalten. Da sollte so etwas stehen.
binary_sensor.taster_trigger
Wenn du den Sensornamen richtig eingetragen hast, schaue unter „Entwicklerwerkzeuge” und „Zustände” nach den möglichen Sensorzuständen. In der Regel haben binäre Sensoren die Zustände „on”, „off” oder „true” und „false”.
Eventuell müssen bei dir die beide Zeilen angepasst werden.
from: “off”
to: “on”
In dem letzten Codebeispiel fehlt das +1. Deswegen zählt der Sensor nicht.
Außerdem würde ich |int(0) statt |float(0) verwenden, soll ja ne ganze Zahl angezeigt werden.