My logfile:
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2022 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 = /

# Whether to log successful operations. May get overridden below.
log_success = True

# Whether to log unsuccessful operations. May get overridden below.
log_failure = True

# Do not modify this. It is used when installing and updating weewx.
version = 4.10.2

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

# This section is for information about the station.

[Station]
# Description of the station location
location = "Hornbaek, Denmark"
# Latitude in decimal degrees. Negative for southern hemisphere
latitude = 56.078
# Longitude in decimal degrees. Negative for western hemisphere.
longitude = 12.445
# Altitude of the station, with the unit it is in. This is used only
# if the hardware cannot supply a value.
altitude = 13, meter
# Set to type of station hardware. There must be a corresponding stanza
# in this file, which includes a value for the 'driver' option.
station_type = KlimaLogg
# If you have a website, you may specify an URL. This is required if you
# intend to register your station.
#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

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

[KlimaLogg]
# This section is for the TFA KlimaLogg series of weather stations.
# The driver to use
driver = user.kl
# Radio frequency to use between USB transceiver and console: US or EU
# US uses 915 MHz, EU uses 868.3 MHz. Default is EU.
transceiver_frequency = EU
# The station model, e.g., 'TFA KlimaLoggPro' or 'TFA KlimaLogg'
model = TFA KlimaLogg Pro
# Polling interval is indicates how often, in seconds, to request data
# from the sensors.
polling_interval = 10

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

# This section is for uploading data to Internet sites

