I was able to replicate the problem. Pre V4.6, if windGustDir was missing, windDir was substituted. That behavior went away with v4.6. This patch restores it.
Index: bin/weewx/wxxtypes.py =================================================================== diff --git a/bin/weewx/wxxtypes.py b/bin/weewx/wxxtypes.py --- a/bin/weewx/wxxtypes.py (revision 279bb450ab801c80a12b8ceadd0144e16c473bea) +++ b/bin/weewx/wxxtypes.py (date 1644758479921) @@ -98,11 +98,18 @@ return ValueTuple(val, 'degree_compass', 'group_direction') def calc_windGustDir(self, key, data, db_manager): - # Return the current gust direction if windGust is non-zero, otherwise, None - if 'windGust' not in data or 'windGustDir' not in data: + """If windGustDir is missing, substitute windDir. + Set windGustDir to None if windGust is zero.""" + if 'windGust' not in data: raise weewx.CannotCalculate if self.force_null and data['windGust'] == 0: + # windGust is zero. Force windGustDir to None val = None + elif 'windGustDir' not in data: + # windGustDir is missing. If available, substitute windDir. + if 'windDir' not in data: + raise weewx.CannotCalculate + val = data['windDir'] else: val = data['windGustDir'] return ValueTuple(val, 'degree_compass', 'group_direction') Commit 9dc4da8 <https://github.com/weewx/weewx/commit/9dc4da86a260f01d8792ac93d12871a05bff572d> . If you want this right away, you can replace weewx/wxxtypes.py with this version <https://raw.githubusercontent.com/weewx/weewx/master/bin/weewx/wxxtypes.py> . On Sun, Feb 13, 2022 at 1:38 AM Remy Lavabre <remy.lava...@gmail.com> wrote: > > [image: Capture d’écran de 2022-02-13 10-14-16.png] > > Same problem for me ! > Since weewx 4.6.x windGustDir is always N/A but the value is correct. > I never had this problem before with 4.5.x or before... Only since 4.6.x > > WindGustDir is always None in loop package values : > > > LOOP: 2022-02-13 10:32:17 CET (1644744737) 'altimeter': > '30.122934097139712', 'appTemp': '45.455613403122314', 'barometer': > '30.14900779712183', 'beaufort': '1', 'cloudbase': '3288.4136917377255', > 'dateTime': '1644744737', 'dayRain': '0.0', 'dewpoint': '41.36', 'ET': > 'None', 'extraHumid1': '65', 'extraHumid2': '91', 'extraHumid3': 'None', > 'extraHumid4': 'None', 'extraHumid5': 'None', 'extraHumid6': 'None', > 'extraHumid7': 'None', 'extraTemp1': '51.980000000000004', 'extraTemp2': > '51.980000000000004', 'extraTemp3': 'None', 'extraTemp4': 'None', > 'extraTemp5': 'None', 'extraTemp6': 'None', 'extraTemp7': 'None', > 'heatindex': '46.88600000000001', 'humidex': '48.74', 'inDewpoint': > '52.863712008361716', 'inHumidity': '52', 'inTemp': '71.42', 'maxSolarRad': > '326.89345093846424', 'outHumidity': '76', 'outTemp': '48.74', 'pressure': > '28.372387999999997', 'rain': '0.0', 'rainRate': '0.0', 'usUnits': '1', > 'UV': '0', 'windchill': '48.74', *'windDir': '123*', '*windGust': > '2.4233536729342466', 'windGustDir': 'None',* 'windrun': 'None', *'windSpeed': > '2.4233536729342466'* > LOOP: 2022-02-13 10:32:29 CET (1644744749) 'altimeter': > '30.122934097139712', 'appTemp': '44.055613403122315', 'barometer': > '30.14900779712183', 'beaufort': '2', 'cloudbase': '3288.4136917377255', > 'dateTime': '1644744749', 'dayRain': '0.0', 'dewpoint': '41.36', 'ET': > 'None', 'extraHumid1': '65', 'extraHumid2': '91', 'extraHumid3': 'None', > 'extraHumid4': 'None', 'extraHumid5': 'None', 'extraHumid6': 'None', > 'extraHumid7': 'None', 'extraTemp1': '51.980000000000004', 'extraTemp2': > '51.980000000000004', 'extraTemp3': 'None', 'extraTemp4': 'None', > 'extraTemp5': 'None', 'extraTemp6': 'None', 'extraTemp7': 'None', > 'heatindex': '46.88600000000001', 'humidex': '48.74', 'inDewpoint': > '52.863712008361716', 'inHumidity': '52', 'inTemp': '71.42', 'maxSolarRad': > '327.35927830102435', 'outHumidity': '76', 'outTemp': '48.74', 'pressure': > '28.372387999999997', 'rain': '0.0', 'rainRate': '0.0', 'usUnits': '1', > 'UV': '0', 'windchill': '46.79476438640812', '*windDir': '151',* *'windGust': > '7.33219829246772', 'windGustDir': 'None',* 'windrun': 'None', *'windSpeed': > '4.908844619533474'* > LOOP: 2022-02-13 10:32:41 CET (1644744761) 'altimeter': > '30.122934097139712', 'appTemp': '44.055613403122315', 'barometer': > '30.14900779712183', 'beaufort': '2', 'cloudbase': '3288.4136917377255', > 'dateTime': '1644744761', 'dayRain': '0.0', 'dewpoint': '41.36', 'ET': > 'None', 'extraHumid1': '65', 'extraHumid2': '91', 'extraHumid3': 'None', > 'extraHumid4': 'None', 'extraHumid5': 'None', 'extraHumid6': 'None', > 'extraHumid7': 'None', 'extraTemp1': '51.980000000000004', 'extraTemp2': > '51.980000000000004', 'extraTemp3': 'None', 'extraTemp4': 'None', > 'extraTemp5': 'None', 'extraTemp6': 'None', 'extraTemp7': 'None', > 'heatindex': '46.88600000000001', 'humidex': '48.74', 'inDewpoint': > '52.863712008361716', 'inHumidity': '52', 'inTemp': '71.42', 'maxSolarRad': > '327.8246605889759', 'outHumidity': '76', 'outTemp': '48.74', 'pressure': > '28.372387999999997', 'rain': '0.0', 'rainRate': '0.0', 'usUnits': '1', > 'UV': '0', 'windchill': '46.79476438640812', '*windDir': '109'*, *'windGust': > '7.829296481787566', 'windGustDir': 'None'*, 'windrun': 'None', '*windSpeed': > '4.908844619533474'* > > > Le samedi 12 février 2022 à 19:23:27 UTC+1, asla...@gmail.com a écrit : > >> The result with a couple of LOOP records. >> Both windGust and windGustDir occur in both REC and Loop records. >> >> REC: 2022-02-12 19:15:49 CET (1644689749) 'altimeter': >> '29.447857403881475', 'appTemp': '20.60149362123522', 'barometer': >> '29.56391226224894', 'cloudbase': '3549.153942263896', 'dateTime': >> '1644689749', 'delay': '10', 'dewpoint': '28.364486445406747', 'ET': >> 'None', 'heatindex': '32.36', 'humidex': '32.36', 'inDewpoint': >> '20.586469406020147', 'inHumidity': '41.0', 'inTemp': '42.620000000000005', >> 'interval': '10', 'maxSolarRad': '0.0', 'outHumidity': '85.0', 'outTemp': >> '32.36', 'outTempBatteryStatus': '0', 'pressure': '26.733497683750002', >> 'ptr': '38208', 'radiation': 'None', 'rain': 'None', 'rainRate': '0.0', >> 'rainTotal': '104.33999999999999', 'rxCheckPercent': '100', 'status': '0', >> 'usUnits': '1', 'UV': 'None', 'windchill': '22.558136878652178', 'windDir': >> '202.5', 'windGust': '15.882287148769064', 'windGustDir': 'None', >> 'windrun': '2.274224216138293', 'windSpeed': '13.645345296829756' >> LOOP: 2022-02-12 19:19:05 CET (1644689945) 'altimeter': >> '29.444663747054953', 'appTemp': '18.256881727966974', 'barometer': >> '29.56173534294736', 'cloudbase': '3548.394255363211', 'dateTime': >> '1644689945', 'delay': '3', 'dewpoint': '28.187829067769762', 'ET': 'None', >> 'heatindex': '32.18', 'humidex': '32.18', 'inDewpoint': >> '20.586469406020147', 'inHumidity': '41.0', 'inTemp': '42.620000000000005', >> 'maxSolarRad': '0.0', 'outHumidity': '85.0', 'outTemp': '32.18', >> 'outTempBatteryStatus': '0', 'pressure': '26.730544685', 'ptr': '38224', >> 'radiation': 'None', 'rain': 'None', 'rainRate': '0.0', 'rainTotal': >> '104.33999999999999', 'rxCheckPercent': '100', 'status': '0', 'usUnits': >> '1', 'UV': 'None', 'windchill': '20.989026611354667', 'windDir': '202.5', >> 'windGust': '19.68508829706588', 'windGustDir': 'None', 'windrun': 'None', >> 'windSpeed': '17.448146445126575' >> LOOP: 2022-02-12 19:20:06 CET (1644690006) 'altimeter': >> '29.441470085033213', 'appTemp': '22.918881727966976', 'barometer': >> '29.558469574570985', 'cloudbase': '3548.394255363211', 'dateTime': >> '1644690006', 'delay': '3', 'dewpoint': '28.187829067769762', 'ET': 'None', >> 'heatindex': '32.18', 'humidex': '32.18', 'inDewpoint': >> '20.586469406020147', 'inHumidity': '41.0', 'inTemp': '42.620000000000005', >> 'maxSolarRad': '0.0', 'outHumidity': '85.0', 'outTemp': '32.18', >> 'outTempBatteryStatus': '0', 'pressure': '26.72759168625', 'ptr': '38224', >> 'radiation': 'None', 'rain': '0.0', 'rainRate': '0.0', 'rainTotal': >> '104.33999999999999', 'rxCheckPercent': '100', 'status': '0', 'usUnits': >> '1', 'UV': 'None', 'windchill': '24.387120697115183', 'windDir': '180.0', >> 'windGust': '11.408403444890455', 'windGustDir': 'None', 'windrun': 'None', >> 'windSpeed': '9.171461592951148' >> >> On Saturday, February 12, 2022 at 5:25:08 PM UTC+1 tke...@gmail.com >> wrote: >> >>> Could you do the same again, except this time show the LOOP data as >>> well? >>> >>> I'm not exactly sure what's happening, but my operating theory is that >>> windGust and windDir never appear in the same LOOP packet. When the >>> software sees windGust, but no windGustDir, it looks to substitute windDir, >>> but it's not available. We can tell if this theory is correct by looking at >>> the LOOP packets. >>> >>> On Sat, Feb 12, 2022 at 6:05 AM Tom Keffer <tke...@gmail.com> wrote: >>> >>>> Sorry, yes, that's what I meant. If windGustDir is missing, it should >>>> substitute windDir in its place. >>>> >>>> Let me think about this for a bit. >>>> >>>> On Sat, Feb 12, 2022 at 5:59 AM Aslak Vaa <asla...@gmail.com> wrote: >>>> >>>>> Here is the result from running weewxd from the command line: >>>>> >>>>> REC: 2022-02-12 14:45:49 CET (1644673549) 'altimeter': >>>>> '29.559632125170864', 'appTemp': '21.798150800000002', 'barometer': >>>>> '29.68039690383254', 'cloudbase': '3612.989261474405', 'dateTime': >>>>> '1644673549', 'delay': '10', 'dewpoint': '27.72361104088051', 'ET': >>>>> 'None', >>>>> 'heatindex': '32.0', 'humidex': '32.0', 'inDewpoint': >>>>> '20.331537695862405', >>>>> 'inHumidity': '40.0', 'inTemp': '42.980000000000004', 'interval': '10', >>>>> 'maxSolarRad': '123.63840457180561', 'outHumidity': '84.0', 'outTemp': >>>>> '32.0', 'outTempBatteryStatus': '0', 'pressure': '26.836852640000004', >>>>> 'ptr': '37776', 'radiation': 'None', 'rain': 'None', 'rainRate': '0.0', >>>>> 'rainTotal': '104.33999999999999', 'rxCheckPercent': '100', 'status': '0', >>>>> 'usUnits': '1', 'UV': 'None', 'windchill': '23.361958924222293', >>>>> 'windDir': >>>>> '225.0', 'windGust': '12.079486000472244', 'windGustDir': 'None', >>>>> 'windrun': '1.7895534815514438', 'windSpeed': '10.737320889308663' >>>>> >>>>> Until version 4.6.0 the windGustDir was recorded in the database with >>>>> a value different from NULL. It seems for me that something is changed. >>>>> Do you mean that windGustDir should have the value of windDir >>>>> (windGust is a speed, not a direction)? >>>>> >>>>> On Saturday, February 12, 2022 at 2:41:29 PM UTC+1 tke...@gmail.com >>>>> wrote: >>>>> >>>>>> FO stations do not supply windGustDir, so the software should >>>>>> substitute windGust in its place. >>>>>> >>>>>> Could you please run weewxd directly from the command line >>>>>> <http://www.weewx.com/docs/usersguide.htm#Running_directly>? Watch >>>>>> what it prints out for records (marked with "REC:"). What does it show >>>>>> for >>>>>> windGust and windGustDir? >>>>>> >>>>>> -tk >>>>>> >>>>>> On Sat, Feb 12, 2022 at 4:19 AM Aslak Vaa <asla...@gmail.com> wrote: >>>>>> >>>>>>> After upgrating to weewx version 4.6.0/4.6.2 is windGustDir is >>>>>>> always set to NULL in database (sqlite3). >>>>>>> Please see results of query from the database and extracts from the >>>>>>> syslog file. >>>>>>> I stopped the version 4.5.1 at feb 5 15:02:05, and I started the >>>>>>> version 4.6.0 same date half an hour later at 15:32:19. The windDir is >>>>>>> saved as expected, only windGustDir is missing. >>>>>>> My weatherstation is model WH1080 , and I am using the FineOffsetUSB >>>>>>> driver. >>>>>>> Contents of database: >>>>>>> sqlite3 /var/lib/weewx/weewx.sdb >>>>>>> SQLite version 3.34.1 2021-01-20 14:10:07 >>>>>>> Enter ".help" for usage hints. >>>>>>> sqlite> select dateTime(archive.dateTime, 'unixepoch', 'localtime') >>>>>>> dateTime, >>>>>>> ...> archive.windSpeed, archive.windDir, archive.windGust, >>>>>>> archive.windGustDir >>>>>>> ...> from archive >>>>>>> ...> where archive.datetime > >>>>>>> ...> (select max(archive.dateTime) from archive where >>>>>>> windGustDir is not null) - 1000 >>>>>>> ...> limit 10; >>>>>>> 2022-02-05 >>>>>>> 14:50:00|17.1634447548798|234.745604391204|29.7513266307928|247.5 >>>>>>> 2022-02-05 >>>>>>> 15:00:00|17.6108331252676|221.995376457057|27.2906905936595|247.5 >>>>>>> 2022-02-05 15:14:51|24.3826661861384|202.5|32.6593510383139| >>>>>>> 2022-02-05 15:24:51|21.2509475934234|247.5|22.8168068897809| >>>>>>> 2022-02-05 15:34:51|22.8168068897809|180.0|27.2906905936595| >>>>>>> 2022-02-05 15:40:00|24.3826661861384|225.0|28.1854673344352| >>>>>>> 2022-02-05 >>>>>>> 15:50:00|19.2987074317309|222.892960584793|34.8962928902532| >>>>>>> 2022-02-05 >>>>>>> 16:00:00|19.6444166270306|220.208490631264|34.2252103346714| >>>>>>> 2022-02-05 >>>>>>> 16:10:00|17.3871389400737|226.684593888771|23.4878894453627| >>>>>>> 2022-02-05 >>>>>>> 16:20:00|13.7673603069355|222.317738592905|25.0537487417202| >>>>>>> sqlite> >>>>>>> Extracts from syslog: >>>>>>> aslak-pi0:~ $ grep '4\.5\.' /var/log/syslog.1 | tail >>>>>>> Jan 30 09:51:04 aslak-pi0 weewx[952] INFO __main__: Starting up >>>>>>> weewx version 4.5.1 >>>>>>> Jan 30 19:29:02 aslak-pi0 weewx[976] INFO __main__: Initializing >>>>>>> weewx version 4.5.1 >>>>>>> Jan 30 19:29:02 aslak-pi0 weewx[979] INFO __main__: Starting up >>>>>>> weewx version 4.5.1 >>>>>>> Jan 31 19:28:05 aslak-pi0 weewx[965] INFO __main__: Initializing >>>>>>> weewx version 4.5.1 >>>>>>> Jan 31 19:28:05 aslak-pi0 weewx[968] INFO __main__: Starting up >>>>>>> weewx version 4.5.1 >>>>>>> Feb 1 20:32:31 aslak-pi0 weewx[1032] INFO __main__: Initializing >>>>>>> weewx version 4.5.1 >>>>>>> Feb 1 20:32:31 aslak-pi0 weewx[1037] INFO __main__: Starting up >>>>>>> weewx version 4.5.1 >>>>>>> Feb 2 15:44:42 aslak-pi0 weewx[15495] INFO __main__: Initializing >>>>>>> weewx version 4.5.1 >>>>>>> Feb 2 15:44:43 aslak-pi0 weewx[15498] INFO __main__: Starting up >>>>>>> weewx version 4.5.1 >>>>>>> Feb 5 15:02:05 aslak-pi0 weewx[15498] INFO __main__: Terminating >>>>>>> weewx version 4.5.1 >>>>>>> aslak-pi0:~ $ grep '4\.6\.0' /var/log/syslog.1 | head >>>>>>> Feb 5 15:32:19 aslak-pi0 weewx[37838] INFO __main__: Initializing >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 15:32:19 aslak-pi0 weewx[37841] INFO __main__: Starting up >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 15:33:45 aslak-pi0 weewx[37841] INFO __main__: Terminating >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 15:35:28 aslak-pi0 weewx[37964] INFO __main__: Initializing >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 15:35:28 aslak-pi0 weewx[37967] INFO __main__: Starting up >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 16:46:50 aslak-pi0 weewx[37967] INFO __main__: Terminating >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 16:46:54 aslak-pi0 weewx[38640] INFO __main__: Initializing >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 16:46:54 aslak-pi0 weewx[38643] INFO __main__: Starting up >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 16:57:25 aslak-pi0 weewx[38643] INFO __main__: Terminating >>>>>>> weewx version 4.6.0 >>>>>>> Feb 5 16:57:29 aslak-pi0 weewx[38793] INFO __main__: Initializing >>>>>>> weewx version 4.6.0 >>>>>>> aslak-pi0:~ $ >>>>>>> >>>>>>> -- >>>>>>> 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+...@googlegroups.com. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/weewx-user/1acfbc59-01a5-44a9-b1a8-bd000823204fn%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/weewx-user/1acfbc59-01a5-44a9-b1a8-bd000823204fn%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+...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/weewx-user/7e95cedd-6db0-4bd2-9209-babeee3218e1n%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/weewx-user/7e95cedd-6db0-4bd2-9209-babeee3218e1n%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/70d09feb-27f0-40ce-909b-5d62c5757f6cn%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/70d09feb-27f0-40ce-909b-5d62c5757f6cn%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/CAPq0zEDZsZjXHws7BBa2XvqdiVj7Xo%2BqUyg3wDK874AJq-2s_g%40mail.gmail.com.