Homebridgeでマイナスの温度を表示する

Homebridgeで温度を表示するプラグインが多数ありますが、そのうちのいくつかはマイナス表示が出来ません。

これはHomebridgeのデフォルトではマイナスを扱わないから。

プラグインでオーバーライドすることで、マイナスを扱うことが出来ます。

基本的には、

service.getCharacteristic(変数).setProps({minValue: -100});

という感じで、.setProps({minValue: -100})をプロパティにセットすることでマイナスを扱える。

 

homebridge-http-temperature-humidityプラグインの場合、index.jsの98行目あたりに.setProps({minValue: -100, maxValue: 100})を追加すると良い。

temperatureService = new Service.TemperatureSensor(this.name);
temperatureService
.getCharacteristic(Characteristic.CurrentTemperature)
.setProps({minValue: -100, maxValue: 100})
.on('get', this.getState.bind(this));
services.push(temperatureService);

ん? GitHubに上がっている最新版は.setProps({ minValue: -273, maxValue: 200 })が入ってますね。

最新版はこんなことしなくて良さそうです。

 

 homebridge-advanced-http-temperature-humidityプラグインの場合94行目の後ろに追加します。

.getCharacteristic(Characteristic.CurrentTemperature).setProps({minValue: -100, maxValue: 100})

 これで、マイナスも表示されます。

北国の強い味方です。