I asked @edward to add it, let’s see.
Hello,
I want to make sure I understand all the posts from the last 10 days or so.
I am on a Vera Lite, running UI7, with DarkSky plugin 1.5 installed. When I use the sample API link in the DarkSky developer console, all the correct information is returned. When I use the https://api.darksky.net/forecast/… URL from my DarkSky log, all the correct information is returned. So, obviously no API key issues. Within the plugin, no updates are occurring and the log is returning an “invalid protocol” message. Per Rene’s 3/7/20 post, this is due to a tls protocol issue, and this new requirement isn’t supported on the Lite. Am I correct in my statement? If so, I guess I am SOL with my Lite. Thanks.
Hi @TamarackGhost,
Sadly due to a change they made at DarkSky (disable the old and not so secure TLS v1 and v1.1 protocols) indeed means it no longer works on the Lite or Vera 3 for that matter.
I fear this is not the last one as many more are making this change due the known security risks keeping v1 and v1.1. (not a Vera risk, but the site you visit).
If you are very brave you might be able to update the LuaSec package on the Lite to a later version, (0.5 or up should work), but I do not know how to do that.
Cheers Rene
Apple buys DarkSky Oh boy, Rene, here we go again!
Looks like we can enjoy the API for another year. I would hate to pay for this or Weatherunderground.
I have been running with open weather for my virtual rain sensor and has been working well. There are other choices so I would not worry too much about weather APIs.
Hi,
Just read another post so yes one more on the to-do list.
If you cannot imagine it, you buy it right. When will the big four be split up to stop this?
Cheers Rene
Like all cloud solutions it’s a case of monetise or die. I know many users here swear by the cloud in some shape or form and depend on the service being free for life.
These guys are not in the charity business so you can be sure that at some stage you will be presented with a bill for their services.
They use the typical drug dealer’s business model. Supply free at the start, get the user hooked and put whatever charge on it you think the market will sustain or whatever charge you think you can get away with.
I agree in general with the drug-dealer model. Since the Vera has temperature and sky conditions, too bad we cannot harvest the sky conditions. I use temperature to set the heating/cooling mode of the thermostat, and sky condition to offset the exterior lights schedule from sunrise/sunset. Temperature I can get from VTOS. Sky condition seems to be elusive. If I had that, then I would not need these 3rd party weather plug-ins and apps.
Could a plug in be fashioned to import detailed AWS forecast reports like this?
NWS API is here: API Web Service
I use it with SiteSensor (of course). Might not be of much help outside the US though.
That (and reading your excellent SS documentation) is all the incentive I need to finally install SiteSensor!
Hopefully I can find it in the Install Apps area of UI7.
P.S. I hadn’t realized until today that SS can parse JSON responses!!
FEATURE REQUEST: Add “WoL” capability, so I can kill/delete the WOLplus plug-in.
I am using an Arduino MKR WiFi 1010 and a BME280 sensor (temperature, humidity, pressure) to replace the DarkSky. In the fall 2019 I created a scene using the DarkSky plug-in to operate a fan in the basement that only runs when the temperature is below 30 degrees F outside. The MKR 1010 has integrated Wi-Fi and webserver (and client) software. I wrote a C++ program to create a simple webpage that displays the sensors’ readings. The webpage can be viewed from any device connected to my internal network. Webpage output:
10:01:15am 4/6/20 temperature:11.5°C 52.8°F humidity:58.5% pressure:1019.7hPa
I wrote the following Lua program to connect to the MKR 1010 and parse the HTML data stream (webpage) for the temperature (“F”), and control the fan’s zwave device accordingly. I included the code in a scene on a five minute timer.
local deviceID=118
local settemp=“30”
local host = “192.168.1.150”
local port = 80
local socket = require(“socket”)
local tcp = socket.tcp()
tcp:settimeout(5)
if (tcp:connect(host, port)) then
http = require “socket.http”
local htmlstring = http.request(“http://”…host)
local beginposition, endposition = string.find(htmlstring, “F”)
if result~=“” then
local temp=string.sub(htmlstring, beginposition-5, beginposition-2 )
if temp<settemp then
luup.call_action(“urn:upnp-org:serviceId:SwitchPower1”,“SetTarget”,{newTargetValue=1}, deviceID)
else
luup.call_action(“urn:upnp-org:serviceId:SwitchPower1”,“SetTarget”,{newTargetValue=0}, deviceID)
end
end
end
Various sensors types from various manufacturers can be connected to an Arduino. All code is open source.
I built a Weather Station using ZWave (Fibaro Smart Implant, DS18B20 temperature sensor in a case to prevent heat, Wind Sensor from Eltako connected to thier logic board, plus a Kemo Rain Sensor) and I also experimented with a Tasmota-based device and two Shellies for a similar soliution. I also evaluated a solution based on Zuno, but it was too complicated at the time to source a Zuno.
Now I’ve invested too much time and money in my solution (and it’s working ok for me, after all - I don’t need UV data or similar thing), but I’d go back in time, I’ll probably go with Tempest Weather System | WeatherFlow Tempest Inc.
It has a local API too, so no cloud needed.
So, in trying to get it to work on my Vera 3 (i’m not giving up on you Vera3! ) I encountered the following:
- /usr/lib/lua/ssl.lua => 0.4
- /usr/lib/lua/ssl/https.lua => 0.4
- /rom/usr/lib/lua/ssl.lua => 0.4
- /rom/usr/lib/lua/ssl/https.lua => 0.4
A simple opkg update and opkg upgrade luasec (default repository is configured) changed that to:
- /usr/lib/lua/ssl.lua => 0.5
- /usr/lib/lua/ssl/https.lua => 0.5
Unfortunately, after a reboot I get the following error in the log:
- luup_log:444: DarkSky Weather_error: DarkSky API call failed with http code = invalid protocol (tlsv1_2) <0x2d55b680>
Plugin version is V1.5
Is there anything else I should do to get it working?
I had issues with Reactor Notify, The issue was due to an old version of LuaSec. It was fixed by a update in firmware.
Yes, unfortunately, they do not bring out new firmwares for the Vera 3 anymore, so that’s not going to help
Also updated openssl (1.0.0d to 1.0.1l) and now at least tls1_2 works
openssl s_client -connect google.com:443 -tls1_2
Unfortunately, still the same error in the logs.
Try using just plain tlsv1
as the protocol. If that doesn’t work, it’s time to put your venerable Vera3 to pasture…
thanks for your reply.
I think I was unclear in my post. sorry for that.
the command “openssl s_client -connect google.com:443 -tls1_2” is successful.
(I get the nice certificate output etc).
Only DarkSky does still not work.
I put it in debug mode (the plugin) to see what is going on and I can see the URL it uses. When going to this URL with curl from the vera3 command line, I get a valid response from darksky.
({“latitude”:xx.xxxx,“longitude”:xx.xxxx,“timezone”:“Europe/Amsterdam”,“currently”:{“time”:1589462332,“summary”:“Partly Cloudy”,“icon”:“partly-cloudy-day”,“precipIntensity”:0,“precipProbability”:0,“temperature”:53.53,“apparentTemperature”:53.53,“dewPoint”:29.76,“humidity”:0.4,“pressure”:1022.2,“windSpeed”:12.5,“windGust”:12.58,“windBearing”:9,“cloudCover”:0.38,“uvIndex”:4,“visibility”:10,“ozone”:369} etc…)
Only the plugin uses https.request(url) which aparently does not support tlsv1_2
Still:
01 05/14/20 15:13:04.209 luup_log:444: DarkSky Weather_error: DarkSky API call failed with http code = invalid protocol (tlsv1_2) <0x2ce3b680>
So that’s it for now.
I’m seriously thinking about migrating everything to another home automation system (seeing the uncertainty of support on the vera devices and no new devices available, I’ll have to bail on vera)
Are there no other viable weather APIs you could use in Europe?