Tasmota: Cara mengekstrak nilai input AnalogA0 dari topik Wemos D1 mini MQTT dan mengubah nilai di Asisten Rumah

Dibuat pada 17 Mar 2019  ·  3Komentar  ·  Sumber: arendst/Tasmota

Saya menginstal Tasmota versi terbaru pada mini Wemos D1 dan juga mengomentari suara ADC untuk membaca nilai input AnalogA0. Nilai ini diberikan dengan benar di halaman utama mulai dari 0 hingga 1024.

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}}

Ketika saya masuk ke konsol, saya dapat melihat bahwa setiap 5 menit topik MQTT baru diaktifkan dengan nilai Analog. Saya ingin mengambil nilai ini, melaporkannya di Asisten Rumah dan juga mengubahnya.

Namun, pertama saya tidak mengerti cara mengekstrak nilai ini untuk dilaporkan di Home Assistant. Ini adalah kode yang saya gunakan yang pasti tidak benar.

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

Pertanyaan lain adalah jika Anda tahu cara mengonversi langsung di asisten rumah, nilai ini berkisar dari 0 hingga 100% dengan mengetahui bahwa 1024 akan menjadi 100%. Saya tahu itu bisa dilakukan tetapi saya sangat pemula dalam hal ini.

Akhirnya, input analog dilampirkan ke sensor kelembaban tanah. Terlampir pada Wemos yang sama ada perisai relay. Saya perhatikan bahwa ketika saya menghidupkan/mematikan relai, nilai analog juga sedikit terpengaruh (seperti berubah menjadi 1018 dari 1024 misalnya). Apakah itu normal?

invalid

Komentar yang paling membantu

Seribu permintaan maaf untuk bahasa Inggris saya. Saya memiliki masalah yang sama dan menyelesaikannya sebagai berikut:

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

Jadi saya bisa mengubah pembacaan analog menjadi nilai misalnya persentase dengan cara yang sederhana tanpa harus menggunakan template jinja.

Semua 3 komentar

Seharusnya value_json.ANALOG.A0 karena A0 bersarang di bawah analog
pertanyaan lainnya adalah untuk dukungan asisten rumah, ini melibatkan templating jinja dan berada di luar ranah tasmota

Menutup masalah ini karena telah dijawab.


Informasi Dukungan ( Panduan )

Lihat Wiki untuk informasi lebih lanjut.
Lihat Obrolan untuk pengalaman pengguna lainnya.
Lihat Komunitas untuk forum.
Lihat Kode Etik

Seribu permintaan maaf untuk bahasa Inggris saya. Saya memiliki masalah yang sama dan menyelesaikannya sebagai berikut:

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

Jadi saya bisa mengubah pembacaan analog menjadi nilai misalnya persentase dengan cara yang sederhana tanpa harus menggunakan template jinja.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat