Code Monkey home page Code Monkey logo

Comments (12)

tkeffer avatar tkeffer commented on August 17, 2024

Don't know what's happening, and I don't know if this will help, but try unzipping the extension file first, then installing from the resultant subdirectory:

unzip weatherflow-udp-master.zip
sudo ./bin/wee_extension --install=weatherflow-udp-master

This way, the OS will not have to use the temporary directory in /var/tmp

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

from weatherflow-udp.

tkeffer avatar tkeffer commented on August 17, 2024

Yes. You've installed the WF driver, now you have to tell WeeWX to use it:

./bin/wee_config --reconfigure

Then answer the questions.

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

Thanks for you help in getting me this far. So I have the system running and I have a problem I don't understand. With the reconfiguration I was able to select the Tempest UDP driver. The whew webpage now updates but it still says simulator and has fake data. I assumed that perhaps this was some kind Catalina problem with permissions so I grabbed a Raspberry Pi and installed everything on that. It does the same thing as the MacBook. Here is what the syslog says:

pi@raspberrypi:~/weewx-4.1.1 $ sudo tail -f /var/log/syslog Sep 13 14:50:29 raspberrypi weewx[14590] INFO __main__: Starting up weewx version 4.1.1 Sep 13 14:50:29 raspberrypi weewx[14590] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb' Sep 13 14:50:29 raspberrypi weewx[14590] INFO weewx.manager: Starting backfill of daily summaries Sep 13 14:50:29 raspberrypi weewx[14590] INFO weewx.engine: Starting main packet loop. Sep 13 14:50:29 raspberrypi /weewxd: weatherflowudp: MainThread: Listening for UDP broadcasts to IP address <broadcast> on port 50222, with timeout 90 and share_socket False... Sep 13 14:55:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 14:55:00 MDT (1600030500) to database 'weewx.sdb' Sep 13 14:55:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 14:55:00 MDT (1600030500) to daily summary in 'weewx.sdb' Sep 13 14:55:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.52 seconds Sep 13 14:55:19 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.98 seconds Sep 13 14:55:19 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx Sep 13 14:59:09 raspberrypi systemd[1]: Started Session c6 of user pi. Sep 13 15:00:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:00:00 MDT (1600030800) to database 'weewx.sdb' Sep 13 15:00:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:00:00 MDT (1600030800) to daily summary in 'weewx.sdb' Sep 13 15:00:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.50 seconds Sep 13 15:00:26 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 45 images for report SeasonsReport in 8.13 seconds Sep 13 15:00:26 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx Sep 13 15:05:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:05:00 MDT (1600031100) to database 'weewx.sdb' Sep 13 15:05:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:05:00 MDT (1600031100) to daily summary in 'weewx.sdb' Sep 13 15:05:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.56 seconds Sep 13 15:05:19 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.98 seconds Sep 13 15:05:19 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx Sep 13 15:09:01 raspberrypi systemd[1]: Starting Clean php session files... Sep 13 15:09:01 raspberrypi CRON[18797]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi) Sep 13 15:09:01 raspberrypi systemd[1]: phpsessionclean.service: Succeeded. Sep 13 15:09:01 raspberrypi systemd[1]: Started Clean php session files. Sep 13 15:09:47 raspberrypi rngd[371]: stats: bits received from HRNG source: 300064 Sep 13 15:09:47 raspberrypi rngd[371]: stats: bits sent to kernel pool: 243072 Sep 13 15:09:47 raspberrypi rngd[371]: stats: entropy added to kernel pool: 243072 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2 successes: 15 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2 failures: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Monobit: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Poker: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Runs: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Long run: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Continuous run: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: HRNG source speed: (min=683.724; avg=850.380; max=1002.837)Kibits/s Sep 13 15:09:47 raspberrypi rngd[371]: stats: FIPS tests speed: (min=3.115; avg=7.498; max=16.191)Mibits/s Sep 13 15:09:47 raspberrypi rngd[371]: stats: Lowest ready-buffers level: 2 Sep 13 15:09:47 raspberrypi rngd[371]: stats: Entropy starvations: 0 Sep 13 15:09:47 raspberrypi rngd[371]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us Sep 13 15:10:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:10:00 MDT (1600031400) to database 'weewx.sdb' Sep 13 15:10:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:10:00 MDT (1600031400) to daily summary in 'weewx.sdb' Sep 13 15:10:16 raspberrypi weewx[27593] INFO weewx.engine: Garbage collected 8048 objects in 0.04 seconds Sep 13 15:10:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.50 seconds Sep 13 15:10:19 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.97 seconds Sep 13 15:10:19 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx Sep 13 15:15:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:15:00 MDT (1600031700) to database 'weewx.sdb' Sep 13 15:15:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-13 15:15:00 MDT (1600031700) to daily summary in 'weewx.sdb' Sep 13 15:15:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.92 seconds Sep 13 15:15:19 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.99 seconds Sep 13 15:15:19 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx Sep 13 15:17:01 raspberrypi CRON[20551]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Sep 13 15:17:15 raspberrypi weewx[14590] INFO weewx.engine: Main loop exiting. Shutting engine down. Sep 13 15:17:15 raspberrypi weewx[14590] CRITICAL __main__: Keyboard interrupt. Sep 13 15:17:24 raspberrypi weewx[20654] INFO __main__: Initializing weewx version 4.1.1 Sep 13 15:17:24 raspberrypi weewx[20654] INFO __main__: Using Python 3.7.3 (default, Jul 25 2020, 13:03:44) #012[GCC 8.3.0] Sep 13 15:17:24 raspberrypi weewx[20654] INFO __main__: Platform Linux-5.4.51-v7+-armv7l-with-debian-10.4 Sep 13 15:17:24 raspberrypi weewx[20654] INFO __main__: Locale is 'en_US.UTF-8' Sep 13 15:17:24 raspberrypi weewx[20654] INFO __main__: Using configuration file /home/weewx/weewx.conf Sep 13 15:17:24 raspberrypi weewx[20654] INFO __main__: Debug is 1 Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG __main__: Initializing engine Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.engine: Loading station type WeatherFlowUDP (user.weatherflowudp) Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: driver version is 1.10 Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: sensor map is {} Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: *** Sensor names per packet type Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: packet obs_air: ('time_epoch', 'station_pressure', 'air_temperature', 'relative_humidity', 'lightning_strike_count', 'lightning_strike_avg_distance', 'battery', 'report_interval') Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: packet obs_sky: ('time_epoch', 'illuminance', 'uv', 'rain_accumulated', 'wind_lull', 'wind_avg', 'wind_gust', 'wind_direction', 'battery', 'report_interval', 'solar_radiation', 'local_day_rain_accumulation', 'precipitation_type', 'wind_sample_interval') Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: packet rapid_wind: ('time_epoch', 'wind_speed', 'wind_direction') Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: packet evt_precip: time_epoch Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: packet evt_strike: ('time_epoch', 'distance', 'energy') Sep 13 15:17:24 raspberrypi /weewxd: weatherflowudp: MainThread: packet obs_st: ('time_epoch', 'wind_lull', 'wind_avg', 'wind_gust', 'wind_direction', 'wind_sample_interval', 'station_pressure', 'air_temperature', 'relative_humidity', 'illuminance', 'uv', 'solar_radiation', 'rain_accumulated', 'precipitation_type', 'lightning_strike_avg_distance', 'lightning_strike_count', 'battery', 'report_interval') Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdConvert Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.engine: StdConvert target unit is 0x1 Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdQC Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.manager: Daily summary version is 2.0 Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.wxservices: The following values will be calculated: pressure=prefer_hardware, altimeter=prefer_hardware, appTemp=prefer_hardware, barometer=prefer_hardware, beaufort=prefer_hardware, cloudbase=prefer_hardware, dewpoint=prefer_hardware, ET=prefer_hardware, heatindex=prefer_hardware, humidex=prefer_hardware, inDewpoint=prefer_hardware, maxSolarRad=prefer_hardware, rainRate=prefer_hardware, windchill=prefer_hardware, windrun=prefer_hardware Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.wxservices: The following algorithms will be used for calculations: altimeter=aaASOS, maxSolarRad=RS Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdArchive Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.engine: Archive will use data binding wx_binding Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.engine: Record generation will be attempted in 'hardware' Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.engine: Using archive interval of 300 seconds (specified in weewx configuration) Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1 Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.restx: StationRegistry: Station will be registered. Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.restx.StdWunderground Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.restx: Wunderground: Posting not enabled. Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.restx.StdPWSweather Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.restx: PWSweather: Posting not enabled. Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.restx.StdPWSweather Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.restx.StdCWOP Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.restx: CWOP: Posting not enabled. Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.restx.StdCWOP Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.restx.StdWOW Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.restx: WOW: Posting not enabled. Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.restx.StdAWEKAS Sep 13 15:17:24 raspberrypi weewx[20654] INFO weewx.restx: AWEKAS: Posting not enabled. Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdPrint Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Loading service weewx.engine.StdReport Sep 13 15:17:24 raspberrypi weewx[20654] DEBUG weewx.engine: Finished loading service weewx.engine.StdReport

