That fixed it - thanks!! My only error now is the one at service stop - no eros reported at start or while running
May 7 16:24:53 raspberrypi systemd[1]: Stopping LSB: weewx weather system... May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: Received signal TERM (15). May 7 16:24:53 raspberrypi weewx[10196] INFO weewx.engine: Main loop exiting. Shutting engine down. May 7 16:24:53 raspberrypi weewx[10196] INFO weewx.engine: Shutting down StdReport thread May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: Terminating weewx version 4.0.0 May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** Traceback (most recent call last): May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewxd", line 154, in main May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** engine.run() May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewx/engine.py", line 188, in run May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** for packet in self.console.genLoopPackets(): May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewx/drivers/vantage.py", line 532, in genLoopPackets May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** for _loop_packet in self.genDavisLoopPackets(200): May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewx/drivers/vantage.py", line 559, in genDavisLoopPackets May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** loop_packet = self._get_packet() May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewx/drivers/vantage.py", line 572, in _get_packet May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** _buffer = self.port.read(99) May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewx/drivers/vantage.py", line 279, in read May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** _buffer = self.serial_port.read(chars) May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 472, in read May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left()) May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** File "/usr/share/weewx/weewxd", line 257, in sigTERMhandler May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** raise Terminate May 7 16:24:53 raspberrypi weewx[10372]: Stopping weewx weather system: weewx. May 7 16:24:53 raspberrypi systemd[1]: Stopped LSB: weewx weather system. May 7 16:24:53 raspberrypi weewx[10196] INFO __main__: **** Terminate On Thu, 7 May 2020 at 15:02, Tom Keffer <tkef...@gmail.com> wrote: > Missed that. > > Give it another try: > > https://raw.githubusercontent.com/tkeffer/weewx-owm/master/bin/user/owm.py > > -tk > > On Wed, May 6, 2020 at 4:57 PM Colin Larsen <colin.lar...@gmail.com> > wrote: > >> Whoops - nope, now getting this error from owm.py >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: OWM: >> Unexpected exception of type <class 'TypeError'> >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** Traceback >> (most recent call last): >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/share/weewx/weewx/restx.py", line 378, in run_loop >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** >> self.process_record(_record, >> dbmanager) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/share/weewx/user/owm.py", line 210, in process_record >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** >> self.post_with_retries(req) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/share/weewx/weewx/restx.py", line 472, in post_with_retries >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** _response >> = self.post_request(request, data) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/share/weewx/weewx/restx.py", line 539, in post_request >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** _response >> = urllib.request.urlopen(request, data=data_bytes, timeout=self.timeout) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** return >> opener.open(url, data, timeout) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/lib/python3.5/urllib/request.py", line 464, in open >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** req = >> meth(req) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** File >> "/usr/lib/python3.5/urllib/request.py", line 1183, in do_request_ >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** raise >> TypeError(msg) >> >> May 7 11:55:15 raspberrypi weewx[4010] ERROR weewx.restx: *** >> TypeError: POST data should be bytes or an iterable of bytes. It cannot be >> of type str. >> >> May 7 11:55:15 raspberrypi weewx[4010] CRITICAL weewx.restx: OWM: >> Thread terminating. Reason: POST data should be bytes or an iterable of >> bytes. It cannot be of type str. >> >> On Thu, 7 May 2020 at 11:55, Colin Larsen <colin.lar...@gmail.com> wrote: >> >>> That seems to have fixed owm - thanks! >>> >>> Getting this error on a restart - but no errors during the start itself >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO weewx.engine: Main loop >>> exiting. Shutting engine down. >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: Terminating >>> weewx version 4.0.0 >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** Traceback >>> (most recent call last): >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewxd", line 154, in main >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** >>> engine.run() >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewx/engine.py", line 188, in run >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** for >>> packet in self.console.genLoopPackets(): >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewx/drivers/vantage.py", line 532, in genLoopPackets >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** for >>> _loop_packet in self.genDavisLoopPackets(200): >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewx/drivers/vantage.py", line 559, in >>> genDavisLoopPackets >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** >>> loop_packet >>> = self._get_packet() >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewx/drivers/vantage.py", line 572, in _get_packet >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** _buffer >>> = self.port.read(99) >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewx/drivers/vantage.py", line 279, in read >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** _buffer >>> = self.serial_port.read(chars) >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/lib/python3/dist-packages/serial/serialposix.py", line 472, in read >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** ready, >>> _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], >>> timeout.time_left()) >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** File >>> "/usr/share/weewx/weewxd", line 257, in sigTERMhandler >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** raise >>> Terminate >>> >>> May 7 11:53:05 raspberrypi weewx[3923] INFO __main__: **** >>> Terminate >>> >>> May 7 11:53:10 raspberrypi weewx[3964]: Stopping weewx weather system: >>> weewx.. >>> >>> May 7 11:53:10 raspberrypi systemd[1]: Stopped LSB: weewx weather >>> system. >>> >>> May 7 11:53:11 raspberrypi systemd[1]: Starting LSB: weewx weather >>> system... >>> >>> May 7 11:53:11 raspberrypi weewx[4006] INFO __main__: Initializing >>> weewx version 4.0.0 >>> >>> May 7 11:53:11 raspberrypi weewx[4006] INFO __main__: Using Python >>> 3.5.3 (default, Sep 27 2018, 17:25:39) #012[GCC 6.3.0 20170516] >>> >>> May 7 11:53:11 raspberrypi weewx[4006] INFO __main__: Platform >>> Linux-4.14.71-v7+-armv7l-with-debian-9.4 >>> >>> May 7 11:53:11 raspberrypi weewx[4006] INFO __main__: Locale is >>> 'en_NZ.UTF-8' >>> >>> May 7 11:53:11 raspberrypi weewx[4006] INFO __main__: PID file is >>> /var/run/weewx.pid >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO __main__: Using >>> configuration file /etc/weewx/weewx.conf >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.engine: Loading >>> station type Vantage (weewx.drivers.vantage) >>> >>> May 7 11:53:11 raspberrypi weewx[3994]: Starting weewx weather system: >>> weewx. >>> >>> May 7 11:53:11 raspberrypi systemd[1]: Started LSB: weewx weather >>> system. >>> >>> May 7 11:53:11 raspberrypi /weewxd: filepile: Using >>> /home/pi/AQIData.txt with the 'METRIC' unit system >>> >>> May 7 11:53:11 raspberrypi /weewxd: filepile: Label map is {} >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.engine: StdConvert >>> target unit is 0x10 >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.wxservices: The >>> following values will be calculated: pressure=prefer_hardware, >>> barometer=prefer_hardware, altimeter=prefer_hardware, >>> windchill=prefer_hardware, heatindex=prefer_hardware, >>> dewpoint=prefer_hardware, inDewpoint=prefer_hardware, >>> rainRate=prefer_hardware, appTemp=software, maxSolarRad=prefer_hardware, >>> cloudbase=prefer_hardware, humidex=prefer_hardware, ET=prefer_hardware, >>> windrun=prefer_hardware >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.wxservices: The >>> following algorithms will be used for calculations: altimeter=aaASOS, >>> maxSolarRad=RS >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.engine: Archive will >>> use data binding wx_binding >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.engine: Record >>> generation will be attempted in 'software' >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.engine: Using >>> archive interval of 300 seconds (software record generation) >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.restx: >>> StationRegistry: Station will be registered. >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.restx: Wunderground: >>> Posting not enabled. >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.restx: PWSweather: >>> Posting not enabled. >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.restx: CWOP: Data >>> for station ZL2ARL will be posted >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.restx: WOW: Posting >>> not enabled. >>> >>> May 7 11:53:11 raspberrypi weewx[4010] INFO weewx.restx: AWEKAS: >>> Posting not enabled. >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.mqtt: service version >>> is 0.22 >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.mqtt: binding to loop >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.mqtt: topic is >>> weather/41south >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.mqtt: desired unit >>> system is METRIC >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.mqtt: data will be >>> uploaded to mqtt://192.168.20.121:1883/ >>> >>> May 7 11:53:12 raspberrypi /weewxd: restx: Windy: version is 0.4 >>> >>> May 7 11:53:12 raspberrypi /weewxd: restx: Windy: Data will be >>> uploaded to https://stations.windy.com/pws/update >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.owm: service version >>> is 0.9 >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO user.owm: Data will be >>> uploaded for 5e8d2259cca8ce0001f1aabd >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO __main__: Starting up >>> weewx version 4.0.0 >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO weewx.engine: Clock error >>> is -1.17 seconds (positive is fast) >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO weewx.engine: Using >>> binding 'wx_binding' to database 'weewx.sdb' >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO weewx.manager: Starting >>> backfill of daily summaries >>> >>> May 7 11:53:12 raspberrypi weewx[4010] INFO weewx.engine: Starting >>> main packet loop. >>> >>> On Thu, 7 May 2020 at 11:52, Greg from Oz <ubeau...@gmail.com> wrote: >>> >>>> Thanks Tom, >>>> >>>> I am converting to python3 and I am know nothing about python at all so >>>> going through the code manually for me was not an option. I just used the >>>> 2to3 and if it worked then it was ok if it didn't then I just had to delve >>>> deeper or contact the author. >>>> >>>> I built a 20.04 server Ubuntu and loaded weewx and then put my >>>> configuration and all my templates etc on it to see what would I would have >>>> to do if I wanted to go wholly pyhton3. >>>> >>>> I have converted all the addons etc I am using but I cannot get the >>>> Steel series gauges to run with python3 so I have just made the enable true >>>> to enable false in the weewx.conf >>>> >>>> I can live without the gauges. Below is the error: >>>> >>>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Running >>>> report 'SteelSeries' >>>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Found >>>> configuration file /etc/weewx/skins/ss/skin.conf for report 'SteelSeries' >>>> May 7 09:35:24 jed165 weewx[2390] INFO weewx.reportengine: Copied 0 >>>> files to /var/www/html/weather/ss >>>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.cheetahgenerator: Using >>>> search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.S >>>> tation', 'weewx.cheetahgenerator.Current', >>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', >>>> 'weewx.cheetahgenerator.Extras'] >>>> May 7 09:35:24 jed165 weewx[2390] DEBUG weewx.manager: Daily summary >>>> version is 2.0 >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: >>>> Generate failed with exception '<class 'TypeError'>' >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> Ignoring template /etc/weewx/skins/ss/gauge-data.txt.tmpl >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> Reason: '>' not supported between instances of 'NoneType' and 'int' >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> Traceback (most recent call last): >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in genera >>>> te >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> unicode_string = compiled_template.respond() >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 339, in respon >>>> d >>>> May 7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** >>>> TypeError: '>' not supported between instances of 'NoneType' and 'int' >>>> >>>> Other than that all works so far using the simulator driver. I will try >>>> the fineoffset driver later and see what happens. >>>> >>>> >>>> On Thursday, 7 May 2020 09:26:30 UTC+10, Tom Keffer wrote: >>>>> >>>>> The problem with 2to3 is that the results are Python 3 only. >>>>> >>>>> The tool python-modernize >>>>> <https://python-modernize.readthedocs.io/en/latest/> does a little >>>>> better and its results will run under 2 or 3, but they will also depend on >>>>> the library 'six'. >>>>> >>>>> Drivers and uploaders are especially tricky because they have to do >>>>> string <--> byte conversions. Those almost always have to be hand coded. >>>>> >>>>> In the end, I've found it easiest just to grind through the code >>>>> manually. >>>>> >>>>> -tk >>>>> >>>>> On Wed, May 6, 2020 at 4:17 PM Greg from Oz <ubea...@gmail.com> wrote: >>>>> >>>>>> I have run a program called 2to3 python converter program on some of >>>>>> the python2 scripts and it fixed most of the problems and did the >>>>>> conversion to the python3 syntax. >>>>>> >>>>>> example: 2to3 -w /usr/share/weewx/user/owm.py >>>>>> >>>>>> >>>>>> On Wednesday, 6 May 2020 12:31:23 UTC+10, Colin Larsen wrote: >>>>>>> >>>>>>> Fixed that one with; sudo python3 -m pip install paho-mqtt >>>>>>> >>>>>>> Now I have an error that looks like it is Open Wetaher map? >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: Caught >>>>>>> unrecoverable exception: >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> invalid syntax (owm.py, line 84) >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> Traceback (most recent call last): >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> File "/usr/share/weewx/weewxd", line 148, in main >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> engine = weewx.engine.StdEngine(config_dict) >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> File "/usr/share/weewx/weewx/engine.py", line 75, in __init__ >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> self.loadServices(config_dict) >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> File "/usr/share/weewx/weewx/engine.py", line 138, in loadServices >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> obj = weeutil.weeutil.get_object(svc)(self,config_dict) >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> File "/usr/share/weewx/weeutil/weeutil.py", line 1093, in >>>>>>> get_object >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> mod = __import__(module) >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> File "/usr/share/weewx/user/owm.py", line 84 >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> except KeyError, e: >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> ^ >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> SyntaxError: invalid syntax >>>>>>> >>>>>>> May 6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: **** >>>>>>> Exiting. >>>>>>> >>>>>>> On Wed, 6 May 2020 at 14:19, Colin Larsen <colin...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Still going ...... >>>>>>>> >>>>>>>> Installed the new mqtt and now get this error >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: Caught >>>>>>>> unrecoverable exception: >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> No module named 'paho' >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> Traceback (most recent call last): >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> File "/usr/share/weewx/weewxd", line 148, in main >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> engine = weewx.engine.StdEngine(config_dict) >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> File "/usr/share/weewx/weewx/engine.py", line 75, in __init__ >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> self.loadServices(config_dict) >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> File "/usr/share/weewx/weewx/engine.py", line 138, in >>>>>>>> loadServices >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> obj = weeutil.weeutil.get_object(svc)(self,config_dict) >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> File "/usr/share/weewx/weeutil/weeutil.py", line 1093, in >>>>>>>> get_object >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> mod = __import__(module) >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> File "/usr/share/weewx/user/mqtt.py", line 94, in <module> >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> import paho.mqtt.client as mqtt >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> ImportError: No module named 'paho' >>>>>>>> >>>>>>>> May 6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: **** >>>>>>>> Exiting. >>>>>>>> >>>>>>>> >>>>>>>> Tried to install Paho and I get ... >>>>>>>> >>>>>>>> >>>>>>>> *pi@raspberrypi*:*/etc/default $* sudo pip install paho-mqtt >>>>>>>> >>>>>>>> Requirement already satisfied: paho-mqtt in >>>>>>>> /usr/local/lib/python2.7/dist-packages >>>>>>>> >>>>>>>> >>>>>>>> So how do I install it for python3 please :) >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Cheers >>>>>>>> >>>>>>>> Colin >>>>>>>> >>>>>>>> On Tue, 5 May 2020 at 00:18, Graham Eddy <graha...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> this (ujson instead of python-cjson, then install mqtt extension) >>>>>>>>> seems to have worked up to point that weewx.log reports its mqtt >>>>>>>>> client is >>>>>>>>> successfully publishing loop data >>>>>>>>> >>>>>>>>> sudo python3.7 -m pip install ujson >>>>>>>>> >>>>>>>>> >>>>>>>>> On 4 May 2020, at 8:58 pm, Graham Eddy <graha...@gmail.com> wrote: >>>>>>>>> >>>>>>>>> i have only just become interested in mqtt (to make my custom >>>>>>>>> weewx gauges near realtime). >>>>>>>>> the link to the MQTT weewx extension mentioned below lists two >>>>>>>>> prerequisites: paho-mqtt, python-cjson. >>>>>>>>> paho-mqtt installed fine. >>>>>>>>> python-cjson fails. >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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...@googlegroups.com. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/weewx-user/296D8321-100E-45B1-A47A-2657960A2942%40gmail.com >>>>>>>>> <https://groups.google.com/d/msgid/weewx-user/296D8321-100E-45B1-A47A-2657960A2942%40gmail.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 weewx...@googlegroups.com. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/weewx-user/5edba9a8-8cbb-4ae9-8b86-68b0c5a9cdf7%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/weewx-user/5edba9a8-8cbb-4ae9-8b86-68b0c5a9cdf7%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 weewx-user+unsubscr...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/weewx-user/7aab2ac7-b93f-4c51-893f-d8c4fc508e4f%40googlegroups.com >>>> <https://groups.google.com/d/msgid/weewx-user/7aab2ac7-b93f-4c51-893f-d8c4fc508e4f%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 weewx-user+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/weewx-user/CACjxfUuJP1t_wr%3Dmq8R2tyZP6K9Qo1KdZzY63k64YpuL1pXm0w%40mail.gmail.com >> <https://groups.google.com/d/msgid/weewx-user/CACjxfUuJP1t_wr%3Dmq8R2tyZP6K9Qo1KdZzY63k64YpuL1pXm0w%40mail.gmail.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 weewx-user+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/weewx-user/CAPq0zEAi7dv7g%2BRWJTPCsLvj5J9pUCxbXOfE8e5WN5%2B0eJQVFQ%40mail.gmail.com > <https://groups.google.com/d/msgid/weewx-user/CAPq0zEAi7dv7g%2BRWJTPCsLvj5J9pUCxbXOfE8e5WN5%2B0eJQVFQ%40mail.gmail.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 weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CACjxfUtxuK-U1n%2BrjSvTJNaeCLf_ousJvL2CV84kj6TwVtUqcA%40mail.gmail.com.