On Saturday, October 8, 2016 at 1:53:31 PM UTC-7, mwall wrote:
>
> On Saturday, October 8, 2016 at 4:29:20 PM UTC-4, Sam Roza wrote:
>>
>>
>> With sed command, it strips the unwanted data from the output, but for 
>> some reason, it's not working. I've tried with both curl and nc, but I 
>> don't see any issues. Is there a way to debug this?
>>
>
> take it one step at a time.
>
> make sure that the interceptor is actually responding.  with weewx running 
> and debug=1, tail the log file in one shell while you do this in another:
>
> curl -s -d 
> 'mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1005&ptr=0&wfor=0&p=1'
>  
> http://localhost:9999 
> <http://www.google.com/url?q=http%3A%2F%2Flocalhost%3A9999&sa=D&sntz=1&usg=AFQjCNH3GTDQFsI-ROBznvcn8KMGT66stQ>
>
> you should see a response from the interceptor in the weewx log output.  
> what output do you see from curl?
>

>>>Here is the Interceptor response to the curl command:

~~~
Oct  8 14:02:40 raspberrypi weewx[6718]: interceptor: ServerThread: POST: 
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1005&ptr=0&wfor=0&p=1
Oct  8 14:02:40 raspberrypi weewx[6718]: interceptor: MainThread: raw data: 
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1005&ptr=0&wfor=0&p=1
Oct  8 14:02:40 raspberrypi weewx[6718]: interceptor: MainThread: raw 
packet: {'id..0004a369e0d6': 'c2', 'baro..0004a369e0d6': 1005.0, 
'mac..0004a369e0d6': '0004a369e0d6', 'ptr..0004a369e0d6': '0', 
'pv..0004a369e0d6': '0', 'lost..0004a369e0d6': '0000', 'dateTime': 
1475960561, 'reg..0004a369e0d6': '1009', 'wfor..0004a369e0d6': '0', 
'ac..0004a369e0d6': '0', 'p..0004a369e0d6': '1', 'usUnits': 17, 
'lb..0004a369e0d6': '0'}
Oct  8 14:02:40 raspberrypi weewx[6718]: interceptor: MainThread: mapped 
packet: {'barometer': 1005.0, 'usUnits': 17, 'dateTime': 1475960561}
~~~

Curl just presents the screen with a new line, so the command completes.
 

>
> from the other end, make sure that the ngrep-sed-curl chain is working.  
> the main thing we are looking for here is that we get one curl connection 
> for each line of data from ngrep.  with weewx *not* running, run 'nc -l 
> 9999' as a fake server in one shell, then do this as a 'client' in another 
> shell:
>
> ngrep -l -q -d eth0 '0004a369e0d6'| sed -e 's/T.*//;/^\s*$/d' | curl -s -d 
> @- http://localhost:9999
>
> what do you see in the 'server' shell, and what do you see in the 'client' 
> shell?  i suspect we'll have to use xargs to split the newlines into 
> separate curl invocations.
>
> m
>
> So, the ngrep-sed-curl chain is where it breaks down. The manual push of 
data using curl works. The ngrep-sed command works. Putting them together 
doesn't.

I ran this command:

# ngrep -l -q -d eth0 '0004a369e0d6'| sed -e 's/T.*//;/^\s*$/d' | curl -s 
-d @- http://localhost:9999

While tailing /var/log/syslog:

~~~
Oct  8 14:16:03 raspberrypi weewx[6718]: interceptor: MainThread: empty 
queue
Oct  8 14:16:03 raspberrypi rsyslogd-2007: action 'action 17' suspended, 
next retry is Sat Oct  8 14:17:03 2016 [try http://www.rsyslog.com/e/2007 ]
Oct  8 14:16:13 raspberrypi weewx[6718]: interceptor: MainThread: empty 
queue
Oct  8 14:16:23 raspberrypi weewx[6718]: interceptor: MainThread: empty 
queue
Oct  8 14:16:33 raspberrypi weewx[6718]: interceptor: MainThread: empty 
queue
Oct  8 14:16:43 raspberrypi weewx[6718]: interceptor: MainThread: empty 
queue
~~~

So during the same time, I ran another ngrep command to make sure it was 
picking up packets during the same period of time:

~~~
^Croot@raspberrypi:/etc/weewx# ngrep -l -q -d eth0 '0004a369e0d6'| sed -e 
's/T.*//;/^\s*$/d' 
interface: eth0 (192.168.1.0/255.255.255.0)
match: 0004a369e0d6
  
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1004&ptr=0&wfor=3&p=1
 
                                                                     
  
mac=0004a369e0d6&id=90&rid=d0&pwr=0&gw=0&av=0&wd=225&wg=0.9&ws=0.0&ch=1&p=1 
  
~~~

I saw a note about adding the unbuffered option to sed, but that doesn't 
seem to be the issue. No change with -u option enabled.

I did want to be sure interceptor was still working, so I pushed that curl 
command again and here was the log response:

~~~
Oct  8 14:21:07 raspberrypi weewx[6718]: interceptor: ServerThread: POST: 
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1005&ptr=0&wfor=0&p=1
Oct  8 14:21:07 raspberrypi weewx[6718]: interceptor: MainThread: raw data: 
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1005&ptr=0&wfor=0&p=1
Oct  8 14:21:07 raspberrypi weewx[6718]: interceptor: MainThread: raw 
packet: {'id..0004a369e0d6': 'c2', 'baro..0004a369e0d6': 1005.0, 
'mac..0004a369e0d6': '0004a369e0d6', 'ptr..0004a369e0d6': '0', 
'pv..0004a369e0d6': '0', 'lost..0004a369e0d6': '0000', 'dateTime': 
1475961667, 'reg..0004a369e0d6': '1009', 'wfor..0004a369e0d6': '0', 
'ac..0004a369e0d6': '0', 'p..0004a369e0d6': '1', 'usUnits': 17, 
'lb..0004a369e0d6': '0'}
Oct  8 14:21:07 raspberrypi weewx[6718]: interceptor: MainThread: mapped 
packet: {'barometer': 1005.0, 'usUnits': 17, 'dateTime': 1475961667}
Oct  8 14:21:07 raspberrypi weewx[6718]: manager: added record 2016-10-08 
14:10:00 PDT (1475961000) to database 'weewx.sdb'
Oct  8 14:21:07 raspberrypi weewx[6718]: manager: added record 2016-10-08 
14:10:00 PDT (1475961000) to daily summary in 'weewx.sdb'
Oct  8 14:21:07 raspberrypi weewx[6718]: restx: CWOP: record 2016-10-08 
14:10:00 PDT (1475961000) is stale (667 > 60).
Oct  8 14:21:07 raspberrypi weewx[6718]: reportengine: Running reports for 
latest time in the database.
Oct  8 14:21:07 raspberrypi weewx[6718]: reportengine: Running report 
StandardReport
Oct  8 14:21:07 raspberrypi weewx[6718]: reportengine: Found configuration 
file /etc/weewx/skins/Standard/skin.conf for report StandardReport
Oct  8 14:21:07 raspberrypi weewx[6718]: restx: Wunderground-PWS: Published 
record 2016-10-08 14:10:00 PDT (1475961000)
Oct  8 14:21:09 raspberrypi weewx[6718]: cheetahgenerator: Generated 14 
files for report StandardReport in 2.07 seconds
Oct  8 14:21:11 raspberrypi weewx[6718]: genimages: Generated 12 images for 
StandardReport in 1.25 seconds
~~~

Matt, might it be the whitespace that I seem to see in front of the data?

~~~
match: 0004a369e0d6
  
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1004&ptr=0&wfor=3&p=1
 
                                                                     
  
mac=0004a369e0d6&id=90&rid=d0&pwr=0&gw=0&av=0&wd=225&wg=0.9&ws=0.0&ch=1&p=1 
                                                                            
 
  
mac=0004a369e0d6&id=90&rid=d0&pwr=0&gw=0&av=0&wd=202&wg=0.9&ws=0.0&ch=1&p=1 
                                                                            
 
  mac=0004a369e0d6&id=8e&rid=63&pwr=0&or=0&uvh=3&uv=408&ch=1&p=1           
                                                                            
    
  
mac=0004a369e0d6&id=84&rid=e6&pwr=0&htr=0&cz=2&oh=28&ttr=1&ot=31.5&ch=3&p=1 
                                                                            
 
  
mac=0004a369e0d6&id=c2&pv=0&lb=0&ac=0&reg=1009&lost=0000&baro=1004&ptr=0&wfor=3&p=1
 
                                                                     
  
mac=0004a369e0d6&id=84&rid=e6&pwr=0&htr=0&cz=2&oh=28&ttr=1&ot=31.6&ch=3&p=1 
                                                                            
 
^C
~~~

Just a thought.

-- 
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 weewx-user+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to