from weatherflow-udp.

tkeffer avatar tkeffer commented on August 17, 2024
  1. I can't make any sense of that log. It needs some newlines.

  2. On the chance that wee_config was using the wrong configuration file, specify the file path on the command line. For example, if you used the setup.py method, the configuration file will be at /home/weewx/weewx.conf. So, the command becomes

    ./bin/wee_config --reconfigure /home/weewx/weewx.conf
    
  3. What is the result of

    grep station_type /home/weewx/weewx.conf
    

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

Sorry about that. I should not have pasted it as code. Here is a run form the command "sudo bin/weewxd ./weewx.conf"

pi@raspberrypi:~/weewx-4.1.1 $ sudo tail -f /var/log/syslog
Sep 14 17:01:27 raspberrypi weewx[8968] DEBUG weewx.engine: Loading service weewx.engine.StdPrint
Sep 14 17:01:27 raspberrypi weewx[8968] DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint
Sep 14 17:01:27 raspberrypi weewx[8968] DEBUG weewx.engine: Loading service weewx.engine.StdReport
Sep 14 17:01:27 raspberrypi weewx[8968] DEBUG weewx.engine: Finished loading service weewx.engine.StdReport
Sep 14 17:01:27 raspberrypi weewx[8968] INFO main: Starting up weewx version 4.1.1
Sep 14 17:01:27 raspberrypi weewx[8968] DEBUG weewx.engine: Station does not support reading the time
Sep 14 17:01:27 raspberrypi weewx[8968] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Sep 14 17:01:27 raspberrypi weewx[8968] INFO weewx.manager: Starting backfill of daily summaries
Sep 14 17:01:27 raspberrypi weewx[8968] INFO weewx.engine: Starting main packet loop.
Sep 14 17:01:27 raspberrypi /weewxd: weatherflowudp: MainThread: Listening for UDP broadcasts to IP address on port 50222, with timeout 90 and share_socket False...
Sep 14 17:05:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-14 17:05:00 MDT (1600124700) to database 'weewx.sdb'
Sep 14 17:05:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-14 17:05:00 MDT (1600124700) to daily summary in 'weewx.sdb'
Sep 14 17:05:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.55 seconds
Sep 14 17:05:19 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 1.18 seconds
Sep 14 17:05:19 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Sep 14 17:09:01 raspberrypi systemd[1]: Starting Clean php session files...
Sep 14 17:09:01 raspberrypi CRON[10807]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
Sep 14 17:09:01 raspberrypi systemd[1]: phpsessionclean.service: Succeeded.
Sep 14 17:09:01 raspberrypi systemd[1]: Started Clean php session files.
Sep 14 17:09:47 raspberrypi rngd[371]: stats: bits received from HRNG source: 1080064
Sep 14 17:09:47 raspberrypi rngd[371]: stats: bits sent to kernel pool: 1022560
Sep 14 17:09:47 raspberrypi rngd[371]: stats: entropy added to kernel pool: 1022560
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2 successes: 54
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2 failures: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Monobit: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Poker: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Runs: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Long run: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: HRNG source speed: (min=676.594; avg=860.142; max=1002.837)Kibits/s
Sep 14 17:09:47 raspberrypi rngd[371]: stats: FIPS tests speed: (min=3.115; avg=8.344; max=16.400)Mibits/s
Sep 14 17:09:47 raspberrypi rngd[371]: stats: Lowest ready-buffers level: 2
Sep 14 17:09:47 raspberrypi rngd[371]: stats: Entropy starvations: 0
Sep 14 17:09:47 raspberrypi rngd[371]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us
Sep 14 17:10:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-14 17:10:00 MDT (1600125000) to database 'weewx.sdb'
Sep 14 17:10:16 raspberrypi weewx[27593] INFO weewx.manager: Added record 2020-09-14 17:10:00 MDT (1600125000) to daily summary in 'weewx.sdb'
Sep 14 17:10:18 raspberrypi weewx[27593] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 1.52 seconds
Sep 14 17:10:19 raspberrypi weewx[27593] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 1.16 seconds
Sep 14 17:10:19 raspberrypi weewx[27593] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx

