Näytetään tekstit, joissa on tunniste Älylukko. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste Älylukko. Näytä kaikki tekstit

tiistai 20. heinäkuuta 2021

Home Assistant - Gluehome lukkointegraatio

Olen aikaisemmin Glue-lukko aihetta jo sivunnut aikaisemmassa blogipostauksessa: http://omakotikotitalomme.blogspot.com/2019/09/glue-alylukon-rajapintojen-tutkimista.html

Keväällä Glue muutti mobile applikaation kokonaan ja vanha API urli lakkasi toimimasta. Nopeasti vilkaisin uuden appiksenkin sisälle, ja siellä oli https://mobile.gluehome.com/api/ urli käytössä ja nopealla vilkaisulla löytyi myös mqtt broker hittejä, mikä olisi lupaavaa, jos semmoinen rajapinta joskus aukeasti. Mutta onneksi ei tarvinnut ruveta tarkemmin appiksen toimintaa penkomaan, kun internetistä löytyi uusi semi-official API, kun Homebridgelle oli julkaistu toteutus GlueHome integraatioille (https://github.com/GlueHome/homebridge-plugin). Joten samaa esimerkkiä seuraten voi curlilla tai HA:lla lukkoa komentaa.

# Create/fetch <api-key> with glue <user>:<pass> according to plugin README:
curl --location --request POST 'https://user-api.gluehome.com/v1/api-keys' --header 'Content-Type: application/json' -u <user>:<pass> --data-raw '{ "name": "My Test Key", "scopes": ["events.read", "locks.read", "locks.write"] }'

# Fetch <lock-id> using created <api-key>
curl -L -H "Authorization: Api-Key <api-key>"  https://user-api.gluehome.com/v1/locks

# Test operation <op>=lock/unlock on <lock-id> 
curl -L -H "Authorization: Api-Key <api-key>" -H 'Content-Type: application/json' -d '{"type":"<op>"}' https://user-api.gluehome.com/v1/locks/<lock-id>/operations

Ylläolevilla esimerkeillä voi testata lukon toimintaa, ja samalla voit luoda/pistää talteen oman lukkosi <api-key> ja <lock-id>. Niitä tarvitaan Home Assistantin puolella kun editoit secrets.yaml ja configuration.yaml tiedostoja.

secrets.yaml:
glue_command_on: "curl -L -H 'Authorization: Api-Key ApiAvain' -H 'Content-Type: application/json' -d '{\"type\":\"lock\"}' https://user-api.gluehome.com/v1/locks/123456/operations"
glue_command_off: "curl -L -H 'Authorization: Api-Key ApiAvain' -H 'Content-Type: application/json' -d '{\"type\":\"unlock\"}' https://user-api.gluehome.com/v1/locks/123456/operations"

glue_resource: "https://user-api.gluehome.com/v1/locks/123456"
glue_auth: "Api-Key ApiAvain"
configuration.yaml:
switch varasto_ovi:
- platform: command_line
  switches:
    varasto_lock:
      friendly_name: "Varaston Ovi"
      command_on: !secret glue_command_on
      command_off: !secret glue_command_off
sensor varaston_ovi:
  - platform: rest
    resource: !secret glue_resource
    name: varasto_lock
    method: GET
    headers:
      Authorization: !secret glue_auth
    json_attributes:
      - description
      - batteryStatus
      - lastLockEvent
      - connectionStatus
    value_template: "OK"
  - platform: template
    sensors:
      varasto_lock_last_event:
        friendly_name: Last varasto lock event
        value_template: "{{ state_attr('sensor.varasto_lock', 'lastLockEvent')['eventType'] }}"
      varasto_lock_battery:
        friendly_name: Varasto lock battery
        value_template: "{{ state_attr('sensor.varasto_lock', 'batteryStatus') }}"

Ja HA:n restartin jälkeen lukko löytyy switchinä Overview näytöllä;



maanantai 2. syyskuuta 2019

Etäohjattava Glue älylukko wifi-keskittimellä

Tuossa kesällä oli Clasulla kivijalassa erikoistarjouksena Glue älylukot, jolloin opiskelijakortin vilauttamisen jälkeen taisi loppuhinnaksi muodostua noin 140e, niin oli pakko hankkia kun halvalla sai. Verkkokauppa.com:ssa sama on https://www.verkkokauppa.com/fi/product/14156/knckx/Glue-langaton-alylukko-wifi-keskittimella-hopea

Ja asennuskohteeksi valitsin varaston oven, sillä käyttöscenaariolla, jos tarvii esim. lähettifirmoille availla ovia jos tulee pakettia kun en ole kotona. Ja toinen syy varastoon pistämiseksi on se, että 'älylukoilla' on vielä hieman huono maine tietoturvan osalta. Joten tuota pitää tutkia hieman lähemmin, ennenkuin uskaltaa kotioveen pistää. Tästä onkin lupa odottaa jatkopostausta aiheesta, kun valmistaja ei ole public API:a toiminnallisuuteen julkaissut, niin taitaa edessä olla 'challenge accepted'-hetki, jos vaikka katsoo mitä vaatii oven avaaminen curlilla Linuxin konsolilla.

Lähtötilanteessa tuommoinen perus Abloyn lukkopesä, johon asennusta sitten ruvetaan suorittamaan.

Pyöritysnuppi ekana ruuvataan irti...

Jonka jälkeen ruuvataan Glue lukon aluslevy tilalle ja sovittemen kanssa sitten Glue laite paikoilleen.

Sitten vuorossa olikin Glue softan asennus Android puhelimeeni, jonka avulla lukko rekisteröidään ja calibroidaan. Jouduin tekemään calibroinnin pariin kertaan kun ekalla kerralla en osannut vääntää nuppia tarpeeksi auki. Ja wifi keskittimen kanssa hetken ihmettelin kunnes keksin, että varaston wlan ap:ssa oli dhcp:n dns asetukset vinossa. Lopulta kaikkiaan taisi vähän alle tunti mennä aloituksesta kun systeemi oli pystyssä.

Kun lopulta saa kaikki onnistuneesti conffattua, niin silloin näkyy puhelimesta iloisesti unlock ja lock napit, ja logitiedot historiasta.

Muutaman päivän testausten perusteella, unlock ja lock komennot joskus eivät mene täysin luotetusti läpi, vasta kun historia logissa näkyy eventti, niin silloin tietää menikö komento läpi. Mutta kun tuon tiedostaa, niin ei ole iso ongelma. Jossain vaiheessa on luvassa toinen postaus aiheesta, jossa koitetaan tutkia enemmän API ja/tai protokollatasoa toiminnallisuuden suhteen.