import data via MQTTSubscribe from VEML6075 sensor

68 views
Skip to first unread message

Ian Prescott

unread,
Oct 7, 2021, 8:27:41 AM10/7/21
to weewx-user
Hi
I have been putting together an ESP32 (running tasmota firmware) with the following sensors, BME280, TSL2561, AS3935.
I have got weewx importing the data from the sensors via MQTTSubscribe as a service using a json format.
This setup has been running without issues for a couple of weeks now while I waited for another sensor.
The VEML6075 finally arrived and I installed it.
The MQTT topic/payload now looks like this .....
tele/esp32-sensors/SENSOR { 
"Time":"2021-10-07T15:20:51", 
"BME280":{"Temperature":25.7,"Humidity":47.4,"DewPoint":13.6,"Pressure":1005.8},
"TSL2561":{"Illuminance":6223.000,"IR":87840,"Broadband":315312},
"AS3935":{"Event":8,"Distance":0,"Energy":0,"Stage":7},
"VEML6075":{"UvaIntensity":190,"UvbIntensity":147,"UvIndex":0.3},
"ESP32":{"Temperature":65.6},
"PressureUnit":"hPa",                 
"TempUnit":"C"                            
}

Unfortunately weewx now chokes on the only piece of data I was interested in from the VEML6075.
UvIndex causes weewx to stop.
I couldn't find any clues about "UvIndex" in the forum .........is it a "special word"?

Oct  7 22:10:01 weewx systemd[1]: Stopped LSB: weewx weather system.
Oct  7 22:10:01 weewx systemd[1]: Starting LSB: weewx weather system...
Oct  7 22:10:01 weewx weewx[1759359]:  * Starting weewx weather system weewx
Oct  7 22:10:01 weewx weewx[1759389] INFO __main__: Initializing weewx version 4.5.1
Oct  7 22:10:01 weewx weewx[1759389] INFO __main__: Using Python 3.8.10 (default, Sep 28 2021, 16:10:42) #012[GCC 9.3.0]
Oct  7 22:10:01 weewx weewx[1759389] INFO __main__: Platform Linux-5.4.0-88-generic-x86_64-with-glibc2.29
Oct  7 22:10:01 weewx weewx[1759389] INFO __main__: Locale is 'en_AU.UTF-8'
Oct  7 22:10:01 weewx weewx[1759389] INFO __main__: PID file is /var/run/weewx.pid
Oct  7 22:10:01 weewx weewx[1759399] ERROR __main__: Error parsing config file: Parsing failed with several errors.#012First error at line 827. File /etc/weewx/weewx.conf
Oct  7 22:10:01 weewx weewx[1759359]:    ...done.
Oct  7 22:10:01 weewx systemd[1]: Started LSB: weewx weather system.
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****  Traceback (most recent call last):
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****    File "/usr/share/weewx/weewxd", line 126, in main
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****      config_path, config_dict = weecfg.read_config(options.config_path, list(args))
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****    File "/usr/share/weewx/weecfg/__init__.py", line 176, in read_config
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****      config_dict = configobj.ConfigObj(config_path,
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/configobj.py", line 1229, in __init__
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****      self._load(infile, configspec)
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****    File "/usr/lib/python3/dist-packages/configobj.py", line 1318, in _load
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****      raise error
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****  configobj.ConfigObjError: Parsing failed with several errors.
Oct  7 22:10:01 weewx weewx[1759399] CRITICAL __main__:     ****  First error at line 827. File /etc/weewx/weewx.conf

my weewx.conf

798             [[[[AS3935_Distance]]]]
799                 # The WeeWX name.
800                 # Default is the name from MQTT.
801                 name = lightning_distance
802
803             [[[[AS3935_Energy]]]]
804                 # The WeeWX name.
805                 # Default is the name from MQTT.
806                 name = lightning_energy
807
808             [[[[AS3935_Stage]]]]
809                 # True if the incoming data should not be processed into WeeWX.
810                 # Valid values: True, False
811                 # Default is False
812                 ignore = True
813
814             # The incoming field name from MQTT.
815             [[[[VEML6075_UvaIntensity]]]]
816                 # The WeeWX name.
817                 # Default is the name from MQTT.
818                 ignore = True
819
820             # The incoming field name from MQTT.
821             [[[[VEML6075_UvbIntensity]]]]
822                 # The WeeWX name.
823                 # Default is the name from MQTT.
824                 ignore = True
825
826             # The incoming field name from MQTT.
827 #            [[[[VEML6075_UvIndex]]]
828                 # The WeeWX name.
829                 # Default is the name from MQTT.
830                 #name = signal2
831 #                ignore = True
832
833             [[[[ESP32_Temperature]]]]
834                 # The WeeWX name.
835                 # Default is the name from MQTT.
836                 name = extraTemp3

my accumulator stanza

[Accumulator]
    [[lightning_strike_count]]
    extractor = sum

I have debug = 1,
That is all the log I get if I remove the # from lines 827 & 831.
With lines 827 & 831 commented out weewx works as expected (like a dream).
any  assistance would be appreciated, thanks

Ian




bell...@gmail.com

unread,
Oct 7, 2021, 8:57:31 AM10/7/21
to weewx-user
Hi,
It looks like line 827 is missing a ].
rich

ianpre...@gmail.com

unread,
Oct 7, 2021, 5:40:52 PM10/7/21
to weewx-user
bother!!!!  I have been looking at it for too long ........
many Thanks

Graham Eddy

unread,
Oct 7, 2021, 8:29:13 PM10/7/21
to weewx...@googlegroups.com
mismatched brackets

On 7/10/21 11:27 pm, Ian Prescott wrote:
827 #            [[[[VEML6075_UvIndex]]]

Reply all
Reply to author
Forward
0 new messages