from weatherflow-udp.

captain-coredump avatar captain-coredump commented on August 17, 2024

from weatherflow-udp.

captain-coredump avatar captain-coredump commented on August 17, 2024

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

Thanks This is helpful.

Here is my whew.conf file. and ideas of what is wrong with sensor map?

WEEWX CONFIGURATION FILE

Copyright (c) 2009-2019 Tom Keffer [email protected]

See the file LICENSE.txt for your rights.

##############################################################################

This section is for general configuration information.

Set to 1 for extra debug info, otherwise comment it out or set to zero

debug = 1

Root directory of the weewx data file hierarchy for this station

WEEWX_ROOT = /home/weewx

Whether to log successful operations

log_success = True

Whether to log unsuccessful operations

log_failure = True

How long to wait before timing out a socket (FTP, HTTP) connection

socket_timeout = 20

Do not modify this. It is used when installing and updating weewx.

version = 4.1.1

##############################################################################

This section is for information about the station.

[Station]

# Description of the station location
location = "Albuquerque,NM"

# Latitude in decimal degrees. Negative for southern hemisphere
latitude = 35.1885
# Longitude in decimal degrees. Negative for western hemisphere.
longitude = -106.51544

# Altitude of the station, with unit it is in. This is downloaded from
# from the station if the hardware supports it.
altitude = 5851.1, foot    # Choose 'foot' or 'meter' for unit

