スキップしてメイン コンテンツに移動

投稿

12月, 2016の投稿を表示しています

ホームアプリで、自宅の制御を家族にも公開する。

ホームアプリでエアコンのオン・オフやガレージのシャッターの開け閉めが出来る様になれば、当然家族にも使わす(共有させる)ことになります。
これでシャッターのリモコンを間違って持ってゆかれて「リモコンが足りない!」なんて事も無くなります。

って思ったらまたまた問題が・・・
ホームアプリでアクセサリー(個々のエアコンなど)を各部屋に設定し、部屋毎にコントロール可能にして、メインのホーム画面には一部のスイッチだけを設定しました。
が、・・・・・
それを共有された側は、確かに各部屋の設定は反映されていますが、メインの画面には全てのスイッチがずらっと並んでしまいます。
ナンジャコリャ?

最初に設定した iPhone 7 の画面がこれ。


で、それを共有された方の iPhone 5s の画面がこちら。


もちろん両方とも iOS のバージョンは「10.2」の最新バージョン。
ついでにiPhone 7 の方はアップルTVのエラーの表示。
でもなぜか、iPhone 5s はわざと Wi-Fi を切っているにも関わらずちゃんとアクセス出来てます。
これも変ですよね。

例えば、ガレージの照明のスイッチの詳細を確認すると、iPhone 7 ではこんな感じで、


iPhone 5s で確認すると、


こんな感じで勝手に「よく使う項目」に登録されていて、しかも半透明となって選択できません。

うーん困った。
って事で、アップルのサポートにチャットで相談。
ひとまず上記のスクリーンショット送って、状況を説明。
で、スペシャリストから電話を掛けてもらえる事になりました。
最初から電話での相談だと、順番待ちが長い事も多いし、言葉だけで説明するのは大変ですからね。
スクリーンショット送っておけば話は早いし、電話で繋がるまで待つのと、相手からかかってくるのとでは大違い。
同じ待ち時間でも気持ちが違います。
その間にこうやってブログの下書きもできちゃうし(笑)。

で、結論としては
できない! って事です。
まだまだ発展途上というか、ろくに仕様も定まっていないというか・・・
当面は他社のアプリを使った方が良いかもしれません。
でも目的の装置にアクセスするのは「ホーム」アプリの方が楽な様な・・・
悩ましいですね。


12月27日:追記
「出来ない」はずの事が出来た! しかも勝手に。

えっ? なんの話って。
いや、公開したホ…

Homebridge での bash の振る舞い(シェルが起動されない)

HomeBridge でシェルを起動して、ガレージのシャッターを開け閉め出来る様にしたものの、そのままだと通常のリモコンでシャッターを開け閉めされるとその状況がわかりません。
そこで、窓の開閉状態を確認できるマグネットセンサーを使い、その状況を GPIO 端子で確認できる様にしました。
単純にセンサーを GPIO 端子とグランド端子に繋いで、GPIO 端子の方は通常時にプルアップしておけば、センサーが感知すれば GPIO 端子は0となります。
これをシャッターの上下に付ければ、閉まっている、開いている、開け閉めの途中の三つの状態を確認出来ます。
で、ついでなので、日没から夜明けまでの時間帯にシャッターの開け閉めをしたら電気もつけたり消したり出来る様にしました。
シェルを叩いて、サーボが動いたのを確認しつつ、センサーの前にマグネットを置いたり離したり。
壁の照明用のスイッチ用のサーボの動作も日没の時刻を弄ってちゃんと動いたのを確認していざシャッターのところにセット。
シャッターの動きに追従して、GPIO のステータスも問題なく動作。
照明もちゃんとオン・オフしてくれます。

で、いざ iPhone を取り出して「シャッターをオン」・・・・ ん?
照明のスイッチ用のサーボが動かない?

色々試してみたところ、パソコンから直接サーバーのシェルを起動すれば問題なく動作するものの、iPhone のホームアプリからだと一部が動かない。
で、結局シェルから別のシェルを起動していると、そこが動かないことが分かりました。
シャッターの開閉のシェルから、自動で照明を点けるシェルを呼び、そのシェルからは夜間かどうかを別のシェルに依頼して確認し、スイッチを入れるか判断しています。
で、普通にシェルとして起動すれば問題ないのに、ホームアプリからだとシャッターの開閉はしても照明のオン・オフは動かない。

って訳で、シャッターの開閉のシェルの中で、自分で夜間かどうかを確認して照明のスイッチを動かす様にしたら問題解決。
でもなんで子供のシェルが動かないのだろう?