Alex - it is unfortunate you're unfulfilled and still unhappy.

I did a test here on a pip installation and it 'does' work for me with mqtt 
0.24 in setting both more and fewer numbers to the right of the decimal 
point.

I added an input setting things to 5 digits and restarted weewx....

    [[MQTT]]
        client_id = ecowitt
        server_url = mqtt://192.168.1.171:1883/
        topic = ecowitt
        log_success = false
        log_failure = true
        enable = true

        [[[inputs]]]
            [[[[outTemp]]]]
                name = outtemp5
                format = %.5f
                unit = degree_F

pi@pi4:~/weewx-data$ mosquitto_sub -t ecowitt/outtemp5 -h 192.168.1.171
76.10000

I then changed it to outtemp0 and %.0f and restarted weewx again...

    [[MQTT]]
        client_id = ecowitt
        server_url = mqtt://192.168.1.171:1883/
        topic = ecowitt
        log_failure = true
        enable = true

        [[[inputs]]]
            [[[[outTemp]]]]
                name = outtemp0
                format = %.0f
                unit = degree_F

pi@pi4:~/weewx-data$ mosquitto_sub -t ecowitt/outtemp0 -h 192.168.1.171
76

On Thursday, August 29, 2024 at 2:17:14 PM UTC-7 Alex Z99 wrote:

