Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Wttr.in | 21,581 | 16 days ago | 261 | apache-2.0 | Python | |||||
:partly_sunny: The right way to check the weather | ||||||||||
Wego | 7,408 | 5 days ago | 1 | February 27, 2018 | 21 | isc | Go | |||
weather app for the terminal | ||||||||||
Tropos | 1,522 | 2 years ago | 10 | mit | Swift | |||||
Weather and Forecasts for Humans | ||||||||||
Wrf | 965 | 17 days ago | 147 | other | Fortran | |||||
The official repository for the Weather Research and Forecasting (WRF) model | ||||||||||
Forecastie | 796 | 4 months ago | 120 | other | Java | |||||
A simple, opensource weather app for Android. | ||||||||||
Rex Weather | 733 | 3 years ago | 1 | bsd-3-clause | Java | |||||
RexWeather - A sample Android project demonstrating the use of Retrofit and RxJava to interact with web services | ||||||||||
Api | 641 | a year ago | JavaScript | |||||||
🏄Windy API, or Windy Leaflet Plugin, let you put animated weather map into your website and enjoy rich ecosystem of Leaflet library. | ||||||||||
Temps | 552 | 2 years ago | 33 | mit | JavaScript | |||||
Simple menubar application based on Electron with actual weather information and forecast. | ||||||||||
Weatheralarmclock | 476 | 4 years ago | 2 | Java | ||||||
Alarm clock with weather forecast 一款具有天气提醒功能的闹钟 | ||||||||||
Weatherapp | 453 | 2 years ago | 1 | mit | Kotlin | |||||
5 Day Forecast app that works on Android and uses latest tools (Kotlin, Navigation, Room, LiveData, Databinding, Dagger 2) |
Copyright 2018-2023 Erik Baauw. All rights reserved.
This Homebridge plugin exposes one or more virtual weather stations to Apple's HomeKit. The weather is obtained from OpenWeatherMap.
Each weather station is exposed as a separate accessory, mimicking an Eve Weather, with separate services for Temperature, Humidity, and Air Pressure. In addition, Homebridge WS provides a Motion Sensor service, to receive HomeKit notifications for rain or snow. A custom Weather service contains a full weather report, including observation time, conditions, clouds, rain, snow, wind, min/max temperature, UV index, visibility, sunrise, and sunset. The Temperature, Humidity, and Motion sensors are supported Apple's Home app and by Siri. You need another HomeKit app, like Eve, for the Air Pressure sensor and the full weather report In Eve, you also get history for Temperature, Humidity, Air Pressure, and Motion (rain or snow).
Optionally, Homebridge WS exposes a second Forecast accessory per location, with a Motion Sensor service per hourly or daily forecast. This service includes the full weather report as well as temperature, humidity, and air pressure.
There are many other weather station plugins out there. I created this one for fun and for testing plugin designs. In particular, this plugin is the launching plugin for homebridge-lib.
You need to obtain an API key from OpenWeatherMap.
As Homebridge WS uses the onecall
API endpoint, a One Call by Call subscription plan is needed for new API keys.
Old API keys under the the Free plan of the Current weather and forecasts collection still work, but new API keys need the One Call by Call plan.
You need a server to run Homebridge. This can be anything running Node.js: from a Raspberry Pi, a NAS system, or an always-on PC running Linux, macOS, or Windows. See the Homebridge Wiki for details. I run Homebridge WS on a Raspberry Pi 3B+.
To interact with HomeKit, you need Siri or a HomeKit app on an iPhone, Apple Watch, iPad, iPod Touch, or Apple TV (4th generation or later).
I recommend to use the latest released versions of iOS, watchOS, and tvOS.
Please note that Siri and even Apple's Home app still provide only limited HomeKit support.
To use the full features of Homebridge WS, you might want to check out some other HomeKit apps, like the Eve app (free) or Matthias Hochgatterer's Home+ app (paid).
To install Homebridge WS:
$ sudo npm -g i homebridge-ws
config.json
and add the WS
platform provided by Homebridge WS, see Configuration.In Homebridge's config.json
you need to specify Homebridge WS as a platform plugin.
Furthermore, you need to specify your OpenWeatherMap API key, and location(s):
"platforms": [
{
"platform": "WS",
"name": "Weather",
"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"locations": ["Amsterdam"]
}
]
To expose weather forecasts, set "dailyForecasts":
d (with d between 1 and 7) or "hourlyForecasts":
h (with h between 1 and 47) in config.json.
When either has been set, Homebridge WS exposes an additional Forecast accessory per location, with a Leak Sensor service per forecast.
Home will only show Leak Detected per forecast, in Eve you can see the full weather reports.
Note that OpenWeatherMap's One Call API returns the current conditions and forecasts in a single API call, so enabling forecasts won't increase the number of outgoing API calls. The rate at which OpenWeatherMap is called can be changed using the Heartrate characteristic in the Leak Sensor service on the main accessory.
If you run into Homebridge startup issues, please double-check what versions of Node.js and of Homebridge have been installed. Homebridge WS has been developed and tested using the latest LTS version of Node.js and the latest version of Homebridge. Other versions might or might not work - I simply don't have the bandwidth to test these.
If you run into Homebridge startup issues, please run a separate instance of Homebridge with only Homebridge WS (and Homebridge Config UI X) enabled in config.json
.
This way, you can determine whether the issue is related to Homebridge WS itself, or to the interaction of multiple Homebridge plugins in your setup.
You can start this separate instance of Homebridge on a different system, as a different user, or from a different user directory (specified by the -U
flag).
Make sure to use a different Homebridge name
, username
, and (if running on the same system) port
in the config.json
for each instance.
Homebridge WS outputs an info message for each HomeKit characteristic value it sets and for each HomeKit characteristic value change notification it receives.
When Homebridge is started with -D
, Homebridge WS outputs a debug message for each request it makes to OpenWeatherMap.
To capture these messages into a log file do the following:
$ homebridge -CD 2>&1 | tee homebridge.log
$ gzip homebridge.log
If you have a question, please post a message to the #ws channel of the Homebridge community on Discord.
If you encounter a problem, please open an issue on GitHub.
Please attach a copy of homebridge.log.gz
to the issue, see Debug Log File.
Please do not copy/paste large amounts of log output.
Homebridge WS is a hobby project of mine, provided as-is, with no warranty whatsoever. I've been running it successfully at my home for years, but your mileage might vary.
The HomeKit terminology needs some getting used to.
An accessory more or less corresponds to a physical device, accessible from your iOS device over WiFi or Bluetooth.
A bridge (like Homebridge) is an accessory that provides access to other, bridged, accessories.
An accessory might provide multiple services.
Each service corresponds to a virtual device (like a lightbulb, switch, motion sensor, ..., but also: a programmable switch button, accessory information, battery status).
Siri interacts with services, not with accessories.
A service contains one or more characteristics.
A characteristic is like a service attribute, which might be read or written by HomeKit apps.
You might want to checkout Apple's HomeKit Accessory Simulator, which is distributed as an additional tool for Xcode
.