Thanks for the detailed information and telling me were to look! I think 
this is also due to the date/time processing of MQTTSubscribe. It is 
creating packets 'out of order', which not surprisingly is confusing WeeWX. 
At a high level, MQTTSubscribe puts out a packet that makes WeeWX think its 
time to create the 14:11 record (data for the 14:12 record). Then a packet 
is created that 'belongs in the 14:11' record is created. This 'jumping 
around' is across the different topics you are subscribed to.
I think the following should fix it.

    [[topics]]
        # Even if the payload has a datetime, ignore it and use the server 
datetime.
        use_server_datetime = True
        unit_system = METRIC

rich

On Saturday, 11 December 2021 at 08:43:12 UTC-5 Michael wrote:

> Hi Rich,
> thanks for looking. Enclosed is the data...
> And yes, the database does not contain any data if the report does not 
> show any data either.
> But what I have just noticed:
> Between 14:10:xx and 14:11:24 extraTemp4 is present several times in the 
> loop values, but not in the REC value 14:11:00?
>
>
> Michael
>
>
> [email protected] schrieb am Samstag, 11. Dezember 2021 um 13:34:29 UTC+1:
>
>> This is definitely something different, so thanks for starting a new 
>> thread. I am a bit stumped at the moment. I assume that when you query the 
>> database that you don't see the data in the database. Could you run WeeWX 
>> from the console for a couple of archive periods and attach the output?
>> rich
>>
>> On Friday, 10 December 2021 at 14:17:00 UTC-5 Michael wrote:
>>
>>> Hello,
>>>
>>> I have a similar problem as already described in "Some missing data in 
>>> Current Conditions on Standard skin". But only similar, so I am opening a 
>>> new topic:
>>>
>>> I am using this version of weewx (4.6.0b7) as a data collector from 2 
>>> other weewx installations. The 2 other weewx versions send their data as 
>>> MQTT data and this version fetches the data with MQTTSubscribeDriver.
>>> I keep seeing non-existent data being displayed as N/A, even though I 
>>> believe this data is being received.
>>> Was MQTTSubscribeDriver configured incorrectly by me? I use: 
>>> archive_interval = 60
>>> For example, I find the following line in the log:
>>>
>>> Dec 10 19:12:18 vmweewx weewx[2412940] DEBUG user.MQTTSubscribe: 
>>> (Driver) data-> final loop packet is weather-tfa/loop 2021-12-10 19:12:17 
>>> CET (1639159937): altimeter: 1000.0909966542512, appTemp: 
>>> 3.181978086226991, barometer: 1000.875, cloudbase: 524.4088821544462, 
>>> dateTime: 1639159937.0, dayRain: 0.0, dewpoint: 2.3278081421957504, 
>>> extraBatteryStatus3: 0.0, extraBatteryStatus4: 0.0, extraBatteryStatus8: 
>>> 0.0, extraHumid3: 37.0, extraHumid4: 90.0, extraHumid8: 48.0, 
>>> extraLinkStatus2: 0.0, extraLinkStatus3: 0.0, extraLinkStatus4: 0.0, 
>>> extraTemp3: 23.2, *extraTemp4: 4.3*, extraTemp8: 6.7, forecast: 4.0, 
>>> heatindex: 3.528888888888887, hourRain: 0.0, humidex: 4.8, inDewpoint: 
>>> 7.414870881918784, inHumidity: 44.0, inTemp: 20.05, maxSolarRad: 0.0, 
>>> outHumidity: 84.0, outLinkStatus: 0.0, outTemp: 4.8, outTempBatteryStatus: 
>>> 0.0, pressure: 973.7792986048581, rain: 0.0, rain24: 0.0, 
>>> rainBatteryStatus: 0.0, rainLinkStatus: 0.0, rainRate: 0.0, rainTotal: 
>>> 133.0677778616, storm: 0.0, usUnits: 16.0, uvBatteryStatus: 0.0, 
>>> uvLinkStatus: 1.0, windBatteryStatus: 0.0, windchill: 14.7, windGust: 0.0, 
>>> windLinkStatus: 0.0, windSpeed: 0.0
>>>
>>> means to me that there is a value for extraTemp4.
>>> But in the screenshot you only see N/A for extraTemp4.
>>>
>>> [image: 2021-12-10 19_13_23-FRE-Sammler.png]
>>>
>>> the report is generated 19:12:18:
>>>
>>> Dec 10 19:12:18 vmweewx weewx[2412940] DEBUG weewx.manager: Daily 
>>> summary version is 4.0
>>>
>>> Dec 10 19:12:20 vmweewx weewx[2412940] INFO weewx.cheetahgenerator: 
>>> Generated 8 files for report SeasonsReport in 1.93 seconds
>>>
>>> I also already took the idea from "Some missing data in Current 
>>> Conditions on Standard skin" and modified the current.inc file a bit by 
>>> adding $hour.extraTemp4.last. But even here I had N/A.
>>> My goal is this: I want the "archive-interval" to stay at 60 seconds. If 
>>> there is no current value (because there really is no sensor data in this 
>>> interval), the last existing value of the last 5 minutes should be used. 
>>> Currently I have configured the last value of the last hour, right? Does 
>>> this also work for the last 5 minutes, or the last 10 minutes?
>>>
>>> Or can I get MQTTSubscribe to use the last existing value of e.g. the 
>>> last 5 minutes for the current "archive-interval" at weewx?
>>>
>>>
>>>
>>> My configuration from weewx.conf:
>>>
>>> [MQTTSubscribeDriver]
>>>
>>>     # This section is for the MQTTSubscribe driver.
>>>
>>>  
>>>
>>>     # The driver to use:
>>>
>>>     driver = user.MQTTSubscribe
>>>
>>>  
>>>
>>>     # The MQTT server.
>>>
>>>     # Default is localhost.
>>>
>>>     # host = 192.168.10.17
>>>
>>>  
>>>
>>>     # The port to connect to.
>>>
>>>     # Default is 1883.
>>>
>>>     port = 1883
>>>
>>>  
>>>
>>>     log = true
>>>
>>>     # Maximum period in seconds allowed between communications with the 
>>> broker.
>>>
>>>     # Default is 60.
>>>
>>>     keepalive = 60
>>>
>>>  
>>>
>>>     # username for broker authentication.
>>>
>>>     # Default is None.
>>>
>>>     # username = None
>>>
>>>  
>>>
>>>     # password for broker authentication.
>>>
>>>     # Default is None.
>>>
>>>     # password = None
>>>
>>>  
>>>
>>>     # Configuration for the message callback.
>>>
>>>     [[message_callback]]
>>>
>>>         type = json
>>>
>>>  
>>>
>>>     # The topics to subscribe to.
>>>
>>>     [[topics]]
>>>
>>>         unit_system = METRIC
>>>
>>>         [[[weather-tfa/loop]]]
>>>
>>>  
>>>
>>>         [[[weather-sdr1/loop]]]
>>>
>>>             [[[[rainRate]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[maxSolarRad]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[hourRain]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[rain24]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[dayRain]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[rain_total]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[rain]]]]
>>>
>>>                 ignore = true
>>>
>>>             [[[[heatindex]]]]
>>>
>>>                 ignore = true
>>>
>>>  
>>>
>>>         [[[weather-sdr2/loop]]]
>>>
>>>             [[[[extraTemp2]]]]
>>>
>>> #                expires_after = None
>>>
>>>  
>>>
>>>  
>>>
>>>
>>> ##############################################################################
>>>
>>>  
>>>
>>>  
>>>
>>> a part from current.inc:
>>>
>>>  
>>>
>>> #if 'observations_current' in $DisplayOptions
>>>
>>> #for $x in $DisplayOptions.observations_current
>>>
>>>   #if $getVar('year.%s.has_data' % $x)
>>>
>>>     #if $x == 'outTemp'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.outTemp</td>
>>>
>>>         <td class="data">$current.outTemp ($trend.outTemp.formatted) / 
>>> $current.outHumidity</td>
>>>
>>>         <td class="data">$hour.outTemp.last ($trend.outTemp.formatted) 
>>> / $hour.outHumidity.last</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'extraTemp4'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.extraTemp4</td>
>>>
>>>         <td class="data">$current.extraTemp4 
>>> ($trend.extraTemp4.formatted) / $current.extraHumid4</td>
>>>
>>>         <td class="data">$hour.extraTemp4.last 
>>> ($trend.extraTemp4.formatted) / $hour.extraHumid4.last</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'extraTemp2'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.extraTemp2</td>
>>>
>>>         <td class="data">$current.extraTemp2 
>>> ($trend.extraTemp2.formatted) / $current.extraHumid2</td>
>>>
>>>         <td class="data">$hour.extraTemp2.last 
>>> ($trend.extraTemp2.formatted) / $hour.extraHumid2.last</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'extraTemp6'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.extraTemp6</td>
>>>
>>>         <td class="data">$current.extraTemp6 
>>> ($trend.extraTemp6.formatted) / $current.extraHumid6</td>
>>>
>>>         <td class="data">$hour.extraTemp6.last 
>>> ($trend.extraTemp6.formatted) / $hour.extraHumid6.last</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'extraTemp9'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.extraTemp9</td>
>>>
>>>         <td class="data">$current.extraTemp9 
>>> ($trend.extraTemp9.formatted) / $current.extraHumid9</td>
>>>
>>>         <td class="data">$hour.extraTemp9.last 
>>> ($trend.extraTemp9.formatted) / $hour.extraHumid9.last</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'extraTemp10'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.extraTemp10</td>
>>>
>>>         <td class="data">$current.extraTemp10 
>>> ($trend.extraTemp10.formatted) / $current.extraHumid10</td>
>>>
>>>         <td class="data">$hour.extraTemp10.last 
>>> ($trend.extraTemp10.formatted) / $hour.extraHumid10.last</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'barometer'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.barometer</td>
>>>
>>>         <td class="data">$current.barometer 
>>> ($trend.barometer.formatted)</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'windSpeed'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label.wind</td>
>>>
>>>         <td class="data">$current.windSpeed 
>>> $current.windDir.ordinal_compass ($current.windDir)</td>
>>>
>>>       </tr>
>>>
>>>     #elif $x == 'rain'
>>>
>>>       <tr>
>>>
>>>         <td class="label">$gettext("Rain Today")</td>
>>>
>>>         <td class="data">$day.rain.sum</td>
>>>
>>>       </tr>
>>>
>>>     #else
>>>
>>>       <tr>
>>>
>>>         <td class="label">$obs.label[$x]</td>
>>>
>>>         <td class="data">$getVar('current.' + $x)</td>
>>>
>>>       </tr>
>>>
>>>     #end if
>>>
>>>   #end if
>>>
>>> #end for
>>>
>>> #else
>>>
>>>     <tr><td>No observations specified</td></tr>
>>>
>>> #end if
>>>
>>>
>>> I would be very grateful for any suggestions or hints
>>>
>>> Michael
>>>
>>>  
>>>
>>>
>>>

-- 
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/ecc955d7-f248-4e1e-bddd-949a1ae64e5dn%40googlegroups.com.

Reply via email to