Jump to content

Some values not updating in IoX


Go to solution Solved by vspete,

Recommended Posts

Posted

Migrated this node server from PG2 (running in a Debian VM interfaced to isy994i). Never had this issue.  Now running the PG3x version on an eISY v5.80 I am experiencing incomplete population of IoX.  Looking at the node server logs, the values are being set and appear to be published.  See attached screenshot of the admin panel and associated node server log.  The node server hasn't been running for very long and IoX was restarted just prior to taking the console screenshot.  Also, certain fields in forecast_0 and forecast_1 are not being populated on the IoX screens as well.

Thanks for looking into this issue.

2024-02-20 14.02.57.png

AERISWeather_2-20-2024_21316_PM.zip

Posted

I believe it is working as intended.

IoX doesn't remember the status values when it is restarted and the node server was written to minimize unnecessary updates to IoX.  This can result in the behavior you are seeing.

The node server publishes a value, say gust speed set to 10mph.  IoX sets the gust speed driver to 10.  

Then you restart IoX and IoX clears out all the previous values so they're all blank

The node server makes a query for updated data, but not all the data has changed.  If the gust speed is either not present or is still 10mph, the node server won't publish anything for gust speed, but will publish data for all fields that have changed. 

Until there's a change in the gust speed, the field will remain blank in IoX.  

Eventually, as the data changes, the blank fields will populate (except for node server on-line as that's only published when the node server is started, stopped, or fails)

Posted

Bob, I appreciate that only changes are written.  However, after several days certain fields have yet to be populated despite the numerous condition changes that have occurred. Those that are being populated are accurate.  Here is the list of non-populating fields:

Current weather:  Gust Speed; Climate Coverage; Windchill; Precipitation

Forecasts: Gust Speed; Precipitation; Chance of Rain; Evapotranspiration

During that past few days we have had storms pass through with considerable wind and precipitation.  One would expect these values to change.  I am also running the Davis Node Server and it is populating all fields without issue.  A can also report that this issue was not present when I was running the pg2 versiton of this node server on a different platform.

Thanks...

Posted

You'd have to check the data available from AERIS for your location/station.  It may not be providing that data. 

And like I said in your other thread, once the node server publishes it's data to PG3x, it's out of the node servers control.  Looking at your log above I see:

2024-02-20 00:18:27,977 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GV14', 'value': '87.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'SPEED', 'value': '6.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GUST', 'value': '11.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'PRECIP', 'value': '0.7', 'uom': 105, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GV7', 'value': '9.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GV8', 'value': '5.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'POP', 'value': '67.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'UV', 'value': '2.0', 'uom': 71, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV19', 'value': '3', 'uom': 25, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV1', 'value': '54.0', 'uom': 17, 'text': None}]}
2024-022024-02-20 00:18:27,977 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GV14', 'value': '87.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'SPEED', 'value': '6.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GUST', 'value': '11.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'PRECIP', 'value': '0.7', 'uom': 105, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GV7', 'value': '9.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,978 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'GV8', 'value': '5.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'POP', 'value': '67.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_0', 'driver': 'UV', 'value': '2.0', 'uom': 71, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV19', 'value': '3', 'uom': 25, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV1', 'value': '54.0', 'uom': 17, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'CLIHUM', 'value': '93.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV14', 'value': '56.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GUST', 'value': '14.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'PRECIP', 'value': '0.2', 'uom': 105, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV7', 'value': '12.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'UV', 'value': '4.0', 'uom': 71, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'ETO', 'value': '0.06', 'uom': 120, 'text': None}]}-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'CLIHUM', 'value': '93.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,979 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV14', 'value': '56.0', 'uom': 22, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GUST', 'value': '14.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'PRECIP', 'value': '0.2', 'uom': 105, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'GV7', 'value': '12.0', 'uom': 48, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'UV', 'value': '4.0', 'uom': 71, 'text': None}]}
2024-02-20 00:18:27,980 Thread-1   udi_interface.interface DEBUG    interface:_send: PUBLISHING {'set': [{'address': 'forecast_1', 'driver': 'ETO', 'value': '0.06', 'uom': 120, 'text': None}]}

So it appears to be publishing the data for at least some of those items you list.  

Posted (edited)

Bob,  I can see that it is "publishing."  However, IoX is not displaying what is "published."  Perhaps this is not a node server issue per se.  But it is definitely an issue.  Aeris Weather is clearly displaying all the data on their site: https://www.pwsweather.com/station/pws/DW3801  The screenshots are what my eISY (IoX) screens looks like. 

If it isn't a node server issue, it must be an IoX or PG3x issue.  Should I raise a trouble ticket with UDI?  Thanks again Bob!

 

Screenshot (16).png

Screenshot (17).png

Screenshot (18).png

Edited by vspete
Posted

If the node server was sending values that were outside what's accepted by IoX/AC, it would be a bug in the node server, but the values being published all look correct.

It's still possible that IoX is rejecting them for some reason but that should show up in either/or the PG3 log or the IoX error log.

I can't debug issues with either of those, just issues with the node server itself.  So yes, if you can't find the cause in the logs, then you'll have to submit a ticket to UDI.

Posted
2 hours ago, bpwwer said:

It's still possible that IoX is rejecting them for some reason but that should show up in either/or the PG3 log or the IoX error log.

Good advice, thanks Bob. I will review those logs for errors and go from there. As stated previously, I never experienced this issue using the PG2 version of your node server running in a Debian Polyglot v2 VM communicating with a ISY994. This issue has to be an IoX/PG3x thing. I appreciate the time you have taken to answer my questions and confirm that it isn't a node server issue. 

  • Solution
Posted (edited)

I did take a look at the logs, but couldn't discern why certain values were not populating.

I decided the best thing to do was do a complete re-install.  I removed the node server completely from PG3x and then reinstalled.  After restarting the node server and restarting IoX, all fields are now populated for both measurements and forecasts. Only "Climate Coverage" is "blank" in IoX for both Aeris Weather and Forecasts. The GV 11 (Weather) and GV11 (Forecasts) node values are "16" which matches to "blank" in the en_us.txt profile lookup table.

It looks like it may be working as expected now. Now that all the fields are populated, I expect they will be updated when changes occur.  Thanks for your assistance getting this resolved.

Edited by vspete
Guest
This topic is now closed to further replies.

×
×
  • Create New...