# Set to type of station hardware. There must be a corresponding stanza
# in this file with a 'driver' parameter indicating the driver to be used.
station_type = WeatherFlowUDP

# If you have a website, you may specify an URL
station_url = https://tempestwx.com/station/27577/grid

# The start of the rain year (1=January; 10=October, etc.). This is
# downloaded from the station if the hardware supports it.
rain_year_start = 1

# Start of week (0=Monday, 6=Sunday)
week_start = 6

##############################################################################

[WeatherFlowUDP]
driver = user.weatherflowudp

##############################################################################

This section is for uploading data to Internet sites

[StdRESTful]

[[StationRegistry]]
    # To register this weather station with weewx, set this to true
    register_this_station = true

[[AWEKAS]]
    # This section is for configuring posts to AWEKAS.
    
    # If you wish to do this, set the option 'enable' to true,
    # and specify a username and password.
    # To guard against parsing errors, put the password in quotes.
    enable = false
    username = replace_me
    password = replace_me

[[CWOP]]
    # This section is for configuring posts to CWOP.
    
    # If you wish to do this, set the option 'enable' to true,
    # and specify the station ID (e.g., CW1234).
    enable = false
    station = replace_me

# If this is an APRS (radio amateur) station, uncomment
# the following and replace with a passcode (e.g., 12345).
#passcode = replace_me (APRS stations only)

[[PWSweather]]
    # This section is for configuring posts to PWSweather.com.
    
    # If you wish to do this, set the option 'enable' to true,
    # and specify a station and password.
    # To guard against parsing errors, put the password in quotes.
    enable = false
    station = replace_me
    password = replace_me

[[WOW]]
    # This section is for configuring posts to WOW.
    
    # If you wish to do this, set the option 'enable' to true,
    # and specify a station and password.
    # To guard against parsing errors, put the password in quotes.
    enable = false
    station = replace_me
    password = replace_me

