Homebridge plugin for displaying the weather, humidity and min- or max-temperature from openweathermap.org
If you find my work useful you can buy me a coffee, I am very thankful for your support.
(sudo) npm install -g --unsafe-perm homebridge
(sudo) npm install -g homebridge-weather
config.json
using the sample below (append in the block 'accessories' not 'platforms').Example for configuration by City
"accessories": [
{
"accessory": "Weather",
"apikey": "YOUR_KEY_HERE",
"location": "Stuttgart,de",
"name": "OpenWeatherMap Temperature"
}
]
replace location
with
"locationById": "2172797",
replace location
with
"locationByCoordinates": "lat=48.70798341&lon=9.17019367",
iOS should take care of the correct unit, HomeApp converts the values internally.
If you want a different unit than your OS' settings, you can change the unit explicitly by addingunit
with one of the following values:
"unit": "metric",
for Celsius (default)
or
"unit": "imperial",
for Fahrenheit
To show daily min/max values, you have to add two additional accessories:
"accessories": [
{
"accessory":"Weather",
"apikey":"YOUR_KEY_HERE",
"locationByCoordinates":"lat=48.70798341&lon=9.17019367",
"name":"Today Min",
"type":"min"
},
{
"accessory":"Weather",
"apikey":"YOUR_KEY_HERE",
"locationByCoordinates":"lat=48.70798341&lon=9.17019367",
"name":"Today Max",
"type":"max"
}
]
To show cloudiness in percent configure as follows:
"accessories": [
{
"accessory":"Weather",
"apikey":"YOUR_KEY_HERE",
"locationByCoordinates":"lat=48.70798341&lon=9.17019367",
"name":"Cloudiness",
"type":"clouds"
}
]
To show wind-speed in meter/sec
configure as follows:
"accessories": [
{
"accessory":"Weather",
"apikey":"YOUR_KEY_HERE",
"locationByCoordinates":"lat=48.70798341&lon=9.17019367",
"name":"Wind",
"type":"windspeed"
}
]
To display in miles/hour
additionally configure
"unit": "imperial"
This type publishes a value between 0 and 100 that indicates how far through the day we are where 0% is the sunrise (and everything before) and 100% is sunset (and everything after). 50% is noon accordingly.
For using this value as trigger, you have to define a "pollingInterval" as well, otherwise the value only gets updated while having HomeApp in foreground.
"accessories": [
{
"accessory":"Weather",
"apikey":"YOUR_KEY_HERE",
"locationByCoordinates":"lat=48.70798341&lon=9.17019367",
"name":"Sun",
"type":"sun",
"pollingInterval": 10
}
]
You can add multiple accessories if you want to display additional information like min/max or the temperature of different locations. Just make sure that the field name
is unique
By default, no polling-interval is specified. That means, the temperature is only updated when the Home-App is opened.There might be scenarios though, where you would want to periodically update the temperature e.g. as source for trigger-rules.
OpenWeatherMap has a generous amount of free calls per API-key: you can poll the temperature up to 60 times a minute.Beware that just because you can doesn't mean you should
I'd also suggest that you add a polling-interval only for the type
current, since min and max are forecasts and probably won't change throughout the day.
With the enableHistory
flag, the FakeGato-service is used to log temperature and humidity. This doesn't work with the default Home-App, you have to use the Elgato Eve App.
Since FakeGato requires to log an entry at least every 10 minutes, this feature only becomes active if you set enableHistory
to true AND define an pollingInterval
!
I suggest the following settings:
"accessories": [
{
"accessory": "Weather",
"apikey": "YOUR_KEY_HERE",
"location": "Stuttgart,de",
"name": "OpenWeatherMap Temperature",
"pollingInterval": 10,
"enableHistory": true
}
]
Take a look at the example config.json
Fields:
accessory
must be "Weather" (required).apikey
API-Key for accessing OpenWeatherMap API (required).location
city-name query string (resembles to q-parameter) (required).locationById
cityid query string (resembles to cityid-parameter) (required).locationByCoordinates
geo query string (resembles to geo-parameter) (required).locationByZip
zip query string (resembles to zip-parameter) (required).name
is the name of the published accessory (required).showHumidity
weather or not show the humidity (optional, only works for current weather not forecast, defaults to true).nameHumidity
humidity can have a different name (optional, only works if showHumidity
is true, defaults to the same as name
).showTemperature
weather or not show the temperature (optional, setting to false only makes sense if showHumidity
os set to true, defaults to true).type
the type of the displayed value, either min
, max
, current
, clouds
, sun
or windspeed
(optional, defaults to current
)pollingInterval
the time (in minutes) for periodically updating the temperature (optional, defaults to 0 which means polling only happens when opening the Home-App)enableHistory
flag for enabling the FakeGato-service (see above) for temperature and humidity logging (optional, defaults to false, only works when polling is enabled)unit
change the temperature unit to Celsius or Fahrenheit explicitly (optional, defaults to metric
(Celsius), for Fahrenheit use imperial
. Beware that iOS usually does the job correctly)If you need more features like a more detailed forecast, take a look at homebridge-weather-plus (here), it now supports OpenWeatherMap as well.
(c) Screenshots are taken from the Elgato Eve app
Homebridge 是一个轻量级 NodeJS 服务器,它模拟 iOS HomeKit API,提供从 HomeKit 到“智能家居”设备制造商提供的各种第三方 API 的基本桥接。通过 Homebridge 的桥接,可以让 Siri 控制完全不支持 HomeKit 的设备。 此外 Homebridge 支持插件。
homebridge-vsx homebridge-vsx is a plugin made for homebridge,which allows switching on and off your Pioneer AV receiver. All AV receivers (VSX and SC),which work with the iControl AV5 App are support
homebridge-sesame Control and monitor your Sesame smart lock with HomeKit integration. Prerequisites Installation of Homebridge iOS 11 or later Sesame lock with enabled cloud integration Sesame Wifi A
homebridge-panasonictv A homebridge plugin for turning on and off your Panasonic Viera TV. The plugin also has experimental support for changing the volume and channel. These characteristics are not r
Quick Start | Contribute A Wake on Lan plugin for Homebridge Turn your PCs, laptops, servers and more on and off through Siri Quick Start To install the plugin, head over to the machine with Homebridg
Docker Homebridge This Alpine/Ubuntu Linux based Docker image allows you to run Nfarina's Homebridge on your home network which emulates the iOS HomeKit API. This is a multi-arch image and will also r
This Plugin is no longer being maintained. The ST platform removed all of the greatness that made it fun to develop for and I will not rewrite my years of code to adapt. I have moved to Hubitat and al
Homebridge myQ myQ garage door and other myQ-enabled device support for Homebridge. homebridge-myq is a Homebridge plugin that makes myQ-enabled devices available to Apple's HomeKit smart home platfor