Társasházi autós kaput HomeKit és CarPlay kompatibilisre? – SwitchBot robottal lehetséges!
November 23, 2024
For the English version of this article, click here.
Honnan indulunk? 💭
Személy szerint én társasházban élek, így autóval csak a közös, rádiós távirányítóval vezérelhető kapu nyitását követően tudok beállni a parkolóhelyemre. Mivel az autóm támogatja az Apple CarPlay rendszert, kényelmesen lehetne Sirivel, vagy a kijelzőn megnyomva, vagy akár automatizálva is nyitni a azt, ha befordulok az utcába. Ehhez viszont az kellene, hogy valahogyan HomeKit kompatibilissé tegyem a kaput.
Nehezítő körülmény, hogy közös társasházi tulajdonként nyilván nem tudok sem relét vagy bármi hardvert bekötni, ezért ezt pusztán szoftveresen kellene megoldani. Majdnem így is lett.
Hogyan lehetne megoldani? 🤔
Kézenfekvő megoldás lenne az adott rádiójelet klónozni, és azt mondjuk a Broadlink eszközzel leadni, pont úgy, mint a redőnyök okosításakor. Természetesen a kapu- és garázsnyitók nem a 433MHz-es frekvencián kommunikálnak, ráadásul nem csak ugrókódosak, de még titkosított jelet is adnak, emiatt a jelklónozás sajnos ki van zárva.
Lehetne persze a kapu kötődobozába rakni egy HomeKit kompatibilis relét (akár egy Shellyt, mint a konyhai LED és a fürdőszobaszekrény világításának okosításakor), hiszen a távirányítók sem csinálnak mást, mint hogy egy kapcsolót triggerelnek ebben a dobozban. Egyrészt ez azzal járna, hogy bele kéne turkálnom a közös tulajdonba – amit elkerülnék. Másrészt viszont ennek a relének stabilan fent kéne lennie a belső hálózaton, márpedig a wifi jel nem ér el a kapuig megbízhatóan, ha pedig le vannak engedve az alumínium redőnyök, akkor semennyire.
Csak szoftverrel nem fog menni – Elő a robotokkal! 🤖
A nagy gondolkodás során eszembe jutott még régebbről, hogy vannak ilyen kis méretű, teljesen egyszerű robotok, amelyek segítségével villanykapcsolók vagy gombok nyomhatóak meg. Több gyártó is készít ilyen eszközöket, azonban az első és leginkább elterjedt, szélesebb körben is támogatott platform az amerikai SwitchBot háza tájáról származik. Ha fognám az egyik meglévő kapunyitó távirányítót, és ráraknék egy ilyen kis robotot, végülis meg tudná nyomni a gombot nekem, és kinyílna a kapu. Próbaként meg is rendeltem egy SwitchBot robotot, és a hozzá való SwitchBot Hub Mini-t mint vezérlőt.
A robotot a mellékelt kétoldalú ragasztószalag segítségével ráraktam a távirányítóra olyan módon, hogy meg tudja nyomni a megfelelő gombot, az egész kis csomagot pedig egy OBO kötődobozba rejtve kiszereltem az ablakpárkány melletti külső falra (erről bővebben később)
Az első próbálkozás – SwitchBot és HomeBridge 1️⃣
Mivel a SwitchBot a legelterjedtebb gyártó a kategóriában, így elég nagy közösség – sőt a gyártó csapatából dedikált emberek is – foglalkozik a létező HomeBridge plugin frissítésével és üzemeltetésével. Maga a telepítés egyértelmű, meg kell adni a felhasználói fiókunkhoz tartozó tokent és secretet, majd hozzá kell adnunk a kis robotunk (Bot-unk) DeviceID-ját, ami nem más, mint a BLE MAC címe kettőspontok nélkül.
Bővebben azért nem megyek bele a beállításokba, mert sajnos több mint másfél év használat után egyre döcögősebb lett ez a megvalósítás, ami miatt én sem ezt a módszert használom már:
Az első problémát az okozta, hogy a plugin segítségével egyből megadható, hogy milyen eszközként jelenjen meg a HomeKit számára a robotunk. Itt van lehetőség garázskapu beállítására, ami szuper és kiválóan működött kb. egy évig, de egy frissítést követően az eszköz státusza állandóan „Opening” álláson ragad. Ez azért nem jó, mert így pl. az autóból nem nyomható meg a gomb, másrészt elég igénytelenül néz ki, hogy van egy folyamatosan nyitás alatt lévő ajtó. A hibát többen jeleztük a fejlesztőknek, azonban sajnos a mai napig nincsen javítva.
A második probléma pedig, hogy az utóbbi időben egyre többször van elérési probléma a SwitchBot openAPI-ja felé. Ez egy olyan backend szerveren fut, ami segít a nem közvetlenül SwitchBot appból történő (tehát pl HomeBridge alól HomeKit) parancsok kiadásában. Na most ez egész kellemetlen, ha másfél éve már megszokta az ember, hogy simán nyílik kocsiból vagy telefonról, esetleg okosóráról a kapu, aztán induláskor vagy érkezéskor nem történik semmi, mert le van halva a backend.
A második próbálkozás – SwitchBot és a Matter 2️⃣
Szerencsére a SwitchBotnál haladnak a korral, és az újabb vezérlő Hubjaik már támogatják a Matter okos-otthon szabványt. Ez azért szuper hír, mert így kvázi natív HomeKit eszközként meg tudnak jelenni bizonyos támogatott SwitchBot robotok a HomeKit alatt is. A támogatott eszközök listáját itt találjátok meg, de a lényeg hogy a kis robotok (Bot-ok) támogatottak olyan szinten, hogy egy On/Off kapcsolóként jelennek meg.
Így tehát teljesen kikerülhető a HomeBridge plugin hektikussága, hiszen a HomeKit-ből kiadott parancsokat a HomeKit központok adják le Matter szabványon keresztül a SwitchBot Hub 2-nek, nincs semmi köztes szerverezés vagy leálló backend, elrontott plugin frissítés.
Meg is rendeltem az eszközt, pillanatok alatt beállítottam, frissítettem a firmware-t, leolvastam a Matter-es QR kódot, majd hozzáadtam az Apple HomeKit otthonomhoz. Itt figyelni kell arra, hogy kövessük a SwitchBot appban leírtakat, hiszen a Hub 2-t Matter párosítási módba kell kapcsolni. Ezt követően külön hozzá tudjuk adni a kompatibilis SwitchBot eszközeinket. Esetemben ez a távirányítót nyomkodó robot, valamint a Hub 2-ben található hőmérséklet- és pára-szenzor.
Ha mindent jól csináltunk, megjelenik a Bot kapcsolóként HomeKit alatt.
Oké, de hogyan lesz ebből kapu? 🚪
A funkcionalitást a fenti módszerrel már sikeresen teljesítettük, azonban a finomhangoláshoz továbbra is szükségünk lesz a HomeBridge segítségére. Mivel nem tudunk garázskapu típust állítani a robothoz Matter-en keresztül, valamit ki kell találni.
Ez pedig nem más, mint a Dummy Garage nevű HomeBridge plugin, melyet innen érhettek el.
Ennek segítségével megjelenik egy garázskapu a HomeKit otthonunkban, amit lehet nyitni, lehet hozzá automatikus záródási időt adni (hogy ne maradjon nyitott állapotban). Mint a neve is mutatja, ez csak egy „Dummy”, tehát valójában semmit nem csináló garázsajtó.
Valahogy össze kell kombinálni a SwitchBot robotunkkal.
Automatizálásra fel! 🦾
Mi sem egyszerűbb ennél, egy teljesen szimpla automatizálás segítségével össze tudjuk kötni a két eszközt. Ehhez nem kell mást tennünk, mint az iPhone/iPad/Mac rendszerünkön megnyitjuk a Home appot, majd az automatizációk fülön létrehozni egy új automatizációt. Itt beállíthatjuk, hogy abban az esetben, ha a „Dummy” garázsajtót kinyitjuk (akár gombbal, akár Sirivel, akár másik automatizációval), kapcsolja „fel” a SwitchBot robotot. Beállíthatjuk azt is, hogy 1 perc után kapcsolja is ki a robotunkat, és zárja be a Dummy garázsajtót, amit azért érdemes megtennünk, hogy ne tudjon beragadni az állapotjelzés.
Így máris nem Dummy a Dummy garázsajtónk, hiszen a robot meg fogja nyomni a távirányító gombját.
Néhány extra jótanács 💡
Van természetesen néhány olyan extra jótanács, amelyekkel nem árt tisztában lenni. A környezeti változók itt is kritikusak lehetnek, tehát ha nem tudod olyan helyre rakni a kapunyitó távirányítót, ahonnan elér a jel a kapuig, akkor hiába nyomkodja a robot.
A Hub és a Bot közti kommunikáció BLE-n, azaz alacsony energiaigényű Bluetooth kapcsolaton keresztül történik. Ez azt jelenti, hogy azért olyan nagyon messze nem lehet egymástól a Bot és a Hub, különben megbízhatatlan lesz a működés a jelerősség változása miatt. Különösen érdemes erre figyelni akkor, ha a robotot mondjuk ablakon kívülre szeretnéd elhelyezni (mint én), hiszen a BLE-nek át kell vinnie az ablaküveget, vagy adott esetben a redőnyöket (ami lehet alumínium, mint nálam).
De miért raknád ablakon kívülre? A távirányító rádiójele sem a világ legerősebbje, így nálam a leengedett redőny az esetek jelentős részében már annyira leárnyékolta a távirányítót, hogy az abból kijövő rádiójel már nem jutott el a kapuig.
Itt persze figyelni kell arra, hogy azért a Bot is elemmel működik (bár rendkívül energiatakarékos), és a kapunyitó távirányítóban is merülhet az elem (ez pedig hatással lesz a távirányító jelerősségére is). Tehát magát a Bot-ot is úgy kell felhelyezni a távirányítóra, hogy mindkét eszközben lehessen elemet cserélni.
Ha nem a lakásban vannak, akkor javaslom az időjárásálló kötődobozok alkalmazását, mérd le, hogy mekkora helyre van szükség ahhoz, hogy a Bot és a távirányító is elférjen, majd ragaszd fel a kötődobozba őket. A doboz pedig mehet kintre az ablakpárkány melletti falra. Igazán kemény telünk nem volt azóta, kíváncsi leszek, hogy mennyire birkózik meg a faggyal ez a konfiguráció, de nem gondolom, hogy komoly gond lehet, hiszen a kapunyitó elektronika is ilyen dobozban van.
Zárszó 🏁
A megoldás tehát megbízhatóan működik, méghozzá végül magához a kapu irányításához a nap végén HomeBridge sem szükséges – bár az elegánsabb, CarPlay lehetőségeket is maximalizáló megvalósításhoz szükség van a HomeBridge kiegészítésére is.
Valahol azért érdekes élethelyzet, hogy egy kis robot egyetlen „életcélja”, hogy nyomkodja nekem a kapunyitó távirányítót, de láttunk már ilyesmit az egyik kedvenc Rick & Morty epizódomban:
A következő cikkben (amire azért reményeim szerint nem kell több, mint 3 évet várnotok, mint legutóbb) azt fogom megmutatni, hogy hogyan lehet gyakorlatilag bármilyen okos kamerát (esetemben pl. a Ring kamerákat) natív, HomeKit Secure Video alá integrálni, mellyel elérhető lesz az arcfelismerés és az iCloud-os videótárolás.