Hallo zusammen
bin mir nicht sicher ob das jetzt mehr ein MQTT oder InfluxDB Thema ist
Denke es geht mehr in Richtung MQTT
Ich bekomme über MQTT von einem Sensor (Taster) den Wert True und False.
Der Status wird im Dashbord auch als True / False angezeigt.
Jedoch gibt es in der InfluxDB keine Werte.
Nach längerem Suchen und Testen bin ich zur Kentniss gelangt das es hier einen Wert von 1 und 0 benötigt.
Habe bis jetzt nur mir MariaDB gearbeitet und dort wurde es korrekt in die DB geschrieben.
Nun mein Frage.
Müsste es nicht möglich sein direkt unter dem Sensor ein if then einzubauen.
If True dann „1“ elseif False dann „0“ else „No Data“
Habe da schon einiges Versucht aber nichts hat Funktioniert.
Oder geht das so nicht und ich muss es anders lösen.
An die Config des Senors komme ich nicht ran. Das wäre ja das einfachste gewesen.
Hi, du könntest dir einen Sensor anlegen der eine Unterteilung je nach Zustand vornimmt und somit 1 oder 0 setzt. Das sollte so funktionieren, die Entität musst du noch entsprechend austauschen.
Ja stimmt, wie immer viele Wege führen zum Ziel. Ich finde die andere Schreibweise für mich aber irgendwie noch übersichtlicher. Kürzer ist es so auf jeden Fall.
template:
- sensor:
- name: "ESP8266-05 - Get Sensor 2"
unique_id: "ESP8266-05-mqtt.Get_Sensor_2"
state: "{{ 1 if is_state('sensor.esp8266_05_get_sensor_2', 'True') else 0 if is_state('sensor.esp8266_05_get_sensor_2', 'False') else None }}"
Ok. Denn Code habe ich auch gefunden.
Jedoch versucht direkt in MQTT einzubinden.
Ich habe die Einträge nun entsprechend in der Template-Datei eingetragen.
Zwei weitere Sensoren sind auch im Template und wurde auch erstellt und funktionieren.
Mir fehlt da irgendwie noch der Teil für MQTT.
Das Template weiss ja nicht von wo die Daten kommen,
Den Teil in MQTT kann ich ja so auch nicht belassen.
Dann habe ich zwei Entitäten.
Irgendwo müsste ich noch was Eintragen. Nur wo und was
Alles klar. Ich habe da etwas falsch gedacht.
Einerseits wir über den MQTT Sensor eine Entitäten erstellt.
So wie es bis jetzt wahr.
Nun wir über das Template ein zusätzlicher Sensor mit einer neuen Entitäten erstellt.
MQTT liefert True und False
Template liefert 1 und 0
Dachte es würde da mir einem gehen.
Aber so Funktioniert es und 1 uns 0 wird in die InfluxDB geschrieben.
Danke für die Hilfe
Na super, wenn es jetzt klappt. Bitte auch die Lösung für andere Suchende markieren. Danke schön.
Wenn du dein Sensor direkt aus MQTT bekommst, müsste der mqtt-Sensor direkt mit einem value_template angelegt werden können, statt ihn erst als normalen Sensor zu erfassen und dann über ein Template zu wandeln. Dann hättest du auch nur eine Entität am Ende.
mqtt:
sensor:
- name: "ESP8266-05 - Get Sensor 2"
unique_id: "ESP8266-05-mqtt.Get_Sensor_2"
state_topic: "dein-MQTT-Topic"
value_template: "{{ 1 if value == 'True' else 0 if value == 'False' else None }}"
Zwar noch nicht getestet, aber müsste eigentlich so funktionieren können.