Okos otthon is fókuszban

Arduino kalandok

Arduino kalandok

Asszisztens és szenzorok

2018. december 05. - denx

A Home Assistant-ról  már esett szó. Most leírom hogyan lehet szenzorokat felvenni benne. (Természetesen a configuration.yaml fájlban kell ezeket konfigurálni.) Jellemezően MQTT-n keresztül szokott érkezni az infó, ezeknek a feldolgozására kellenek a szenzorok. Több fajtája szenzor is van:

Binary sensor

Neve már sugallja is mi lehet ez: 0-1 jellegű információkat lehet vele begyűjteni. Amire én eddig használtam:
- eszköz kapcsolódva van-e?
- elem nem merült-e le?
- tápfeszültség nem kevés-e?
- ablak/ajtó nyitva van-e?
- riasztó szól-e?
- mozgás van-e?

Legtöbbször ezek az információk akkor jelennek meg az MQTT topikokon, amikor változnak: ha például egy eszköz le- vagy felcsatlakozik, akkor a megfelelő topikon jön egy új üzenet.

binary_sensor:
- platform: mqtt
  state_topic: "raspia/status"
  device_class: connectivity
  name: "étkező státusz"
  payload_on: online
  payload_off: offline

MQTT-ről lévén szó meg kell adni hogy "platform: mqtt" és hogy a "state_topic" micsoda. Én ezeken kívül be szoktam még állítani, hogy payload_on és payload_off milyen üzeneteket jelent. Ez ugye attól függ, hogy az eszköz, ami küldi az üzenetet, mit szokott üzenni: on/off, vagy online/offline? Esetleg ok/low, vagy kiskutya/kiscica? Ezen felül arra is jó lehet ez a lehetőség, hogy meg tudjuk fordítani a logikát...

A device_class is lehet még jó, ha érdekel hogy fog megjelenni a felületen. Egész hosszú lista van erről, kicsit szebbé lehet tenni a felületet vele.

Sensor

Ez nagyon hasonlít az előzőhöz, de már nem csak 0-1 értéket vehetnek fel itt az infók. Néhány példa:
- hőmérséklet
- páratartalom
- feszültség

sensor:
- platform: mqtt
  state_topic: "raspia/dht"
  unit_of_measurement: "°C"
  name: "étkező hőmérséklet"
  value_template: '{{ value_json.temperature }}'
  force_update: true

Konfigurálása is elég hasonló a bináris tesójáéhoz. A gyakorlatban ezek a dolgok úgy működnek, hogy egy eszköz méri a hőmérsékletet/páratartalmat/feszültséget/akármit és rendszeres időközönként elküldi az értéket az MQTT rendszeren keresztül. Nem ritka, hogy JSON formátumban van több dolog is becsomagolva egy üzenetbe. Ilyenkor jön jól, hogy van egy "value_template" beállítás, amivel ki lehet hámozni a nekünk fontos információt. Mivel ezek a már kicsit változékonyabbak, mint a bináris dolgok, A "unit_of_mesaurement" beállítást remélem nem kell túlmagyaráznom. így néha kell rájuk úgynevezett filtert tenni, erről majd máskor.

A bejegyzés trackback címe:

https://ardu.blog.hu/api/trackback/id/tr6514429156

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása