Felhasználók helyzete

A felhasználók helyzetének ismeretével kitárul a világ, rengeteg új automatizmust lehet készíteni ezzel a plusz információval az okos otthon rendszerhez. Lehet figyelni, hogy a telefonok a helyi hálózaton vannak-e, sajnos ez pontatlan, mert alvó módban offline vannak a készülékek. Lehet adni mindenkinek egy BLE taget amit magánál tart, ezeket is tudja figyelni a Home Assistant. Ez viszont egy plusz eszköz. A mobilt úgyis mindenki viszi magával. Az Owntracks a készülék GPS koordinátáját küldi be a Home Assistantnak. Ez annyira pontos, mint a telefon GPS modulja.

Home Assistant beállítása

A Home Assistant képes fogadni az Owntracks által küldött adatokat. Az MQTT brokert nem akarom kiengedni ezért az owntracks_http komponenst állítottam be, az alábbiak szerint:

device_tracker:
  - platform: owntracks_http
    max_gps_accuracy: 50
    track_new_devices: true

A Home Assistant újraindításkor létrehoz egy known_devices.yaml nevű fájl, amennyiben nem létezik. Ide gyűjti az ismert eszközök adatait, ill ebben lehet beállítani néhány dolgot.

gyengus_lgg5:
  hide_if_away: false
  mac: xxxxxxxxxx
  name: xxxxxxxxx
  picture: /local/xxxxxxx.jpg
  track: true
  vendor: LG

A hide_if_away hatására az adott eszközt csak akkor mutatja, ha otthon van, a térképen nem fog látszani, merre jár. Ettől függetlenül a fejlesztői eszközökön belül rákeresve az adott eszközre, megtalálható az aktuális GPS koordinátája.
A picture mezőben be lehet állítani egy képet is amit ikon helyett jelenít meg, a térképen is ezt használja. Ezt a képet a www mappába kell tenni.
Betettem a telefonjainkat egy csoportba. A csoport állapota “home”, ha valamelyikünk otthon van.
Az alábbi sensor template segítségével, nyomon követhetem a telefonom töltöttségét. Az ikont cserélgeti a töltöttségtől függően.

sensor:
  - platform: template
    sensors:
      lgg5_battery:
        friendly_name: LG G5 töltöttség
        unit_of_measurement: '%'
        value_template: "{{ states.device_tracker.gyengus_lgg5.attributes.battery }}"
        icon_template: >
          {% if states.device_tracker.gyengus_lgg5.attributes.battery > 50 %}
            mdi:battery
          {% elif states.device_tracker.gyengus_lgg5.attributes.battery > 20 %}
            mdi:battery-50
          {% else %}
            mdi:battery-10
          {% endif %}

Így néz ki:

Be lehet állítani zónákat. Ha valamelyik eszköz egy adott zónában van, akkor az állapota a zóna nevével fog megegyezni. Ehhez meg kell adni a zónák koordinátáját és méretét:

zone:
  - name: Home
    latitude: !secret home_latitude
    longitude: !secret home_longitude
    radius: 10
    icon: mdi:home

  - name: Work
    latitude: !secret work_latitude
    longitude: !secret work_longitude
    radius: 20
    icon: mdi:briefcase

A Home Assitsant Térkép funkciójában láthatóak a zónák és, hogy merre járnak az eszközök:

A lenti képen látszik, hogy jelenik meg az eszközök helyzete, töltöttségük, otthontól való távolságom:

Owntracks beállítása

Mivel csak belső hálózatból érhető el az MQTT broker, ezért a Home Assistant API-jához kapcsolódik az Owntracks, ehhez a “Mode”-ot “Private HTTP”-re állítottam. A “Host”-hoz kell beírni a teljes linket, pl: https://domain.hu/api/owntracks/name/device. Ezután létrejön az adott eszközhöz tartozó entity a következő ID-val: device_tracker.name_device.

BLE tag

Az Owntracks képes jelenteni, hogy az adott BLE beacon hatótávon belül van-e. A beacon állapota vagy az a zóna lesz ahol utoljára látta a telefon, vagy “away”, ha zónán kívül veszett el a kapcsolat köztük. Vettem egy nRF51822 chipes beacont. Ez alapbeállítás szerint néhány alapadatát sugározza, ebből csak az UUID, a Major és a Minor kell az Owntracks beállításához. A szükséges információkat az nRF Connect nevű mobil alkalmazással derítettem ki.

Ezután az Owntracks-ben a Regions fülön a “+” jelre kattintva előjövő űrlapba beírtam a megfelelő adatokat. Fontos még, hogy a “Share” legyen engedélyezve.

Ha a beacont valamelyik zónába helyezzük és ugyanaz a neve, mint a zónának, akkor a hatósugarába érve az Owntracks befrissíti az eszköz állapotát. Ezt még nem próbáltam. Akkor lehet jó, ha GPS alapon lassan frissül az eszköz állapota.

Proximity

A Home Assistant ki tudja számolni, hogy az adott eszköz és akinél van, milyen távol helyezkedik el valamelyik beállított zónától, légvonalban, pl az otthontól:

proximity:
  home:
    devices:
      - device_tracker.gyengus_lgg5
    tolerance: 50
    unit_of_measurement: m

Lehetőségek

Azzal, hogy a Home Assistant tudja, van-e otthon valaki, sokkal személyreszabhatóbb automatizmusokat lehet írni. Kikapcsolhat bizonyos eszközöket amikre csak akkor van szükségünk, ha otthon vagyunk, pl vízmelegítőt, vagy bekapcsolhatja a riasztót.

Címke: , , , ,
Top