[weewx-user] Lighting Strikes erroneous count

2022-06-14 Thread Clay Jackson
I've got an Accurite lightning sensor. right now feeding WeeWx 4.8 and also 
4.5.1.  It's configured like this:

strikes_total = strikes_total.002B.AcuriteLightningPacket
[[deltas]]
lightning_strike_count = strikes_total

In 4.5.1,  I see no strikes, but during the same time period, 4.8 reports 
seemingly RANDOM strike counts.

I ran debug, and in 4.8. found ALL the LOOP records with 94 as 
strikes_total.  However, I found several (but not ALL) REC records with 
values like 95.586. and the a non-zero strike count.

Is something going on in the deltas calculation in 4.8?   And what are REC 
records?

Thanks

Clay Jackson


-- 
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/8f906a79-5dc0-44ca-9640-2c866bd4ddbdn%40googlegroups.com.


[weewx-user] Wind Speed showing as km/h instead of knots

2022-06-14 Thread Barry
Hi, using WeeWx 4.80 and Belchertown 1.2. All seems to working as I want 
with the exception of the reporting of windspeed in the Belchertown skin 
and graphs.

in skin.conf under
[UNITS]
   [[GROUPS]]

I have
group_speed  = knot

I have the same in weewx.conf under
[StdReport]
   [[Defaults]]
   unit_system = metric
   [[[Units]]] 
  group_speed = knot

I believe that unit_system = metric only affects the units for database 
storage.

Is there something else I need to set to get the speed in knots for reports 
and graphs?

Barry

-- 
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/c2d475c8-6abe-4416-b143-f98d9555b13an%40googlegroups.com.


[weewx-user] GW1000 causing critical errors

2022-06-14 Thread Chris Eidem
Hello all,

I noticed that my web pages have stopped working and I've looked into the 
logs and I see this:

Jun 14 19:58:46 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    Traceback (most recent call last):
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
  File "/usr/share/weewx/user/gw1000.py", line 2827, in run
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    self.client.collect_sensor_data()
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
  File "/usr/share/weewx/user/gw1000.py", line 2282, in 
collect_sensor_data
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    queue_data = self.get_live_sensor_data()
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
  File "/usr/share/weewx/user/gw1000.py", line 2329, in 
get_live_sensor_data
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    self.update_sensor_id_data()
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
  File "/usr/share/weewx/user/gw1000.py", line 2344, in 
update_sensor_id_data
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    self.sensors_obj.set_sensor_id_data(sensor_id_data)
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
  File "/usr/share/weewx/user/gw1000.py", line 4108, in 
set_sensor_id_data
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    batt_fn = Gw1000Collector.sensor_ids[data[index:index + 
1]]['batt_fn']
Jun 14 19:58:47 rocky1 journal[42479]: weewx[42479] CRITICAL user.gw1000:   
    KeyError: b'0'

I recently upgraded the firmware, so I wonder if that is what is causing 
this error. The firmware version is GW1000B_V1.7.3 connected to an Ambient 
Weather WS-5000. 

I've found this error mentioned in web searches, but I'm not sure of what I 
can do. I did a wee_config --reconfigure --driver=user.gw1000, but I still 
get the error on startup (starting from a command line: sudo weewxd 
/etc/weewx/weewx.conf).

I'm happy to provide any information requested and thank you for your kind 
attention.

 - chris

-- 
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/efe2cdb2-57c6-4dcb-853c-635ea94d6b2en%40googlegroups.com.


Re: [weewx-user] Determine archive interval from within weewx

2022-06-14 Thread Tom Keffer
Generally, yes they are the same.

Formally, the archive interval returned by the engine is the length of time
it waits before attempting to create an archive record, whether via
hardware, or via software.

The value 'interval' in a record is the aggregation time of the values in
the record.

Off hand, I can't imagine a scenario where they don't match, but I suppose
it's possible.

On Tue, Jun 14, 2022 at 1:14 PM 'Peter Fletcher' via weewx-user <
weewx-user@googlegroups.com> wrote:

> Thanks! I take it that the interval returned by the engine in this way is
> the same as that in the archive packet - i.e. the hardware interval, if it
> is longer that that specified in weewx.conf.
>
> On Tuesday, June 14, 2022 at 3:19:48 PM UTC-4 tke...@gmail.com wrote:
>
>> When you instantiate a service, one of the parameters is the engine
>> instance:
>>
>> def __init__(self, engine, config_dict):
>>
>> The archive interval used by the engine can be obtained from it as
>>
>> engine.console.archive_interval
>>
>> -tk
>>
>>
>>
>> On Fri, Jun 10, 2022 at 11:07 AM 'Peter Fletcher' via weewx-user <
>> weewx...@googlegroups.com> wrote:
>>
>>> Yes. This is potentially even more of a problem if you only determine
>>> whether the sun is shining when the radiation value changes, which is what
>>> I now do (with a timeout to deal with the instances when the 'gap' is a
>>> multiple of 50+ seconds). I have addressed it slightly differently - I
>>> accumulate seconds of sunshine and the total seconds elapsed between
>>> computations in the LOOP code and use the *ratio* of these (for each
>>> archive interval) to determine sunshine time for that interval.
>>>
>>> On Friday, June 10, 2022 at 10:40:09 AM UTC-4 jterr...@gmail.com wrote:
>>>
 The Davis VP2 archive are recorded in the datalogger at the exact
 archive interval.
 So even if for any reason a service bound to NEW_ARCHIVE_RECORD is
 running a little bit later that the time the record was captured by the
 VP2, the data will still be valid, and the "*event.record['interval']
 " *will be the interval between the two last recors received from the
 VP2.

 Concerning our context of doing sunshine duration measurements based
  on LOOP packets, these loop packets may be not always in phase with the
 archive  at the time an archive record is processed by weewx for our 
 service
 So for instance, I saw initially  with my archive interval of 5 min and
 during  a period of full sunshine, that the sunshine duration derived from
 loop packets during  an "archive" interval"  was a little bit higher that 5
 min, or sometimes a little bit lower :

 2022-06-06 11:30:19  weewx[4501] INFO user.sunduration: Sunshine
 duration from loop packets = 5.016667 min, last radiation = 828.00, and
 last threshold = 639.982068

 Given the context of "slow" update of solar radiation of the VP2
 compared to the LOOP interval, I decided to round up the sunshine duration
 to full minutes

 Le 10 juin 2022 à 15:52, 'Peter Fletcher' via weewx-user <
 weewx...@googlegroups.com> a écrit :

 Thanks to all! Granted that you are most likely to need to know the
 archive interval in the context of an archive interrupt service, where it
 is easily available and the returned value is reliable, it would be nice if
 the actual working value (rather than just the value from weewx.conf) were
 readily available in other contexts.

 On Friday, June 10, 2022 at 9:04:06 AM UTC-4 jterr...@gmail.com wrote:

> "Using the interval field from the current archive record should
> always give the correct value.".
>
> I use it in my extension and it works very well:
> *event.record['interval'] *
>
> Le vendredi 10 juin 2022 à 05:04:45 UTC+2, gjr80 a écrit :
>
>> Whilst in almost all cases the archive interval used by WeeWX will
>> match the archive_interval config option in weewx.conf [StdArchive] this
>> is not always the case. Installs that use software record generation 
>> always
>> use an archive interval that matches the archive_interval config
>> option; however, when using hardware record generation if the archive
>> interval set in the station hardware is different to the
>> archive_interval config option the archive_interval config option is
>> ignored and the station hardware archive interval is used instead. This 
>> is
>> most commonly seen with Davis stations used with a default WeeWX install.
>> The Davis station uses an out-of-the-box 30 minute archive interval and
>> that value overrides the default WeeWX archive interval of five minutes.
>>
>> Using the interval field from the current archive record should
>> always give the correct value.
>>
>> Gary
>>
>
 --
 You received this message because you are subscribed to a topic in the
 Google Groups 

Re: [weewx-user] Determine archive interval from within weewx

2022-06-14 Thread 'Peter Fletcher' via weewx-user
Thanks! I take it that the interval returned by the engine in this way is 
the same as that in the archive packet - i.e. the hardware interval, if it 
is longer that that specified in weewx.conf.

