gw2pvo icon indicating copy to clipboard operation
gw2pvo copied to clipboard

Dark Sky API should be replaced

Open franksnl opened this issue 4 years ago • 13 comments

Dark Sky has joined Apple and does not accept new API signups.

"Our API service for existing customers is not changing today, but we will no longer accept new signups. The API will continue to function through the end of 2021."

https://blog.darksky.net/dark-sky-has-a-new-home/

franksnl avatar Jun 11 '20 13:06 franksnl

I was already afraid this topic would come up. :)

I really like the Dark Sky API, but that's probably also the reason why Apple bought them.

Does anyone have suggestions for a replacement API?

eNeRGy164 avatar Jun 11 '20 15:06 eNeRGy164

I guess most accurate will be your own or a nearby Netatmo weatherstation https://dev.netatmo.com/apidocumentation/weather

franksnl avatar Jun 14 '20 17:06 franksnl

Netatmo looks promising. You need to create a free account and an app. Then we can use https://pypi.org/project/netatmo/ to query a weather station. I don't know yet how you can get such an id nearby your PV.

markruys avatar Jun 29 '20 21:06 markruys

https://dev.netatmo.com/apidocumentation/weather#getpublicdata The response based on square lat/lon of your area contains nearby id's.

Looks like function getmeasure required both device_id and module_id.

franksnl avatar Jun 30 '20 07:06 franksnl

Yes, I was thinking in the same direction. Pick a square area, enlarge it until you find weather stations and then pick the closest. With a command line option to overrule this selection mechanism and use a fixed device id.

I don't think we need to set a module id, we get all sensor data and filter out the temperature.

BTW, there are a few more Python packages implementing the Netamo API, so we should pick the best/most mature.

markruys avatar Jun 30 '20 07:06 markruys

I've create a feature branch with a first attempt: https://github.com/markruys/gw2pvo/tree/feature/netatmo. It supports only public Netamo weather stations, so it won't work to obtain historical temperature readings. Please let me know how it works for you.

markruys avatar Jun 30 '20 22:06 markruys

Didnt try the netatmo branch yet but another option could be openweather. See https://openweathermap.org/darksky-openweather

Will also try out the new feature branch in the meanwhile.

sam-utr avatar Jul 01 '20 13:07 sam-utr

I've tested the feature branch and works like expected! Leaving device-id empty uses a public weatherstation close to my location. Looks like my own device is excluded from the getpublicdata response. Using the MAC address at device-id works for using my own device.

franksnl avatar Jul 02 '20 18:07 franksnl

But I've merged the Netatmo into trunk and released it as 1.3.5. You can try it like:

sudo pip3 install gw2pvo==1.3.5

markruys avatar Jul 05 '20 11:07 markruys

I just added Netatmo to the config, it looks like the keys are correct and connection established to the API however the log is showing error and it doesn't upload to PVoutput:

INFO Normal, 794.0 W now, 21.9 kWh today, 83.2 kWh all time, 243.7 V grid, 617.8 V PV ERROR 'city'

Edit: all goods, extracted the device id from the log and added to config files. Works now!

willlllzy avatar Oct 30 '20 05:10 willlllzy

My inverter reports it's own temperature I have been logging that: https://github.com/L-four/gw2pvo/commit/74d46401979ed3f0ffa0f5876ffaeb1878d7be1b

L-four avatar Oct 30 '20 09:10 L-four

Why is a weather API needed for gw2pvo needed in the first place? PVOutput already supports this by itself. Just create an API-key at OpenWeatherMap and fill it in at the PVOutput system settings.

ThinkPadNL avatar Feb 10 '21 15:02 ThinkPadNL

Why is a weather API needed for gw2pvo needed in the first place? PVOutput already supports this by itself. Just create an API-key at OpenWeatherMap and fill it in at the PVOutput system settings.

Because this was built a year before PVOutput started supporting OpenWeatherMap?

eNeRGy164 avatar Feb 10 '21 15:02 eNeRGy164