The API into weewx would be a driver. Typically the weather equipment is 
directly connected and the driver would control the weather station. That's 
why I wrote the socket driver a few years ago because my equipment isn't 
directly connected. 

The good news is the interceptor driver has multiple ways to input data 
into weewx, so it's probably as much of an API as you're going to find. By 
sending HTTP data to the driver's web server, it can then pass it to weewx 
like a standard driver would.

That being said, I can't help but to think about others who may want to 
publish data to Ambient as well. As mentioned on wxforum, the Ambient 
documentation is kind of lacking for a developer and what the value names 
are to submit (and how... GET vs. POST). But if there's a project that's 
successfully posting data to Ambient, then maybe a weewx extension could be 
created to post to Ambient. An extension like the one for wunderground or 
PWSWeather might be easy enough to fork for Ambient. This would save the 
need of setting up and maintaining a node server (and help those here who 
don't know what node is). The more complicated things get, the more 
potential for something to break and you not catching it (like your node 
server crashing and you don't know it for a few days). 

I'm working on a skin for weewx now, but this could be a fun project to 
think about - forking a PWSWeather extension to the AmbientWeather service 
- (unless someone else reading this wants to give it a try).


On Monday, August 13, 2018 at 10:34:09 PM UTC-4, Douglas Krug wrote:
>
> Hello again Pat,
>
> Thanks for commenting. This is basically a continuation of the 
> conversation we had on wxforum. I've got experience setting up node.js, 
> that shouldn't be a problem. I stumble across the ambient2pwsweather node 
> project and reached out to see if he would consider modifying it. He wasn't 
> really interested if there was no API for Weewx, which to the best of my 
> understanding, there is not. I suggested Matthew Wall's interceptor plugin, 
> to just capture html traffic from the node server. He said it should not be 
> too difficult, but wants info on how it should be formatted. You say it 
> shouldn't be difficult, and that's cool. @mwall hasn't commented yet and 
> I'm not a developer, so my understanding of it all is pretty rudimentary.
>
> I've got a lot of brilliant minds here, but the data is passing through me 
> and packets are being dropped ;-)
> Appreciate the link to Matt's python code. I'll forward this info and see 
> if he can modify from that.
>
> On Monday, August 13, 2018 at 10:00:29 PM UTC-4, Pat wrote:
>>
>> @G Hammer - It's not too bad if you have the extra hardware to do the 
>> iptables redirect. The $6 dongle is surely cheaper than a new router 
>> though. Also I notice you're local to me in Western MA (based off the weewx 
>> map). Glad I'm not the only one using weewx around here anymore :)
>>
>> I don't have any experience with the interceptor driver, but since 
>> mwall's given me credit for the observer portion 
>> <https://github.com/matthewwall/weewx-interceptor/blob/master/bin/user/interceptor.py#L16>,
>>  
>> I thought that maybe I can help a little?
>>
>> I read the code for the interceptor driver and it looks like if you use 
>> the device_type = observer in your weewx.conf file, then the data 
>> received to the driver's built in web server needs to be in the Observer 
>> format in this example within the code 
>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmatthewwall%2Fweewx-interceptor%2Fblob%2Fmaster%2Fbin%2Fuser%2Finterceptor.py%23L881&sa=D&sntz=1&usg=AFQjCNHlyqeOp8RM5pr4RRaU3tcxMsv11w>,
>>  
>> and similar to the format on my site (which you already linked). 
>>
>> Since each variable in the URL has a corresponding value (like tempf=43.3 
>> means temperature in Fahrenheit is 43.3), this should be pretty simple for 
>> the ambient2pwsweather dev to figure out how to format the observations 
>> being sent to the weewx driver. 
>>
>> Hope this helps a little...
>>
>>
>> On Monday, August 13, 2018 at 9:19:34 AM UTC-4, Douglas Krug wrote:
>>>
>>> I've been discussing the possibility to have the author of "a
>>> mbient2pwsweather <https://github.com/killroyboy/ambient2pwsweather>" 
>>> modify his node.js service to allow input to Matthew Wall's Interceptor 
>>> plugin. The idea is to allow the continued use of Ambientweather.net, while 
>>> still capturing weather data for Weewx, so that it can be published to the 
>>> supported weather services and used with Hubitat or other home automation 
>>> systems. I'm already able to listen to my WS-0900-IP bridge and get the 
>>> data into Weewx, but currently that comes at the cost of no longer being 
>>> able to use Ambientweather.net or any of their services such as IFTTT, Alex 
>>> Voice Services and Google Assistant.
>>>
>>>
>>> Is there a guide for how the data must be formatted for input to the 
>>> interceptor.py plugin? Hoping anyone with knowledge of interceptor or 
>>> @mwall could comment please.
>>>
>>>
>>> Here's what the ambient2pwsweather 
>>> <https://github.com/killroyboy/ambient2pwsweather> developer wrote:
>>>
>>>
>>>
>>> *"If I'm understanding it correctly, it wouldn't be that difficult to 
>>> enhance this utility to send the data to a different url/port. You would 
>>> then need to run a new interceptor instance running in "listen mode" that 
>>> would handle the insertion into weewx.*
>>>
>>> *The minor difficulty would be in ensuring the data is in a format that 
>>> the interceptor would understand. If you can work that out and get me some 
>>> documentation (or point me to a URL), I can enhance ambient2pwsweather."*
>>>
>>

-- 
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.

Reply via email to