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 <hagea...@gmail.com> 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-user+unsubscr...@googlegroups.com.
> 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