Gyengus™ weblapja

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.

Kategóriák: IT
Dátum: 2018. június. 12.
Ha tetszett a cikk, oszd meg barátaiddal:
« »