[[Wunderground]]
    # This section is for configuring posts to the Weather Underground.
    
    # If you wish to do this, set the option 'enable' to true,
    # and specify a station (e.g., 'KORHOODR3') and password.
    # To guard against parsing errors, put the password in quotes.
    enable = false
    station = replace_me
    password = replace_me
    
    # If you plan on using wunderfixer, set the following
    # to your API key:
    api_key = replace_me
    
    # Set the following to True to have weewx use the WU "Rapidfire"
    # protocol. Not all hardware can support it. See the User's Guide.
    rapidfire = False

##############################################################################

This section specifies what reports, using which skins, to generate.

[StdReport]

# Where the skins reside, relative to WEEWX_ROOT
SKIN_ROOT = skins

# Where the generated reports should go, relative to WEEWX_ROOT
HTML_ROOT = public_html

# The database binding indicates which data should be used in reports.
data_binding = wx_binding

# Whether to log a successful operation
log_success = True

# Whether to log an unsuccessful operation
log_failure = False

# Each of the following subsections defines a report that will be run.
# See the customizing guide to change the units, plot types and line
# colors, modify the fonts, display additional sensor data, and other
# customizations. Many of those changes can be made here by overriding
# parameters, or by modifying templates within the skin itself.

[[SeasonsReport]]
    # The SeasonsReport uses the 'Seasons' skin, which contains the
    # images, templates and plots for the report.
    skin = Seasons
    enable = true

[[SmartphoneReport]]
    # The SmartphoneReport uses the 'Smartphone' skin, and the images and
    # files are placed in a dedicated subdirectory.
    skin = Smartphone
    enable = false
    HTML_ROOT = public_html/smartphone

[[MobileReport]]
    # The MobileReport uses the 'Mobile' skin, and the images and files
    # are placed in a dedicated subdirectory.
    skin = Mobile
    enable = false
    HTML_ROOT = public_html/mobile

[[StandardReport]]
    # This is the old "Standard" skin. By default, it is not enabled.
    skin = Standard
    enable = false

[[FTP]]
    # FTP'ing the results to a webserver is treated as just another report,
    # albeit one with an unusual report generator!
    skin = Ftp
    
    # If you wish to use FTP, set "enable" to "true", then
    # fill out the next four lines.
    # Use quotes around passwords to guard against parsing errors.
    enable = false
    user = replace_me
    password = replace_me
    server = replace_me    # The ftp server name, e.g, www.myserver.org
    path = replace_me    # The destination directory, e.g., /weather
    
    # Set to True for an FTP over TLS (FTPS) connection. Not all servers
    # support this.
    secure_ftp = False
    
    # To upload files from something other than what HTML_ROOT is set
    # to above, specify a different HTML_ROOT here.
    #HTML_ROOT = public_html
    
    # Most FTP servers use port 21
    port = 21
    
    # Set to 1 to use passive mode, zero for active mode
    passive = 1

[[RSYNC]]
    # rsync'ing to a webserver is treated as just another report
    skin = Rsync
    
    # If you wish to use rsync, you must configure passwordless ssh using
    # public/private key authentication from the user account that weewx
    # runs to the user account on the remote machine where the files
    # will be copied.
    #
    # If you wish to use rsync, set "enable" to "true", then
    # fill out server, user, and path.
    # The server should appear in your .ssh/config file.
    # The user is the username used in the identity file.
    # The path is the destination directory, such as /var/www/html/weather.
    # Be sure that the user has write permissions on the destination!
    enable = false
    server = replace_me
    user = replace_me
    path = replace_me
    
    # To upload files from something other than what HTML_ROOT is set
    # to above, specify a different HTML_ROOT here.
    #HTML_ROOT = public_html
    
    # Rsync can be configured to remove files from the remote server if
    # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
    # make a mistake in the remote path, you could could unintentionally
    # cause unrelated files to be deleted. Set to 1 to enable remote file
    # deletion, zero to allow files to accumulate remotely.
    delete = 0

####

# Various options for customizing your reports.

