Code Monkey home page Code Monkey logo

weewx-docker's Introduction

Hi there πŸ‘‹

πŸ‘· Check out what I'm currently working on

πŸ‘¨β€πŸ’» Repositories I created recently

πŸš€ Latest releases I've contributed to

❀️ Latest sponsors

Thanks again for your support, it is much appreciated! πŸ™

πŸ‹ My other incarnations

weewx-docker's People

Contributors

dav3r avatar dependabot[bot] avatar felddy avatar hillaryj avatar jsf9k avatar marchagen avatar mcdonnnj avatar wvolz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

weewx-docker's Issues

Container Fails to Start on Synology

πŸ› Bug Report

A clear and concise description of what the bug is.

To Reproduce

Run the following command on a Synology NAS with Docker installed:
docker run --name "weewx" --restart unless-stopped -d --net=host -e TZ=$TIME_ZONE -e WEEWX_UID=weewx -e WEEWX_GID=dialout --mount type=bind,src=$VOLUME_BASE/weewx/data,dst=/data:Z --mount type=bind,src=$CERT_DIR,dst=/certs:Z -it felddy/weewx:latest

Expected behavior

I expect: The container starts up successfully.
Actually: Failure appears int he logs. I think the configuration files are not getting created as the $VOLUME_BASE/weewx/data directory is empty.

Any helpful log output

Paste the results here:

Switching uid:gid to weewx:dialout
Nov  5 14:59:24 syslogd started: BusyBox v1.30.1
Nov  5 14:59:27 weewx[18] INFO __main__: Initializing weewx version 4.1.1
Nov  5 14:59:27 weewx[18] INFO __main__: Using Python 3.8.5 (default, Sep 10 2020, 16:58:22)  [GCC 8.3.0]
Nov  5 14:59:27 weewx[18] INFO __main__: Platform Linux-3.10.105-x86_64-with-glibc2.2.5
Nov  5 14:59:27 weewx[18] INFO __main__: Locale is 'C.UTF-8'
Nov  5 14:59:27 weewx[18] INFO __main__: Using configuration file /data/weewx.conf
Nov  5 14:59:27 weewx[18] INFO __main__: Debug is 0
Nov  5 14:59:27 weewx[18] CRITICAL __main__: Caught unrecoverable exception:
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****  'unspecified'
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****  Traceback (most recent call last):
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****    File "./bin/weewxd", line 148, in main
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 69, in __init__
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****      self.setupStation(config_dict)
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 87, in setupStation
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****      driver = config_dict[station_type]['driver']
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****    File "/opt/venv/lib/python3.8/site-packages/configobj.py", line 554, in __getitem__
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****      val = dict.__getitem__(self, key)
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****  KeyError: 'unspecified'
Nov  5 14:59:27 weewx[18] CRITICAL __main__:     ****  Exiting.
Traceback (most recent call last):
  File "./bin/weewxd", line 261, in <module>
    main()
  File "./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 87, in setupStation
    driver = config_dict[station_type]['driver']
  File "/opt/venv/lib/python3.8/site-packages/configobj.py", line 554, in __getitem__
    val = dict.__getitem__(self, key)
KeyError: 'unspecified'

disconnected due to malformed packet

When trying to push data to my mqtt broker (Mosquitto) is get the messsage

 disconnected due to malformed packet

I tried different versions of the broker but I'm unable to fix this. Not sure how to debug this any further.
I'm running this instance on my QNAP nas.

Does this container allow for custom skins and extension?

I'm just trying to get a better idea of whether this will allow for more than just changing the base config file.

For example, if I want to use the Belchertown skin and Phrenology extension, can I do that in this container? It would only require adding volume mappings for /usr/share/weewx/user and /etc/weewx/skins. Maybe a couple others for the extensions too.

Thoughts?

v4 support

Thnx for this container! Any plans for adding v4 support?

Adding Skins

Hi
I've been using your weewx-docker for sometime now and have liked the experience.

I would like to add a new skin the poblabs/weewx-belchertown, how would I do the with your docker image.

kind regards daniel

Image builds failing with buildkit v0.8-beta

πŸ› Bug Report

The build workflow is now failing since docker/setup-buildx-action#27 was merged.

This looks like a caching error across the multiple platforms.

To Reproduce

Steps to reproduce the behavior:

  • Trigger the normal release workflow

Expected behavior

A release is successfully built and pushed to docker hub.

Any helpful log output

Paste the results here:

#119 [linux/arm64 stage-1  2/17] RUN addgroup --system --gid 421 weewx   && a...
#119 27.67 standard_init_linux.go:219: exec user process caused: exec format error
#119 ERROR: executor failed running [/bin/sh -c addgroup --system --gid ${WEEWX_UID} weewx   && adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx]: buildkit-runc did not terminate successfully
...
#91 [linux/s390x stage-2 2/7] RUN addgroup --system --gid 421 weewx   && add...
#91 CANCELED

#139 [linux/arm/v7 stage-2 2/7] RUN addgroup --system --gid 421 weewx   && ad...
#139 CANCELED

#162 [linux/amd64 stage-2 2/7] RUN addgroup --system --gid 421 weewx   && add...
#162 CANCELED

#18 [linux/386 stage-2 2/7] RUN addgroup --system --gid 421 weewx   && addus...
#18 CANCELED

#71 [linux/arm/v6 stage-1  2/17] RUN addgroup --system --gid 421 weewx   && ...
#71 28.42 standard_init_linux.go:219: exec user process caused: exec format error
#71 CANCELED

#95 [linux/s390x stage-1  2/17] RUN addgroup --system --gid 421 weewx   && a...
#95 28.42 standard_init_linux.go:219: exec user process caused: exec format error
#95 CANCELED

#47 [linux/ppc64le stage-1  2/17] RUN addgroup --system --gid 421 weewx   &&...
#47 28.45 standard_init_linux.go:219: exec user process caused: exec format error
#47 CANCELED

#43 [linux/ppc64le stage-2 2/7] RUN addgroup --system --gid 421 weewx   && a...
#43 30.09 standard_init_linux.go:219: exec user process caused: exec format error
#43 CANCELED

#143 [linux/arm/v7 stage-1  2/17] RUN addgroup --system --gid 421 weewx   && ...
#143 28.48 standard_init_linux.go:219: exec user process caused: exec format error
#143 CANCELED

#165 [linux/amd64 stage-1  2/17] RUN addgroup --system --gid 421 weewx   && a...
#165 DONE 28.4s

#22 [linux/386 stage-1  2/17] RUN addgroup --system --gid 421 weewx   && add...
#22 CANCELED
------
 > [linux/arm/v6 stage-2 2/7] RUN addgroup --system --gid 421 weewx   && adduser --system --uid 421 --ingroup weewx weewx:
------
------
 > [linux/arm64 stage-1  2/17] RUN addgroup --system --gid 421 weewx   && adduser --system --uid 421 --ingroup weewx weewx:
------
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c addgroup --system --gid ${WEEWX_UID} weewx   && adduser --system --uid ${WEEWX_UID} --ingroup weewx weewx]: buildkit-runc did not terminate successfully
Error: Process completed with exit code 1.

Failed start up on unraid

I get the following error when trying to start the container on unraid:

Error response from daemon: error gathering device information while adding custom device "/dev/ttyUSB0": no such file or directory.

Not sure if I need to las through the USB device (WeatherLink live). I’ve never done that before so this is probably on me!

attempt to write a readonly database

πŸ› Summary

Weewx sends data to MQTT correctly. Much of the time it works fine.
But, at some point it stops sending data for a few seconds.

When it stops, an error appears in the log (see log section).

To reproduce

Steps to reproduce the behavior:

  1. Connect weather station to usb port.
  2. Start container.
  3. Wait to apperas the error in the log.

Expected behavior

Does not stop sending data to MQTT.
There are no errors in the logs.

Any helpful log output or screenshots

Paste the results here:

File "/usr/local/lib/python3.10/logging/handlers.py", line 880, in _connect_unixsocket

    self.socket.connect(address)

FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "/usr/local/lib/python3.10/logging/handlers.py", line 962, in emit

    self._connect_unixsocket(self.address)

  File "/usr/local/lib/python3.10/logging/handlers.py", line 891, in _connect_unixsocket

    self.socket.connect(address)

FileNotFoundError: [Errno 2] No such file or directory

