I am guessing that run_forever is a blocking call. So, you probably need to move it into a thread. Here, https://github.com/weewx/weewx/wiki/multi-threaded-service, is a write up on writing a multi-threaded WeeWX service. It could be adapted for a driver. I'd probably (ok, I do in MQTTSubscribe) use a queue to communicate between the threads.
This answer talks about getting python websockets data in a separate thread https://stackoverflow.com/questions/29145442/threaded-non-blocking-websocket-client#:~:text=1-,Answer,-Sorted%20by%3A Hope this helps you get going. rich On Wednesday, 4 May 2022 at 00:49:38 UTC-4 [email protected] wrote: > Hi, > > I'm trying to write a driver for my Tempest WS. I currently have the UDP > driver from captain-coredump up and running (thank you!) on a pi but I'd > like to pump data straight from the websockets API into weewx also. I may > expand it to capture archive packets from the rest API also. > > The prototype is here... https://github.com/livysdad27/tempestAPI > > I borrowed a LOT from captain-coredump's driver. Where I'm struggling is > with the getLoopPackets generator. I've attempted to use the on_message > handler for this but have read in another thread that it doesn't work well > due to running in a separate thread. My websockets code is a bit simple > and I'm not completely sure how drivers get called for sure. > > Is it even realistic to try and run a websocket-client app implementation > with "run_forever" and expect it to work correctly with weewx? My > suspicion is weewx is starting, entering the websocket app and sitting > there forever because I don't get report or other messages after it kicks > off. > > Super grateful for any help/pointers! > > Billy > -- You received this message because you are subscribed to the Google Groups "weewx-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/224d7535-f704-4936-8f03-fa0d0dc9ae66n%40googlegroups.com.