[[Defaults]]
    
    [[[Units]]]
        
        # The following section sets what unit to use for each unit group.
        # NB: The unit is always in the singular. I.e., 'mile_per_hour',
        # NOT 'miles_per_hour'
        [[[[Groups]]]]
            
            group_altitude = foot    # Options are 'foot' or 'meter'
            group_degree_day = degree_F_day    # Options are 'degree_F_day' or 'degree_C_day'
            group_distance = mile    # Options are 'mile' or 'km'
            group_pressure = inHg    # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
            group_rain = inch    # Options are 'inch', 'cm', or 'mm'
            group_rainrate = inch_per_hour    # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
            group_speed = mile_per_hour    # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
            group_speed2 = mile_per_hour2    # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
            group_temperature = degree_F    # Options are 'degree_F' or 'degree_C'
        
        # The following section sets the formatting for each type of unit.
        [[[[StringFormats]]]]
            
            centibar = %.0f
            cm = %.2f
            cm_per_hour = %.2f
            degree_C = %.1f
            degree_F = %.1f
            degree_compass = %.0f
            foot = %.0f
            hPa = %.1f
            hour = %.1f
            inHg = %.3f
            inch = %.2f
            inch_per_hour = %.2f
            km = %.1f
            km_per_hour = %.0f
            km_per_hour2 = %.1f
            knot = %.0f
            knot2 = %.1f
            mbar = %.1f
            meter = %.0f
            meter_per_second = %.1f
            meter_per_second2 = %.1f
            mile = %.1f
            mile_per_hour = %.0f
            mile_per_hour2 = %.1f
            mm = %.1f
            mmHg = %.1f
            mm_per_hour = %.1f
            percent = %.0f
            second = %.0f
            uv_index = %.1f
            volt = %.1f
            watt_per_meter_squared = %.0f
            NONE = "   N/A"
        
        # The following section overrides the label used for each type of unit
        [[[[Labels]]]]
            
            meter = " meter", " meters"    # You may prefer "metre".
            day = " day", " days"
            hour = " hour", " hours"
            minute = " minute", " minutes"
            second = " second", " seconds"
            NONE = ""
        
        # The following section sets the format for each time scale.
        # The values below will work in every locale, but they may not look
        # particularly attractive.
        [[[[TimeFormats]]]]
            
            hour = %H:%M
            day = %X
            week = %X (%A)
            month = %x %X
            year = %x %X
            rainyear = %x %X
            current = %x %X
            ephem_day = %X
            ephem_year = %x %X
        
        [[[[Ordinates]]]]
            
            # Ordinal directions. The last one is for no wind direction
            directions = N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A
        
        # The following section sets the base temperatures used for the
        #  calculation of heating, cooling, and growing degree-days.
        [[[[DegreeDays]]]]
            
            # Base temperature for heating days, with unit:
            heating_base = 65, degree_F
            # Base temperature for cooling days, with unit:
            cooling_base = 65, degree_F
            # Base temperature for growing days, with unit:
            growing_base = 50, degree_F
        
        # A trend takes a difference across a time period. The following
        # section sets the time period, and how big an error is allowed to
        # still be counted as the start or end of a period.
        [[[[Trend]]]]
            
            time_delta = 10800    # 3 hours
            time_grace = 300    # 5 minutes
    
    # The labels to be used for each observation type
    [[[Labels]]]
        
        # Set to hemisphere abbreviations suitable for your location:
        hemispheres = N, S, E, W
        
        # Formats to be used for latitude whole degrees, longitude whole
        # degrees, and minutes:
        latlon_formats = %02d, %03d, %05.2f
        
        # Generic labels, keyed by an observation type.
        [[[[Generic]]]]
            barometer = Barometer
            dewpoint = Dew Point
            ET = ET
            heatindex = Heat Index
            inHumidity = Inside Humidity
            inTemp = Inside Temperature
            outHumidity = Humidity
            outTemp = Outside Temperature
            radiation = Radiation
            rain = Rain
            rainRate = Rain Rate
            UV = UV Index
            windDir = Wind Direction
            windGust = Gust Speed
            windGustDir = Gust Direction
            windSpeed = Wind Speed
            windchill = Wind Chill
            windgustvec = Gust Vector
            windvec = Wind Vector
            extraTemp1 = Temperature1
            extraTemp2 = Temperature2
            extraTemp3 = Temperature3
            
            # Sensor status indicators
            
            rxCheckPercent = Signal Quality
            txBatteryStatus = Transmitter Battery
            windBatteryStatus = Wind Battery
            rainBatteryStatus = Rain Battery
            outTempBatteryStatus = Outside Temperature Battery
            inTempBatteryStatus = Inside Temperature Battery
            consBatteryVoltage = Console Battery
            heatingVoltage = Heating Battery
            supplyVoltage = Supply Voltage
            referenceVoltage = Reference Voltage
    
    [[[Almanac]]]
        
        # The labels to be used for the phases of the moon:
        moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent

##############################################################################

This service acts as a filter, converting the unit system coming from

the hardware to a unit system in the database.

[StdConvert]

# The target_unit affects only the unit system in the database. Once
# chosen it cannot be changed without converting the entire database.
# Modification of target_unit after starting weewx will result in
# corrupt data - the database will contain a mix of US and METRIC data.
#
# The value of target_unit does not affect the unit system for
# reporting - reports can display US, Metric, or any combination of units.
#
# In most cases, target_unit should be left as the default: US
#
# In particular, those migrating from a standard wview installation
# should use US since that is what the wview database contains.

# DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
target_unit = US    # Options are 'US', 'METRICWX', or 'METRIC'

##############################################################################

This section can adjust data using calibration expressions.

[StdCalibrate]

[[Corrections]]
    # For each type, an arbitrary calibration expression can be given.
    # It should be in the units defined in the StdConvert section.
    # Example:
    foo = foo + 0.2

##############################################################################

This section is for quality control checks. If units are not specified,

values must be in the units defined in the StdConvert section.

[StdQC]

[[MinMax]]
    barometer = 26, 32.5, inHg
    pressure = 24, 34.5, inHg
    outTemp = -40, 120, degree_F
    inTemp = 10, 120, degree_F
    outHumidity = 0, 100
    inHumidity = 0, 100
    windSpeed = 0, 120, mile_per_hour
    rain = 0, 10, inch

##############################################################################

This section controls the origin of derived values.

[StdWXCalculate]

[[Calculations]]
    # How to calculate derived quantities.  Possible values are:
    #  hardware        - use the value provided by hardware
    #  software        - use the value calculated by weewx
    #  prefer_hardware - use value provide by hardware if available,
    #                      otherwise use value calculated by weewx
    
    pressure = prefer_hardware
    altimeter = prefer_hardware
    appTemp = prefer_hardware
    barometer = prefer_hardware
    beaufort = prefer_hardware
    cloudbase = prefer_hardware
    dewpoint = prefer_hardware
    ET = prefer_hardware
    heatindex = prefer_hardware
    humidex = prefer_hardware
    inDewpoint = prefer_hardware
    maxSolarRad = prefer_hardware
    rainRate = prefer_hardware
    windchill = prefer_hardware
    windrun = prefer_hardware

##############################################################################

For hardware that supports it, this section controls how often the

onboard clock gets updated.

[StdTimeSynch]

# How often to check the weather station clock for drift (in seconds)
clock_check = 14400

# How much it can drift before we will correct it (in seconds)
max_drift = 5

##############################################################################

This section is for configuring the archive service.

[StdArchive]

# If the station hardware supports data logging then the archive interval
# will be downloaded from the station. Otherwise, specify it (in seconds).
archive_interval = 300

# If possible, new archive records are downloaded from the station
# hardware. If the hardware does not support this, then new archive
# records will be generated in software.
# Set the following to "software" to force software record generation.
record_generation = hardware

# Whether to include LOOP data in hi/low statistics
loop_hilo = True

# The data binding used to save archive records
data_binding = wx_binding

##############################################################################

This section binds a data store to a database.

[DataBindings]

[[wx_binding]]
    # The database must match one of the sections in [Databases].
    # This is likely to be the only option you would want to change.
    database = archive_sqlite
    # The name of the table within the database
    table_name = archive
    # The manager handles aggregation of data for historical summaries
    manager = weewx.manager.DaySummaryManager
    # The schema defines the structure of the database.
    # It is *only* used when the database is created.
    schema = schemas.wview_extended.schema

##############################################################################

This section defines various databases.

[Databases]

# A SQLite database is simply a single file
[[archive_sqlite]]
    database_name = weewx.sdb
    database_type = SQLite