> Hi Gary,
> I repeated the mqtt precedure and
> ##########################
> pi@RPi-Weewx:/etc/weewx $ sudo weectl extension list
>
> Using configuration file /etc/weewx/weewx.conf
> Extension Name    Version   Description
> mqtt              0.24      Upload weather data to MQTT server.
> ##########################
> That seems to be also not Matthew's version.
> The log (see attachment) and a trace in the broker reveals, that my 
> desired behavior is not fullfilled.
> So I'm still unhappy.
>
> br.
>
> Alex
>
>
>
> gjr80 schrieb am Dienstag, 27. August 2024 um 06:23:03 UTC+2:
>
>> A bit of googling suggests that this:
>>
>> Extension Name    Version   Description
>> MQTT              0.2.0     Extension for uploading LOOP data to an MQTT 
>> broker
>>
>> refers to the extension in this repo: 
>> https://github.com/michael-slx/weewx-mqtt. Looking through the code for 
>> this extension it does not support formatting the MQTT output as you wish 
>> to. I'm not sure what if any advantages the Michael-six uploader offers 
>> over the matthewwall uploader.
>>
>> As for your re-installlation problem. You appear to be using a package 
>> install of WeeWX v5. I know the instructions say to use pip to install 
>> paho-mqtt, but I find when you are not using a virtual python 
>> environment it is all to easy to end up with a non-functional install when 
>> using pip to install some packages. Try using apt to install paho-mqtt:
>> $ sudo apt update
>> $ sudo apt-cache policy python3-paho-mqtt
>>
>> this should show what version of paho-mqtt will be installed, something 
>> like:
>> python3-paho-mqtt:
>>   Installed: (none)
>>   Candidate: 1.6.1-1
>>   Version table:
>>      1.6.1-1 500
>>         500 http://deb.debian.org/debian bookworm/main arm64 Packages
>>         500 http://deb.debian.org/debian bookworm/main armhf Packages
>>
>> Provided the candidate version is 1.6.1 or lower (ie it is not v2.x.y) 
>> install paho-mqtt using:
>> $ sudo apt install python3-paho-mqtt
>>
>> You should be able to complete the rest of the uploader install/setup. If 
>> it does not work as expected edit weewx.conf, set debug = 2 and restart 
>> WeeWX. Post a log extract showing the complete WeeWX startup and the first 
>> few MQTT uploads. Also post the output from weectl debug as per 
>> instructions in my earlier post.
>>
>> Whether you previously installed paho-mqtt using pip or apt makes no 
>> difference to what WeeWX MQTT uploader was installed/used; somehow you 
>> separately installed the Michael-six uploader rather than the matthewwall 
>> uploader.
>>
>> Gary
>> On Monday 26 August 2024 at 22:09:38 UTC+10 [email protected] wrote:
>>
>>> Hi Gary,
>>>
>>> I checked your hint regarding MQTT version:
>>>
>>> First time, I installed step by step the instruction of the mentioned 
>>> link
>>> a list in weewx control tells me:
>>> weectl extension list
>>> Using configuration file /etc/weewx/weewx.conf
>>> Extension Name    Version   Description
>>> MQTT              0.2.0     Extension for uploading LOOP data to an MQTT 
>>> broker
>>> So I checked the installed packages regarding mqtt:
>>>  apt list | grep mqtt
>>>
>>> WARNING: apt does not have a stable CLI interface. Use with caution in 
>>> scripts.
>>>
>>> golang-github-eclipse-paho.mqtt.golang-dev/stable 1.1.1-1.1 all
>>> kamailio-mqtt-modules/stable 5.6.3-2+rpi1+b1 armhf
>>> libmqtt-client-java/stable 1.16-1 all
>>> libpaho-mqtt-dev/stable 1.3.12-1 armhf
>>> libpaho-mqtt1.3/stable 1.3.12-1 armhf
>>> libpaho-mqttpp-dev/stable 1.2.0-2 armhf
>>> libpaho-mqttpp3-1/stable 1.2.0-2 armhf
>>> node-mqtt-connection/stable 4.1.0-4 all
>>> node-mqtt-packet/stable 8.1.2-2 all
>>> node-mqtt/stable 4.3.7-2 all
>>> paho.mqtt.c-examples/stable 1.3.12-1 armhf
>>> prometheus-mqtt-exporter/stable 0.1.7-1 armhf
>>> python3-asyncio-mqtt/stable 0.16.1-3 all
>>> python3-hbmqtt/stable 0.9.6-1.2 all
>>> python3-paho-mqtt/stable,now 1.6.1-1 all  [installiert]
>>>
>>> To repeat the install process, I removed MQTT in weewx and removed 
>>> paho-mqtt in apt
>>> Reinstall according the instruction:
>>> wget -O weewx-mqtt.zip 
>>> https://github.com/matthewwall/weewx-mqtt/archive/master.zip
>>> sudo pip install paho-mqtt==1.6.1
>>> error: externally-managed-environment
>>>
>>> × This environment is externally managed
>>> ╰─> To install Python packages system-wide, try apt install
>>>     python3-xyz, where xyz is the package you are trying to
>>>     install.
>>>
>>>     If you wish to install a non-Debian-packaged Python package,
>>>     create a virtual environment using python3 -m venv path/to/venv.
>>>     Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
>>>     sure you have python3-full installed.
>>>
>>>     For more information visit http://rptl.io/venv
>>>
>>> note: If you believe this is a mistake, please contact your Python 
>>> installation or OS distribution provider. You can override this, at the 
>>> risk of breaking your Python installation or OS, by passing 
>>> --break-system-packages.
>>> hint: See PEP 668 for the detailed specification.
>>>
>>> => This error occured also at primary installation, so I installed the 
>>> paho-mqtt with apt.
>>> Maybe thats the key, why weewx mapped to a complete other version of 
>>> mqtt?
>>> Finally the list in apt reveals also other mqtt 
>>>
>>> So, what to do?
>>>
>>> br
>>>
>>> Alex
>>>
>>> gjr80 schrieb am Montag, 26. August 2024 um 04:05:25 UTC+2:
>>>
>>>> So exactly what MQTT service are you using? Your initial post includes 
>>>> the link https://github.com/weewx/weewx/wiki/mqtt (which in turn links 
>>>> to Matthew's RESTful MQTT uploader) and the instructions on that page are 
>>>> specific to Matthew's uploader. The log extract just provided shows 
>>>> user.mqtt.MqttService being loaded:
>>>>
>>>> 2024-08-25T19:43:39.786798+02:00 RPi-Weewx weewxd[3614]: DEBUG 
>>>> weewx.engine: Loading service user.mqtt.MqttService
>>>> 2024-08-25T19:43:39.862785+02:00 RPi-Weewx weewxd[3614]: DEBUG 
>>>> user.mqtt: Initializing MQTT service
>>>> 2024-08-25T19:43:39.863826+02:00 RPi-Weewx weewxd[3614]: DEBUG 
>>>> user.mqtt: Creating MQTT client with id "weewx_21680fb1"
>>>> 2024-08-25T19:43:39.881839+02:00 RPi-Weewx weewxd[3614]: DEBUG 
>>>> user.mqtt: Starting MQTT client
>>>> 2024-08-25T19:43:39.882861+02:00 RPi-Weewx weewxd[3614]: DEBUG 
>>>> weewx.engine: Finished loading service user.mqtt.MqttService
>>>>
>>>>  but Matthew's uploader has no class named MqttService (it has class 
>>>> MQTT). So it is clear you are not using Matthew's MQTT uploader.
>>>>
>>>> You might want to look up the instructions for use for whatever MQTT 
>>>> service you are using, or post details of the MQTT service you are using 
>>>> and we will see what we can work out.
>>>>
>>>> Gary
>>>>
>>>> On Monday 26 August 2024 at 04:05:46 UTC+10 [email protected] wrote:
>>>>
>>>>> Hi Gary,
>>>>>
>>>>> I took an exploit from syslog with debug-level 2, see attachment.
>>>>> As I mentioned, the observation data for wind, gust and outtemp are 
>>>>> still transmitted unformated, I also realiezed that rain values ( 
>>>>> "weather/rain_mm": 0.0 (mm)" ) have always zero values although the 
>>>>> website 
>>>>> tells me the correct rain of today  = 2.6 mm, also the rain_hour value 
>>>>> isn't okay with mqtt.
>>>>>
>>>>> br.
>>>>>
>>>>> Alex
>>>>>
>>>>> gjr80 schrieb am Dienstag, 20. August 2024 um 22:29:48 UTC+2:
>>>>>
>>>>>> I suggest you edit weewx.conf, set debug = 2, save weewx.conf and 
>>>>>> restart WeeWX. Let WeeWX run for at least two archive periods then take 
>>>>>> a 
>>>>>> log extract showing the full WeeWX startup through until the two archive 
>>>>>> periods have elapsed. Post the unaltered log extract here. Also 
>>>>>> worthwhile 
>>>>>> posting the output of weectl debug 
>>>>>> <http://weewx.com/docs/5.1/utilities/weectl-debug/> (or wee_debug 
>>>>>> <http://weewx.com/docs/4.10/utilities.htm#wee_debug_utility> if 
>>>>>> using WeeWX v4 or earlier). Check the output for sensitive data (eg 
>>>>>> passwords, user names, keys etc) before posting, weectl debug should 
>>>>>> obfuscate these but it is not perfect. 
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>> On Tuesday 20 August 2024 at 22:19:55 UTC+10 [email protected] wrote:
>>>>>>
>>>>>>> Hi Gary,
>>>>>>> thanks for your advice. After the modification of weewx.conf mqtt 
>>>>>>> data is still delivered (so tha's positive), but no change in the 
>>>>>>> number of 
>>>>>>> decimal places.
>>>>>>> My config:
>>>>>>> #########################
>>>>>>>  [[MQTT]]
>>>>>>>
>>>>>>>        enable = true
>>>>>>>         unit_system = METRICWX
>>>>>>>         # Hostname/IP of MQTT broker
>>>>>>>         host = 192.168.2.22
>>>>>>>         topic = weather
>>>>>>> #        append_units_label = false
>>>>>>>
>>>>>>>         [[[inputs]]]
>>>>>>>             [[[[outTemp]]]]
>>>>>>>                 format = %.2f                # use two decimal 
>>>>>>> places of precision
>>>>>>>                 name = outside_temperature    # use label other than 
>>>>>>> inTemp
>>>>>>>             [[[[windSpeed]]]]
>>>>>>>                 units = meter_per_second
>>>>>>>                 format = %.1f
>>>>>>>                 name = windSpeed_m_s
>>>>>>>             [[[[windGust]]]]
>>>>>>>                 units = meter_per_second
>>>>>>>                 format = %.1f
>>>>>>>                 name = gust_m_s
>>>>>>> ###########################
>>>>>>>
>>>>>>> and the result in the broker:
>>>>>>> ###########################
>>>>>>> weather/inTemp_degree_C 27.29999999999999
>>>>>>> weather/inHumidity_percent 67
>>>>>>> weather/outTemp_degree_C 24.700000000000003
>>>>>>> weather/outHumidity_percent 64
>>>>>>> weather/pressure_mbar 1012.8
>>>>>>> weather/windSpeed_meter_per_second 0.40000099419637863
>>>>>>> weather/windGust_meter_per_second 0.6000014912945679
>>>>>>> weather/windDir_degree_compass 112.5
>>>>>>> weather/windGustDir_degree_compass 112.5
>>>>>>> weather/rainRate_mm_per_hour 0.0
>>>>>>> weather/rain_mm (null)
>>>>>>> weather/rxCheckPercent_percent 100
>>>>>>> weather/windBatteryStatus 0
>>>>>>> weather/rainBatteryStatus 0
>>>>>>> weather/outTempBatteryStatus 0
>>>>>>> weather/inTempBatteryStatus 0
>>>>>>> weather/altimeter_mbar 1056.8811153752754
>>>>>>> weather/appTemp_degree_C 26.97221024879724
>>>>>>> weather/barometer_mbar 1055.5080297221955
>>>>>>> weather/cloudbase_meter 1267.4829583543142
>>>>>>> weather/dewpoint_degree_C 17.422122081623723
>>>>>>> weather/ET_mm (null)
>>>>>>> weather/heatindex_degree_C 24.89666666666667
>>>>>>> weather/humidex_degree_C 30.293088441750406
>>>>>>> weather/inDewpoint_degree_C 20.621737268345424
>>>>>>> weather/maxSolarRad_watt_per_meter_squared 813.5477625196611
>>>>>>> weather/windchill_degree_C 24.700000000000003
>>>>>>> weather/windrun_km (null)
>>>>>>> weather/usUnits 17
>>>>>>> ###########################
>>>>>>>
>>>>>>> Something goes wrong, but I've no idea
>>>>>>>
>>>>>>> br
>>>>>>>
>>>>>>> Alex
>>>>>>>
>>>>>>> gjr80 schrieb am Dienstag, 20. August 2024 um 11:02:39 UTC+2:
>>>>>>>
>>>>>>>> Your config stanza format is incorrect; you cannot just insert 
>>>>>>>> sub-stanzas in the middle of an existing stanza, the sub-stanzas need 
>>>>>>>> to be 
>>>>>>>> added to the end. In the case of a WeeWX config file indents don't 
>>>>>>>> matter 
>>>>>>>> but order does. Try something like:
>>>>>>>>
>>>>>>>>  [[MQTT]]        # Enable/disable this service
>>>>>>>>         enable = true
>>>>>>>>         unit_system = METRICWX
>>>>>>>>         # Hostname/IP of MQTT broker
>>>>>>>>         host = 192.168.2.22
>>>>>>>>         topic = weather
>>>>>>>>         [[[inputs]]]
>>>>>>>>             [[[[outTemp]]]]
>>>>>>>>                 format = %.2f                # use two decimal 
>>>>>>>> places of precision
>>>>>>>>                 name = outside_temperature    # use label other 
>>>>>>>> than inTemp
>>>>>>>>             [[[[windSpeed]]]]
>>>>>>>>                 units = meter_per_second
>>>>>>>>                 format = %.2f
>>>>>>>>                 name = wind_m_s
>>>>>>>>
>>>>>>>> The order you had meant the MQTT uploader was never seeing the host 
>>>>>>>> and topic config entries.
>>>>>>>>
>>>>>>>> If that doesn't work post a log extract showing the error.
>>>>>>>>
>>>>>>>> Gary
>>>>>>>> On Tuesday 20 August 2024 at 06:40:46 UTC+10 [email protected] wrote:
>>>>>>>>
>>>>>>>>> With this config, the weather values are puplished, but (i guess) 
>>>>>>>>> due to convert from US (within db) to Metricwx with up to 16 decimal 
>>>>>>>>> places. 
>>>>>>>>> ###############
>>>>>>>>>  [[MQTT]]        # Enable/disable this service
>>>>>>>>>         enable = true
>>>>>>>>>         unit_system = METRICWX
>>>>>>>>>         # Hostname/IP of MQTT broker
>>>>>>>>>         host = 192.168.2.22
>>>>>>>>>         # Prefix for topics
>>>>>>>>>         topic = weather
>>>>>>>>> #################
>>>>>>>>> I took one exemple from https://github.com/weewx/weewx/wiki/mqtt 
>>>>>>>>> to reduce the
>>>>>>>>> decimal places of the published values, but with this config, mqtt 
>>>>>>>>> stops working.
>>>>>>>>> #################
>>>>>>>>>  [[MQTT]]        # Enable/disable this service
>>>>>>>>>         enable = true
>>>>>>>>>         unit_system = METRICWX
>>>>>>>>>         [[[inputs]]]
>>>>>>>>>             [[[[outTemp]]]]
>>>>>>>>>                 format = %.2f                # use two decimal 
>>>>>>>>> places of precision
>>>>>>>>>                 name = outside_temperature    # use label other 
>>>>>>>>> than inTemp
>>>>>>>>>             [[[[windSpeed]]]]
>>>>>>>>>                 units = meter_per_second
>>>>>>>>>                 format = %.2f
>>>>>>>>>                 name = wind_m_s
>>>>>>>>>
>>>>>>>>>         # Hostname/IP of MQTT broker
>>>>>>>>>         host = 192.168.2.22
>>>>>>>>>         topic = weather 
>>>>>>>>> #################
>>>>>>>>>
>>>>>>>>> What could be wrong in the configuration?
>>>>>>>>> My aim ist to limit all published values to a max. of 2 digits 
>>>>>>>>> behind the dot
>>>>>>>>> e. g. instead 
>>>>>>>>> weather/windSpeed_meter_per_second 0.40000099419637863
>>>>>>>>> is should be:
>>>>>>>>> weather/windSpeed_meter_per_second 0.4
>>>>>>>>>
>>>>>>>>> br
>>>>>>>>> Alex
>>>>>>>>>
>>>>>>>>

-- 
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/4516ad70-6e96-4169-8488-44324f931b9an%40googlegroups.com.

Reply via email to