Call stack:

  File "/home/weewx/./bin/weewxd", line 264, in <module>

    main()

  File "/home/weewx/./bin/weewxd", line 157, in main

    engine.run()

  File "/home/weewx/bin/weewx/engine.py", line 178, in run

    self.dispatchEvent(weewx.Event(weewx.STARTUP))

  File "/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent

    callback(event)

  File "/home/weewx/bin/weewx/engine.py", line 574, in startup

    self._catchup(self.engine.console.genStartupRecords)

  File "/home/weewx/bin/weewx/engine.py", line 690, in _catchup

    self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,

  File "/home/weewx/bin/weewx/engine.py", line 245, in dispatchEvent

    callback(event)

  File "/home/weewx/bin/weewx/engine.py", line 665, in new_archive_record

    dbmanager.addRecord(event.record,

  File "/home/weewx/bin/weewx/manager.py", line 301, in addRecord

    log.error("Unable to add record %s to database '%s': %s",

Message: "Unable to add record %s to database '%s': %s"

Arguments: ('2023-06-07 22:10:00 CEST (1686168600)', 'weewx.sdb', OperationalError(OperationalError('attempt to write a readonly database')))

Add any screenshots of the problem here.

imagen

dialout user is GID 20 in the container, while in some host OS's is 18 (permissions error on /dev/ttyUSB0)

πŸ› Summary

Spent many hours debugging this, and seems that the GID in HASSIO is 18 so when mapping a device to a container it will return permissions error

To reproduce

  1. set up HASSIO
  2. log in with SSH to the OS, in developer mode so you can run containers in the host OS
  3. try to map a device internally, see that you can't use it as HASSIO GID is 18 while the OS needs GID 20

Expected behavior

Either change the GID to 18 (you need to do a custom build), or run with the env var WEEWX_GID = 18 (weird workaround, but works)

(wanted to leave this here in case someone hits the issue)

Database OperationalError exception: No permission to create /var/lib/weewx

πŸ’¬ Questions and Help

I'm trying to get set up from your instructions. After running docker-compose up, I get the following output:

cqlanus:weewx/ (masterβœ—) $ docker-compose up                                                                                                                                                                      [22:18:30]
Starting weewx_weewx_1 ... done
Attaching to weewx_weewx_1
weewx_1  | Switching uid:gid to weewx:dialout
weewx_1  | Jan  4 22:19:12 syslogd started: BusyBox v1.30.1
weewx_1  | Jan  4 22:19:12 weewx[17] INFO __main__: Initializing weewx version 4.1.1
weewx_1  | Jan  4 22:19:12 weewx[17] INFO __main__: Using Python 3.9.0 (default, Oct  6 2020, 22:03:51)  [GCC 8.3.0]
weewx_1  | Jan  4 22:19:12 weewx[17] INFO __main__: Platform Linux-4.19.76-linuxkit-x86_64-with-glibc2.28
weewx_1  | Jan  4 22:19:12 weewx[17] INFO __main__: Locale is 'C.UTF-8'
weewx_1  | Jan  4 22:19:13 weewx[17] INFO __main__: Using configuration file /data/weewx.conf
weewx_1  | Jan  4 22:19:13 weewx[17] INFO __main__: Debug is 1
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG __main__: Initializing engine
weewx_1  | Jan  4 22:19:13 weewx[17] INFO weewx.engine: Loading station type Interceptor (user.interceptor)
weewx_1  | Jan  4 22:19:13 weewx[17] INFO user.interceptor: driver version is 0.53
weewx_1  | Jan  4 22:19:13 weewx[17] INFO user.interceptor: device type: fineoffset-bridge
weewx_1  | Jan  4 22:19:13 weewx[17] INFO user.interceptor: mode is listen
weewx_1  | Jan  4 22:19:13 weewx[17] INFO user.interceptor: listen on :8000
weewx_1  | Jan  4 22:19:13 weewx[17] INFO user.interceptor: sensor map: {'pressure': 'pressure', 'barometer': 'barometer', 'outHumidity': 'humidity_out', 'inHumidity': 'humidity_in', 'outTemp': 'temperature_out', 'inTemp': 'temperature_in', 'windSpeed': 'wind_speed', 'windGust': 'wind_gust', 'windDir': 'wind_dir', 'windGustDir': 'wind_gust_dir', 'radiation': 'solar_radiation', 'dewpoint': 'dewpoint', 'windchill': 'windchill', 'rain': 'rain', 'rainRate': 'rain_rate', 'UV': 'uv', 'txBatteryStatus': 'battery', 'extraTemp1': 'temperature_1', 'extraTemp2': 'temperature_2', 'extraTemp3': 'temperature_3', 'extraHumid1': 'humidity_1', 'extraHumid2': 'humidity_2', 'soilTemp1': 'soil_temperature_1', 'soilTemp2': 'soil_temperature_2', 'soilMoist1': 'soil_moisture_1', 'soilMoist2': 'soil_moisture_2', 'soilMoist3': 'soil_moisture_3', 'soilMoist4': 'soil_moisture_4', 'leafWet1': 'leafwetness_1', 'leafWet2': 'leafwetness_2', 'pm2_5': 'pm2_5', 'extraTemp4': 'temperature_4', 'extraTemp5': 'temperature_5', 'extraTemp6': 'temperature_6', 'extraTemp7
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG user.interceptor: start tcp server
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
weewx_1  | Jan  4 22:19:13 weewx[17] INFO weewx.engine: StdConvert target unit is 0x1
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Loading service weewx.engine.StdQC
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
weewx_1  | Jan  4 22:19:13 weewx[17] INFO user.interceptor: shutting down server thread
weewx_1  | Jan  4 22:19:13 weewx[17] DEBUG user.interceptor: stop tcp server
weewx_1  | Jan  4 22:19:13 weewx[17] CRITICAL __main__: Database OperationalError exception: No permission to create /var/lib/weewx
weewx_1  | Jan  4 22:19:13 weewx[17] CRITICAL __main__:     ****  Waiting 2 minutes then retrying...

Looks like I'm dealing with some permissions issues, but I'm not sure the best way to debug this issue. Any advice?

[NFR] Mqtt support

Would it be possible to add MQTT support? Something like this works for me currently

RUN pip install paho-mqtt
RUN wget -O /tmp/weewx-mqtt.zip https://github.com/matthewwall/weewx-mqtt/archive/master.zip
RUN /home/weewx/bin/wee_extension --install /tmp/weewx-mqtt.zip
RUN rm /tmp/weewx-mqtt.zip

ARM build

Build an image to support raspberry pi. (arm)

Make configs available via env vars

πŸ’‘ Summary

all configs should be exposed as env vars

Motivation and context

If you want to run weewx in a completely stateless mode, then you should be able to do it

Useful for running the app in, for example, home assistant os and you don't want to persist anything

Add InfluxDB plugin

πŸ’‘ Summary

I would like to have this docker image with weewx-influxdb plugin installed.

Motivation and context

I use InfluxDB in addition to SQLite, so it's easier to visualize my weather data via Grafana, along with other sensor metrics I store on InfluxDB.

Implementation notes

Since the docker image have already 2 plugins for weewx then I hope that would not be a big deal to include it.
No need to modify weewx.conf, since I can easily read plugin docs and add it myself.
Just add this to dokcerfile with a few more commands t actually install it.
wget -O weewx-influx.zip https://github.com/matthewwall/weewx-influx/archive/master.zip

Acceptance criteria

How do we know when this work is done?

  • Adjusted weewx.conf file with InfluxDB setup is active

Does not work with mysql?

πŸ› Summary

Does not work with mysql

To reproduce

change database = archive_mysql under [wx_binding] with requisite configuration for mysql as below:

[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_mysql
        # 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_new
        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 = 192.168.1.99
		port = 3307
        # The user name for logging in to the host
        user = xxxxxx
        # The password (use quotes to guard against parsing errors)
        password = xxxxxx

Expected behavior

Should connect to mysql db.

Any helpful log output or screenshots

**** ModuleNotFoundError: No module named 'pymysql'
ModuleNotFoundError: No module named 'MySQLdb'

Mqtt Subscription

πŸ’¬ Questions and Help

Would it be possible to add MQTT Subscription? I am searching for a way to install the driver/extension WeeWX-MQTTSubscribe.

Does someone know how to do that.
Thanks for help and answer - Daniel

ERROR weewx.reportengine: **** No module named 'Cheetah', ... (and 'Images' and Rsync)

πŸ› Bug Report

Running latest Raspberry Pi OS and Docker. Utilized template docker-compose.yml with minor tweaks for my environment. weewx runs fine pulling data from my IP based David Vantage Pro 2. Submissions to Wunderground and other providers operating as expected. Web Page generation fails due to missing Cheetah and Images modules. Further, Rsync also appears to be missing from image.

My compose looks as follows:

version: "2.3"
services:
  weewx:
    container_name: weewx
    image: felddy/weewx
    network_mode: host
    environment:
      - TIMEZONE=US/Eastern
      - WEEWX_UID=weewx
      - WEEWX_GID=weewx
    volumes:
      - /srv/dev-disk-by-label-dune/Configs/weewx:/data
    restart: always

Variance from template compose file is due to using Portainer v2.0 on Rpi, which is limited to v2.x composer format. I've been unable to utilize the "init: true" as it is unsupported and alternatives do not seem to work either. Unsure if this prevents some internal process your created to install these services, but was unable to locate any references to installing the services post deployment.

Very appreciative for your efforts as one of the few (only?) armhf builds; other main images are 64bit. Here's a broader snapshot of error log:

Sep 11 08:46:18 weewx[17] INFO weewx.manager: Added record 2020-09-11 08:46:00 EDT (1599828360) to database 'weewx.sdb',
Sep 11 08:46:18 weewx[17] INFO weewx.manager: Added record 2020-09-11 08:46:00 EDT (1599828360) to daily summary in 'weewx.sdb',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  No module named 'Cheetah',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  Traceback (most recent call last):,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/reportengine.py", line 180, in run,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      obj = weeutil.weeutil.get_object(generator)(,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeutil/weeutil.py", line 1093, in get_object,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      mod = __import__(module),
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/cheetahgenerator.py", line 66, in <module>,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      import Cheetah.Filters,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'Cheetah',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  Generator ignored,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  No module named 'Image',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  Traceback (most recent call last):,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeplot/genplot.py", line 15, in <module>,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      from PIL import Image, ImageDraw,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'PIL',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  ,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  During handling of the above exception, another exception occurred:,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  ,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  Traceback (most recent call last):,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/reportengine.py", line 180, in run,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      obj = weeutil.weeutil.get_object(generator)(,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeutil/weeutil.py", line 1093, in get_object,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      mod = __import__(module),
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weewx/imagegenerator.py", line 19, in <module>,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      import weeplot.genplot,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****    File "/home/weewx/bin/weeplot/genplot.py", line 17, in <module>,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****      import Image, ImageDraw,
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  ModuleNotFoundError: No module named 'Image',
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine:         ****  Generator ignored,
Sep 11 08:46:19 weewx[17] INFO weewx.reportengine: Copied 0 files to /data/www,
Sep 11 08:46:19 weewx[17] ERROR weeutil.rsyncupload: rsync does not appear to be installed on this system. (errno 2, 'No such file or directory'),
Sep 11 08:46:19 weewx[17] ERROR weewx.reportengine: rsyncgenerator: Caught exception '<class 'FileNotFoundError'>': [Errno 2] No such file or directory: 'rsync',
Sep 11 08:46:19 weewx[17] INFO weewx.restx: PWSWeather: Published record 2020-09-11 08:46:00 EDT (1599828360),
Sep 11 08:46:20 weewx[17] INFO weewx.restx: Wunderground-RF: Published record 2020-09-11 08:46:20 EDT (1599828380),
Sep 11 08:46:20 weewx[17] INFO weewx.restx: Wunderground-RF: Published record 2020-09-11 08:46:20 EDT (1599828380),

pyUSB installed?

A well documented and pretty straight forward container, finally!
Thanks for your job, but which weather station works for you and how is it connected?

I'm running this on an Rpi2 but get an error:
Possibly for a needed dependency for a USB connection.

May 26 12:20:12 syslogd started: BusyBox v1.31.1
May 26 12:20:15 weewx[12] INFO __main__: Initializing weewx version 4.0.0
May 26 12:20:15 weewx[12] INFO __main__: Using Python 3.8.3 (default, May 20 2020, 19:12:37)  [GCC 9.2.0]
May 26 12:20:15 weewx[12] INFO __main__: Platform Linux-4.19.106-armv7l-with
May 26 12:20:15 weewx[12] INFO __main__: Locale is 'C.UTF-8;C;C;C;C;C'
May 26 12:20:15 weewx[12] INFO __main__: Using configuration file /data/weewx.conf
May 26 12:20:15 weewx[12] INFO weewx.engine: Loading station type FineOffsetUSB (weewx.drivers.fousb)
May 26 12:20:15 weewx[12] CRITICAL __main__: Caught unrecoverable exception:
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****  No module named 'usb'
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****  Traceback (most recent call last):
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****    File "./bin/weewxd", line 148, in main
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 69, in __init__
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****      self.setupStation(config_dict)
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 92, in setupStation
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****      __import__(driver)
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****    File "/home/weewx/bin/weewx/drivers/fousb.py", line 219, in <module>
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****      import usb
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****  ModuleNotFoundError: No module named 'usb'
May 26 12:20:15 weewx[12] CRITICAL __main__:     ****  Exiting.
Traceback (most recent call last):
  File "./bin/weewxd", line 261, in <module>
    main()
  File "./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/weewx/drivers/fousb.py", line 219, in <module>
    import usb
ModuleNotFoundError: No module named 'usb'

I'm starting my container this way:

docker create \
  -i \
  -t \
  --name=$name \
  --hostname=$name \
  --net=host \
  --privileged \
  --stop-signal=SIGRTMIN+3 \
  --tmpfs /run:size=100M \
  --tmpfs /run/lock:size=10M \
  -v /storage/nfs.docker/$name:/data \
  --restart unless-stopped \
  -e TIMEZONE=Europe/Helsinki \
  -e WEEWX_UID=weewx \
  -e WEEWX_GID=dialout \
    felddy/weewx

Is pyUSB installed and can be used?
My weatherization is a FineOffset WH1080 and Docker version 18.09.7, build 18.09.7

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.