Greetings all, I have to give the obligatory noob alert, so thank you in
advance for patience and help.
Ill start with my end goal:
I would like my RPi to receive my WS 2902 sensor values as CSV, TXT,
anything really. These values will be used to determine if/when GPIO's can
be triggered. It is highly preferable to be able to bypass any actual
uploading to the internet. I see that it may possible from the intake
strategies
<https://github.com/weewx/weewx/wiki/intake-strategies#configuration-6-driver-for-network-connected-data-source-using-local-api-sniffing-or-hijacking>
section
of the weeWX GitHub.
On to my problem:
I installed weeWX following this installation guide
<http://landoflinux.com/linux_raspberry_pi_weather_station.html>. I get all
the way down to "Checking connectivity to your weather station" but then it
fails with "Timed out too many times" continuously. I have attached
a snippet of my user.log and my weewx.conf files.
Guidance for end goal:
Once I see weeWX working I can focus on my desired intake strategy (unless
its just as easy to do at the same time). What do I need to achieve my
goal? Aside from what I have installed from the installation guide, I
essentially have whatever comes with Debian stretch. Ive seen mentions of
iptables but I'm not really sure what that involves. I am using an Arris
TG1682G (aka XB3, from Comcast). But I also have a spare Linksys WRT54G
with DD-WRT on it. The WRT would ultimately be the desired router to use.
I should mention, I have gotten the Ambient Weather API
<https://ambientweather.docs.apiary.io/#reference/ambient-realtime-api> to
work, I can receive my sensor values and save them into a txt file. If it
is possible to cut out the internet connection that would be neat.
Thank you again for the help!
Daniel
--
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].
For more options, visit https://groups.google.com/d/optout.
Apr 30 08:17:06 raspberrypi weewx[480]: engine: Initializing weewx version 3.8.0
Apr 30 08:17:06 raspberrypi weewx[480]: engine: Using Python 2.7.13 (default,
Nov 24 2017, 17:33:09) #012[GCC 6.3.0 20170516]
Apr 30 08:17:06 raspberrypi weewx[480]: engine: Platform
Linux-4.9.80-v7+-armv7l-with-debian-9.3
Apr 30 08:17:06 raspberrypi weewx[480]: engine: Locale is 'en_US.UTF-8'
Apr 30 08:17:06 raspberrypi weewx[480]: engine: pid file is /var/run/weewx.pid
Apr 30 08:17:07 raspberrypi weewx[498]: engine: Using configuration file
/etc/weewx/weewx.conf
Apr 30 08:17:07 raspberrypi weewx[498]: engine: debug is 1
Apr 30 08:17:07 raspberrypi weewx[498]: engine: Initializing engine
Apr 30 08:17:07 raspberrypi weewx[498]: engine: Loading station type HP1000
(user.HP1000)
Apr 30 08:17:07 raspberrypi weewx[498]: HP1000: HP1000 Starting
Apr 30 08:17:07 raspberrypi weewx[498]: import of driver failed: 2 (<type
'exceptions.KeyError'>)
Apr 30 08:17:07 raspberrypi weewx[498]: engine: Unable to load driver: 2
Apr 30 08:17:07 raspberrypi weewx[498]: **** Waiting 60 seconds then
retrying...
Apr 30 08:17:08 raspberrypi lightdm[510]: Error getting user list from
org.freedesktop.Accounts:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
org.freedesktop.Accounts was not provided by any .service files
Apr 30 09:10:44 raspberrypi weewx[498]: engine: retrying...
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Using configuration file
/etc/weewx/weewx.conf
Apr 30 09:10:44 raspberrypi weewx[498]: engine: debug is 1
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Initializing engine
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading station type HP1000
(user.HP1000)
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: HP1000 Starting
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Using "netifaces" to determine
broadcast mask
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Address Mask = 10.0.0.255
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Retry count = 5.000000
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Socket timeout = 5.000000
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Loop delay = 15.000000
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Retry Wait = 5.000000
Apr 30 09:10:44 raspberrypi weewx[498]: HP1000: Max Retry = 3.000000
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdTimeSynch
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdTimeSynch
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdConvert
Apr 30 09:10:44 raspberrypi weewx[498]: engine: StdConvert target unit is 0x1
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdConvert
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdCalibrate
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdCalibrate
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdQC
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdQC
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.wxservices.StdWXCalculate
Apr 30 09:10:44 raspberrypi weewx[498]: wxcalculate: The following values will
be calculated: barometer=prefer_hardware, windchill=prefer_hardware,
dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=prefer_hardware,
windrun=prefer_hardware, heatindex=prefer_hardware,
maxSolarRad=prefer_hardware, humidex=prefer_hardware, pressure=prefer_hardware,
inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware,
cloudbase=prefer_hardware
Apr 30 09:10:44 raspberrypi weewx[498]: wxcalculate: The following algorithms
will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
weewx.wxservices.StdWXCalculate
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
user.crt.CumulusRealTime
Apr 30 09:10:44 raspberrypi weewx[498]: crt: service version is 0.18
Apr 30 09:10:44 raspberrypi weewx[498]: crt: output goes to
/var/tmp/realtime.txt
Apr 30 09:10:44 raspberrypi weewx[498]: crt: 'None' values will be displayed as
NULL
Apr 30 09:10:44 raspberrypi weewx[498]: crt: units will be displayed as US
Apr 30 09:10:44 raspberrypi weewx[498]: crt: zambretti forecast: False
Apr 30 09:10:44 raspberrypi weewx[498]: crt: binding is loop
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
user.crt.CumulusRealTime
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdArchive
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Archive will use data binding
wx_binding
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Record generation will be
attempted in 'hardware'
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Using archive interval of 300
seconds (specified in weewx configuration)
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Use LOOP data in hi/low
calculations: 1
Apr 30 09:10:44 raspberrypi weewx[498]: manager: Daily summary version is 2.0
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Using binding 'wx_binding' to
database 'weewx.sdb'
Apr 30 09:10:44 raspberrypi weewx[498]: manager: Starting backfill of daily
summaries
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdArchive
Apr 30 09:10:44 raspberrypi weewx[498]: engine: Loading service
weewx.restx.StdStationRegistry
Apr 30 09:10:45 raspberrypi weewx[498]: restx: StationRegistry: Registration
not requested.
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.restx.StdStationRegistry
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.restx.StdWunderground
Apr 30 09:10:45 raspberrypi weewx[498]: restx: Wunderground: Posting not
enabled.
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.restx.StdWunderground
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.restx.StdPWSweather
Apr 30 09:10:45 raspberrypi weewx[498]: restx: PWSweather: Posting not enabled.
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.restx.StdPWSweather
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.restx.StdCWOP
Apr 30 09:10:45 raspberrypi weewx[498]: restx: CWOP: Posting not enabled.
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.restx.StdCWOP
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.restx.StdWOW
Apr 30 09:10:45 raspberrypi weewx[498]: restx: WOW: Posting not enabled.
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.restx.StdWOW
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.restx.StdAWEKAS
Apr 30 09:10:45 raspberrypi weewx[498]: restx: AWEKAS: Posting not enabled.
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.restx.StdAWEKAS
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdPrint
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdPrint
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Loading service
weewx.engine.StdReport
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Finished loading service
weewx.engine.StdReport
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Starting up weewx version 3.8.0
Apr 30 09:10:45 raspberrypi weewx[498]: engine: Station does not support
reading the time
Apr 30 09:11:10 raspberrypi weewx[498]: HP1000: Timed out too many times
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2015 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
# The following line manages network failures
loop_on_init = True
# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /
# 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 = 3.8.0
##############################################################################
# This section is for information about the station.
[Station]
# Description of the station location
location = "Houston, Texas"
# Latitude and longitude in decimal degrees
latitude = 29.588
longitude = -95.053
# Altitude of the station, with unit it is in. This is downloaded from
# from the station if the hardware supports it.
altitude = 1, meter
# 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 = HP1000
# If you have a website, you may specify an URL
#station_url = http://www.example.com
# 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
##############################################################################
[Simulator]
# This section is for the weewx weather station simulator
# The time (in seconds) between LOOP packets.
loop_interval = 2.5
# The simulator mode can be either 'simulator' or 'generator'.
# Real-time simulator. Sleep between each LOOP packet.
mode = simulator
# Generator. Emit LOOP packets as fast as possible (useful for testing).
#mode = generator
# The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the default
# is to use the present time.
#start = 2011-01-01T00:00
# The driver to use:
driver = weewx.drivers.simulator
##############################################################################
# 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 = false
[[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.
enable = false
username = replace_me
# To guard against parsing errors, put your password in quotes:
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.
enable = false
station = replace_me
# To guard against parsing errors, put your password in quotes:
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.
enable = false
station = replace_me
# To guard against parsing errors, put your password in quotes:
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.
enable = false #Even as true it would still fail
station = KTXHOUST2360
# To guard against parsing errors, put your password in quotes:
password = "notmyrealpassword"
# 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 = /etc/weewx/skins
# Where the generated reports should go, relative to WEEWX_ROOT
HTML_ROOT = /var/www/html/weewx
# The database binding indicates which data should be used in reports.
data_binding = wx_binding
# Each of the following subsections defines a report that will be run.
[[StandardReport]]
# 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.
# The StandardReport uses the 'Standard' skin, which contains the
# images, templates and plots for the report.
skin = Standard
[[[Units]]]
[[[[Groups]]]]
group_altitude = foot
group_speed2 = mile_per_hour2
group_pressure = inHg
group_rain = inch
group_rainrate = inch_per_hour
group_temperature = degree_F
group_degree_day = degree_F_day
group_speed = mile_per_hour
[[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, uncomment and fill out the next four lines.
#user = replace with the ftp username
#password = replace with the ftp password; put in quotes to guard
against parsing errors.
#server = replace with the ftp server name, e.g, www.threefools.org
#path = replace with the ftp 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 = /var/www/html/weewx
# 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 as to the user account on the remote machine where the files
# will be copied.
#
# The following three lines determine where files will be sent.
#server = replace with the rsync server name, e.g, www.threefools.org
#path = replace with the rsync destination directory (e.g., /weather)
#user = replace with the rsync username
# 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
##############################################################################
# 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
outTemp = -40, 120, degree_F
inTemp = 10, 120, degree_F
outHumidity = 0, 100
inHumidity = 0, 100
windSpeed = 0, 120, mile_per_hour
pressure = 24, 34.5, inHg
##############################################################################
# This section controls the origin of derived values.
[StdWXCalculate]
[[Calculations]]
# Derived quantities are calculated by this service. 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
barometer = prefer_hardware
altimeter = prefer_hardware
windchill = prefer_hardware
heatindex = prefer_hardware
dewpoint = prefer_hardware
inDewpoint = prefer_hardware
rainRate = 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.wxmanager.WXDaySummaryManager
# The schema defines the structure of the database.
# It is *only* used when the database is created.
schema = schemas.wview.schema
##############################################################################
# This section defines various databases.
[Databases]
# A SQLite database is simply a single file
[[archive_sqlite]]
database_type = SQLite
database_name = weewx.sdb
# MySQL
[[archive_mysql]]
database_type = MySQL
database_name = weewx
##############################################################################
# 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 = /var/lib/weewx
# 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. Put in quotes to 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, user.crt.CumulusRealTime
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
##############################################################################
[HP1000]
# This section is for the weewx HP1000 weather station driver
# The IP address mask to search for a weather station
# Define this if you DO NOT have the 'netifaces' Python
# package installed on your computer or you want to
# force the driver to use a specific broadcase address
#ip_address_mask = "10.1.1.255"
# The retry count for getting a response from the weather station
retry_count = 5
# Socket timeout value (seconds)
socket_timeout = 5
# Loop delay time (seconds)
# None or not specified means loop packets are generated as fast as possible
# (approx every few seconds) and will increase network traffic volume
loop_delay = 15
# Number of times to try to access the network
max_retry = 3
# Number of seconds to wait between attempts to access the network
retry_wait = 5
# The driver to use:
driver = user.HP1000
##############################################################################
[Interceptor]
# This section is for the network traffic interceptor driver.
# The driver to use:
driver = user.interceptor
# Specify the hardware device to capture. Options include:
# acurite-bridge - acurite internet bridge
# observer - fine offset WH2600/HP1000/HP1003, aka 'observer'
# lw30x - oregon scientific LW301/LW302
# lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
device_type = observer
port = 45000 #only free TCP port on my WS found using my OSX Network
utility
address = 10.0.0.11
##############################################################################
# Options for extension 'crt'
[CumulusRealTime]
filename = /var/tmp/realtime.txt
unit_system = US # options are US, METRIC, METRICWX