Tasmota: So extrahieren Sie den AnalogA0-Eingangswert aus dem Wemos D1 mini MQTT-Thema und ändern den Wert im Home Assistant

Erstellt am 17. März 2019  ·  3Kommentare  ·  Quelle: arendst/Tasmota

Ich habe die neueste Version von Tasmota auf einem Wemos D1 mini installiert und auch die ADC-Stimme kommentiert, um den AnalogA0-Eingangswert zu lesen. Dieser Wert wird auf der Hauptseite im Bereich von 0 bis 1024 korrekt angegeben.

09:14:01 MQT: tele/wemos_3/STATE = {"Time":"2019-03-17T09:14:01","Uptime":"0T00:40:20","SleepMode":"Dynamic","Sleep":50,"LoadAvg":38,"POWER":"OFF","Wifi":{"AP":1,"SSId":"In_medio_stat_virtus-2GHz","BSSId":"A0:63:91:E0:A4:87","Channel":1,"RSSI":98}}
09:14:01 MQT: tele/wemos_3/SENSOR = {"Time":"2019-03-17T09:14:01","ANALOG":{"A0":1024}}

Wenn ich in die Konsole gehe, sehe ich, dass alle 5 Minuten ein neues MQTT-Thema mit dem Analogwert gefeuert wird. Ich möchte diesen Wert übernehmen, im Home Assistant melden und auch umrechnen.

Zuerst habe ich jedoch nicht verstanden, wie man diesen Wert extrahiert, der in Home Assistant gemeldet werden soll. Dies ist der Code, den ich verwende, der mit Sicherheit nicht korrekt ist.

sensor:
  - platform: mqtt
    name: "Plant Humidity"
    state_topic: "tele/wemos_3/SENSOR"
    unit_of_measurement: '%'
    value_template: "{{ value_json.A0 }}"

Eine andere Frage wäre, ob Sie wissen, wie Sie diesen Wert im Bereich von 0 bis 100 % direkt im Heimassistenten umwandeln können, wenn Sie wissen, dass 1024 100 % wäre. Ich weiß, dass es machbar ist, aber ich bin ein Neuling in diesem Bereich.

Schließlich wird der analoge Eingang an einen Bodenfeuchtesensor angeschlossen. Am gleichen Wemos ist ein Relaisschild angebracht. Mir ist aufgefallen, dass beim Ein- und Ausschalten des Relais auch der Analogwert ein wenig beeinflusst wird (wie er zum Beispiel von 1024 auf 1018 wechselt). Ist das normal?

invalid

Hilfreichster Kommentar

Tausend Entschuldigungen für mein Englisch. Ich hatte das gleiche Anliegen und habe es wie folgt gelöst:

value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"

So kann ich auf einfache Weise einen analogen Messwert in einen Wert z. B. in Prozent umwandeln, ohne Jinja-Templating verwenden zu müssen.

Alle 3 Kommentare

Sollte value_json.ANALOG.A0 da A0 unter analog verschachtelt ist
Die andere Frage betrifft die Unterstützung des Heimassistenten, sie beinhaltet Jinja-Templating und ist außerhalb des Tasmota-Reichs

Schließe dieses Problem, da es beantwortet wurde.


Support-Informationen ( Anleitung )

Weitere Informationen finden Sie im Wiki .
Weitere Informationen zur Benutzererfahrung finden Sie unter
Siehe Community für Forum.
Siehe Verhaltenskodex

Tausend Entschuldigungen für mein Englisch. Ich hatte das gleiche Anliegen und habe es wie folgt gelöst:

value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"

So kann ich auf einfache Weise einen analogen Messwert in einen Wert z. B. in Prozent umwandeln, ohne Jinja-Templating verwenden zu müssen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen