Tom
Forgive me for being a pedant - but shouldn't the label map for filepile 
have the arguments the other way round
ie rather than 
 myVoltage = Supply Voltage
it should be
 SupplyVoltage = myVoltage
ie
  weewx destination field = source data field

normally left of equals sign is the result of operations right of equals 
sign
eg
  a = 3 + 2 would put 5 into a



On Tuesday, 23 April 2019 14:45:38 UTC+3, Thomas Keffer wrote:
>
> Take a look at Filepile <https://github.com/tkeffer/filepile>. It may do 
> what you want, or help you write your own.
>
> -tk
>
> On Mon, Apr 22, 2019 at 7:43 PM <[email protected] <javascript:>> wrote:
>
>> Hi all
>>
>> I have devised a method to export my Air Quality Data (AQI) from my 
>> Arduino based weather station to Weewx (it can't be sent via the usb port 
>> with the rest of the data). It involves sending the data via a UDP 
>> broadcast packet from the station, this is then captured by a small Python 
>> script on my Weewx Pi and written to a txt file.
>>
>> The txt file data looks like this 
>> AQI25=5.50,AQI100=4.10,AQIIndex=22,AQICO2=967
>>
>> From the Weewx wiki I have crafted the beginning of a service to import 
>> the data to my Wewwx database (extended with the 4 new data fields) but I'm 
>> not sure how to complete that task. So far I have this, which I think will 
>> grab the first value - how do I parse the other 3? Is it as simple as just 
>> adding more lines such as event.record['AQI100'] = float(value) etc?
>>
>> *import* syslog
>>
>> *import* weewx
>>
>> *from* weewx.wxengine *import* StdService
>>
>>
>> *class* WDAQIService(StdService):
>>
>>     *def** __init__*(self, engine, config_dict):
>>
>>         super(WDAQIService, self).__init__(engine, config_dict)      
>>
>>         d = config_dict.get(*'WDAQIService'*, {})
>>
>>         self.filename = d.get(*'filename'*, *'/home/pi/AQIData.txt'*)
>>
>>         syslog.syslog(syslog.LOG_INFO, *"WDAQIImport: using %s"* % 
>> self.filename)
>>
>>         self.bind(weewx.NEW_ARCHIVE_RECORD, self.read_file)
>>
>>
>>     *def** read_file*(self, event):
>>
>>         *try*:
>>
>>             *with* open(self.filename) *as* f:
>>
>>                 value = f.read()
>>
>>             syslog.syslog(syslog.LOG_DEBUG, *"WDAQIImport: found value 
>> of %s"* % value)
>>
>>             event.record[*'AQI25'*] = float(value)
>>
>>         *except* Exception *as* e:
>>
>>             syslog.syslog(syslog.LOG_ERR, *"WDAQIImport: cannot read 
>> value: %s"* % e)
>>
>> Thanks
>> Colin
>>
>> -- 
>> 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] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

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