Um, ah yes. Will mention that one to Tom. Gary
On Friday, 5 October 2018 12:05:05 UTC+10, Thomas Carlin wrote: > > Re: the new_archive_packet() recommendation, I didn't think about it, but > I agree. It is posted written in the "second data source" documentation > with the function new_archive_packet(). > > On Thursday, October 4, 2018 at 7:52:37 PM UTC-6, gjr80 wrote: >> >> Hi Thomas, >> >> It sounds like you should be using event.packet rather than event.record. >> Archive records are found in event.record, loop packets are found in >> event.packet. It's a subtle but important distinction. You have probably >> moved on from the code you posted above, and I probably should have >> mentioned it earlier, but I would avoid method names such as def >> new_archive_packet(). There is nothing wrong with using that name per >> se, but since we have loop packets and archive records it does tend to >> create a little confusion, something like def new_archive_record() and def >> new_loop_packet() would be better. >> >> Gary >> >> On Friday, 5 October 2018 10:30:15 UTC+10, Thomas Carlin wrote: >>> >>> Hi Gary, >>> >>> I've started working on this service, and I have run into an issue. >>> >>> A quick refresher so you don't have to read through the whole thread: I >>> am writing an MQTT service to add data to the loop packets. You pointed me >>> in the right direction with the NEW_LOOP_PACKET, and I'm 99% of the way >>> there. My service is pulling data with the loop packets, processing and >>> normalizing it, and I'm now to the point that I am ready to stuff it into >>> the loop packet. >>> >>> Since I am modifying an existing service that I wrote, I am trying to >>> use the line event.record[key] = value. that I found in the >>> documentation. When I try this, I get the following trackback. I'm sure >>> that this is because event.record is for archive packets, and I'm now >>> working with loop packets. >>> >>> Traceback (most recent call last): >>> File "/usr/bin/weewxd", line 64, in <module> >>> weewx.engine.main(options, args) >>> File "/usr/share/weewx/weewx/engine.py", line 877, in main >>> engine.run() >>> File "/usr/share/weewx/weewx/engine.py", line 191, in run >>> self.dispatchEvent(weewx.Event(weewx.NEW_LOOP_PACKET, packet=packet)) >>> File "/usr/share/weewx/weewx/engine.py", line 224, in dispatchEvent >>> callback(event) >>> File "/usr/share/weewx/user/esp8266.py", line 105, in new_loop_packet >>> event.record[self.subscriptions[topic]] = value >>> AttributeError: 'Event' object has no attribute 'record' >>> >>> >>> >>> Any thoughts on what I can do to correct this? I have verified that the >>> variable self.subscriptions[topic] provides the expected value of >>> extraTemp1, and value contains 74.30. >>> >>> Also, related to this discussion, I would like to provide a simplified >>> version of code, and an explanatory blurb to be added to the documentation >>> to hopefully help others in a similar situation. Is that something that >>> the development team would be open to? >>> >>> >>> -- 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.
