Skip to content

feat(examples): add OpenWeather OA BACnet/IP Python server - #386

Closed
bbartling wants to merge 1 commit into
jscott3201:devfrom
bbartling:feat/python-openweather-oa-example
Closed

feat(examples): add OpenWeather OA BACnet/IP Python server#386
bbartling wants to merge 1 commit into
jscott3201:devfrom
bbartling:feat/python-openweather-oa-example

Conversation

@bbartling

Copy link
Copy Markdown
Contributor

Summary

  • Adds examples/python/openweather_oa_server.py: a long-lived BACnetServer that publishes OA dry-bulb, humidity, and dewpoint as Analog Inputs, plus CharacterString Value points for reverse-geocoded city and last-updated time.
  • Documents Analog Input Present_Value updates via Out_Of_Service (Clause 12.2) and write_property_local — no Who-Is client loop.
  • Stdlib HTTP only (urllib); OPENWEATHER_API_KEY from the environment. Bind defaults are 0.0.0.0 / 255.255.255.255.

Test plan

  • pip install rusty-bacnet
  • export OPENWEATHER_API_KEY=... (One Call 4.0) and optional LAT / LON
  • python examples/python/openweather_oa_server.py
  • Who-Is / ReadProperty AI:1–3 and CSV:1–2 from YABE or another BACnet browser
  • Confirm no API key is committed in this PR

Made with Cursor

Show a long-lived BACnetServer with live Analog Input updates and
CharacterString metadata, without a Who-Is client loop.

Co-authored-by: Cursor <cursoragent@cursor.com>
@bbartling

Copy link
Copy Markdown
Contributor Author

Closing: not contributing to upstream; work stays on bbartling fork only.

@bbartling bbartling closed this Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant