*Even after a new installation the same error, here the log:*
Jan 3 14:30:23 raspberrypi weewx[2427] INFO __main__: Initializing weewx
version 4.5.1
Jan 3 14:30:23 raspberrypi weewx[2427] INFO __main__: Using Python 3.7.3
(default, Jan 22 2021, 20:04:44) #012[GCC 8.3.0]
Jan 3 14:30:23 raspberrypi weewx[2427] INFO __main__: Platform
Linux-5.10.63-v7l+-armv7l-with-debian-10.11
Jan 3 14:30:23 raspberrypi weewx[2427] INFO __main__: Locale is
'de_DE.UTF-8'
Jan 3 14:30:23 raspberrypi weewx[2427] INFO __main__: PID file is
/var/run/weewx.pid
Jan 3 14:30:23 raspberrypi weewx[2431] INFO __main__: Using configuration
file /home/weewx/weewx.conf
Jan 3 14:30:23 raspberrypi weewx[2431] INFO __main__: Debug is 0
Jan 3 14:30:23 raspberrypi weewx[2431] INFO weewx.engine: Loading station
type Simulator (weewx.drivers.simulator)
Jan 3 14:30:23 raspberrypi weewx[2416]: Starting weewx weather system:
weewx.
Jan 3 14:30:23 raspberrypi systemd[1]: Started LSB: weewx weather system.
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
Version is 2.1.0-rc02
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
Log level: 0
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
Log debug setting: 0
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
Log console: False
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
Log file: None
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
message_callback_provider_name is user.MQTTSubscribe.MessageCallbackProvi
der
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
clientid is MQTTSubscribe-4131
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
client_session is True
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
host is localhost
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
port is 1883
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
keepalive is 60
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
username is None
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
min_delay is 1
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
max_delay is 120
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
password is set
Jan 3 14:30:23 raspberrypi weewx[2431] INFO user.MQTTSubscribe: (Service)
Archive topic is None
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: Caught
unrecoverable exception:
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** * Invalid
type configured: REPLACE_ME *
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
Traceback (most recent call last):
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** File
"/home/weewx/bin/weewxd", line 151, in main
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
engine = weewx.engine.StdEngine(config_dict)
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** File
"/home/weewx/bin/weewx/engine.py", line 93, in __init__
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
self.loadServices(config_dict)
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** File
"/home/weewx/bin/weewx/engine.py", line 161, in loadServices
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** File
"/home/weewx/bin/user/MQTTSubscribe.py", line 1812, in __init__
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
self.subscriber = MQTTSubscriber(service_dict, self.logger)
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** File
"/home/weewx/bin/user/MQTTSubscribe.py", line 1567, in __init__
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
self.manager)
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: **** File
"/home/weewx/bin/user/MQTTSubscribe.py", line 1294, in __init__
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
raise ValueError("Invalid type configured: %s" % message_type)
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
ValueError: Invalid type configured: REPLACE_ME
Jan 3 14:30:23 raspberrypi weewx[2431] CRITICAL __main__: ****
Exiting.
*Extract from the conf:*
# Options for 'MQTTSubscribeService'
[MQTTSubscribeService]
enable = true
host = localhost
port = 1883
keepalive = 60
binding = loop
# username = None
# password = None
# The message handler to use
[[message_callback]]
type = json
# The topics to subscribe to.
[[topics]]
unit_system = METRICWX
# The first topic to subscribe to.
[[[tele/thunder01/SENSOR]]]
[[[[Time]]]]
ignore = True
[[[[AS3935_Event]]]]
ignore = True
filter_out_message_when = 0, 8, 9
#the rest invalid events are filtered by Tasmota fw - see
https://tasmota.github.io/docs/AS3935/#mqtt-events
conversion_type = int
[[[[AS3935_Distance]]]]
name = lightning_distance
ignore = False
contains_total = False
conversion_type = float
units = km
[[[[AS3935_Energy]]]]
ignore = False
name = lightning_energy
contains_total = False
conversion_type = int
[[[[AS3935_Stage]]]]
ignore = True
vince schrieb am Sonntag, 2. Januar 2022 um 21:01:41 UTC+1:
> Perhaps he edited the file and forgot to stop+restart weewx ?
>
> Suggest trying:
> ps axu | grep weewx
>
> A typical output would look like:
>
> # ps axu | grep weewx | grep -v grep
> root 24655 41.2 39.2 165944 48372 ? Sl 2021 5890:56
> /usr/bin/python3 /home/weewx/bin/weewxd --daemon
> --pidfile=/var/run/weewx.pid /home/weewx/weewx.conf
>
>
>
> On Sunday, January 2, 2022 at 10:52:40 AM UTC-8 [email protected] wrote:
>
>>
>> Well, I’m stumped. These lines are saying ‘type = REPLACE_ME’ and not
>> ‘type = json’.
>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>> File "/home/weewx/bin/user/MQTTSubscribe.py", line 1294, in __init__
>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>> raise ValueError("Invalid type configured: %s" % message_type)
>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>> ValueError: Invalid type configured: REPLACE_ME
>>
>> Could WeeWX be using a different configuration file?
>> rich
>> On Sunday, 2 January 2022 at 12:45:51 UTC-5 [email protected] wrote:
>>
>>> *Thanks for the quick reply Rich, I guess the guy can't be the reason.
>>> Here the conf setting*
>>>
>>>
>>> # Options for 'MQTTSubscribeService'
>>> [MQTTSubscribeService]
>>>
>>> enable = true
>>> host = localhost
>>> port = 1883
>>> keepalive = 60
>>> binding = loop
>>> # username = None
>>> # password = None
>>>
>>> # The message handler to use
>>> [[message_callback]]
>>> type = json
>>>
>>> # The topics to subscribe to.
>>> [[topics]]
>>> unit_system = METRIC
>>>
>>> # The first topic to subscribe to.
>>> [[[tele/thunder01/SENSOR]]]
>>>
>>> [[[[Time]]]]
>>> ignore = True
>>>
>>> [[[[AS3935_Event]]]]
>>> ignore = True
>>> filter_out_message_when = 0, 8, 9
>>> conversion_type = int
>>>
>>> [[[[AS3935_Distance]]]]
>>> name = lightning_distance
>>> ignore = False
>>> contains_total = False
>>> conversion_type = float
>>> units = km
>>>
>>> [[[[AS3935_Energy]]]]
>>> ignore = False
>>> name = lightning_energy
>>> contains_total = False
>>> conversion_type = int
>>>
>>> [[[[AS3935_Stage]]]]
>>> ignore = True
>>>
>>> [email protected] schrieb am Sonntag, 2. Januar 2022 um 14:43:58 UTC+1:
>>>
>>>> Looks like you did not configure the message ‘type’.
>>>> See,
>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/Configuring#type
>>>> rich
>>>>
>>>> On Sunday, 2 January 2022 at 07:54:14 UTC-5 [email protected] wrote:
>>>>
>>>>> *Unfortunately I can't find the error why it's an invalid type.*
>>>>> Thanks for the help
>>>>>
>>>>>
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] DEBUG user.MQTTSubscribe:
>>>>> (Service) TopicManager self.cached_fields is {}
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) message_callback_provider_name is
>>>>> user.MQTTSubscribe.MessageCallbackProvider
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) clientid is MQTTSubscribe-4719
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) client_session is True
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) host is localhost
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) port is 1883
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) keepalive is 60
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) username is None
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) min_delay is 1
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) max_delay is 120
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) password is set
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] INFO user.MQTTSubscribe:
>>>>> (Service) Archive topic is None
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: Caught
>>>>> unrecoverable exception:
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> Invalid type configured: REPLACE_ME
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> Traceback (most recent call last):
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> File "/home/weewx/bin/weewxd", line 151, in main
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> engine = weewx.engine.StdEngine(config_dict)
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> self.loadServices(config_dict)
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> obj = weeutil.weeutil.get_object(svc)(self, config_dict)
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> File "/home/weewx/bin/user/MQTTSubscribe.py", line 1812, in __init__
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> self.subscriber = MQTTSubscriber(service_dict, self.logger)
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> File "/home/weewx/bin/user/MQTTSubscribe.py", line 1567, in __init__
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> self.manager)
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> File "/home/weewx/bin/user/MQTTSubscribe.py", line 1294, in __init__
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> raise ValueError("Invalid type configured: %s" % message_type)
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> ValueError: Invalid type configured: REPLACE_ME
>>>>> Jan 2 13:50:58 raspberrypi weewx[18487] CRITICAL __main__: ****
>>>>> Exiting.
>>>>>
>>>>>
>>>>> Eric K schrieb am Dienstag, 29. Juni 2021 um 01:16:40 UTC+2:
>>>>>
>>>>>> There we go!
>>>>>> Now, I have proof its counting higher than 1! :)
>>>>>>
>>>>>>
>>>>>> [image: AS3935 Lightning sensor working.PNG]
>>>>>>
>>>>>> Here's my graph config from the Belchertown graphs.conf file:
>>>>>>
>>>>>> * [[chart3]]*
>>>>>> * title = Lightning*
>>>>>> * [[[lightning_strike_count]]]*
>>>>>> * yAxis = 0*
>>>>>> * yAxis_label = "Number of Strikes"*
>>>>>> * stacking = normal*
>>>>>> * color = "orange"*
>>>>>> * lineWidth = 0*
>>>>>> * [[[[marker]]]]*
>>>>>> * enabled = true*
>>>>>> * radius = 4*
>>>>>> * [[[[states]]]]*
>>>>>> * [[[[[hover]]]]]*
>>>>>> * lineWidthPlus = 0*
>>>>>> * [[[lightning_distance]]]*
>>>>>> * yAxis = 1*
>>>>>> * yAxis_label = "Distance (miles)"*
>>>>>>
>>>>>> * stacking = normal*
>>>>>> * color = "blue"*
>>>>>> * lineWidth = 0*
>>>>>> * [[[[marker]]]]*
>>>>>> * enabled = true*
>>>>>> * radius = 3*
>>>>>> * [[[[states]]]]*
>>>>>> * [[[[[hover]]]]]*
>>>>>> * lineWidthPlus = 0*
>>>>>>
>>>>>> These are my settings in the Tasmota firmware for the AS3935:
>>>>>> 17:48:03.739 CMD: AS3935settings
>>>>>> *17:48:03.753 MQT: tele/AS3935/RESULT =
>>>>>> {"AS3935_Settings":{"Gain":"Indoors","NFfloor":7,"uVrms":146,"Tunecaps":2,"MinNumLight":1,"Rejection":2,"Wdthreshold":2,"MinNFstage":0,"NFAutoTime":4,"DisturberAutoTime":1,"Disturber":"On","NFauto":"Off","Disturberauto":"Off","NFautomax":"On","Mqttlightevent":"On","Mqttnoirqevent":"On"}}*
>>>>>> The last 2 surpress MQTT messages when there's no lightning events.
>>>>>> Reference: https://tasmota.github.io/docs/AS3935/
>>>>>>
>>>>>> There have been a LOT of close strikes detected in the last 15
>>>>>> mintues!
>>>>>> This is from the Tasmota console of the ESP-12F module (with AS3935
>>>>>> sensor connected):
>>>>>> 17:58:07.173 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T17:58:07","AS3935":{"Event":4,"Distance":1,"Energy":372650,"Stage":7}}
>>>>>> 17:58:34.168 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T17:58:34","AS3935":{"Event":4,"Distance":1,"Energy":155946,"Stage":7}}
>>>>>> 17:59:36.153 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T17:59:36","AS3935":{"Event":4,"Distance":1,"Energy":0,"Stage":7}}
>>>>>> 18:00:02.150 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:00:02","AS3935":{"Event":4,"Distance":1,"Energy":77455,"Stage":7}}
>>>>>> 18:00:14.167 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:00:14","AS3935":{"Event":4,"Distance":1,"Energy":14477,"Stage":7}}
>>>>>> 18:01:34.195 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:01:34","AS3935":{"Event":4,"Distance":1,"Energy":16,"Stage":7}}
>>>>>> 18:01:54.162 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:01:54","AS3935":{"Event":4,"Distance":1,"Energy":42975,"Stage":7}}
>>>>>> 18:02:33.154 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:02:33","AS3935":{"Event":4,"Distance":1,"Energy":55903,"Stage":7}}
>>>>>> 18:04:02.170 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:04:02","AS3935":{"Event":4,"Distance":1,"Energy":59064,"Stage":7}}
>>>>>> 18:04:26.163 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:04:26","AS3935":{"Event":4,"Distance":1,"Energy":0,"Stage":7}}
>>>>>> 18:04:45.170 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:04:45","AS3935":{"Event":4,"Distance":1,"Energy":25788,"Stage":7}}
>>>>>> 18:05:12.146 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:05:12","AS3935":{"Event":4,"Distance":1,"Energy":22788,"Stage":7}}
>>>>>> 18:05:50.188 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:05:50","AS3935":{"Event":4,"Distance":1,"Energy":17632,"Stage":7}}
>>>>>> 18:07:22.161 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:07:22","AS3935":{"Event":4,"Distance":1,"Energy":51215,"Stage":7}}
>>>>>> 18:08:29.185 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:08:29","AS3935":{"Event":4,"Distance":1,"Energy":62226,"Stage":7}}
>>>>>> 18:08:34.168 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:08:34","AS3935":{"Event":4,"Distance":1,"Energy":148630,"Stage":7}}
>>>>>> 18:08:40.172 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:08:40","AS3935":{"Event":4,"Distance":1,"Energy":25560,"Stage":7}}
>>>>>> 18:11:16.176 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:11:16","AS3935":{"Event":4,"Distance":1,"Energy":208620,"Stage":7}}
>>>>>> 18:12:17.187 MQT: tele/AS3935/SENSOR =
>>>>>> {"Time":"2021-06-28T18:12:17","AS3935":{"Event":4,"Distance":1,"Energy":67149,"Stage":7}}
>>>>>>
>>>>>> On Monday, June 28, 2021 at 5:51:11 PM UTC-5 Eric K wrote:
>>>>>>
>>>>>>> IT'S WORKING!
>>>>>>> There is another thunderstorm approaching and it's capturing
>>>>>>> distances AND strike count!
>>>>>>> [image: image.png]
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jun 28, 2021 at 1:45 PM Eric Koester <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Thanks for that idea, Rich.
>>>>>>>>
>>>>>>>> Yesterday, I opened up the AS3935_Event to allow event 4 to pass
>>>>>>>> through, because event 4 is "storm overhead".
>>>>>>>> So, now the AS3935_Event message could contain a 1 or a 4.
>>>>>>>>
>>>>>>>> *[[[AS3935_Event]]]*
>>>>>>>> * filter_out_message_when = 0, 2, 3, 5, 6, 7, 8, 9*
>>>>>>>> * conversion_type = int*
>>>>>>>>
>>>>>>>> I am trying this correction to change the event number to be a 1.
>>>>>>>>
>>>>>>>> *[StdCalibrate]*
>>>>>>>> * [[Corrections]]*
>>>>>>>>
>>>>>>>> * outTemp = outTemp - 1.5*
>>>>>>>> * barometer = barometer + 1.23*
>>>>>>>> * lightning_strike_count = 1 if AS3935_Event > 0 else None*
>>>>>>>>
>>>>>>>> I'll report back on the results.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Jun 28, 2021 at 1:15 PM [email protected] <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Eric,
>>>>>>>>> I would think just renaming AS3935_Event to lightning_strike_count
>>>>>>>>> (via name = lightning_strike_count) should work. This gets the value
>>>>>>>>> into
>>>>>>>>> the WeeWX pipeline and since lightning_strike_count has a default
>>>>>>>>> accumulator that extracts the sum, you should be all set. Meaning
>>>>>>>>> something
>>>>>>>>> like this.
>>>>>>>>> [[[[AS3935_Event]]]]
>>>>>>>>> # MQTT messages with and event value in the following will be
>>>>>>>>> ignored.
>>>>>>>>> filter_out_message_when = 0, 2, 3, 4, 5, 6, 7, 8, 9
>>>>>>>>> conversion_type = int
>>>>>>>>> name = lightning_strike_count
>>>>>>>>> rich
>>>>>>>>>
>>>>>>>>> On Sunday, 27 June 2021 at 19:15:41 UTC-4 Eric K wrote:
>>>>>>>>>
>>>>>>>>>> Reference: https://github.com/weewx/weewx/wiki/Accumulators
>>>>>>>>>>
>>>>>>>>>> 1. It says that lightning_strike_count is one of the default
>>>>>>>>>> accumulator variables, so I believe that means I do NOT need to
>>>>>>>>>> declare it
>>>>>>>>>> in an [Accumulators] section of weewx.conf?
>>>>>>>>>>
>>>>>>>>>> 2. Where do I put the code that alerts WeeWX that a lightning
>>>>>>>>>> strike occurred?
>>>>>>>>>> In the [MQTTSubscribeService] section of the weewx.conf file?
>>>>>>>>>>
>>>>>>>>>> 3. How do I tell WeeWX that a lightning strike has occurred?
>>>>>>>>>> Set lightning_strike_count =1 and let the accumulator function
>>>>>>>>>> add 1 to the total for me?
>>>>>>>>>>
>>>>>>>>>> Like this?
>>>>>>>>>>
>>>>>>>>>> [MQTTSubscribeService]
>>>>>>>>>>
>>>>>>>>>> [[[tele/AS3935/SENSOR]]]
>>>>>>>>>> [[[[Time]]]]
>>>>>>>>>> ignore = true
>>>>>>>>>>
>>>>>>>>>> [[[[AS3935_Event]]]]
>>>>>>>>>> # Use the default variable name from MQTT
>>>>>>>>>> # MQTT messages with and event value in the
>>>>>>>>>> following will be ignored.
>>>>>>>>>> filter_out_message_when = 0, 2, 3, 4, 5, 6, 7, 8,
>>>>>>>>>> 9
>>>>>>>>>> conversion_type = int
>>>>>>>>>> * lightning_strike_count = 1*
>>>>>>>>>>
>>>>>>>>>> [[[[AS3935_Distance]]]]
>>>>>>>>>> # Use the default variable name from MQTT.
>>>>>>>>>>
>>>>>>>>>> [[[[AS3935_Energy]]]]
>>>>>>>>>> name = lightning_energy
>>>>>>>>>>
>>>>>>>>>> [[[[AS3935_Stage]]]]
>>>>>>>>>> ignore = true
>>>>>>>>>> On Friday, June 25, 2021 at 8:15:48 PM UTC-5 Eric K wrote:
>>>>>>>>>>
>>>>>>>>>>> I've made some progress and I have MQTT messages getting
>>>>>>>>>>> received into MQTTSubscribe and put into the weewx database file!
>>>>>>>>>>>
>>>>>>>>>>> Here's the relevant section from the MQTTSubscribe section of
>>>>>>>>>>> weewx.conf:
>>>>>>>>>>>
>>>>>>>>>>> *[MQTTSubscribeService]*
>>>>>>>>>>>
>>>>>>>>>>> * enable = true*
>>>>>>>>>>>
>>>>>>>>>>> * host = localhost*
>>>>>>>>>>>
>>>>>>>>>>> * port = 1883*
>>>>>>>>>>>
>>>>>>>>>>> * keepalive = 60*
>>>>>>>>>>>
>>>>>>>>>>> * username = None*
>>>>>>>>>>>
>>>>>>>>>>> * password = None*
>>>>>>>>>>>
>>>>>>>>>>> * binding = loop*
>>>>>>>>>>>
>>>>>>>>>>> * [[message_callback]]*
>>>>>>>>>>>
>>>>>>>>>>> * type = json*
>>>>>>>>>>>
>>>>>>>>>>> * [[[tele/AS3935/SENSOR]]]*
>>>>>>>>>>> * [[[[Time]]]]*
>>>>>>>>>>> * ignore = true*
>>>>>>>>>>>
>>>>>>>>>>> * [[[[AS3935_Event]]]]*
>>>>>>>>>>> * # Use the default variable name from MQTT*
>>>>>>>>>>> * # MQTT messages with and event value in the
>>>>>>>>>>> following will be ignored.*
>>>>>>>>>>> * filter_out_message_when = 0, 2, 3, 4, 5, 6, 7,
>>>>>>>>>>> 8, 9*
>>>>>>>>>>> * conversion_type = int*
>>>>>>>>>>>
>>>>>>>>>>> * [[[[AS3935_Distance]]]]*
>>>>>>>>>>> * # Use the default variable name from MQTT.*
>>>>>>>>>>>
>>>>>>>>>>> * [[[[AS3935_Energy]]]]*
>>>>>>>>>>> * name = lightning_energy*
>>>>>>>>>>>
>>>>>>>>>>> * [[[[AS3935_Stage]]]]*
>>>>>>>>>>> * ignore = true*
>>>>>>>>>>>
>>>>>>>>>>> Here are a few lines from the /var/log/syslog showing the AS3935
>>>>>>>>>>> messages coming in and getting conditionally ignored.
>>>>>>>>>>> So, we know that part is working.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *Jun 25 19:50:46 pi3 weewx[31711] DEBUG user.MQTTSubscribe:
>>>>>>>>>>> (Service) MessageCallbackProvider data-> incoming topic:
>>>>>>>>>>> tele/AS3935/SENSOR, QOS: 0, retain: 0, payload:
>>>>>>>>>>> b'{"Time":"2021-06-25T19:50:46","AS3935":{"Event":0,"Distance":0,"Energy":0,"Stage":7}}'*
>>>>>>>>>>> *Jun 25 19:50:46 pi3 weewx[31711] INFO user.MQTTSubscribe:
>>>>>>>>>>> (Service) MessageCallbackProvider on_message_json filtered out
>>>>>>>>>>> tele/AS3935/SENSOR :
>>>>>>>>>>> b'{"Time":"2021-06-25T19:50:46","AS3935":{"Event":0,"Distance":0,"Energy":0,"Stage":7}}'
>>>>>>>>>>>
>>>>>>>>>>> with AS3935_Event=[0, 2, 3, 4, 5, 6, 7, 8, 9]*
>>>>>>>>>>>
>>>>>>>>>>> Then, in the Corrections section of weewx.conf, I am using a
>>>>>>>>>>> conditional statement to assign the AS3935 distance data to the
>>>>>>>>>>> weewx stock
>>>>>>>>>>> variable lightning_distance.
>>>>>>>>>>> I wasn't sure if my syntax was correct, but lightning distance
>>>>>>>>>>> data is appearing in the weewx database, so it appears to be
>>>>>>>>>>> working.
>>>>>>>>>>>
>>>>>>>>>>> *[StdCalibrate]*
>>>>>>>>>>>
>>>>>>>>>>> * [[Corrections]]*
>>>>>>>>>>>
>>>>>>>>>>> * outTemp = outTemp - 1.5*
>>>>>>>>>>> * barometer = barometer + 1.23*
>>>>>>>>>>> * lightning_distance = AS3935_Distance if AS3935_Event ==
>>>>>>>>>>> 1 else None*
>>>>>>>>>>>
>>>>>>>>>>> Finally, I looked in the weewx.sdb database file and saw 3
>>>>>>>>>>> lightning events listed in the variables lightning_distance and
>>>>>>>>>>> lightning_energy!
>>>>>>>>>>> See attached.
>>>>>>>>>>>
>>>>>>>>>>> I don't have the lightning_strike_count getting accumulated,
>>>>>>>>>>> yet....have to try and figure out which of the accumulator type to
>>>>>>>>>>> use.
>>>>>>>>>>>
>>>>>>>>>>> Progress.....
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wednesday, June 16, 2021 at 1:37:57 PM UTC-5 Eric K wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Very cool, Rich!
>>>>>>>>>>>> I'll put some effort into it.
>>>>>>>>>>>>
>>>>>>>>>>>> Based on your earlier coaching, I've been able to successfully
>>>>>>>>>>>> accept MQTT data from every sensor I've tried, including from a
>>>>>>>>>>>> Sonoff
>>>>>>>>>>>> Zigbee Bridge with a bunch of Sonoff SNZB-02 temperature sensors!
>>>>>>>>>>>>
>>>>>>>>>>>> [[[tele/ZBBridge/SENSOR]]]
>>>>>>>>>>>> # 0x4472 is #10 Living Room
>>>>>>>>>>>> [[[[ZbReceived_0x4472_Device]]]]
>>>>>>>>>>>> ignore = true
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbReceived_0x4472_Name]]]]
>>>>>>>>>>>> ignore = true
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbReceived_0x4472_Temperature]]]]
>>>>>>>>>>>> # The WeeWX name.
>>>>>>>>>>>> # Default is the name from MQTT.
>>>>>>>>>>>> name = inTemp
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbReceived_0x4472_Humidity]]]]
>>>>>>>>>>>> # The WeeWX name.
>>>>>>>>>>>> # Default is the name from MQTT.
>>>>>>>>>>>> name = inHumidity
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbReceived_0x4472_BatteryVoltage]]]]
>>>>>>>>>>>> ignore = true
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbReceived_0x4472_BatteryPercentage]]]]
>>>>>>>>>>>> ignore = true
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbReceived_0x4472_Endpoint]]]]
>>>>>>>>>>>> ignore = true
>>>>>>>>>>>>
>>>>>>>>>>>> [[[[ZbRecieved_0x4472_LinkQuality]]]]
>>>>>>>>>>>> ignore = true
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Wednesday, June 16, 2021 at 1:00:18 PM UTC-5
>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Eric,
>>>>>>>>>>>>> For (2), MQTTSubscribe has a 'filter_out_message_when' option.
>>>>>>>>>>>>> So, you would to do something like this in the MQTTSubscribe
>>>>>>>>>>>>> section
>>>>>>>>>>>>> [[topics]]
>>>>>>>>>>>>> [[[tele/AS3935/SENSOR]]]
>>>>>>>>>>>>> [[[[AS3935_Event]]]]
>>>>>>>>>>>>> ignore = True
>>>>>>>>>>>>> # MQTT messages with and event value in the following will
>>>>>>>>>>>>> be ignored.
>>>>>>>>>>>>> filter_out_message_when = 0, 2, 3, 4, 5, 6, 7, 8, 9
>>>>>>>>>>>>> conversion_type = int
>>>>>>>>>>>>> .
>>>>>>>>>>>>> .
>>>>>>>>>>>>> .
>>>>>>>>>>>>>
>>>>>>>>>>>>> A bit more detail on this option can be found here,
>>>>>>>>>>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/Configuring-additional-options#filter_out_message_when
>>>>>>>>>>>>> There is some background information here,
>>>>>>>>>>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/discussions/112
>>>>>>>>>>>>>
>>>>>>>>>>>>> For (3), read up on WeeWX accumulators here,
>>>>>>>>>>>>> https://github.com/weewx/weewx/wiki/Accumulators
>>>>>>>>>>>>>
>>>>>>>>>>>>> If you get this working, this is exactly the type of
>>>>>>>>>>>>> MQTTSubscribe configuration that I would like to capture as an
>>>>>>>>>>>>> example to
>>>>>>>>>>>>> help others in the future.
>>>>>>>>>>>>> - Rich
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tuesday, 15 June 2021 at 19:35:19 UTC-4 Eric K wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I just assembled this exact setup - AS3935 board with a Wemos
>>>>>>>>>>>>>> D1 mini clone and Tasmota 9.4.0 sensor firmware.
>>>>>>>>>>>>>> I didn't snap a picture before I deployed it, but it looks
>>>>>>>>>>>>>> very much like the attached photo.
>>>>>>>>>>>>>> I followed this page: https://tasmota.github.io/docs/AS3935/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Its working and I'm getting live data in the Tasmota web
>>>>>>>>>>>>>> interface.
>>>>>>>>>>>>>> I named it AS3935 in the Tasmota MQTT setup and it's sending
>>>>>>>>>>>>>> telemetry to my mosquitto MQTT broker.
>>>>>>>>>>>>>> The MQTT transmissions (seen from the Tasmota console) look
>>>>>>>>>>>>>> like the example on the tasmota.github AS3935 page:
>>>>>>>>>>>>>> 18:07:21.164 MQT: tele/AS3935/SENSOR =
>>>>>>>>>>>>>> {"Time":"2021-06-15T18:07:21","AS3935":{"Event":0,"Distance":0,"Energy":0,"Stage":7}}
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I think I need to:
>>>>>>>>>>>>>> 1. set the Tasmota setting AS3935lightevent to 1 so it only
>>>>>>>>>>>>>> sends MQTT messages when there is a lightning strike registered.
>>>>>>>>>>>>>> 2. set up weewx to read the MQTT Event variable so I only
>>>>>>>>>>>>>> react to a valid lightning strike with distance (event 1)
>>>>>>>>>>>>>> 3. Set up the lightning_count variable as an accumulator?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm not quite sure:
>>>>>>>>>>>>>> 1. how often I should set Tasmota's MQTT report period so I
>>>>>>>>>>>>>> don't miss counting a lightning strike? Once per second?
>>>>>>>>>>>>>> 2. how to set up a conditional statement in the MQTTSubscribe
>>>>>>>>>>>>>> section of weewx.conf to increment the lightning_count only when
>>>>>>>>>>>>>> valid
>>>>>>>>>>>>>> lightning events occur.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'll be looking for example weewx.conf file settings that
>>>>>>>>>>>>>> deal with the AS3935.
>>>>>>>>>>>>>> On Sunday, December 6, 2020 at 12:51:45 PM UTC-6
>>>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hello guys,
>>>>>>>>>>>>>>> did anyone tried to use *Lightning sensor AS3935* tinkered
>>>>>>>>>>>>>>> on cheap *ESP8266* with WeeWX?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> A time ago, I was user of Tasmota ESP8266 firmware and I
>>>>>>>>>>>>>>> know, it can publish MQTT + JSON data. Here is the manual how
>>>>>>>>>>>>>>> to tinker and
>>>>>>>>>>>>>>> flash those two together:
>>>>>>>>>>>>>>> https://tasmota.github.io/docs/AS3935/
>>>>>>>>>>>>>>> I assume, that with JSON / MQTT it would be prety easy to
>>>>>>>>>>>>>>> fill WeeWX database...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>> Miso,
>>>>>>>>>>>>>>> Slovakia
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>> 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/TaLWUitdDmE/unsubscribe
>>>>>>>>> .
>>>>>>>>> To unsubscribe from this group and all its topics, send an email
>>>>>>>>> to [email protected].
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/d/msgid/weewx-user/6ed65ff9-fede-41c0-b38e-3270a9aef9dbn%40googlegroups.com
>>>>>>>>>
>>>>>>>>> <https://groups.google.com/d/msgid/weewx-user/6ed65ff9-fede-41c0-b38e-3270a9aef9dbn%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/62a41e7f-187e-4f73-8383-951bfabc7aaen%40googlegroups.com.