Van egy otthoni házi szerverem és egy tárhelyem. Szerettem volna értesítést kapni róla, ha valamelyik nem elérhető ill, ha később újra elérhetővé válik. Ehhez írtam egy Node.js alkalmazást ami ellenőrzi a szerver és a tárhely elérhetőségét és amennyiben változás áll be valamelyik állapotában meghív egy linket a megfelelő paraméterekkel. Végül amennyiben valamelyik offline állapotba kerül, a Mi Band karkötőm ezt jelzi.
A Node.js alkalmazás
A kódot nem bonyolítottam túl. Valójában csak gyorsan összedobtam. Egy json formátumú konfigurációs állományból olvassa be az ellenőrizendő linkeket. Ezeken megy végig és megpróbálja őket lekérni szimpla http lekérésekkel. A linkek állapotát PostgreSQL adatbázisba menti. Amennyiben változott valamelyik link állapota, indít egy új lekérést az IFTTT felé.
A Node.js alkalmazás megtalálható GitHubon.
Heroku
A Node.js alkalmazást nem helyezhettem el se a tárhelyemen se a szerveremen, mivel azok állapotát figyeli. Ezért úgy döntöttem, kipróbálom a Herokut, ez egy felhő szolgáltatás. Ennek a kis programnak az ingyenes csomag bőven elég. Jó a Heroku dokumentációja. Tartalmaz könnyen követhető tutorialokat, ezért nem részletezem a Node.js alkalmazás Herokura telepítését. A szerverek állapotának tárolásához szükség lesz a Heroku Postgres addon-ra, és persze egy táblára . A web dynot leállítottam, mert nincs rá szükségem, hogy weben keresztül elérhető legyen a Node.js alkalmazás.
Heroku Scheduler
A Heroku Scheduler segítségével be lehet állítani, hogy a Node.js alkalmazás meghatározott időközönként lefusson. Én 10 percre állítottam. Könnyű beállítani, csak meg kell adni a parancsot és, hogy milyen időközönként futtassa le.
Az IFTTT beállítása
Először is be kellett állítani a Maker Channel-t, csatlakozás után ad egy key-t, ezt beírtam a config.json fájl ifttt_maker_api_key
nevű mezőjébe. Továbbá a mobilomra feltelepítettem az IF alkalmazást.
Ezután két szabályt kellett létrehozni:
- Az első akkor fut le, ha offline lesz valamelyik szerver.
Maker esemény neve: serverOffline.
A küldendő notification:Server offline! {{Value1}} {{Value2}}
- A másik akkor fut le, ha újra elérhető lesz az offline szerver.
Maker esemény neve: serverOnline.
A küldendő notification:Server online! {{Value1}} {{Value2}}
A {{Value1}}
az adott szerver nevére, míg a {{Value2}}
az aktuális időre lesz kicserélve. Mindkét Maker eseménynek külön linkje van.
A Mi Band ismertetése
A Mi Band egy fitnesz karkötő. Azon kívül, hogy számolja a lépéseket, monitorozza az alvást, a rezgő motorja és a 3 színes LED-je segítségével képes megjeleníteni a telefon értesítéseit.
A Mi Band Tools beállítása
A gyári program kevés beállítási lehetőséggel rendelkezik. Ellenben a Mi Band Tools segítségével nagyon aprólékosan be lehet állítani, hogy milyen értéseket, milyen formában jelenítsen meg a Mi Band.
Tehát a Mi Band Tools nevű programon belül létre kell hozni egy új szabályt az IF alkalmazásra. Én beállítottam még egy tartalom szűrőt is rá.
A fentiek eredményeként amennyiben offline állapotba kerül valamelyik szerverem, a karkötőm rezgéssel és pirosan villogással fogja ezt jelezni.