[StdRESTful]
# Uncomment and change to override logging for uploading services.
# log_success = True
# log_failure = True
[[StationRegistry]]
# To register this weather station with weewx, set this to true,
# then fill out option 'station_url', located in the [Station] section 
above.
register_this_station = false
[[AWEKAS]]
# This section is for configuring posts to AWEKAS.
# If you wish to post to AWEKAS, set the option 'enable' to true, then 
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 post to CWOP, set the option 'enable' to true,
# then specify the station ID (e.g., CW1234).
enable = false
station = replace_me
# If this is an APRS (radio amateur) station, specify the
# passcode (e.g., 12345). Otherwise, ignore.
passcode = replace_me
[[PWSweather]]
# This section is for configuring posts to PWSweather.com.
# If you wish to post to PWSweather.com, set the option 'enable' to true, 
then 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 post to WOW, set the option 'enable' to true, then 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 post to the Weather Underground, set the option 'enable' 
to true, then
# 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 = /etc/weewx/skins
# Where the generated reports should go, relative to WEEWX_ROOT
HTML_ROOT = /var/www/html/weewx
# Uncomment and change to override logging for reports
# log_success = True
# log_failure = True
# The database binding indicates which data should be used in reports.
data_binding = kl_binding
# 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 = /var/www/html/weewx/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 = /var/www/html/weewx/mobile
[[kl]]
HTML_ROOT = /var/www/html/weewx/kl
skin = kl
[[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 = /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 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 = /var/www/html/weewx
# 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
# Options in the [[Defaults]] section below will apply to all reports.
# What follows are a few of the more popular options you may want to
# uncomment, then change.
[[Defaults]]
# Which language to use for all reports. Not all skins support all 
languages.
# You can override this for individual reports.
lang = en
# Which unit system to use for all reports. Choices are 'us', 'metric', or 
'metricwx'.
# You can override this for individual reports.
unit_system = metric
[[[Units]]]
# Option "unit_system" above sets the general unit system, but overriding 
specific unit
# groups is possible. These are popular choices. Uncomment and set as 
appropriate.
# NB: The unit is always in the singular. I.e., 'mile_per_hour',
# NOT 'miles_per_hour'
[[[[Groups]]]]
# group_altitude = meter # Options are 'foot' or 'meter'
# group_pressure = mbar # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
# group_rain = mm # Options are 'inch', 'cm', or 'mm'
# group_rainrate = mm_per_hour # Options are 'inch_per_hour', 
'cm_per_hour', or 'mm_per_hour'
# group_temperature = degree_C # Options are 'degree_C', 'degree_F', or 
'degree_K'
# The following line is used to keep the above lines indented properly.
# It can be ignored.
unused = unused
# Uncommenting the following section frequently results in more
# attractive formatting of times and dates, but may not work in
# your locale.
[[[[TimeFormats]]]]
# day = %H:%M
# week = %H:%M on %A
# month = %d-%b-%Y %H:%M
# year = %d-%b-%Y %H:%M
# rainyear = %d-%b-%Y %H:%M
# current = %d-%b-%Y %H:%M
# ephem_day = %H:%M
# ephem_year = %d-%b-%Y %H:%M
# The following line is used to keep the above lines indented properly.
# It can be ignored.
unused = unused
[[[Labels]]]
# Users frequently change the labels for these observation types
[[[[Generic]]]]
# inHumidity = Inside Humidity
# inTemp = Inside Temperature
# outHumidity = Outside Humidity
# outTemp = Outside Temperature
# extraTemp1 = Temperature1
# extraTemp2 = Temperature2
# extraTemp3 = Temperature3
# The following line is used to keep the above lines indented properly.
# It can be ignored.
unused = unused

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

# 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
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
# Uncomment and change to override logging for archive operations
# log_success = True
# log_failure = True
# The data binding used to save archive records
data_binding = kl_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
[[kl_binding]]
manager = weewx.wxmanager.WXDaySummaryManager
schema = user.kl.schema
table_name = archive
database = kl_sqlite

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

# 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
[[kl_sqlite]]
database_name = weewx-kl.sdb
database_type = SQLite
[[kl_mysql]]
database_name = weewx-kl
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 = /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 (use quotes to guard against parsing errors)
password = weewx

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

# This section configures the internal weewx engine.

[Engine]
# The following section specifies which services should be run and in what 
order.
[[Services]]
prep_services = weewx.engine.StdTimeSynch
data_services = ,
process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, 
weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
xtype_services = weewx.wxxtypes.StdWXXTypes, 
weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, 
weewx.wxxtypes.StdDelta
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


onsdag den 8. november 2023 kl. 21.02.08 UTC+1 skrev Nenad Dragic:

> Hi,
>
> I have just tried to set up my RPI up for 5 time, and still no luck.
>
> Issues:
> Is not reading from my Klimalogg PRO 30.3039.IT V11
> No folder: /var/www/html/weewx
>
> Here is what I my device info and what I am doing, step my step:
>
> # RPI SW Info
> PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
> NAME="Debian GNU/Linux"
> VERSION_ID="12"
> VERSION="12 (bookworm)"
> VERSION_CODENAME=bookworm
> ID=debian
> HOME_URL="https://www.debian.org/";
> SUPPORT_URL="https://www.debian.org/support";
> BUG_REPORT_URL="https://bugs.debian.org/";
>
> # PRI HW Info
> processor : 0
> BogoMIPS : 108.00
> Features : fp asimd evtstrm crc32 cpuid
> CPU implementer : 0x41
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0xd08
> CPU revision : 3
>
> processor : 1
> BogoMIPS : 108.00
> Features : fp asimd evtstrm crc32 cpuid
> CPU implementer : 0x41
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0xd08
> CPU revision : 3
>
> processor : 2
> BogoMIPS : 108.00
> Features : fp asimd evtstrm crc32 cpuid
> CPU implementer : 0x41
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0xd08
> CPU revision : 3
>
> processor : 3
> BogoMIPS : 108.00
> Features : fp asimd evtstrm crc32 cpuid
> CPU implementer : 0x41
> CPU architecture: 8
> CPU variant : 0x0
> CPU part : 0xd08
> CPU revision : 3
>
> Hardware : BCM2835
> Revision : b03111
> Serial : 100000008da7b4f3
> Model : Raspberry Pi 4 Model B Rev 1.1
>
>
> # Update RPI
> sudo apt-get update
> sudo apt-get upgrade
> sudo apt-get dist-upgrade 
> sudo apt-get autoremove 
> sudo apt-get autoclean 
>
> # https://weewx.com/apt/
> curl -s http://weewx.com/keys.html | sudo apt-key add -
> curl -s http://weewx.com/apt/weewx-python3.list | sudo tee 
> /etc/apt/sources.list.d/weewx.list
> sudo apt-get update
> sudo apt-get install weewx
>
> # https://github.com/matthewwall/weewx-klimalogg
> sudo /etc/init.d/weewx stop
> sudo mv /var/lib/weewx/weewx.sdb /var/lib/weewx/weewx.sdb-old
> wget -O weewx-kl.zip 
> https://github.com/matthewwall/weewx-klimalogg/archive/master.zip
> sudo wee_extension --install weewx-kl.zip
> sudo wee_config --reconfigure --driver=user.kl --no-prompt
>
> # Checked this changes:
> #Installing this extension will make the following changes to weewx.conf:
>
> #Change wx_binding to kl_binding.  Klimalogg works best with its own 
> schema,
> #not the wview schema that is the default for weewx.  This requires 
> changing
> #the data binding from wx_binding to kl_binding in two places, the 
> StdReport
> #and StdArchive sections
> # OK:)
>
> #Remove the [Simulator] driver section if it exists.
>
> #Remove the [[StandardReport]] section of [StdReport] if it exists.  The
> #KlimaLogg is not a 'standard' weather station, so the graphs and reports
> #in skin Standard will not work properly.
> # OK:)
>
> # Parring with Klimalogg PRO - USB
> sudo /etc/init.d/weewx start
>
> # 1. error
> #
> # ValueError: The device has no langid (permission issue, no string 
> descriptors supported or device error)
> # See Error below.
>
> # Fixed:
> # https://groups.google.com/g/weewx-user/c/8htXqu8AiVo/m/uMAhU3SBBAAJ
> # admina@tfa:~ $ lsusb
> # Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> # Bus 001 Device 003: ID 6666:5555 Prototype product Vendor ID Weather 
> Direct Light Wireless Device
> # Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
> # Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>
> # admina@tfa:~ $ ls -l /dev/bus/usb/001/003
> # crw-rw-r-- 1 root root 189, 2 Nov  8 20:30 /dev/bus/usb/001/003
>
> # admina@tfa:~ $ sudo lsof | fgrep '/dev/bus/usb'
> # lsof: WARNING: can't stat() fuse.gvfsd-fuse file system 
> /run/user/1000/gvfs
> #      Output information may be incomplete.
> # lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc
> #      Output information may be incomplete.
> # python3   2226                            root    8u      CHR           
>    189,2       0t0        145 /dev/bus/usb/001/003
> # python3   2226 2228 libusb_ev             root    8u      CHR           
>    189,2       0t0        145 /dev/bus/usb/001/003
> # python3   2226 2229 python3               root    8u      CHR           
>    189,2       0t0        145 /dev/bus/usb/001/003
>
> # Following this guide:
> # https://github.com/weewx/weewx/wiki/Help!-Posting-to-weewx-user
> # admina@tfa:~ $ sudo tail -f /var/log/syslog | tee /var/tmp/mylog
> # tail: cannot open '/var/log/syslog' for reading: No such file or 
> directory
> # tail: no files remaining
>
> Error:
> admina@tfa:~ $ wee_device 
> Using configuration file /etc/weewx/weewx.conf
> Using KlimaLogg driver version 1.4.2 (user.kl)
> Traceback (most recent call last):
> File "/usr/share/weewx/wee_device", line 76, in <module>
> main()
> File "/usr/share/weewx/wee_device", line 72, in main
> device.configure(config_dict)
> File "/usr/share/weewx/weewx/drivers/__init__.py", line 67, in configure
> self.do_options(options, parser, config_dict, not options.noprompt)
> File "/usr/share/weewx/user/kl.py", line 1547, in do_options
> self.station = KlimaLoggDriver(**config_dict[DRIVER_NAME])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/share/weewx/user/kl.py", line 1794, in __init__
> self.startUp()
> File "/usr/share/weewx/user/kl.py", line 1975, in startUp
> self._service.setup(self.frequency, self.comm_interval,
> File "/usr/share/weewx/user/kl.py", line 4048, in setup
> self.hid.open(vendor_id, product_id, serial)
> File "/usr/share/weewx/user/kl.py", line 3019, in open
> self.devh = self._open_device(device)
> ^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/share/weewx/user/kl.py", line 3072, in _open_device
> loginf('manufacturer: %s' % handle.getString(dev.iManufacturer, 30))
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/usb/legacy.py", line 285, in 
> getString
> return util.get_string(self.dev, index, langid).encode('ascii')
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/usb/util.py", line 313, in get_string
> raise ValueError("The device has no langid"
> ValueError: The device has no langid (permission issue, no string 
> descriptors supported or device error)
> admina@tfa:~ $ 
>
> What to do? Can't google next step and I am not the best linux user yet.
>
> Br. Nenad
>

-- 
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/e5484f90-ba97-4a8f-9360-cd421b7860e9n%40googlegroups.com.

Reply via email to