On Tuesday, June 14, 2022 at 3:19:48 PM UTC-4 tke...@gmail.com wrote:

> When you instantiate a service, one of the parameters is the engine 
> instance:
>
> def __init__(self, engine, config_dict):
>
> The archive interval used by the engine can be obtained from it as
>
> engine.console.archive_interval
>
> -tk
>
>
>
> On Fri, Jun 10, 2022 at 11:07 AM 'Peter Fletcher' via weewx-user <
> weewx...@googlegroups.com> wrote:
>
>> Yes. This is potentially even more of a problem if you only determine 
>> whether the sun is shining when the radiation value changes, which is what 
>> I now do (with a timeout to deal with the instances when the 'gap' is a 
>> multiple of 50+ seconds). I have addressed it slightly differently - I 
>> accumulate seconds of sunshine and the total seconds elapsed between 
>> computations in the LOOP code and use the *ratio* of these (for each 
>> archive interval) to determine sunshine time for that interval.
>>
>> On Friday, June 10, 2022 at 10:40:09 AM UTC-4 jterr...@gmail.com wrote:
>>
>>> The Davis VP2 archive are recorded in the datalogger at the exact 
>>> archive interval. 
>>> So even if for any reason a service bound to NEW_ARCHIVE_RECORD is 
>>> running a little bit later that the time the record was captured by the 
>>> VP2, the data will still be valid, and the "*event.record['interval'] " 
>>> *will be the interval between the two last recors received from the VP2.
>>>
>>> Concerning our context of doing sunshine duration measurements based  on 
>>> LOOP packets, these loop packets may be not always in phase with the 
>>> archive  at the time an archive record is processed by weewx for our service
>>> So for instance, I saw initially  with my archive interval of 5 min and 
>>> during  a period of full sunshine, that the sunshine duration derived from 
>>> loop packets during  an "archive" interval"  was a little bit higher that 5 
>>> min, or sometimes a little bit lower :
>>>
>>> 2022-06-06 11:30:19  weewx[4501] INFO user.sunduration: Sunshine 
>>> duration from loop packets = 5.016667 min, last radiation = 828.00, and 
>>> last threshold = 639.982068
>>>
>>> Given the context of "slow" update of solar radiation of the VP2 
>>> compared to the LOOP interval, I decided to round up the sunshine duration 
>>> to full minutes
>>>
>>> Le 10 juin 2022 à 15:52, 'Peter Fletcher' via weewx-user <
>>> weewx...@googlegroups.com> a écrit :
>>>
>>> Thanks to all! Granted that you are most likely to need to know the 
>>> archive interval in the context of an archive interrupt service, where it 
>>> is easily available and the returned value is reliable, it would be nice if 
>>> the actual working value (rather than just the value from weewx.conf) were 
>>> readily available in other contexts.
>>>
>>> On Friday, June 10, 2022 at 9:04:06 AM UTC-4 jterr...@gmail.com wrote:
>>>
 "Using the interval field from the current archive record should always 
 give the correct value.".

 I use it in my extension and it works very well: 
 *event.record['interval'] *

 Le vendredi 10 juin 2022 à 05:04:45 UTC+2, gjr80 a écrit :

> Whilst in almost all cases the archive interval used by WeeWX will 
> match the archive_interval config option in weewx.conf [StdArchive] this 
> is not always the case. Installs that use software record generation 
> always 
> use an archive interval that matches the archive_interval config 
> option; however, when using hardware record generation if the archive 
> interval set in the station hardware is different to the 
> archive_interval config option the archive_interval config option is 
> ignored and the station hardware archive interval is used instead. This 
> is 
> most commonly seen with Davis stations used with a default WeeWX install. 
> The Davis station uses an out-of-the-box 30 minute archive interval and 
> that value overrides the default WeeWX archive interval of five minutes.
>
> Using the interval field from the current archive record should 
> always give the correct value.
>
> Gary
>

>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "weewx-user" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/weewx-user/W0jG1kElJ1k/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> weewx-user+...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/weewx-user/87e7270c-2cbf-4438-a60b-638be2005049n%40googlegroups.com
>>>  
>>> 
>>> .
>>>
>>>
>>> -- 

Re: [weewx-user] Determine archive interval from within weewx

2022-06-14 Thread Tom Keffer
When you instantiate a service, one of the parameters is the engine
instance:

def __init__(self, engine, config_dict):

The archive interval used by the engine can be obtained from it as

engine.console.archive_interval

-tk



On Fri, Jun 10, 2022 at 11:07 AM 'Peter Fletcher' via weewx-user <
weewx-user@googlegroups.com> wrote:

> Yes. This is potentially even more of a problem if you only determine
> whether the sun is shining when the radiation value changes, which is what
> I now do (with a timeout to deal with the instances when the 'gap' is a
> multiple of 50+ seconds). I have addressed it slightly differently - I
> accumulate seconds of sunshine and the total seconds elapsed between
> computations in the LOOP code and use the *ratio* of these (for each
> archive interval) to determine sunshine time for that interval.
>
> On Friday, June 10, 2022 at 10:40:09 AM UTC-4 jterr...@gmail.com wrote:
>
>> The Davis VP2 archive are recorded in the datalogger at the exact archive
>> interval.
>> So even if for any reason a service bound to NEW_ARCHIVE_RECORD is
>> running a little bit later that the time the record was captured by the
>> VP2, the data will still be valid, and the "*event.record['interval'] " *will
>> be the interval between the two last recors received from the VP2.
>>
>> Concerning our context of doing sunshine duration measurements based  on
>> LOOP packets, these loop packets may be not always in phase with the
>> archive  at the time an archive record is processed by weewx for our service
>> So for instance, I saw initially  with my archive interval of 5 min and
>> during  a period of full sunshine, that the sunshine duration derived from
>> loop packets during  an "archive" interval"  was a little bit higher that 5
>> min, or sometimes a little bit lower :
>>
>> 2022-06-06 11:30:19  weewx[4501] INFO user.sunduration: Sunshine duration
>> from loop packets = 5.016667 min, last radiation = 828.00, and last
>> threshold = 639.982068
>>
>> Given the context of "slow" update of solar radiation of the VP2 compared
>> to the LOOP interval, I decided to round up the sunshine duration to full
>> minutes
>>
>> Le 10 juin 2022 à 15:52, 'Peter Fletcher' via weewx-user <
>> weewx...@googlegroups.com> a écrit :
>>
>> Thanks to all! Granted that you are most likely to need to know the
>> archive interval in the context of an archive interrupt service, where it
>> is easily available and the returned value is reliable, it would be nice if
>> the actual working value (rather than just the value from weewx.conf) were
>> readily available in other contexts.
>>
>> On Friday, June 10, 2022 at 9:04:06 AM UTC-4 jterr...@gmail.com wrote:
>>
>>> "Using the interval field from the current archive record should always
>>> give the correct value.".
>>>
>>> I use it in my extension and it works very well:
>>> *event.record['interval'] *
>>>
>>> Le vendredi 10 juin 2022 à 05:04:45 UTC+2, gjr80 a écrit :
>>>
 Whilst in almost all cases the archive interval used by WeeWX will
 match the archive_interval config option in weewx.conf [StdArchive] this
 is not always the case. Installs that use software record generation always
 use an archive interval that matches the archive_interval config
 option; however, when using hardware record generation if the archive
 interval set in the station hardware is different to the
 archive_interval config option the archive_interval config option is
 ignored and the station hardware archive interval is used instead. This is
 most commonly seen with Davis stations used with a default WeeWX install.
 The Davis station uses an out-of-the-box 30 minute archive interval and
 that value overrides the default WeeWX archive interval of five minutes.

 Using the interval field from the current archive record should always
 give the correct value.

 Gary

>>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "weewx-user" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/weewx-user/W0jG1kElJ1k/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> weewx-user+...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/87e7270c-2cbf-4438-a60b-638be2005049n%40googlegroups.com
>> 
>> .
>>
>>
>> --
> 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/d030a216-4cfd-4df3-ad3c-55ae8df63cf8n%40googlegroups.com
> 

[weewx-user] Re: Installing WS 6in1 for Bresser 5-in1

2022-06-14 Thread Bob Atchley
Looks like the 'Cheetah' module is not installed (or Python can't find it)
Have a look at the install page:
https://weewx.com/docs/setup.htm
And look at the different OS tabs (Arch is not included).
Some seem to use 'pip3' others the equivalent of 'pacman install'
I would try a combination to find out what works with Arch

Hope this helps

Bob

On Tuesday, 14 June 2022 at 15:49:20 UTC+1 Ξ wrote:

> Not so good:
>
> Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
> genLoopPackets: yielding
> Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG 
> weewx.reportengine: Found configuration file 
> /home/weewx/skins/Standard/skin.conf for report 'StandardReport'
> Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG 
> weewx.reportengine: Cannot read localization file 
> /home/weewx/skins/Standard/lang/en.conf for report 'StandardReport': Config 
> file not found: "/home/weewx/skins/Standard/lang/en.conf".
> Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG 
> weewx.reportengine:  Using defaults instead.
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: Unable to instantiate generator 
> 'weewx.cheetahgenerator.CheetahGenerator'
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   No module named 'Cheetah'
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   Traceback (most recent call last):
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weewx/reportengine.py", line 180, in run
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   obj = 
> weeutil.weeutil.get_object(generator)(
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   mod = __import__(module)
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weewx/cheetahgenerator.py", line 69, in 
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   import Cheetah.Filters
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   ModuleNotFoundError: No module named 
> 'Cheetah'
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   Generator ignored
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: Unable to instantiate generator 
> 'weewx.imagegenerator.ImageGenerator'
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   No module named 'Image'
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   Traceback (most recent call last):
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weeplot/genplot.py", line 15, in 
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   from PIL import Image, ImageDraw
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   ModuleNotFoundError: No module named 'PIL'
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: 
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   During handling of the above exception, 
> another exception occurred:
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: 
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   Traceback (most recent call last):
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weewx/reportengine.py", line 180, in run
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   obj = 
> weeutil.weeutil.get_object(generator)(
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   mod = __import__(module)
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weewx/imagegenerator.py", line 19, in 
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine:   import weeplot.genplot
> Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR 
> weewx.reportengine: File 
> "/home/weewx/bin/weeplot/genplot.py", line 17, in 
> Jun 14 17:45:22 alarmpi 

[weewx-user] Re: Installing WS 6in1 for Bresser 5-in1

2022-06-14 Thread Ξ
Not so good:

Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
genLoopPackets: yielding
Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: 
Found configuration file /home/weewx/skins/Standard/skin.conf for report 
'StandardReport'
Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: 
Cannot read localization file /home/weewx/skins/Standard/lang/en.conf for 
report 'StandardReport': Config file not found: 
"/home/weewx/skins/Standard/lang/en.conf".
Jun 14 17:45:21 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: 
 Using defaults instead.
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  No module named 'Cheetah'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  Traceback (most recent call last):
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weewx/reportengine.py", line 180, in 
run
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  obj = weeutil.weeutil.get_object(generator)(
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in 
get_object
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  mod = __import__(module)
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weewx/cheetahgenerator.py", line 69, 
in 
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  import Cheetah.Filters
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  ModuleNotFoundError: No module named 'Cheetah'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  Generator ignored
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  No module named 'Image'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  Traceback (most recent call last):
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weeplot/genplot.py", line 15, in 

Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  from PIL import Image, ImageDraw
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  ModuleNotFoundError: No module named 'PIL'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 

Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  During handling of the above exception, another exception 
occurred:
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 

Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  Traceback (most recent call last):
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weewx/reportengine.py", line 180, in 
run
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  obj = weeutil.weeutil.get_object(generator)(
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in 
get_object
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  mod = __import__(module)
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weewx/imagegenerator.py", line 19, in 

Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  import weeplot.genplot
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
File "/home/weewx/bin/weeplot/genplot.py", line 17, in 

Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  import Image, ImageDraw
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  ModuleNotFoundError: No module named 'Image'
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] ERROR weewx.reportengine: 
  Generator ignored
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] INFO weewx.reportengine: 
Copied 9 files to /home/weewx/public_html
Jun 14 17:45:22 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.reportengine: 
Report 'SeasonsReport' not enabled. Skipping.
Jun 

[weewx-user] Re: Installing WS 6in1 for Bresser 5-in1

2022-06-14 Thread Ξ
 I've commented out both cummulus real time and WeatherCloud in weeex.conf 
and started it, now it's back filling old data and it outputs in the log 
this stuff too, we'll see the end result soon:
[...]
Jun 14 17:36:34 alarmpi weewxd[1473]: weewx[1473] INFO weewx.manager: Added 
record 2022-06-08 20:30:00 EEST (1654709400) to daily summary in 'weewx.sdb'
Jun 14 17:36:34 alarmpi weewxd[1473]: weewx[1473] INFO weewx.restx: 
PWSWeather: Published record 2022-06-08 20:00:00 EEST (1654707600)
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] DEBUG weewx.restx: 
StationRegistry: wait interval (118800 < 604800) has not passed for record 
2022-06-08 20:30:00 EEST (1654709400)
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] INFO weewx.restx: 
Wunderground-PWS: Published record 2022-06-08 17:30:00 EEST (1654698600)
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: 'ENE' 
 string: ENE
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: '--.-' 
 string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_float::ValueError error: could not convert string to float: '--' 
 string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: '--.-' 
 string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_float::ValueError error: could not convert string to float: '--' 
 string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: '--.-' 
 string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_float::ValueError error: could not convert string to float: '--' 
 string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_float::ValueError error: could not convert string to float: '--' 
 string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: '--.-' 
 string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_float::ValueError error: could not convert string to float: '--' 
 string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: '--.-' 
 string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_float::ValueError error: could not convert string to float: '--' 
 string: --
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] ERROR user.ws6in1: 
get_int::ValueError error: invalid literal for int() with base 10: '--.-' 
 string: --.-
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
decode::gettint time
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
decode::got my_time: 1654711200
Jun 14 17:36:35 alarmpi weewxd[1473]: weewx[1473] WARNING user.ws6in1: 
decode: 13 bad values occurred - rejecting this set of readings
Jun 14 17:36:36 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
decode::gettint time
Jun 14 17:36:36 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
decode::got my_time: 1654713000
Jun 14 17:36:36 alarmpi weewxd[1473]: weewx[1473] DEBUG user.ws6in1: 
genStartupRecords: yielding
[...] 

-- 
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/35a2db3c-0706-48a3-ab57-75117cf09b57n%40googlegroups.com.


[weewx-user] Re: Installing WS 6in1 for Bresser 5-in1

2022-06-14 Thread Ξ
Oops, it doesn't like the weather cloud module either:
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.engine: 
Finished loading service weewx.restx.StdAWEKAS
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.engine: 
Loading service user.wcloud.WeatherCloud
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.manager: 
Daily summary version is 4.0
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.manager: 
Daily summary version is 4.0
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.restx: Shut 
down PWSWeather thread.
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.restx: Shut 
down Wunderground-PWS thread.
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] DEBUG weewx.restx: Shut 
down StationRegistry thread.
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: Caught 
unrecoverable exception:
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  invalid syntax (wcloud.py, line 134)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  Traceback (most recent call last):
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
File "/home/weewx/bin/weewxd", line 147, in main
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  engine = weewx.engine.StdEngine(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  self.loadServices(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  mod = __import__(module)
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
File "/home/weewx/bin/user/wcloud.py", line 134
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  except KeyError, e:
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
 ^
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  SyntaxError: invalid syntax
Jun 14 17:32:11 alarmpi weewxd[1465]: weewx[1465] CRITICAL __main__: 
  Exiting.
Jun 14 17:32:11 alarmpi weewxd[1465]: Traceback (most recent call last):
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weewxd", line 
248, in 
Jun 14 17:32:11 alarmpi weewxd[1465]: main()
Jun 14 17:32:11 alarmpi weewxd[1465]:   File "/home/weewx/bin/weewxd", line 
147, in main
Jun 14 17:32:11 alarmpi weewxd[1465]: engine = 
weewx.engine.StdEngine(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File 
"/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:32:11 alarmpi weewxd[1465]: self.loadServices(config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File 
"/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:32:11 alarmpi weewxd[1465]: obj = 
weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File 
"/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:32:11 alarmpi weewxd[1465]: mod = __import__(module)
Jun 14 17:32:11 alarmpi weewxd[1465]:   File 
"/home/weewx/bin/user/wcloud.py", line 134
Jun 14 17:32:11 alarmpi weewxd[1465]: except KeyError, e:
Jun 14 17:32:11 alarmpi weewxd[1465]:^
Jun 14 17:32:11 alarmpi weewxd[1465]: SyntaxError: invalid syntax


-- 
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/81fd07a3-3f21-43d0-97b2-0fc27e568051n%40googlegroups.com.


[weewx-user] Re: Installing WS 6in1 for Bresser 5-in1

2022-06-14 Thread Ξ
just for reference the updated sys.path output 

[root@alarmpi ~]# python -m site
sys.path = [
'/root',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/usr/lib/python3.8/site-packages',
'/usr/lib/python3.10/site-packages',
]
USER_BASE: '/root/.local' (exists)
USER_SITE: '/root/.local/lib/python3.8/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

-- 
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/f3d9870e-c5cb-421d-80fd-0a036ea550aen%40googlegroups.com.


[weewx-user] Re: Installing WS 6in1 for Bresser 5-in1

2022-06-14 Thread Ξ
Hi again Bob, I'm Ivo btw :)

OK, I had to learn a thing or two about Pytho: the crc module *was* 
installed, but in /usr/lib/python3.10/site-packages, all other packages 
were in /usr/lib/python3.8/ so it was looking there for it:

[root@alarmpi ~]# python -m site
sys.path = [
'/root',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/usr/lib/python3.8/site-packages',
]
USER_BASE: '/root/.local' (exists)
USER_SITE: '/root/.local/lib/python3.8/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

I created a file crcmod.pth in /usr/lib/python3.8/site-packages and put 
inside it the path to crc: /usr/lib/python3.10/site-packages/
after that I ran the reconfigure script and started weewx and it ran for a 
while but then this happened, maybe *Matt Wall* can help here?!

Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] INFO weewx.manager: Patch 
finished.
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: 
Finished loading service weewx.wxservices.StdWXCalculate
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: 
Loading service weewx.engine.StdQC
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: 
Finished loading service weewx.engine.StdQC
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] DEBUG weewx.engine: 
Loading service user.crt.CumulusRealTime
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: Caught 
unrecoverable exception:
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  invalid syntax (crt.py, line 376)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  Traceback (most recent call last):
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
File "/home/weewx/bin/weewxd", line 147, in main
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  engine = weewx.engine.StdEngine(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  self.loadServices(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
File "/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  mod = __import__(module)
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
File "/home/weewx/bin/user/crt.py", line 376
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  except Exception, e:
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  ^
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  SyntaxError: invalid syntax
Jun 14 17:08:40 alarmpi weewxd[1414]: weewx[1414] CRITICAL __main__: 
  Exiting.
Jun 14 17:08:40 alarmpi weewxd[1414]: [40.7K blob data]
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weewxd", line 
248, in 
Jun 14 17:08:40 alarmpi weewxd[1414]: main()
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/weewxd", line 
147, in main
Jun 14 17:08:40 alarmpi weewxd[1414]: engine = 
weewx.engine.StdEngine(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File 
"/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jun 14 17:08:40 alarmpi weewxd[1414]: self.loadServices(config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File 
"/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jun 14 17:08:40 alarmpi weewxd[1414]: obj = 
weeutil.weeutil.get_object(svc)(self, config_dict)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File 
"/home/weewx/bin/weeutil/weeutil.py", line 1150, in get_object
Jun 14 17:08:40 alarmpi weewxd[1414]: mod = __import__(module)
Jun 14 17:08:40 alarmpi weewxd[1414]:   File "/home/weewx/bin/user/crt.py", 
line 376
Jun 14 17:08:40 alarmpi weewxd[1414]: except Exception, e:
Jun 14 17:08:40 alarmpi weewxd[1414]: ^
Jun 14 17:08:40 alarmpi weewxd[1414]: SyntaxError: invalid syntax
Jun 14 17:08:40 alarmpi systemd[1]: weewx.service: Main process exited, 
code=exited, status=1/FAILURE
Jun 14 17:08:40 alarmpi systemd[1]: weewx.service: Failed with result 
'exit-code'.

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