Hi there!
may I ask the differences of this new driver compare to the existing one ? 
(I guess at least JSON)
Best regards,



Le jeudi 25 avril 2019 19:47:23 UTC+2, Rich Bell a écrit :
>
> I think i am not handling the options correctly and the keepalive is a 
> string and not an integer. For now, leave it out of weewx.conf and let it 
> default to 60.
> - rich
>
> On Thu, Apr 25, 2019 at 11:14 AM Eugen66 <hage...@gmail.com <javascript:>> 
> wrote:
>
>> Thank you so much for helping :)
>> I have used the apt..
>>
>> When I run, in folder etc/weewx, I get this :
>> :/etc/weewx# PYTHONPATH=/usr/share/weewx python 
>> /usr/share/weewx//user/MQTTSubscribe.py --type service --binding archive 
>> --interval 300  --delay 15 --records 2 weewx.conf
>> Simulation is service
>> Creating 2 archive records
>> Interval is 300 seconds
>> Delay is 15 seconds
>> Traceback (most recent call last):
>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 557, in <module>
>>     main()
>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 479, in main
>>     simulate_service(engine, config_dict, binding, record_count, 
>> interval, delay, units)
>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 523, in 
>> simulate_service
>>     service = MQTTSubscribeService(engine, config_dict)
>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 263, in __init__
>>     self.thread = MQTTSubscribeServiceThread(self, self.client, 
>> self.queue, self.archive_queue, label_map, unit_system, payload_type, host, 
>> keepalive, por                  t, username, password, topic, archive_topic)
>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 326, in __init__
>>     MQTTSubscribe.__init__(self, client, queue, archive_queue, label_map, 
>> unit_system, payload_type, host, keepalive, port, username, password, 
>> topic, arc                  hive_topic)
>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 135, in __init__
>>     self.client.connect(host, port, keepalive)
>>   File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 
>> 839, in connect
>>     return self.reconnect()
>>   File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 
>> 1009, in reconnect
>>     return self._send_connect(self._keepalive, self._clean_session)
>>   File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 
>> 2361, in _send_connect
>>     keepalive))
>> struct.error: cannot convert argument to integer
>>
>> And trying with 60 
>>
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Keep alive is 60
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Username is openhabian
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Password is set
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Topic is Weather/
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Archive topic is None
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Payload type is 
>> individual
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Default units is 1
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: MQTTSS: Label map is 
>> {'outHumidity': 'outHumidity', 'overlap': '20', 'binding': 'loop'}
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: sdr: MainThread: shutdown 
>> process rtl_433 -M utc -F json -G
>> Apr 25 17:11:20 weewx-hyggebu weewx[14390]: sdr: MainThread: waiting for 
>> stdout-thread
>> Apr 25 17:11:24 weewx-hyggebu weewx[14390]: sdr: MainThread: waiting for 
>> stderr-thread
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]: sdr: MainThread: timed out 
>> waiting for stderr-thread
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]: sdr: MainThread: close stdout
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]: sdr: MainThread: close stderr
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]: engine: Caught unrecoverable 
>> exception in engine:
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****  cannot convert 
>> argument to integer
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****  Traceback (most 
>> recent call last):
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/share/weewx/weewx/engine.py", line 884, in main
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      engine = 
>> engine_class(config_dict)
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/share/weewx/weewx/engine.py", line 78, in __init__
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      
>> self.loadServices(config_dict)
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/share/weewx/weewx/engine.py", line 142, in loadServices
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      
>> self.service_obj.append(weeutil.weeutil._get_object(svc)(self, config_dict))
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/share/weewx/user/MQTTSubscribe.py", line 263, in __init__
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      self.thread = 
>> MQTTSubscribeServiceThread(self, self.client, self.queue, 
>> self.archive_queue, label_map, unit_system, payload_type, host, keepalive, 
>> port, username, password, topic, archive_topic)
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/share/weewx/user/MQTTSubscribe.py", line 326, in __init__
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      
>> MQTTSubscribe.__init__(self, client, queue, archive_queue, label_map, 
>> unit_system, payload_type, host, keepalive, port, username, password, 
>> topic, archive_topic)
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/share/weewx/user/MQTTSubscribe.py", line 135, in __init__
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      
>> self.client.connect(host, port, keepalive)
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 839, in 
>> connect
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      return 
>> self.reconnect()
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1009, in 
>> reconnect
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      return 
>> self._send_connect(self._keepalive, self._clean_session)
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****    File 
>> "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2361, in 
>> _send_connect
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****      keepalive))
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****  error: cannot 
>> convert argument to integer
>> Apr 25 17:11:34 weewx-hyggebu weewx[14390]:     ****  Exiting.
>>
>>
>> torsdag 25. april 2019 16.47.02 UTC+2 skrev bell...@gmail.com følgende:
>>>
>>> Hi,
>>> I have only installed via setup.py, but I think the problem with running 
>>> standalone is that after the PYTHONPATH= it should be /usr/share/*weewx*
>>> PYTHONPATH=/usr/share/*weewx* python 
>>> /usr/share/weewx//user/MQTTSubscribe.py --type service --binding archive 
>>> --interval 300 --delay 15 --records 2 weewx.conf
>>>
>>> As for the real error, it appears that the keepalive value might need to 
>>> be divisible by 60. I can reproduce the error when I set it to 70, but I am 
>>> still researching.
>>> - Rich
>>>
>>>
>>> On Thursday, 25 April 2019 10:08:22 UTC-4, Eugen66 wrote:
>>>>
>>>> Hi, 
>>>> really trying to get your MQTT subscription to work, this is a very 
>>>> useful way of adding values to a  great weather software :)
>>>> I use (for the moment SDR as driver)
>>>> When I try to run it stand alone I get this:
>>>>
>>>>  PYTHONPATH=/usr/share/ python /usr/share/weewx//user/MQTTSubscribe.py 
>>>> --type service --binding archive --interval 300 --delay 15 --records 2 
>>>> weewx.conf
>>>> Traceback (most recent call last):
>>>>   File "/usr/share/weewx//user/MQTTSubscribe.py", line 75, in <module>
>>>>     import weeutil.weeutil
>>>> ImportError: No module named weeutil.weeutil
>>>>
>>>> and  Weewx fail to start when I  add MQTTSubscribe.... to weewx.conf
>>>>
>>>> Any suggestion?
>>>>
>>>> this is the log:
>>>> Apr 25 15:50:26 weewx-hyggebu systemd[1]: Starting LSB: weewx weather 
>>>> system...
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9314]: engine: Initializing weewx 
>>>> version 3.9.1
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9314]: engine: Using Python 2.7.13 
>>>> (default, Sep 26 2018, 18:42:22) #012[GCC 6.3.0 20170516]
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9314]: engine: Platform 
>>>> Linux-4.14.98-v7+-armv7l-with-debian-9.8
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9314]: engine: Locale is 
>>>> 'en_GB.UTF-8'
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9314]: engine: pid file is 
>>>> /var/run/weewx.pid
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9303]: Starting weewx weather 
>>>> system: weewx.
>>>> Apr 25 15:50:27 weewx-hyggebu systemd[1]: Started LSB: weewx weather 
>>>> system.
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Using configuration 
>>>> file /etc/weewx/weewx.conf
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Debug is 1
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Initializing engine
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Loading station type 
>>>> SDR (user.sdr)
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: MainThread: driver 
>>>> version is 0.62
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: MainThread: sensor map 
>>>> is {'inTemp': 'temperature.8:1.AcuriteWT450Packet', 'outTemp': 
>>>> 'temperature.1:1.AcuriteWT450Packet', 'outHumidity': '', 'extraTemp1': 
>>>> 'temperature.4:5.HidekiWindPacket', 'extraHumidity1': '', 'extraTemp2': 
>>>> '', 
>>>> 'extraHumidity3': '', 'rain': 'rain_total.4:0.HidekiRainPacket', 
>>>> 'rainBatteryStatus': 'battery.4:0.HidekiRainPacket', 'UV': 
>>>> 'uv_index.1:137.OSUV800Packet', 'outTempBatteryStatus': 
>>>> 'battery.1:137.OSUV800Packet', 'windDir': 'wind_dir.4:5.HidekiWindPacket', 
>>>> 'windGust': 'wind_gust.4:5.HidekiWindPacket', 'windSpeed': 
>>>> 'wind_speed.4:5.HidekiWindPacket', 'windBatteryStatus': 
>>>> 'battery.4:5.HidekiWindPacket'}
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: MainThread: deltas is 
>>>> {'strikes': 'strikes_total', 'rain': 'rain_total'}
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: MainThread: startup 
>>>> process 'rtl_433 -M utc -F json -G'
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: stdout-thread: start 
>>>> async reader for stdout-thread
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: stderr-thread: start 
>>>> async reader for stderr-thread
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Loading service 
>>>> weewx.engine.StdTimeSynch
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Finished loading 
>>>> service weewx.engine.StdTimeSynch
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: engine: Loading service 
>>>> user.MQTTSubscribe.MQTTSubscribeService
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Client id is weewx
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Binding is loop
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Default units is US 1
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Overlap is 0.0
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Host is 10.0.10.165
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Port is 1883
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Keep alive is 70
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Username is xxxxxx
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Password is set
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Topic is Weather/
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Archive topic is None
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Payload type is 
>>>> individual
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Default units is 1
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: MQTTSS: Label map is 
>>>> {'outHumidity': 'outHumidity', 'overlap': '20', 'binding': 'loop'}
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: MainThread: shutdown 
>>>> process rtl_433 -M utc -F json -G
>>>> Apr 25 15:50:27 weewx-hyggebu weewx[9318]: sdr: MainThread: waiting for 
>>>> stdout-thread
>>>> Apr 25 15:50:31 weewx-hyggebu weewx[9318]: sdr: MainThread: waiting for 
>>>> stderr-thread
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]: sdr: MainThread: timed out 
>>>> waiting for stderr-thread
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]: sdr: MainThread: close stdout
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]: sdr: MainThread: close stderr
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]: engine: Caught unrecoverable 
>>>> exception in engine:
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****  cannot convert 
>>>> argument to integer
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****  Traceback (most 
>>>> recent call last):
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/share/weewx/weewx/engine.py", line 884, in main
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      engine = 
>>>> engine_class(config_dict)
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/share/weewx/weewx/engine.py", line 78, in __init__
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      
>>>> self.loadServices(config_dict)
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/share/weewx/weewx/engine.py", line 142, in loadServices
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      
>>>> self.service_obj.append(weeutil.weeutil._get_object(svc)(self, 
>>>> config_dict))
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/share/weewx/user/MQTTSubscribe.py", line 263, in __init__
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      self.thread = 
>>>> MQTTSubscribeServiceThread(self, self.client, self.queue, 
>>>> self.archive_queue, label_map, unit_system, payload_type, host, keepalive, 
>>>> port, username, password, topic, archive_topic)
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/share/weewx/user/MQTTSubscribe.py", line 326, in __init__
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      
>>>> MQTTSubscribe.__init__(self, client, queue, archive_queue, label_map, 
>>>> unit_system, payload_type, host, keepalive, port, username, password, 
>>>> topic, archive_topic)
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/share/weewx/user/MQTTSubscribe.py", line 135, in __init__
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      
>>>> self.client.connect(host, port, keepalive)
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 839, in 
>>>> connect
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      return 
>>>> self.reconnect()
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1009, 
>>>> in 
>>>> reconnect
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      return 
>>>> self._send_connect(self._keepalive, self._clean_session)
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****    File 
>>>> "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2361, 
>>>> in 
>>>> _send_connect
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****      keepalive))
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****  error: cannot 
>>>> convert argument to integer
>>>> Apr 25 15:50:41 weewx-hyggebu weewx[9318]:     ****  Exiting.
>>>>
>>>>
>>>>
>>>> onsdag 24. april 2019 01.36.17 UTC+2 skrev bell...@gmail.com følgende:
>>>>>
>>>>> After experimenting and developing more, I decided this needs it own 
>>>>> repository. You can now find it here, 
>>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe
>>>>>
>>>>> The service now supports binding to either new loop packets or new 
>>>>> archive records. Since much of the code was similar to my MQTT driver, 
>>>>> this 
>>>>> has been added to the module. It is still a manual install process, but 
>>>>> some documentation has been added.
>>>>> -rich
>>>>>
>>>> -- 
>> 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 <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to