Hello, everyone I realize this is a rather old entry, but I'd like to share
my findings. I've had some success on connecting to the realtime API using
the socketIO-client-nexus library
Apparently it's regarding an issue with the socketio protocol used by the
AW server, since the original socketio-client only supports the 1.x protocol
I've written a code that manages to connect and subscribe to my WS-2902,
although it issues a Warning error for some reason, looks like it has
something to do with it trying to call a polling transport for a 2nd time,
still it looks like it doesn't affect the program (although it does get me
a bit nervous)...
I'll attach the test code I used along with some of the results I've been
getting, I've only been using powershell for tests, so apologies for it
looking so cluttered...
I hope it's useful for you guys, I know you suffered as much as me trying
to get this to work.
Cheers.
El lunes, 20 de agosto de 2018, 15:19:05 (UTC-5), Pat escribió:
>
> I have not. I was hoping someone from AW would reply as well. You may be
> better off with the node developer for the time being. AW is using
> socket.io which seems very node friendly, and not so much Python.
>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
from socketIO_client_nexus import SocketIO
def on_connect(*args):
print("Connected Yes", args)
print("attempting subscription")
socketIO.emit("subscribe", {"apiKeys":[apikey]})
def on_message(*args):
print("Message", args[0].decode("utf-8"))
def on_subscribed(*args):
print("Subscribed", args)
def on_data(*args):
print("DATA!", args)
appkey = "YOUR APPKEY HERE"
apikey = "YOUR APIKEY HERE"
socketIO = SocketIO("https://api.ambientweather.net",
443,
transports=['websocket'],
params={"api":1,
"applicationKey":appkey})
socketIO.on("connect", on_connect)
socketIO.on("message", on_message)
socketIO.on("subscribed", on_subscribed)
socketIO.on("data", on_data)
# print("Waiting for data")
socketIO.wait(seconds=300)