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"
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ä;