# MySQL
[[archive_mysql]]
    database_name = weewx
    database_type = MySQL

##############################################################################

This section defines defaults for the different types of databases.

[DatabaseTypes]

# Defaults for SQLite databases
[[SQLite]]
    driver = weedb.sqlite
    # Directory in which the database files are located
    SQLITE_ROOT = %(WEEWX_ROOT)s/archive

# Defaults for MySQL databases
[[MySQL]]
    driver = weedb.mysql
    # The host where the database is located
    host = localhost
    # The user name for logging in to the host
    user = weewx
    # The password for the user name (quotes guard against parsing errors)
    password = weewx

##############################################################################

This section configures the internal weewx engine.

[Engine]

[[Services]]
    # This section specifies the services that should be run. They are
    # grouped by type, and the order of services within each group
    # determines the order in which the services will be run.
    prep_services = weewx.engine.StdTimeSynch
    data_services = ,
    process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
    archive_services = weewx.engine.StdArchive
    restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
    report_services = weewx.engine.StdPrint, weewx.engine.StdReport

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

I think I am starting to understand this. I did not realize that I need to edit the script weewx/bin/user/weatherflowudp.py because the sensor_map code is commented out. I removed the lines between ''' and ''' now have:
`#!/usr/bin/env python

Copyright 2017-2020 Arthur Emerson, [email protected]

Distributed under the terms of the GNU Public License (GPLv3)

[WeatherFlowUDP]
driver = user.weatherflowudp
log_raw_packets = True
udp_address =
# udp_address = 0.0.0.0
# udp_address = 255.255.255.255
udp_port = 50222
udp_timeout = 90
share_socket = True

# This section is for the TEMPEST WeatherFlow Bridge packets, via UDP broadcast on local subnet

[[sensor_map]]
    outTemp = air_temperature.ST-00000025.obs_st
    outHumidity = relative_humidity.ST-00000025.obs_st
    pressure = station_pressure.ST-00000025.obs_st
    #lightning_strikes =  lightning_strike_count.ST-00000025.obs_st
    #avg_distance =  lightning_strike_avg_distance.ST-00000025.obs_st
    outTempBatteryStatus = battery.ST-00000025.obs_st
    windSpeed = wind_speed.ST-00000025.rapid_wind
    windDir = wind_direction.ST-00000025.rapid_wind
    #luxXXX = illuminance.ST-00000025.obs_st
    UV = uv.ST-00000025.obs_st
    rain = rain_accumulated.ST-00000025.obs_st
    windBatteryStatus = battery.ST-00000025.obs_st
    radiation = solar_radiation.ST-00000025.obs_st
    #lightningXXX = distance.ST-00000025.evt_strike
    #lightningYYY = energy.ST-00000025.evt_strike

from future import with_statement`

I am getting the error :
Traceback (most recent call last):
File "/home/weewx/bin/weewxd", line 261, in
main()
File "/home/weewx/bin/weewxd", line 148, in main
engine = weewx.engine.StdEngine(config_dict)
File "/home/weewx/bin/weewx/engine.py", line 69, in init
self.setupStation(config_dict)
File "/home/weewx/bin/weewx/engine.py", line 92, in setupStation
import(driver)
File "/home/weewx/bin/user/weatherflowudp.py", line 7
driver = user.weatherflowudp
^
IndentationError: unexpected indent

Do you have an example of the correct indentation. I am not a Python guy.

Thanks

Kurt

from weatherflow-udp.

ispybadguys avatar ispybadguys commented on August 17, 2024

Any idea why I am getting this error

sudo /home/weewx/bin/weewxd /home/weewx/weewx.conf
Traceback (most recent call last):
File "/home/weewx/bin/weewxd", line 261, in
main()
File "/home/weewx/bin/weewxd", line 148, in main
engine = weewx.engine.StdEngine(config_dict)
File "/home/weewx/bin/weewx/engine.py", line 69, in init
self.setupStation(config_dict)
File "/home/weewx/bin/weewx/engine.py", line 92, in setupStation
import(driver)
File "/home/weewx/bin/user/weatherflowudp.py", line 10
udp_address = 0.0.0.0
^
SyntaxError: invalid syntax

from weatherflow-udp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.