有線LAN、無線Wifiの切り替え時、IPアドレスの取得に注意

Google Home Mini の音声が鳴らなくなった時の覚書。

Mac パソコンで音声を生成して、Google Home Mini 鳴らす仕組みになっている。

しかし、Macパソコンの 有線・無線の切替時、音が鳴らなくなった。

原因は、Mac パソコン の ipアドレスを取得する箇所。

例:

var os = require('os');
var ips = os.networkInterfaces();
//var ip = ips['en1'][1].address; //無線Wifi
var ip = ips['en0'][3].address; //有線LAN
var OUTPUT_URL = 'http://' + ip + '/voice/test.wav';

追記:
アドレスを取得するのが面倒なので、パソコンのホスト名で解決すればいいのでは?
と思ったけど、ホスト名だとGoogle Home Mini から、音を生成したMacパソコンを見に行けないみたい?

さらに追記:

//npm install ip
var ip = require('ip');
var ip_adress = ip.address();

ip モジュールで、ローカルip の取得が簡単に解決しました。