I'm not an expert on this, but Googling around, this error seems to be
caused by servers passing too weak a DH key to the client. Client libraries
now require longer keys in order to guard against a certain type of attack.
There are two possible fixes:

1. Upgrade the server. This is the preferred approach.
2. Disable the need for longer keys. To do this, go into
/etc/ssl/openssl.cnf and change the line

CipherString = DEFAULT@SECLEVEL=2

to

CipherString = DEFAULT@SECLEVEL=1

Option #1 is much better. Option #2 *will compromise the security of your
connection*. But, again, I am not an expert on this. Use at your own risk.

On Fri, Jan 29, 2021 at 5:22 AM Remy LAVABRE <[email protected]> wrote:

> Hi,
> I have a problem to with the FTP option :
>
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ftpgenerator: (0): caught exception '<class 'ssl.SSLError'>': [SSL:
> DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****  Traceback (most recent call last):
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/share/weewx/weewx/reportengine.py", line 331, in run
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      n = ftp_data.run()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/share/weewx/weeutil/ftpupload.py", line 128, in run
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      ftp_server.login(self.user, self.password)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ftplib.py", line 749, in login
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self.auth()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ftplib.py", line 761, in auth
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      server_hostname=self.host)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 412, in wrap_socket
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      session=session
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 853, in _create
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self.do_handshake()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 1117, in do_handshake
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self._sslobj.do_handshake()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****  ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ftpgenerator: (1): caught exception '<class 'ssl.SSLError'>': [SSL:
> DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****  Traceback (most recent call last):
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/share/weewx/weewx/reportengine.py", line 331, in run
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      n = ftp_data.run()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/share/weewx/weeutil/ftpupload.py", line 128, in run
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      ftp_server.login(self.user, self.password)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ftplib.py", line 749, in login
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self.auth()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ftplib.py", line 761, in auth
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      server_hostname=self.host)
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 412, in wrap_socket
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      session=session
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 853, in _create
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self.do_handshake()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 1117, in do_handshake
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self._sslobj.do_handshake()
> Jan 29 14:17:42 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****  ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ftpgenerator: (2): caught exception '<class 'ssl.SSLError'>': [SSL:
> DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****  Traceback (most recent call last):
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/share/weewx/weewx/reportengine.py", line 331, in run
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      n = ftp_data.run()
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/share/weewx/weeutil/ftpupload.py", line 128, in run
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      ftp_server.login(self.user, self.password)
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ftplib.py", line 749, in login
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self.auth()
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ftplib.py", line 761, in auth
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      server_hostname=self.host)
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 412, in wrap_socket
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      session=session
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 853, in _create
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self.do_handshake()
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****    File "/usr/lib/python3.7/ssl.py", line 1117, in do_handshake
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****      self._sslobj.do_handshake()
> Jan 29 14:17:43 RPiMeteo weewx[1429] ERROR weewx.reportengine:
> ****  ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)
> ftpgenerator: (0): caught exception '<class 'ssl.SSLError'>': [SSL:
> DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1056)Jan 29 14:20:24 RPiMeteo
> weewx[1429] INFO weewx.manager: Added record 2021
>
> Do you know what is the problem (and its solution...° ? Thank-you
>
> *Rémy LAVABRE*
>
>
>
> Le ven. 29 janv. 2021 à 01:37, Tom Keffer <[email protected]> a écrit :
>
>> I believe you are being affected by a bug in the Python libraries that
>> happens if you use a Pure-FTP server.
>>
>> In weewx.conf, try adding option reuse_ssl and set it to true. So, your
>> [[FTP]] section will look something like this:
>>
>>   [[FTP]]
>>     enable = true
>>     user = xxxxxxxxxxxxxxxx
>>     password = "xxxxxxxxxxxx"
>>     server = www.billandcorena.com    # The ftp server name, e.g,
>> www.myserver.org
>>     path = /public_html/weather/weewx    # The destination directory,
>> e.g., /weather
>>     secure_ftp = true
>>     port = 21
>>     passive = 1
>>     reuse_ssl = True # <-- Add this line
>>
>> NB: This will only work for Python v3.6 or greater.
>>
>> -tk
>>
>> On Thu, Jan 28, 2021 at 4:14 PM <[email protected]> wrote:
>>
>>>
>>>
>>> Again
>>>
>>> debug set at 2
>>>
>>>
>>>
>>> pi@raspberrypi:~ $ sudo tail -f /var/log/syslog Jan 28 17:06:56
>>> raspberrypi weewx[11629] INFO weewx.engine: Using binding 'wx_binding' to
>>> database 'weewx.sdb'
>>>
>>> Jan 28 17:06:56 raspberrypi weewx[11629] INFO weewx.manager: Starting
>>> backfill of daily summaries Jan 28 17:06:56 raspberrypi weewx[11629] DEBUG
>>> weewx.drivers.vantage: Getting archive packets since 2021-01-28 17:05:00
>>> MST (1611878700) Jan 28 17:06:57 raspberrypi weewx[11629] DEBUG
>>> weewx.drivers.vantage: Gentle wake up of console successful Jan 28 17:06:58
>>> raspberrypi weewx[11629] DEBUG weewx.drivers.vantage: Retrieving 21
>>> page(s); starting index= 0 Jan 28 17:06:58 raspberrypi weewx[11629] DEBUG
>>> weewx.drivers.vantage: Empty record page 0; index 0 Jan 28 17:06:58
>>> raspberrypi weewx[11629] INFO weewx.engine: Starting main packet loop.
>>>
>>> Jan 28 17:06:59 raspberrypi weewx[11629] DEBUG weewx.drivers.vantage:
>>> Gentle wake up of console successful Jan 28 17:06:59 raspberrypi
>>> weewx[11629] DEBUG weewx.drivers.vantage: Requesting 200 LOOP packets.
>>>
>>> Jan 28 17:07:00 raspberrypi weewx[11629] DEBUG weewx.drivers.vantage:
>>> Gentle wake up of console successful Jan 28 17:10:14 raspberrypi
>>> weewx[11629] INFO weewx.manager: Added record 2021-01-28 17:10:00 MST
>>> (1611879000) to database 'weewx.sdb'
>>>
>>> Jan 28 17:10:14 raspberrypi weewx[11629] INFO weewx.manager: Added
>>> record 2021-01-28 17:10:00 MST (1611879000) to daily summary in 'weewx.sdb'
>>>
>>> Jan 28 17:10:14 raspberrypi weewx[11629] DEBUG weewx.reportengine:
>>> Running reports for latest time in the database.
>>>
>>> Jan 28 17:10:14 raspberrypi weewx[11629] DEBUG weewx.drivers.vantage:
>>> Requesting 200 LOOP packets.
>>>
>>> Jan 28 17:10:14 raspberrypi weewx[11629] DEBUG weewx.reportengine:
>>> Running report 'SeasonsReport'
>>>
>>> Jan 28 17:10:14 raspberrypi weewx[11629] DEBUG weewx.reportengine: Found
>>> configuration file /etc/weewx/skins/Seasons/skin.conf for report
>>> 'SeasonsReport'
>>>
>>> Jan 28 17:10:15 raspberrypi weewx[11629] DEBUG weewx.cheetahgenerator:
>>> Using search list ['weewx.cheetahgenerator.Almanac',
>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current',
>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo',
>>> 'weewx.cheetahgenerator.Extras'] Jan 28 17:10:15 raspberrypi weewx[11629]
>>> DEBUG weewx.manager: Daily summary version is 3.0 Jan 28 17:10:16
>>> raspberrypi weewx[11629] INFO weewx.cheetahgenerator: Generated 8 files for
>>> report SeasonsReport in 1.85 seconds Jan 28 17:10:17 raspberrypi
>>> weewx[11629] DEBUG weewx.manager: Daily summary version is 3.0 Jan 28
>>> 17:10:17 raspberrypi weewx[11629] INFO weewx.imagegenerator: Generated 15
>>> images for report SeasonsReport in 0.65 seconds Jan 28 17:10:17 raspberrypi
>>> weewx[11629] DEBUG weewx.drivers.vantage: Retry #0 failed Jan 28 17:10:17
>>> raspberrypi weewx[11629] INFO weewx.reportengine: Copied 5 files to
>>> /var/www/html/weewx Jan 28 17:10:17 raspberrypi weewx[11629] DEBUG
>>> weewx.reportengine: Running report 'SmartphoneReport'
>>>
>>> Jan 28 17:10:17 raspberrypi weewx[11629] DEBUG weewx.reportengine: Found
>>> configuration file /etc/weewx/skins/Smartphone/skin.conf for report
>>> 'SmartphoneReport'
>>>
>>> Jan 28 17:10:17 raspberrypi weewx[11629] DEBUG weewx.cheetahgenerator:
>>> Using search list ['weewx.cheetahgenerator.Almanac',
>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current',
>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo',
>>> 'weewx.cheetahgenerator.Extras'] Jan 28 17:10:17 raspberrypi weewx[11629]
>>> DEBUG weewx.manager: Daily summary version is 3.0 Jan 28 17:10:17
>>> raspberrypi weewx[11629] INFO weewx.cheetahgenerator: Generated 6 files for
>>> report SmartphoneReport in 0.17 seconds Jan 28 17:10:17 raspberrypi
>>> weewx[11629] DEBUG weewx.manager: Daily summary version is 3.0 Jan 28
>>> 17:10:18 raspberrypi weewx[11629] INFO weewx.imagegenerator: Generated 6
>>> images for report SmartphoneReport in 0.23 seconds Jan 28 17:10:18
>>> raspberrypi weewx[11629] INFO weewx.reportengine: Copied 6 files to
>>> /var/www/html/weewx/smartphone Jan 28 17:10:18 raspberrypi weewx[11629]
>>> DEBUG weewx.reportengine: Running report 'MobileReport'
>>>
>>> Jan 28 17:10:18 raspberrypi weewx[11629] DEBUG weewx.reportengine: Found
>>> configuration file /etc/weewx/skins/Mobile/skin.conf for report
>>> 'MobileReport'
>>>
>>> Jan 28 17:10:18 raspberrypi weewx[11629] DEBUG weewx.cheetahgenerator:
>>> Using search list ['weewx.cheetahgenerator.Almanac',
>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current',
>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo',
>>> 'weewx.cheetahgenerator.Extras'] Jan 28 17:10:18 raspberrypi weewx[11629]
>>> DEBUG weewx.manager: Daily summary version is 3.0 Jan 28 17:10:18
>>> raspberrypi weewx[11629] INFO weewx.cheetahgenerator: Generated 1 files for
>>> report MobileReport in 0.06 seconds Jan 28 17:10:18 raspberrypi
>>> weewx[11629] DEBUG weewx.manager: Daily summary version is 3.0 Jan 28
>>> 17:10:18 raspberrypi weewx[11629] INFO weewx.imagegenerator: Generated 4
>>> images for report MobileReport in 0.17 seconds Jan 28 17:10:18 raspberrypi
>>> weewx[11629] INFO weewx.reportengine: Copied 2 files to
>>> /var/www/html/weewx/mobile Jan 28 17:10:18 raspberrypi weewx[11629] DEBUG
>>> weewx.reportengine: Report 'StandardReport' not enabled. Skipping.
>>>
>>> Jan 28 17:10:18 raspberrypi weewx[11629] DEBUG weewx.reportengine:
>>> Running report 'Belchertown'
>>>
>>> Jan 28 17:10:18 raspberrypi weewx[11629] DEBUG weewx.reportengine: Found
>>> configuration file /etc/weewx/skins/Belchertown/skin.conf for report
>>> 'Belchertown'
>>>
>>> Jan 28 17:10:18 raspberrypi weewx[11629] DEBUG weewx.cheetahgenerator:
>>> Using search list ['weewx.cheetahgenerator.Almanac',
>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current',
>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo',
>>> 'weewx.cheetahgenerator.Extras', 'user.belchertown.getData'] Jan 28
>>> 17:10:18 raspberrypi weewx[11629] DEBUG weewx.manager: Daily summary
>>> version is 3.0 Jan 28 17:10:18 raspberrypi weewx[11629] INFO
>>> user.belchertown: version 1.2 Jan 28 17:10:18 raspberrypi weewx[11629]
>>> ERROR user.belchertown: Error getting AQI from Aeris weather. The error
>>> was:#012list index out of range#012The response from the Aeris AQI server
>>> was:#012[{'success': True, 'error': {'code': 'warn_no_data', 'description':
>>> 'Valid request. No results available based on your query parameters.'},
>>> 'response': []}]#012The URL being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:18 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:19 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:19 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:20 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:20 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:20 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:20 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:20 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:20 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:21 raspberrypi weewx[11629] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 17:10:22 raspberrypi weewx[11629] ERROR weewx.drivers.vantage:
>>> ip-read error: timed out Jan 28 17:10:22 raspberrypi weewx[11629] DEBUG
>>> weewx.drivers.vantage: Retry #1 failed Jan 28 17:10:22 raspberrypi
>>> weewx[11629] INFO weewx.cheetahgenerator: Generated 11 files for report
>>> Belchertown in 3.84 seconds Jan 28 17:10:22 raspberrypi weewx[11629] INFO
>>> weewx.reportengine: Copied 37 files to /var/www/html/weewx/belchertown Jan
>>> 28 17:10:22 raspberrypi weewx[11629] DEBUG weewx.manager: Daily summary
>>> version is 3.0 Jan 28 17:10:22 raspberrypi weewx[11629] DEBUG
>>> weewx.drivers.vantage: Gentle wake up of console successful Jan 28 17:10:23
>>> raspberrypi weewx[11629] DEBUG weewx.reportengine: Running report 'FTP'
>>>
>>> Jan 28 17:10:23 raspberrypi weewx[11629] DEBUG weewx.reportengine: Found
>>> configuration file /etc/weewx/skins/Ftp/skin.conf for report 'FTP'
>>>
>>> Jan 28 17:10:23 raspberrypi weewx[11629] DEBUG weeutil.ftpupload:
>>> Attempting secure connection to www.billandcorena.com Jan 28 17:10:24
>>> raspberrypi weewx[11629] DEBUG weeutil.ftpupload: Secure data connection to
>>> www.billandcorena.com Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weeutil.ftpupload: Failed uploading /var/www/html/weewx/weekbarometer.png
>>> to server www.billandcorena.com. Reason: '[Errno 0] Error'
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>> ftpgenerator: (0): caught exception '<class 'OSError'>': [Errno 0] Error
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****  Traceback (most recent call last):
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weewx/reportengine.py", line 331, in run
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>>         ****      n = ftp_data.run()
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weeutil/ftpupload.py", line 163, in run
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>>   ****      ftp_server.storbinary(stor_cmd, fd)
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ftplib.py",
>>> line 514, in storbinary
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      conn.unwrap()
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ssl.py", line
>>> 1094, in unwrap
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      s = self._sslobj.shutdown()
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****  OSError: [Errno 0] Error
>>>
>>> Jan 28 17:10:24 raspberrypi weewx[11629] DEBUG weeutil.ftpupload:
>>> Attempting secure connection to www.billandcorena.com Jan 28 17:10:25
>>> raspberrypi weewx[11629] DEBUG weeutil.ftpupload: Secure data connection to
>>> www.billandcorena.com Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weeutil.ftpupload: Failed uploading /var/www/html/weewx/weekbarometer.png
>>> to server www.billandcorena.com. Reason: '[Errno 0] Error'
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>> ftpgenerator: (1): caught exception '<class 'OSError'>': [Errno 0] Error
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****  Traceback (most recent call last):
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weewx/reportengine.py", line 331, in run
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>>     ****      n = ftp_data.run()
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weeutil/ftpupload.py", line 163, in run
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      ftp_server.storbinary(stor_cmd, fd)
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ftplib.py",
>>> line 514, in storbinary
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>>        ****      conn.unwrap()
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ssl.py", line
>>> 1094, in unwrap
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      s = self._sslobj.shutdown()
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****  OSError: [Errno 0] Error
>>>
>>> Jan 28 17:10:26 raspberrypi weewx[11629] DEBUG weeutil.ftpupload:
>>> Attempting secure connection to www.billandcorena.com Jan 28 17:10:26
>>> raspberrypi weewx[11629] DEBUG weeutil.ftpupload: Secure data connection to
>>> www.billandcorena.com Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weeutil.ftpupload: Failed uploading /var/www/html/weewx/weekbarometer.png
>>> to server www.billandcorena.com. Reason: '[Errno 0] Error'
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>> ftpgenerator: (2): caught exception '<class 'OSError'>': [Errno 0] Error
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****  Traceback (most recent call last):
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weewx/reportengine.py", line 331, in run
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      n = ftp_data.run()
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weeutil/ftpupload.py", line 163, in run
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      ftp_server.storbinary(stor_cmd, fd)
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ftplib.py",
>>> line 514, in storbinary
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      conn.unwrap()
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ssl.py", line
>>> 1094, in unwrap
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****      s = self._sslobj.shutdown()
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR
>>> weewx.reportengine:         ****  OSError: [Errno 0] Error
>>>
>>> Jan 28 17:10:27 raspberrypi weewx[11629] ERROR weewx.reportengine:
>>> ftpgenerator: Upload failed Jan 28 17:10:27 raspberrypi weewx[11629] DEBUG
>>> weewx.reportengine:
>>>
>>> Report 'RSYNC' not enabled. Skipping.
>>>
>>>
>>>
>>>
>>>
>>> *From:* [email protected] <[email protected]> *On
>>> Behalf Of *Tom Keffer
>>> *Sent:* Thursday, January 28, 2021 4:55 PM
>>> *To:* weewx-user <[email protected]>
>>> *Subject:* Re: [weewx-user] FTP
>>>
>>>
>>>
>>> It was in another note, but please use debug=2. This will give
>>> additional information about the FTP session.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Jan 28, 2021 at 3:46 PM <[email protected]> wrote:
>>>
>>> Here is the log from start
>>>
>>>
>>>
>>>
>>>
>>> i@raspberrypi:~ $ sudo tail -f /var/log/syslog Jan 28 16:35:20
>>> raspberrypi weewx[11404] INFO weewx.restx: Wunderground: Posting not
>>> enabled.
>>>
>>> Jan 28 16:35:20 raspberrypi weewx[11404] INFO weewx.restx: PWSweather:
>>> Posting not enabled.
>>>
>>> Jan 28 16:35:20 raspberrypi weewx[11404] INFO weewx.restx: CWOP: Posting
>>> not enabled.
>>>
>>> Jan 28 16:35:20 raspberrypi weewx[11404] INFO weewx.restx: WOW: Posting
>>> not enabled.
>>>
>>> Jan 28 16:35:20 raspberrypi weewx[11404] INFO weewx.restx: AWEKAS:
>>> Posting not enabled.
>>>
>>> Jan 28 16:35:20 raspberrypi weewx[11404] INFO __main__: Starting up
>>> weewx version 4.3.0 Jan 28 16:35:21 raspberrypi weewx[11404] INFO
>>> weewx.engine: Clock error is 3.34 seconds (positive is fast) Jan 28
>>> 16:35:21 raspberrypi weewx[11404] INFO weewx.engine: Using binding
>>> 'wx_binding' to database 'weewx.sdb'
>>>
>>> Jan 28 16:35:21 raspberrypi weewx[11404] INFO weewx.manager: Starting
>>> backfill of daily summaries Jan 28 16:35:23 raspberrypi weewx[11404] INFO
>>> weewx.engine: Starting main packet loop.
>>>
>>> Jan 28 16:40:14 raspberrypi weewx[11404] INFO weewx.manager: Added
>>> record 2021-01-28 16:40:00 MST (1611877200) to database 'weewx.sdb'
>>>
>>> Jan 28 16:40:14 raspberrypi weewx[11404] INFO weewx.manager: Added
>>> record 2021-01-28 16:40:00 MST (1611877200) to daily summary in 'weewx.sdb'
>>>
>>> Jan 28 16:40:16 raspberrypi weewx[11404] INFO weewx.cheetahgenerator:
>>> Generated 8 files for report SeasonsReport in 1.81 seconds Jan 28 16:40:17
>>> raspberrypi weewx[11404] INFO weewx.imagegenerator: Generated 15 images for
>>> report SeasonsReport in 0.66 seconds Jan 28 16:40:17 raspberrypi
>>> weewx[11404] INFO weewx.reportengine: Copied 5 files to /var/www/html/weewx
>>> Jan 28 16:40:17 raspberrypi weewx[11404] INFO weewx.cheetahgenerator:
>>> Generated 6 files for report SmartphoneReport in 0.16 seconds Jan 28
>>> 16:40:17 raspberrypi weewx[11404] INFO weewx.imagegenerator: Generated 6
>>> images for report SmartphoneReport in 0.24 seconds Jan 28 16:40:17
>>> raspberrypi weewx[11404] INFO weewx.reportengine: Copied 6 files to
>>> /var/www/html/weewx/smartphone Jan 28 16:40:18 raspberrypi weewx[11404]
>>> INFO weewx.cheetahgenerator: Generated 1 files for report MobileReport in
>>> 0.05 seconds Jan 28 16:40:18 raspberrypi weewx[11404] INFO
>>> weewx.imagegenerator: Generated 4 images for report MobileReport in 0.16
>>> seconds Jan 28 16:40:18 raspberrypi weewx[11404] INFO weewx.reportengine:
>>> Copied 2 files to /var/www/html/weewx/mobile Jan 28 16:40:18 raspberrypi
>>> weewx[11404] INFO user.belchertown: version 1.2 Jan 28 16:40:18 raspberrypi
>>> weewx[11404] ERROR user.belchertown: Error getting AQI from Aeris weather.
>>> The error was:#012list index out of range#012The response from the Aeris
>>> AQI server was:#012[{'success': True, 'error': {'code': 'warn_no_data',
>>> 'description': 'Valid request. No results available based on your query
>>> parameters.'}, 'response': []}]#012The URL being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:18 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:18 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:19 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:20 raspberrypi weewx[11404] ERROR user.belchertown: Error
>>> getting AQI from Aeris weather. The error was:#012list index out of
>>> range#012The response from the Aeris AQI server was:#012[{'success': True,
>>> 'error': {'code': 'warn_no_data', 'description': 'Valid request. No results
>>> available based on your query parameters.'}, 'response': []}]#012The URL
>>> being used is:#012
>>> https://api.aerisapi.com/airquality/closest?p=42.8375,-103.0094&format=json&radius=50mi&limit=1&client_id=dgmFzs4Y5jdGxm1G8Nf1p&client_secret=yCSHitr5LudLyWDSzTBKYBNBclSZk844wym6LHeT
>>>
>>> Jan 28 16:40:22 raspberrypi weewx[11404] INFO weewx.cheetahgenerator:
>>> Generated 11 files for report Belchertown in 3.83 seconds Jan 28 16:40:22
>>> raspberrypi weewx[11404] INFO weewx.reportengine: Copied 37 files to
>>> /var/www/html/weewx/belchertown Jan 28 16:40:24 raspberrypi weewx[11404]
>>> ERROR weeutil.ftpupload: Failed uploading
>>> /var/www/html/weewx/weekbarometer.png to server www.billandcorena.com.
>>> Reason: '[Errno 0] Error'
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR weewx.reportengine:
>>> ftpgenerator: (0): caught exception '<class 'OSError'>': [Errno 0] Error
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****  Traceback (most recent call last):
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weewx/reportengine.py", line 331, in run
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      n = ftp_data.run()
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weeutil/ftpupload.py", line 163, in run
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      ftp_server.storbinary(stor_cmd, fd)
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ftplib.py",
>>> line 514, in storbinary
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      conn.unwrap()
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ssl.py", line
>>> 1094, in unwrap
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      s = self._sslobj.shutdown()
>>>
>>> Jan 28 16:40:24 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****  OSError: [Errno 0] Error
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR weeutil.ftpupload: Failed
>>> uploading /var/www/html/weewx/weekbarometer.png to server
>>> www.billandcorena.com. Reason: '[Errno 0] Error'
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR weewx.reportengine:
>>> ftpgenerator: (1): caught exception '<class 'OSError'>': [Errno 0] Error
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****  Traceback (most recent call last):
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weewx/reportengine.py", line 331, in run
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      n = ftp_data.run()
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File
>>> "/usr/share/weewx/weeutil/ftpupload.py", line 163, in run
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      ftp_server.storbinary(stor_cmd, fd)
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ftplib.py",
>>> line 514, in storbinary
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      conn.unwrap()
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ssl.py", line
>>> 1094, in unwrap
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****      s = self._sslobj.shutdown()
>>>
>>> Jan 28 16:40:25 raspberrypi weewx[11404] ERROR
>>> weewx.reportengine:         ****  OSError: [Errno 0] Error
>>>
>>> Jan 28 16:40:26 raspberrypi weewx[11404] ERROR weeutil.ftpupload: Failed
>>> uploading /var/www/html/weewx/weekbarometer.png to server
>>> www.billandcorena.com. Reason: '[Errno 0] Error'
>>>
>>>
>>>
>>>
>>>
>>> *From:* [email protected] <[email protected]> *On
>>> Behalf Of *Tom Keffer
>>> *Sent:* Thursday, January 28, 2021 3:44 PM
>>> *To:* weewx-user <[email protected]>
>>> *Subject:* Re: [weewx-user] FTP
>>>
>>>
>>>
>>> It is very difficult to read your log trace because of the formatting,
>>> and you did not supply much of the log.
>>>
>>>
>>>
>>> One possible problem: are you sure you want
>>>
>>>
>>>
>>> path = /public_html/weather/weewx
>>>
>>>
>>>
>>> This will be the *destination* directory on www.billandcorena.com. Is
>>> that your intention?
>>>
>>>
>>>
>>> If that's not the problem, then we will need to see more of the log. See
>>> the wiki article *Help! Posting to weewx-user
>>> <https://github.com/weewx/weewx/wiki/Help!-Posting-to-weewx-user>* for
>>> how to get a good log.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thu, Jan 28, 2021 at 1:53 PM billandcorena ahrens <
>>> [email protected]> wrote:
>>>
>>>         enable = true
>>>
>>>         user = xxxxxxxxxxxxxxxx
>>>
>>>         password = "xxxxxxxxxxxx"
>>>
>>>         server = www.billandcorena.com    # The ftp server name, e.g,
>>> www.myserver.org
>>>
>>>         path = /public_html/weather/weewx    # The destination
>>> directory, e.g., /weather
>>>
>>>
>>>
>>>         # Set to True for an FTP over TLS (FTPS) connection. Not all
>>> servers
>>>
>>>         # support this.
>>>
>>>         secure_ftp = true
>>>
>>>
>>>
>>>         # 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
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Jan 28 14:30:22 raspberrypi weewx[10448] INFO weewx.reportengine:
>>>
>>> Copied 37 files to /var/www/html/weewx/belchertown Jan 28 14:30:24
>>> raspberrypi weewx[10448] ERROR weeutil.ftpupload: Failed uploading
>>> /var/www/html/weewx/weekbarometer.png to server www.billandcorena.com.
>>> Reason: '[Errno 0] Error' Jan 28 14:30:24 raspberrypi weewx[10448] ERROR
>>> weewx.reportengine: ftpgenerator: (0):
>>>
>>> caught exception '<class 'OSError'>': [Errno 0] Error Jan 28 14:30:24
>>>
>>> raspberrypi weewx[10448] ERROR weewx.reportengine:         ****
>>>
>>> Traceback (most recent call last): Jan 28 14:30:24 raspberrypi
>>>
>>> weewx[10448] ERROR weewx.reportengine:         ****    File
>>>
>>> "/usr/share/weewx/weewx/reportengine.py", line 331, in run Jan 28
>>>
>>> 14:30:24 raspberrypi weewx[10448] ERROR weewx.reportengine:
>>>
>>> ****      n = ftp_data.run() Jan 28 14:30:24 raspberrypi weewx[10448]
>>>
>>> ERROR weewx.reportengine:         ****    File
>>>
>>> "/usr/share/weewx/weeutil/ftpupload.py", line 163, in run Jan 28
>>>
>>> 14:30:24 raspberrypi weewx[10448] ERROR weewx.reportengine:
>>>
>>> ****      ftp_server.storbinary(stor_cmd, fd) Jan 28 14:30:24
>>>
>>> raspberrypi weewx[10448] ERROR weewx.reportengine:         ****    File
>>>
>>> "/usr/lib/python3.7/ftplib.py", line 514, in storbinary Jan 28 14:30:24
>>>
>>> raspberrypi weewx[10448] ERROR weewx.reportengine:         ****
>>>
>>> conn.unwrap() Jan 28 14:30:24 raspberrypi weewx[10448] ERROR
>>>
>>> weewx.reportengine:         ****    File "/usr/lib/python3.7/ssl.py",
>>>
>>> line 1094, in unwrap Jan 28 14:30:24 raspberrypi weewx[10448] ERROR
>>>
>>> weewx.reportengine:         ****      s = self._sslobj.shutdown() Jan
>>>
>>> 28 14:30:24 raspberrypi weewx[10448] ERROR weewx.reportengine:
>>>
>>> ****  OSError: [Errno 0] Error Jan 28 14:30:25 raspberrypi weewx[10448]
>>> ERROR weeutil.ftpupload: Failed uploading
>>> /var/www/html/weewx/weekbarometer.png to server www.billandcorena.com.
>>> Reason: '[Errno 0] Error'
>>>
>>>
>>>
>>> --
>>> 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/1b5288f3-accd-466f-856a-16d3bf6739dfn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/1b5288f3-accd-466f-856a-16d3bf6739dfn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "weewx-user" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/weewx-user/NufBr8qeEhc/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEBkb%2BQfJNjcO4m%2BU7KfmiuBKfKYbAukYcrcZFHNTVQGwA%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBkb%2BQfJNjcO4m%2BU7KfmiuBKfKYbAukYcrcZFHNTVQGwA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>>> 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/00b501d6f5cf%24c5f520e0%2451df62a0%24%40billandcorena.com
>>> <https://groups.google.com/d/msgid/weewx-user/00b501d6f5cf%24c5f520e0%2451df62a0%24%40billandcorena.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "weewx-user" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/weewx-user/NufBr8qeEhc/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEDT66LAcMSjL%3DqSoqHHMWNjaDt9_etSiktCsh39Eb9quA%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEDT66LAcMSjL%3DqSoqHHMWNjaDt9_etSiktCsh39Eb9quA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>>> 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/00c901d6f5d3%24b83fc5a0%2428bf50e0%24%40billandcorena.com
>>> <https://groups.google.com/d/msgid/weewx-user/00c901d6f5d3%24b83fc5a0%2428bf50e0%24%40billandcorena.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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/CAPq0zECh9R6Zfo1-MUNzYmAdzjj73U24CPv_FC7B_Bb675jaoQ%40mail.gmail.com
>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zECh9R6Zfo1-MUNzYmAdzjj73U24CPv_FC7B_Bb675jaoQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> 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/CADhm9Ye9ZGgJWLAUMu0_630cADv1bHu1hNbqeLh2DtDnVWzorg%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-user/CADhm9Ye9ZGgJWLAUMu0_630cADv1bHu1hNbqeLh2DtDnVWzorg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAPq0zEC%2BzqbikGzKWpa0%2ByxTL%3Dx2AF7or1An6QWDbE4GfxZjCA%40mail.gmail.com.

Reply via email to