I've updated the GW1000 enabled sensors.inc to ignore non-existent sensor 
battery state fields. Have also incorporated the above instructions in a 
page in the GW1000 driver wiki - Adapting the Seasons skin to display 
battery states 
<https://github.com/gjr80/weewx-gw1000/wiki/Adapting-the-Seasons-skin-to-display-battery-states>
.

Will also have a look IDC at whether any plots need to be included on the 
Seasons skin Telemetry panel.

Gary

On Friday, 14 August 2020 10:23:43 UTC+10, gjr80 wrote:
>
> Thanks for the feedback Rob. The intent was for it to ignore missing 
> sensors though I must admit it wasn't tested as thoroughly as perhaps it 
> should have. I will have a closer look.
>
> Gary
>
> On Friday, 14 August 2020 09:32:48 UTC+10, Blaze wrote:
>>
>> Hi Gary,
>>
>> Wow... This was so generous of you to provide, thank you!  I followed 
>> your instructions and it worked perfectly. At first I left the extra sensor 
>> entries in the "sensors.inc" file, but when the report ran it generated the 
>> following error(s).
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Running 
>>> reports for latest time in the database.
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Running 
>>> report 'SeasonsReport'
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Found 
>>> configuration file /home/weewx/skins/Seasons/skin.conf for report 
>>> 'SeasonsReport'
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.cheetahgenerator: Using 
>>> search list ['weewx.cheetahgenerator.Almanac', 
>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 
>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>>> 'weewx.cheetahgenerator.Extras']
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.manager: Daily summary 
>>> version is 2.0
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: 
>>> Generate failed with exception '<class 'TypeError'>'
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: **** 
>>> Ignoring template /home/weewx/skins/Seasons/index.html.tmpl
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: **** 
>>> Reason: 'UnknownType' object is not subscriptable
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>> Traceback (most recent call last):
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/cheetahgenerator.py", line 322, in generate
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     unicode_string = compiled_template.respond()
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "_home_weewx_skins_Seasons_index_html_tmpl.py", line 225, in respond
>>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1708, in 
>>> _handleCheetahInclude
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "_home_weewx_skins_Seasons_sensors_inc.py", line 325, in respond
>>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/units.py", line 1083, in raw
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     return self._raw_value_tuple[0]
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/units.py", line 1106, in _raw_value_tuple
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     vtx = self.converter.convert(self.value_t)
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/units.py", line 889, in convert
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     if val_t[1] is None and val_t[2] is None:
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>> TypeError: 'UnknownType' object is not subscriptable
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: 
>>> Generate failed with exception '<class 'TypeError'>'
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: **** 
>>> Ignoring template /home/weewx/skins/Seasons/telemetry.html.tmpl
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: **** 
>>> Reason: 'UnknownType' object is not subscriptable
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>> Traceback (most recent call last):
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/cheetahgenerator.py", line 322, in generate
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     unicode_string = compiled_template.respond()
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "_home_weewx_skins_Seasons_telemetry_html_tmpl.py", line 195, in 
>>> respond
>>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1708, in 
>>> _handleCheetahInclude
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "_home_weewx_skins_Seasons_sensors_inc.py", line 325, in respond
>>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/units.py", line 1083, in raw
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     return self._raw_value_tuple[0]
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/units.py", line 1106, in _raw_value_tuple
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     vtx = self.converter.convert(self.value_t)
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>   File "/home/weewx/bin/weewx/units.py", line 889, in convert
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>>     if val_t[1] is None and val_t[2] is None:
>>
>> Aug 13 23:11:01 myweewx weewx[24594] ERROR weewx.cheetahgenerator: ****  
>>> TypeError: 'UnknownType' object is not subscriptable
>>
>> Aug 13 23:11:01 myweewx weewx[24594] INFO weewx.cheetahgenerator: 
>>> Generated 6 files for report SeasonsReport in 0.25 seconds
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.manager: Daily summary 
>>> version is 2.0
>>
>> Aug 13 23:11:01 myweewx weewx[24594] INFO weewx.imagegenerator: Generated 
>>> 15 images for report SeasonsReport in 0.17 seconds
>>
>> Aug 13 23:11:01 myweewx weewx[24594] INFO weewx.reportengine: Copied 0 
>>> files to /home/weewx/public_html
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>>> 'SmartphoneReport' not enabled. Skipping.
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>>> 'MobileReport' not enabled. Skipping.
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>>> 'StandardReport' not enabled. Skipping.
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>>> 'FTP' not enabled. Skipping.
>>
>> Aug 13 23:11:01 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>>> 'RSYNC' not enabled. Skipping.
>>
>>
>> But once I cleaned up the "sensors.inc" file to only include the sensors 
>> that are actually connecting, it worked beautifully.
>>
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Running 
>> reports for latest time in the database.
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Running 
>> report 'SeasonsReport'
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Found 
>> configuration file /home/weewx/skins/Seasons/skin.conf for report 
>> 'SeasonsReport'
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.cheetahgenerator: Using 
>> search list ['weewx.cheetahgenerator.Almanac', 
>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 
>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>> 'weewx.cheetahgenerator.Extras']
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.manager: Daily summary 
>> version is 2.0
>> Aug 13 23:16:02 myweewx weewx[24594] INFO weewx.cheetahgenerator: 
>> Generated 8 files for report SeasonsReport in 0.28 seconds
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.manager: Daily summary 
>> version is 2.0
>> Aug 13 23:16:02 myweewx weewx[24594] INFO weewx.imagegenerator: Generated 
>> 15 images for report SeasonsReport in 0.17 seconds
>> Aug 13 23:16:02 myweewx weewx[24594] INFO weewx.reportengine: Copied 0 
>> files to /home/weewx/public_html
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>> 'SmartphoneReport' not enabled. Skipping.
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>> 'MobileReport' not enabled. Skipping.
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>> 'StandardReport' not enabled. Skipping.
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>> 'FTP' not enabled. Skipping.
>> Aug 13 23:16:02 myweewx weewx[24594] DEBUG weewx.reportengine: Report 
>> 'RSYNC' not enabled. Skipping.
>> Aug 13 23:17:01 myweewx CRON[24631]: (root) CMD (   cd / && run-parts 
>> --report /etc/cron.hourly)
>>
>> Thanks again for your efforts, and very nice work!
>>
>> Rob
>>
>> On Thu, Aug 13, 2020 at 1:45 AM gjr80 wrote:
>>
>>> Hi,
>>>
>>> You are correct in that sensors.inc needs to be modified and you 
>>> probably want to add a few entries to the Seasons skin.conf or 
>>> weewx.conf as well. I have included a modified sensors.inc 
>>> <https://github.com/gjr80/weewx-gw1000/tree/master/supplementary/skins/Seasons>
>>>  
>>> in the GW100 driver repo on GitHub. To modify Seasons to display GW100 
>>> sensor battery states:
>>>
>>> 1. move aside your existing skins/Seasons/sensor.inc by renaming it to 
>>> sensors_orig.inc. For setup.py installs:
>>>
>>> $ sudo mv /home/weewx/skins/Seasons/sensors.inc /home/weewx/skins/
>>> Seasons/sensors_orig.inc
>>>
>>> or for package installs:
>>>
>>> $ sudo mv /etc/weewx/skins/Seasons/sensors.inc /home/weewx/skins/Seasons
>>> /sensors_orig.inc
>>>
>>> 2. download sensors.inc from the GW1000 driver GitHub repo, for setup.py 
>>> installs:
>>>
>>> $ wget -P /home/weewx/skins/Seasons https://
>>> raw.githubusercontent.com/gjr80/weewx-gw1000/master/supplementary/skins/Seasons/sensors.inc
>>>
>>> or for package installs:
>>>
>>> $ wget -P /etc/weewx/skins/Seasons https://
>>> raw.githubusercontent.com/gjr80/weewx-gw1000/master/supplementary/skins/Seasons/sensors.inc
>>>
>>> 3. edit sensors.inc and make the necessary changes to $sensor_batt_data 
>>> to reflect the sensors connected to your GW1000. There are comments towards 
>>> the top of the file that describe how to make the changes.
>>>
>>> 4. edit Seasons/skin.conf and if required add suitable descriptive 
>>> names for each sensor state field under the [Labels] [[Generic]] stanza. 
>>> These labels are the text that will appear for each sensor battery state 
>>> entry in the Sensor Status panel. For example:
>>>
>>> [Labels]
>>>
>>>     # Override some labels. No need to identify these as a "Battery"
>>>     # or "Voltage", because that is included in the template.
>>>     [[Generic]]
>>>         ....
>>>         wh31_ch1_batt = Garage (WH31)
>>>         wh31_ch2_batt = Kitche (WH31)
>>>         wh41_ch1_batt = Dining (WH41)
>>>         wh51_ch1_batt = Front Garden (WH51)
>>>         wh51_ch3_batt = Flower Bed (WH51)
>>>         wh57_batt = Lightning (WH57)
>>>
>>> You could also place these entries in weewx.conf under [StdReport] 
>>> [[SeasonsReport]] [[Labels]]] [[[[Generic]]]]. The choice is yours, 
>>> arguably weewx.conf is upgrade safe but it is highly unlikely that a WeeWX 
>>> upgrade will make destructive changes to Seasons skin.conf.
>>>
>>> 5. On the next report cycle provided you have sensor battery state data in 
>>> your archive record it should be included in the Seasons main page Sensor 
>>> Status panel. Note you may have to refresh the page.
>>>
>>> Gary
>>>
>>>
>>>
>>>
>>> On Wednesday, 12 August 2020 00:15:33 UTC+10, Blaze wrote:
>>>>
>>>> Hi,
>>>>
>>>> How do I show the battery status for my Ecowitt weather sensors? This 
>>>> is a default install running on "Ubuntu 20.04.1 LTS". I installed WeeWx 
>>>> using the setup.py,  with Apache2, WeeWx v4.1.1 and the new GW1000 driver 
>>>> (gw1000-0.1.0b10.tar.gz).  As you can see below I am getting the data, but 
>>>> I don't understand how to get battery status to show on my page. I assume 
>>>> I 
>>>> need to modify the "/home/weewx/skins/Seasons/sensors.inc" file, but I'm 
>>>> not sure what I would need to add or change. Can someone give me pointers?
>>>>
>>>> Aug 10 03:05:25 myweewx weewx[14186] DEBUG gw1000: user.gw1000: 
>>>> Filtered parsed data: {'intemp': 21.5, 'inhumid': 54, 'absbarometer': 
>>>> 985.8, 'relbarometer': 985.8, 'outtemp': 24.0, 'outhumid': 80, 
>>>> 'soilmoist1': 53, 'soilmoist2': 37, 'soilmoist3': 47, 'soilmoist4': 59, 
>>>> 'temp1': 19.3, 'humid1': 59, 'wh26_batt': 0, 'wh31_ch1_batt': 0, 
>>>> 'wh51_ch1_batt': 0, 'wh51_ch2_batt': 0, 'wh51_ch3_batt': 0, 
>>>> 'wh51_ch4_batt': 0, 'wh51_ch5_batt': 0, 'datetime': 1597028725}
>>>> Aug 10 03:05:25 myweewx weewx[14186] DEBUG gw1000: user.gw1000: Next 
>>>> update in 60 seconds
>>>> Aug 10 03:05:25 myweewx weewx[14186] DEBUG gw1000: user.gw1000: 
>>>> Augmented packet: {'dateTime': 1597028725, 'usUnits': 17, 'inTemp': 21.5, 
>>>> 'outTemp': 24.0, 'inHumidity': 54, 'outHumidity': 80, 'pressure': 985.8, 
>>>> 'relbarometer': 985.8, 'extraTemp1': 19.3, 'extraHumid1': 59, 
>>>> 'soilMoist1': 
>>>> 53, 'soilMoist2': 37, 'soilMoist3': 47, 'soilMoist4': 59, 'wh26_batt': 0, 
>>>> 'wh31_ch1_batt': 0, 'wh51_ch1_batt': 0, 'wh51_ch2_batt': 0, 
>>>> 'wh51_ch3_batt': 0, 'wh51_ch4_batt': 0, 'wh51_ch5_batt': 0}
>>>>
>>>> Thanks!
>>>> Rob
>>>>
>>> -- 
>>> 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].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/weewx-user/103277e3-c643-4a6a-b540-9435f7bceda7o%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/weewx-user/103277e3-c643-4a6a-b540-9435f7bceda7o%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/fb443d04-e73d-412c-940f-c4401f73d6bfo%40googlegroups.com.

Reply via email to