情報取得対象の機器(太陽光発電/蓄電池システムのモニタ)とiPhoneで操作しているところを別のiPhoneで撮影したビデオをアップロードして、なんとか申請が通ってくれました。
ダメだったことを考えて、三脚をポチったところでした。(エアコンを操作しているところでも撮影し直そうかと…)
情報取得対象の機器(太陽光発電/蓄電池システムのモニタ)とiPhoneで操作しているところを別のiPhoneで撮影したビデオをアップロードして、なんとか申請が通ってくれました。
ダメだったことを考えて、三脚をポチったところでした。(エアコンを操作しているところでも撮影し直そうかと…)
Appleから回答があり、『「iPhoneが接続されているLAN内のECHONET Lite機器を検索するツールです。」機器自体とのペアリングや対象のハードウェアをビデオに含めてください。』とのこと。
Echonet Lite機器を一緒に撮影して、ビデオに収めないとダメみたい。
昨日申請した、iOSアプリですが申請当日に却下されました。
時間的な流れは、
といった感じです。思ったより、迅速に対応してもらえるんですね…
EchonetScannerですが、だいぶ使えるようになってきたのでAppStoreに申請してみました。AppStoreにアプリを登録したのは1月頃でしたが、TestFlightでテストしていたので4月の申請となりました。
初のiOSアプリ申請です。さて、どうなることやら…
少しずつ機能追加しながらEchonetScannerの開発を続けています。手持ちのiPhoneで動作確認して問題なく動いていたのですが、最近購入したiPhone 12 miniで試したところ、クラッシュが発生してしまいました。
事象発生はいつも同じ操作で、バックグラウンドで情報要求のUDPパケットを送信、受信データを画面に反映させるところです。
各プロパティ値の表示を意味ある形にして、ノード一覧をソートしました。プロパティの設定は制約としてできないようにしていますが、スキャナ(Echonet機器のプロパティ値の取得)としては、それなりに使えるようになったと思います。
プログラムソースはGitHubで公開しています。
しばらく待たないと情報取得できない件ですが、依存ライブラリのELSwiftに1行追加したところ、すんなり情報が返ってくるようになりました。(後述の通り、依存ライブラリの修正は不要)
追加したのは、ELSwift.swiftのinitialize()メソッドの最後に、自ノードインスタンスリストSの取得パケット送信(マルチキャスト)。
try ELSwift.sendOPC1( EL_Multi, [0x0e,0xf0,0x01], [0x0e,0xf0,0x01], 0x62, 0xd6, Node_details["d6"]! );
オリジナルのコードでは、
だけだったのが、
となる格好となります。
よく見たら、追加する行はELSwift.search()メソッドの内容と同じでした。
依存ライブラリをオリジナルに戻し、ELSwift.initialize()を呼び出した直後にELSwift.search()を呼び出せば同等の結果になることを確認できました。
見栄えはともかく、LAN内のECHONET機器を検索、各プロパティ値を取得して表示するところまでできました。
とりあえず、ビューだけ実装してみました。表示内容はハードコーディングしています。
色々と気に入らないところが多いですが、引き続きEchonet情報収集ロジックを組み込んでみようと思います。