7

私はいくつかのホーム オートメーション プログラムに取り組んでいますが、できるようにしたいことの 1 つは、第 4 世代の Apple TV がスリープ状態から復帰したことを検出することです。これは通常、誰かが Siri リモコンのボタンを押して起動したときにのみ発生します。

私は、Pulse-Eight USB-CEC アダプターを備えた PC (Apple TV と同じ TV に接続されている) を持っているので、当然のことながら、最初に試したのは CEC を使用して Apple TV がいつ起動しているかを判断することでした。残念ながら、Apple TV の電源状態を監視していつ起動するかを確認すると、誤検知が発生するため、信頼性が高くありません。(Apple TV で「Control TVs and Receivers」を有効にしておらず、Apple TV が TV の入力を変更しないようにする必要があるため、作業中の特定のプロジェクトで有効にできないことに注意してください。 )

これを行う別の方法を考えようとしています。次のようなことを含め、あらゆる可能性を受け入れます。

  • Apple TV でプライベート API を利用する
  • Apple TV のバックグラウンドで「常時オン」のプログラムを実行して、Apple TV が起動したときに信号を送信する (可能であれば)。(そうではないと思います。)
  • 可能であれば、Siri Remote と Apple TV 間の Bluetooth 通信を監視する
  • HDMI-CEC コマンドを何らかの方法でフィルタリングして、「テレビと受信機の制御」をオンにし、テレビのオンとオフを切り替える Apple TV の CEC コマンドを許可し、テレビの入力を変更するコマンドを除外します。
  • それが機能する限り、他の方法は、どんなにハックでもばかげていても構いません!

誰か提案はありますか?試したいものがなくなってきた!

4

2 に答える 2

2

Apple ディスカッション/サポート コミュニティに以下を投稿しようとしましたが、このコンテンツを投稿する権利がないと言われました。たぶん、このグループの誰かがそれを成功させることができます:

Apple TV 4 CEC の統合は、機能する場合は優れていますが、常に機能するとは限りません。さまざまな機器がすべて揃っているわけではありません。フォーラム全体を検索すると、多くの不幸なユーザーが表示されます。ラズベリー PI を使用して、AppleTV がいつスリープ状態になり、いつ起動するかを検出し、RS232C またはカスタム CEC コマンドを使用してプログラムでテレビをオンまたはオフにしたいと考えています。

私はボンジュール サービス エクスプローラーを使用し、スリープ状態とオン状態の間ですべての結果を比較しましたが、違いはまったくありません。Apple がそのような自動化プロジェクトを歓迎し、status:sleep や status:on などの変数を使用してこの情報をすぐに利用できるようにすることを期待していました。 

ネットワーク接続を介して 2 つの状態を区別する方法はありますか?

そうでない場合、バックグラウンドで実行され、クライアントがこの情報を利用できるようにする TvOS アプリを構築できますか?

于 2017-10-12T06:29:26.233 に答える