Jotta Hubitatista saataisiin notifikaatioita käyttäjien mobiililaitteisiin, tulee laitteeseen asentaa Hubitatin oma mobiiliapplikaatio. Hubitat-applikaation asennuksessa generoidaan samalla ”Hubitat App Device”, jolle lähetetään oletuksena kaikki Hubitat-notifikaatiot. Jos esim. kotosalla palohälytin alkaisi soimaan, niin tämä nofitikaatio työnnetään heti applikaation asentaneen käyttäjän mobiililaitteeseen. Ihan hyvä ja oleellinen ominaisuus siis kyseessä.
Olen tämän lisäksi kuitenkin kaipaillut SharpTools-infonäyttöihin sellaista näkymää, josta nopeasti näkisin viimeisimmän älykotitapahtuman. Meillä kaikki oleelliset tiedotteet lähetetään käyttäjien mobiililaitteiden lisäksi myös Google Assistantiin, jolloin kotona olevat Home-pömpelit aika ajoin ilmoittelevat ääneen mm. pesukoneen pesun valmistumisesta, tai vaikkapa lasten saapumisesta koululle. Olisi kiva nähdä aina viimeisin tiedote myös infonäyttöä vilkaisemalla, sillä mobiililaite ei välttämättä ole aina silmien edessä, eikä kaikkia Assistantin tiedotteita välttämättä ehdi kuuntelemaan.
Tästä syystä Hubitatiin luodaan virtuaalinen notifikaatiolaite, jolle webCoREn toimesta määritellään ne kaikki halutut notifikaatiot, joita SharpTools-infonäytöillä halutaan jatkossa nähdä. Siispä jälleen, tuumasta toimeen.
Notifikaatiolaitteen luominen
Aluksi siirrytään Hubitatiin, ja klikataan Device-näkymän oikeassa yläkulmassa ”Add Device” -painiketta.

Tämän jälkeen klikataan ”</> Virtual” -painiketta..

..ja luodaan uusi Mobile App Device. Lopuksi klikataan ”Save”.

webCoREen..
Kun uusi Mobile App Device käy ja kukkuu Hubitatin laitelistassa, julkaistaan se Hubitatin Webcore-applikaation käytettäväksi. Siirry Hubitatin ”Apps”-sivulle ja klikkaa webCoRE-sovellusta.

Klikkaa seuraavaksi ”Settings” -painiketta..

…ja lisää juuri luotu ”Notifications_virtual_device” siihen kohtaan, jossa webCoRE kysyy pushMessage Device -laitteita. Klikkaa lopuksi ”Save” sivun alalaidasta.

Voit nyt siirtyä webCoREn Dashboardiin tekemään notifikaatio-pistonia. (https://dashboard.webcore.co/)
Mikäli et halua aloittaa ihan alusta, voit kopioida tekemäni hyvin simppelin Pistonin käyttämällä alla olevassa kuvassa näkyvää koodia. Kun määrittelet Pistonissa ”Unknown Device 34” tilalle oman ”Notifications_virtual_devicen”, niin mm. kaikki ”Location Mode” muutokset ja hälytykset ilmoitetaan myös tälle uudelle notifikaatiokykeneväiselle laitteelle. Piston lopussa on lisäksi pari esimerkkiriviä, jossa kytkimen (tai jonkin laitteen) käynnistyttyä ja sammuttua notifikaatioita lähtee eteenpäin.
WebCoRE-pistonin voisi tehdä huomattavasti lyhyemmin esim. muuttujia käyttäen, mutta tässä esimerkissä haluan painottaa juurikin sitä seikkaa, että jokainen IF-lause generoi jonkin viestin ulos. Kun logiikka on ymmärretty ja selvillä, niin sitten jokainen voi siellä kotisohvan uumenissa omien kykyjensä mukaisesti lähteä tekemään pistonia lyhentäviä variable-kikkailuja.
Pistonissa käytetty ”Send Device Notification” -komento on laitekohtainen komento. Valitset siis ensiksi laitteen, ja määrittelet, että tälle laitteelle lähetetään viesti x. Mikäli Then-lauseessa käytettäisiin ”Send push notification” -komentoa, lähetettäisiin haluttu notifikaatio kaikille Hubitatissa oleville Mobile App Deviceille. ”Send Device Notification” -komennon avulla voit määritellä juuri ne eksaktit notifikaatiot, jotka haluat lopulta tälle laitteelle päätyvän, ja tältä laitteelta SharpTools-infonäyttöön. Itselleni tulee mm. 3d-tulostimen toimintaan liittyviä viestejä, ja vaimoni ei näistä ole kovinkaan innostunut. Siksi käytän joissakin Pistoneissa globaalia notifikaatiokomentoa (Send push notification), ja laitekohtaista notifikaatiokomentoa (Send Device Notification) sitten muissa tarpeissa.

Seuraavaksi siirrytään julkaisemaan ”Notifications_virtual_device” SharpTools-infonäytön käytettäväksi.
SharpTools
Siirry takaisin Hubitatin Apps-sivulle, ja klikkaa sieltä ”SharpTools”.

Sivulla listataan kaikki ne laitteet, joiden käytön haluat mahdollistaa SharpTools-applikaatiossa ja sitä kautta SharpTools-infonäytöissä. Haluttu laite lisätään aina sopivaan kategoriaan laitteen ominaisuuksien mukaisesti. Niin oudolta kuin tämän kuulostaakin, ”Notifications_virtual_devicen” osalta oikea laitekategoria on ”Presence Sensors”. Lisää laite tähän em. luetteloon, klikkaa luettelon vierestä ”Update”, ja lopulta sivun alalaidasta ensin ”Next” ja sitten ”Save”.

Nyt voit siirtyä SharpTools-dashboardiin. (https://sharptools.io/dashboard). Lisää haluamaasi SharpTools-dashboardiin vihreää plus-painiketta käyttäen uusi laite.

Etsi ”Notifications_virtual_device”, valitse se ja klikkaa ”Done”.

Klikkaa ”Tilen” ylävalikko auki ja valitse ”Edit”. Voit halutessasi antaa erillisen nimen laitteelle (Label) ja voit määritellä ”Tilen” koon vaihtamalla leveyden esim. kaksinkertaiseksi nykyisestä. Klikkaa lopuksi ”Save”.
Tämän jälkeen klikkaa uudelleen ”Tilen” valikko auki ja valitse tällä kertaa ”Change Layout”.
Valitse Layoutiksi ”Hero Attribute”.

Tämän jälkeen huomaatkin, että ”Tilen” sisältö hieman muuttui, ja nyt vaihdetaan sisältöä vielä hieman lisää. Siirry vielä kerran ”Tilen” ylälaidasta ”Edit”-nappulaa käyttäen valikkoon. Määrittele Primary Attributeksi ”NotificationText”. Voit asetusvalikon alalaidasta vielä kliksauttaa ”Word Wrappauksen” päälle. Klikkaa lopuksi ”Save”.

Ja lopputulos on tämän näköinen..

SharpToolsin infonäytössä on nyt näkyvillä viimeisin tiedote joka kertoo, että jonkun pitäisi mennä ottamaan pyykit pois koneesta.. ei perkele.. tehdäänpä pieni muutos..

No niin, nyt voidaan jatkaa. Voit jatkossa määritellä webCoREssa olevaan pistoniin kaikki ne säännöt, joista notifikaatio juuri tälle laitteelle lähtee. Tämän jälkeen SharpTools-dashboardissa oleva ”Tile” vastaanottaa kaikki halutut notifikaatiot käyttäjien nähtäväksi. Mukavaa, eikö vain 🙂