[RELEASE] wx-ApiXU-driver

@csteele
Ive been using your lux only driver since you released it. Its working great for my use cases. Ive been in contact with support over a corrupt data base that took down my zigbee network this past Sunday. Bobby went through my hub and noticed errors coming from my envisalink integration as well as the lux driver. Just wanted to let you know of the errors. Thx

ApiXU weather api did not return data: hubitat.scheduling.AsyncResponse@a1acf0

groovy.json.JsonException: Lexing failed on line: 1, column: 181, while reading 'S', no possible valid JSON value or punctuation could be recognized. on line 238 (apixuHandler)

Yeah...I am getting these now too. They just started today. Did anyone have any idea how to fix this? Although it does seem to have resolved itself for me about an hour ago. Maybe APIXU was down.

That error is disappointing, but accurate. Code checks that the site says "OK" (code 200) and then tries to parse the JSON. As is clear: "hubitat.scheduling.AsyncResponse@a1acf0" isn't json. Perhaps ApiXU did their own code upgrade and is returning defective data?

I've been getting wx-ApiXU-driver ready for a 1.4.0 release and I'm getting correct data.

I looked at my production hub and yes, I see the errors too.
First occurred at 11:30pm (yesterday) here... was intermittent til 9:32am when it pretty much became useless... then cleared up about 42 minutes ago. I've had 9 good returns in that period.

2 Likes

i'm seeing those same errors. It started at 9:20 AM PDT, and cleared up at 2:10 PM PDT. It's been fine since then.

Prior to that, I've been getting the error:
ApiXU weather api did not return data: hubitat.scheduling.AsyncResponse
Intermittently for the last couple of days.

Just checked my logs again and all seems well now too. Must of been something going on with the api like you and Ryan said.

  • forecastIcon : null

This seems to be the only thing I can get out of forecastIcon.
This has broken the icon display on weather tiles in SharpTools, as noted in this thread over there.

I've turned on the "Display All Preferences" pref and subsequently the "Forecast Icon *" pref (and also the "Weather," to leave no stone unturned), but I get nothing there. These tiles were working with icons under Bangali's driver, FWIW, so just a heads-up if there's something amiss here, or if there's something I can try.

Thank you!

-- == wu-ApiXU-Driver Release v1.4.1 == -- <— click here :slight_smile:

thanks @rickyturner

1 Like

BOOM! FIXED! :slight_smile:
Thank you, @csteele.

@csteele, I'm getting the following error with the 1.4.1 updated driver:

Here are my current states:

I deleted my virtual device and re-created it. Seems to have fixed the issue.

@csteele

Enable debugging and also display all preferences do not turn off even after selecting them to off and hitting save preferences.

It’s related to forecast precipitation day 2.
Day 0 and Day 1 work ok so I think it’s an error with ApiXU’s returned data (again)

I'm seeing APIXU.com is "breaking up" again.. throwing invalid results to the poll requests.

dev:4 2019-08-18 09:35:00.087 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:30:00.100 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:28:35.385 pm error wx-ApiXU weather api did not return data: hubitat.scheduling.AsyncResponse@7bf808
dev:4 2019-08-18 09:25:00.114 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:20:00.064 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:15:00.044 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:10:00.084 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:05:00.071 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 09:00:00.069 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 08:58:35.376 pm error wx-ApiXU weather api did not return data: hubitat.scheduling.AsyncResponse@1bf1fb4
dev:4 2019-08-18 08:55:00.072 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 08:50:00.091 pm info  wx-ApiXU lux calc for: 90001
dev:4 2019-08-18 08:45:00.070 pm info  wx-ApiXU lux calc for: 90001

I'm seeing the same errors on both my Production Hub (coordinator) and my development hub. Intermittent, same error as last week. fyi @bobbyD

I have a screen cap of "before" in which there's no Scheduled events for logOff (Debug) or settingsOff (Display all) showing:

When I do click those toggles and hit Save Preferences, I get them, as well as the "once" instant polls:

A few seconds later the updateCheck() and pollSunRiseSet() 'once' are gone, BUT you have to refresh the page to see it.(That portion of the Device Info page isn't dynamic.)

So far, my wx-ApiXU-Driver device is working as I'd expect it...

settingsOff ran as expected and indeed, the Display All Preferences toggle shows as off.

I am simultaneous looking at the APIXU fail above and I inadvertently Saved Preference, restarting the logsOff Timer...I'll update this >20 mins from now... when the logsOff() method runs.

The Enable Debug Logging toggle is off and the Scheduled jobs has returned to the same state it was in at the start of this post.

My testing shows it's working for me. As you probably know, from our previous conversations, I'm not happy that I can't duplicate.

APIXU is back to working again... the most recent error was 5 hours ago.

dev:4 2019-08-19 06:45:00.079 am info wx-ApiXU lux calc for: 14610
dev:4 2019-08-19 06:40:00.117 am info wx-ApiXU lux calc for: 14610
dev:4 2019-08-19 06:30:00.052 am info wx-ApiXU lux calc for: 14610
dev:4 2019-08-19 06:29:23.671 am info wx-ApiXU poll for: 14610

@csteele

I'm getting these errors with the wx-ApiXU-driver and Luxuriant-Driver when using the Hubitat Simple Lighting App:

2019-08-20 11:12:18.155 am [error](http://10.1xxxxxxx/installedapp/configure/1260)java.lang.NumberFormatException: For input string: "6806.0" on line 426 (luxHandler)

Not sure if this is a driver issue or issue with the Hubitat Simple Lighting App, are you able to check?

It's a driver issue...

I've built a new version yesterday and have been testing...

If you have the time, you can edit the Driver and change that one line from "toFloat()" to be "toInteger()" and let me know it works. :smiley:

  sendEvent(name: "illuminance", value: lux.toInteger(), unit: "lux")

I'm also having issues with the Luxuriant-Driver with the SunRiseSet not populating, even after I deleted it and created a new Virtual device, I'm using the latest version. Odd part is this is just on one hub, I tried rebooting that hub already and Lux works fine on the wx-ApiXU-driver on the same hub.

Logs:

[dev:2490] (http://10.1xxxxx/logs#dev2490)2019-08-20 11:52:12.382 am errorjava.lang.NullPointerException: Cannot set property 'init' on null object on line 206 (sunRiseSetHandler)

[dev:2490] (http://10.1xxxx/logs#dev2490)2019-08-20 11:52:11.796 am infoSunRiseSet poll for 40.314449 -79.742217

[dev:2490] (http://10.1xxxx/logs#dev2490)2019-08-20 11:52:11.790 am infono Luxurient lux without sunRiseSet value.

Data:
sunRiseSet: **{"results":{"sunrise":"2019-08-20T10:35:19+00:00","sunset":"2019-08-21T00:09:10+00:00","solar_noon":"2019-08-20T17:22:15+00:00","day_length":48831,"civil_twilight_begin":"2019-08-20T10:06:41+00:00","civil_twilight_end":"2019-08-21T00:37:48+00:00","nautical_twilight_begin":"2019-08-20T09:32:04+00:00","nautical_twilight_end":"2019-08-21T01:12:26+00:00","astronomical_twilight_begin":"2019-08-20T08:55:18+00:00","astronomical_twilight_end":"2019-08-21T01:49:11+00:00"},"status":"OK"}**

Looks good so far with no errors showing anymore in logs. The Driver is now showing as an Integer since updating that line in the driver:

Yes, it's a documentation interpretation error on my part. Hubitat specifies "NUMBER" , Temperature is also documented as "NUMBER" but clearly it's not going to be an Integer.

I'm going to have to reinterpret my interpretations :slight_smile:

2 Likes