Odečet stavu vodoměru pomocí REST API. Návod pro ty, kteří nevyužívají MQTT.
🤖 Ai-on-the-edge-device
Využití AI (Artificial intelligence / umělá inteligence) a zařízení s procesorem ESP32 ke vzdálenému odečtu energií. Ai-on-the-edge-device
⭐ Přednosti řešení
- Malé a levné zařízení;
- Kamera včetně LED diody pro přísvit;
- Webová administrace pro nastavení odečtu;
- Podpora pro Home Assistant, InfluxDB, MQTT, REST API;
- Nízká spotřeba zařízení ESP32;
📸 Dokončení nastavení zařízení ESP32-CAM
Aby vše správně fungovalo a zobrazily se všechny údaje při volání REST API, nesmí být zařízení v chybovém stavu.
Může se stát, že bude chybně zobrazena informace v části Previous Value
. Je to dáno tím, že se nám odečetla chybně hodnota (nejspíše před dokončením úvodního nastavení). Zařízení hlásí chybu (Rate too high …) a je nutné to opravit.
Settings -> Set "Previous Value" -> Enter new "previous value"
Nastavte zde stejnou hodnotu, jako je v části Current "previous value"
.
🔗 Integrace s HA pomocí REST API
Nevyužívám pro připojení k ESP32-CAM MQTT, ale REST API. Home Assistant v pravidelných (5 minut) intervalech volá URL adresu a jsou mu vrácena data ve formátu JSON.
http://<IP.adresa.ESP32.cam>/json
Získaná data vypadají takto:
{
"main": {
"value": "393.6500",
"raw": "393.6500",
"pre": "393.6500",
"error": "no error",
"rate": "0.000000",
"timestamp": "2024-03-09T20:45:13+0100"
}
}
Do konfiguračního souboru configuration.yaml (nebo dle Vašeho nastavení) je potřeba přidat senzor a šablonu:
sensor:
- platform: rest
name: "Technická místnost vodoměr json"
unique_id: technicka_mistnost_vodomer_json
resource: http://<IP.adresa.ESP32.cam>/json
json_attributes:
- main
value_template: '{{ value_json.value }}'
headers:
Content-Type: application/json
scan_interval: 300
template:
sensor:
- name: "Technická místnost vodoměr"
unique_id: technicka_mistnost_vodomer
state: "{ state_attr('sensor.technicka_mistnost_vodomer_json','main')['value']|float }}"
unit_of_measurement: 'm³'
device_class: water
state_class: total_increasing
icon: mdi:gauge
Nyní stačí zkontrolovat, zda je vše správně zapsáno v konfiguračním souboru (Nástroje pro vývojáře -> Zkontrolovat nastavení) a restartovat Home Assistanta. Po restartu vidíme 2 nové entity a můžeme přidat nový senzor do panelu “Energie”.
Otevřeme si panel Energie a do části Spotřeba vody přidáme náš nový senzor. Následně uvidíme v dashboardu spotřebu vody.
