Difference between revisions of "WeeWX"

From The TinkerNet Wiki
Jump to navigation Jump to search
Line 73: Line 73:
 
* <code>sudo vim /etc/weewx/weewx.conf</code>
 
* <code>sudo vim /etc/weewx/weewx.conf</code>
  
 
+
[StdReport]
Coming<sup>TM</sup> Soon<sup>TM</sup>
+
    [[FTP]]
 +
        skin = Ftp
 +
        server = wx.example.com
 +
        path = /weewx
 +
        user = wxuser
 +
        password = wxpass
  
 
==MQTT==
 
==MQTT==

Revision as of 22:36, 22 July 2020

This particular set of instructions is based on building a standalone VM to handle WeeWX. On my network, I have an existing WebServer & an existing Automation Server. The intent is to have the weather information served up as a web page (Default WeeWX thing...) by the WebServer and also be used by the Automation Server.

There is also a dedicated Database Server which we will be using. (can't possibly do things the easy way...)

(Based on: WeeWX: Installation on Debian-based systems)

Installation

(based on an install under Mint 20)

  • wget -qO - http://weewx.com/keys.html | sudo apt-key add -
  • wget -qO - 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

Also:, If you wish to use MySQL as the database, you'll need to either install it on this machine or connect to the DB on your Database server.

  • sudo apt install mysql-client
  • sudo apt-get install python3-pymysql

Will be useful. (actually, mandatory :P )

Configuration

Setting up for YOUR Weather Station

ComingTM SoonTM MaybeTM

Setting up the database (using MySQL)

(based on: Configuring MySQL / MariaDB)

On the Database Server:

(NOTE: Your Database Server must be configured to allow remote access.)

  • sudo mysql -u root -p
CREATE USER 'weewx'@'Machine.Domain.TLD' IDENTIFIED BY 'weewx';
CREATE DATABASE weewx;
GRANT select, update, create, delete, insert, drop ON weewx.* TO weewx@'Machine.Domain.TLD';

Tell WeeWX to use the MySQL database

  • sudo vim /etc/weewx/weewx.conf

in [[wx_binding]]

change

database = archive_sqlite

to

database = archive_mysql

in [[MySQL]]

change

host = localhost

to

host = Machine.Domain.TLD

(Machine.Domain.TLD, of course, being the address of your Database Server...)

Webserver Updating

(Based on: If the server is on a different machine)

Using FTP to upload/update the WeeWX generated webpages.

(Your Web Server will need to have FTP enabled...)

  • sudo vim /etc/weewx/weewx.conf
[StdReport]
    FTP
        skin = Ftp
        server = wx.example.com
        path = /weewx
        user = wxuser
        password = wxpass

MQTT

ComingTM SoonTM

Administration

Checking status:

  • sudo tail -f /var/log/syslog | weewx

Starting:

  • sudo /etc/init.d/weewx start

Stopping:

  • sudo /etc/init.d/weewx stop

Restarting:

  • sudo /etc/init.d/weewx restart

Links

Troubleshooting

  • weewx[10206]: acurite: Failed attempt 1 of 10 to get LOOP data: [Errno 32] Pipe error
  • weewx[951]: acurite: Cannot find USB device with VendorID=0x24c0 ProductID=0x0003 DeviceID=None
    • Unit is completely unplugged...
  • weewx[5181]: acurite: Failed attempt 1 of 10 to get LOOP data: [Errno 5] Input/Output Error