I hope I'm not making rookie mistakes, but I get the following when doing a 
fresh install on a Pi-zero. Nothing else is added, just weewx and the 
GW-1000 driver. I'll pull all the required logs tomorrow, but here is what 
I'm seeing on a reboot:

Aug  4 02:00:48 OpiQ-12 dhcpcd[261]: wlan0: soliciting an IPv6 router
Aug  4 02:00:48 OpiQ-12 weewx[367] INFO weewx.engine: Loading station type 
GW1000 (user.gw1000)
Aug  4 02:00:48 OpiQ-12 weewx[367] ERROR gw1000: user.gw1000: Failed to 
send command 'CMD_READ_SSSS' after 3 attempts
Aug  4 02:00:48 OpiQ-12 weewx[367] ERROR weewx.engine: Import of driver 
failed: 'NoneType' object has no attribute '__getitem__' (<type 
'exceptions.TypeError'>)
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****  
Traceback (most recent call last):
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****    File 
"/usr/share/weewx/weewx/engine.py", line 103, in setupStation
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****      
self.console = loader_function(config_dict, self)
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****    File 
"/usr/share/weewx/user/gw1000.py", line 1021, in loader
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****      
return Gw1000Driver(**config_dict[DRIVER_NAME])
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****    File 
"/usr/share/weewx/user/gw1000.py", line 1271, in __init__
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****      
super(Gw1000Driver, self).__init__(**stn_dict)
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****    File 
"/usr/share/weewx/user/gw1000.py", line 728, in __init__
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****      
use_th32=use_th32)
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****    File 
"/usr/share/weewx/user/gw1000.py", line 1463, in __init__
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****      
is_wh24 = six.indexbytes(_sys_params, 5) == 0
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****    File 
"/usr/share/weewx/six.py", line 661, in indexbytes
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****      
return ord(buf[i])
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL weewx.engine:     ****  
TypeError: 'NoneType' object has no attribute '__getitem__'
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL __main__: Unable to load 
driver: 'NoneType' object has no attribute '__getitem__'
Aug  4 02:00:48 OpiQ-12 weewx[367] CRITICAL __main__:     ****  Exiting...


On Monday, August 3, 2020 at 10:25:47 PM UTC-5 gjr80 wrote:

> On Tuesday, 4 August 2020 07:44:37 UTC+10, Paul Anderson wrote:
>>
>> So I guess I'm a perdoid control freak
>>
>
> I hope that is not too painful :)
>
> The other point of concern is over blindly pasting the full  [Accumulator] 
>> stanza into weewx.conf when running as a service. Feel it's really easy for 
>> someone not to realize the unattended consequences caused by the fact that 
>> this will affect the Accumulator type for fields generated by the normal 
>> driver and other services in use in addition to the GW1000 service.
>>
>
> Just to be clear let's work through this when using the GW1000 driver as a 
> service. Every field accumulated by the accumulator has a default extractor 
> of 'avg' (which gives the average of all loop values seen in the archive 
> period to date). If the field concerned is populated and is being mapped 
> through from the GW1000 to WeeWX under the default field map then all is 
> good, the appropriate extractor is being/will be used. If the field is 
> populated by the (non-GW1000) driver or some other service and if that 
> field was relying on the default extractor, then the GW1000 installer would 
> clobber that default extractor. If the other field had an explicit 
> extractor in weewx.conf then wee_extension would respect that existing 
> setting and it would not be clobbered. If the user defines a field map 
> using [[field_map]] or alters the default field map with 
> [[field_map_extensions]] then wee_extension will not know about these 
> changes and potentially the newly mapped field will have the wrong 
> extractor. So there are a couple of corner cases that could cause issues, 
> though the latter case is just as much of an issue when using the GW1000 
> driver as a driver as it is when using it as a service.
>
> One thing to remember, the existence of an extractor entry for a field 
> that does not exist has no affect on the operation of WeeWX other than 
> taking up a few more bytes of memory/disk space.
>
> I'll put this down as an issue to look at later, for now I think it can be 
> handled with a note or two in the install instructions. In fact that may be 
> the final solution, the extension installer is only capable of so much. I 
> am hesitant to fully remove populating the extractors, I suspect doing that 
> and the follow on need for users to manually the extractors will cause just 
> as many support issues.
>  
> On Tuesday, 4 August 2020 08:28:11 UTC+10, Paul Anderson wrote:
>
>> Gary sorry to be a pain in the neck
>>
>
> Not at all, this driver is complex and has a lot of corner cases that I 
> likely won't find without the help of others, thank you for your input.
>
> Gary
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/20ec7add-9d7e-4e89-881d-171d0ad3ecf3n%40googlegroups.com.

Reply via email to