[UPDATED] Weewx Weather Driver With External Forecasting

community_driver

#223

Hopefully you can bring back the alerts. Thanks for all your work..


#224

You mind if I rip out the weewx and create a new driver with it ?


#225

Carry on, and thanks for asking.
My dev / support time is really limited atm

Andy


#226

Thanks mate !


#227

So I installed Weewx on RPI and added the Netatmo extension. I now installed your driver and pointed the IP at my local weewx IP address (RPI).

I receive the following error:

[dev:3173](http://192.168.7.201/logs#dev3173)2019-06-16 10:34:10.143 am [error](http://192.168.7.201/device/edit/3173)something went wrong: org.apache.http.conn.HttpHostConnectException: Connect to 192.168.7.220:800 [/192.168.7.220] failed: Connection refused (Connection refused)

I'm thinking it is the port?


#228

I would think so.
Do you have weewx installed on port 800?
The easiest way to check is to try it in a browser first.

Andy


#229

I can view it in a browser at port 80 and via ssh at port 22.

When I try port 80 in the driver I get the following log:

[dev:3173](http://192.168.7.xxx/logs#dev3173)2019-06-18 07:03:04.037 am [error](http://192.168.7.201/device/edit/3173)something went wrong: groovyx.net.http.HttpResponseException: Not Found

[dev:3173](http://192.168.7.xxx/logs#dev3173)2019-06-18 07:03:04.018 am [debug](http://192.168.7.201/device/edit/3173)Weewx Driver - DEBUG: Weewx: ForcePoll called

When I try port 22 I get the following log:

[dev:3173](http://192.168.7.xxx/logs#dev3173)2019-06-18 07:03:56.132 am [error](http://192.168.7.201/device/edit/3173)something went wrong: java.net.SocketException: Connection reset

[dev:3173](http://192.168.7.xxx/logs#dev3173)2019-06-18 07:03:55.771 am [debug](http://192.168.7.201/device/edit/3173)Weewx Driver - DEBUG: Weewx: ForcePoll called

#230

I would not expect it to work on port 22 unless your weeewx is configured to present webpages on that port.
Looking at the error message it's saying that it can't find the page it wants (the json file)
It doesn't look like that it is pointing to the correct path?

This doesn't look correct..
http://192.168.7.xxx/logs#dev3173

The error looks like you are trying to connect to maker api


#231

My settings are the same as yours (except the local ip)

Standby — I need to install the Hubitat weewx driver.

BRB


#232

When i try to install the Weewx Hubitat extension, I receive this error.


#233

This installer was created by @sgrayban perhaps he can help better than I


#234

when did you download this ?


#235

I downloaded today. My bad... forgot to preface with sudo. Extension installed and I’m rockin!

Thank you so much for this. This will help me so much.


#236

If anyone is interested I have a stripped down version that ONLY polls the weeWX station data. MSG me if interested.


#237

@Cobra, is it possible to reduce the Weewx polling interval to less than 5 minutes? I changed the "5 "to "2" in line 172 and got the following error in my log:

groovy.lang.MissingMethodException: No signature of method: user_driver_Cobra_Weewx_Weather_Driver___With_External_Forecasting_609.runEvery2Minutes() is applicable for argument types: (java.lang.String) values: [pollSchedule] on line 259 (updated)


#238

That’s because you can’t use that method with 2 minutes.
It would need to be rewritten to use a cron job for the polling.

Can I ask why you want to poll every 2 minutes?

Andy


#239

Thanks for the reply, Andy.

I actually wanted to poll every 1 minute but I started with 2. We have a water feature in the yard that loses water when the wind blows over 8MPH. Currently, I am polling my PWS every 2 minutes via Ambient Weather API and turning off the water feature when wind_gust >=8.0. I've been on a quest to localize all my HA and hoped to be able to do this with Weewx and Hubitat.

John


#240

Scratch that. It's in another driver.....

Let me get it........

Ok @Cobra

You can hash this out right ???

if (refreshEvery != null) {
"runEvery${refreshEvery}Minutes"(autorefresh)
log.info "Refresh set for every ${refreshEvery} Minutes"
} else {
runEvery30Minutes (autorefresh)
log.info "Refresh set for every 30 Minutes"
}

Just change the runEvery30Minutes to runIn1Minute


#241

That won't work

runEvery only has certain parameters that you can use (5 mins being the smallest)
runIn is a one time thing unless it's looped (it will only run the first time it's called)

This really need to be configured as a cron job

As soon as I get some time to look at this driver, I will

Andy


#242

I thought there was a runEvery1Minute?

If not you could always do runIn and just reschedule it every time..