ネットにゲートウェイを繋いで、さて、どういうHEMS応答があるのかを探るのに、まずは デバイス探索だろうと思った。ネットにHEMSデバイスの代理応答をしているのだろうと思うので、普通にデバイス探索を行うのにどうすればと思ったら、次のページがあった。
https://end0tknr.hateblo.jp/entry/20170305/1488712308
この script を動かしてみたら、ゲートウェイは反応せず、別のIPアドレスから返答が。
身に覚えが無いなぁと思いながら、'01013001'という応答を考えてみたら、Panasonic のエアコンだった。
なるほど、これもHEMS一家だったか。
太陽光関係が終わったら、これもデータを取得してみよう。といってもどこまで何が取れるかよくわかってないが。室内外温度、湿度あたり、消費電力あたりくらいか。
で、ゲートウェイがHEMS機器として反応しないのは困った、独自プロトコルなのか?と思って、とりあえずパケットキャプチャーしてみたら、MDNSに応答しているのを発見。
_ossgwsvc._tcp.local: type PTR, class IN, SN._ossgwsvc._tcp.local
SN._ossgwsvc._tcp.local: type TXT, class IN, cache flush
SN._ossgwsvc._tcp.local: type SRV, class IN, cache flush, priority 0, weight 0, port 443, target NN.local
SN.local: type A, class IN, cache flush, addr IPaddress
というレスポンスを返してきた。'SN'は製品のシリアルナンバー、'IPaddress'は、このゲートウェイのIPアドレス。
ということで、どうも ip:224.0.0.251, port 5353で mDNSには応答するらしい。
hemsの規格書には マルチキャストアドレスの "244.0.23.0"でreq/res するとあるが 、このゲートウェイはどうもそのマルチキャストには反応しないようになっているようだ。
なので、もう決め打ちで、echonet liteの port 3610 に broadcast '224.0.0.251' でechonet lite の問い合わせフレームを投げてみたら、ビンゴっぽい。
['1081', '0000', '0ef001', '05ff01', '72', '01', 'd6', '04', '0102791f']
と、 '0279' という住宅用太陽光発電クラス規定のノードだという返答が返ってきた。
このIPアドレスで、port 3610 に udp で通信することで echonet lite のやりとりができるっぽい。
コメントする