Im Projekt ist eine Exception der Klasse EConvertError mit der Meldung "01/01/2018" ist kein gültiges Datum aufgetreten.
TpFIBDataset.PrepareOptions.pfImportDefaultValues := False;
Tags: Delphi-Programmierung
PyCharm unterstreicht meine eigenen Module rot und meldet No module named. Das Pythonprogramm läuft trotzdem fehlerfrei.
Abhilfe:
Micropython auf ESP übertragen
$ esptool.py erase_flash
$ esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect -fm dio 0 /home/ESP8266/esp8266-20190125-v1.10.bin
Dateien auf dem ESP lesen / schreiben
sudo pip3 install adafruit-ampy
Tags: ESP8266
Apache2 startet täglich neu um 6:25 Uhr, was auf einem Rechner, der 24/7 läuft wenig Sinn macht. (Denn es gibt Leute, die zu dieser Zeit schon arbeiten.;-)
Deshalb habe ich den täglichen cron-job auf 2:25 Uhr umgestellt.
$ sudo nano /etc/crontab
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 2 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 2 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 2 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
$ sudo service cron reload
Hintergrund
/etc/logrotate.conf
/etc/logrotate.d/apache2
/etc/cron.daily/logrotate
<?php
function naechstertermin($image, $ueberschrift, $arr_termine, $firma = " ")
{
$heute = date("Y/m/d");
$termin=""; foreach ($arr_termine as $value) {
if (($value>=$heute) and ($termin=="")) $termin=$value;
};
$retval="";
if ($termin<>"") {
$arr2 = explode("/",$termin);
$retval = "<p style='height:30px'> <img src='$image' alt='$ueberschrift' width='25' height='35' style='float:left; margin-right:5px; margin-top:-5px;' /> $arr2[2].$arr2[1].$arr2[0] $firma</p>\n";
};
return $retval;
}
function kecl_termine() {
//Termine fuer die Blauen Tonnen in der Schreibweise YYYY/MM/TT //erzeugt durch wnfAbfallkalender (Lazarus) $bttermine = array ( "2019/02/27", "2019/03/13", "2019/03/27", "2019/04/10", "2019/04/24", "2019/05/08", "2019/05/22", "2019/06/05", "2019/06/19", "2019/07/03", "2019/07/17", "2019/07/31", "2019/08/14", "2019/08/28", "2019/09/11", "2019/09/25", "2019/10/09", "2019/10/23", "2019/11/06", "2019/11/21", "2019/12/04", "2019/12/18", "2020/01/02", "2020/01/15", "2020/01/29", "2020/02/12", "2020/02/26", "2020/03/11", "2020/03/25", "2020/04/08", "2020/04/22", "2020/05/06", "2020/05/20", "2020/06/03", "2020/06/17", "2020/07/01", "2020/07/15", "2020/07/29", "2020/08/12", "2020/08/26", "2020/09/09", "2020/09/23", "2020/10/07", "2020/10/21", "2020/11/04", "2020/11/19", "2020/12/02", "2020/12/16", "2020/12/30" );
//Termine fuer die Gelben Tonnen in der Schreibweise YYYY/MM/TT //erzeugt durch wnfAbfallkalender (Lazarus) $gstermine = array ( "2019/03/01", "2019/03/15", "2019/03/29", "2019/04/12", "2019/04/26", "2019/05/10", "2019/05/24", "2019/06/07", "2019/06/21", "2019/07/05", "2019/07/19", "2019/08/02", "2019/08/16", "2019/08/30", "2019/09/13", "2019/09/27", "2019/10/11", "2019/10/25", "2019/11/08", "2019/11/22", "2019/12/06", "2019/12/20", "2020/01/03", "2020/01/17", "2020/01/31", "2020/02/14", "2020/02/28", "2020/03/13", "2020/03/27", "2020/04/11", "2020/04/24", "2020/05/08", "2020/05/22", "2020/06/05", "2020/06/19", "2020/07/03", "2020/07/17", "2020/07/31", "2020/08/14", "2020/08/28", "2020/09/11", "2020/09/25", "2020/10/09", "2020/10/23", "2020/11/06", "2020/11/20", "2020/12/04", "2020/12/18" );
//Termine fuer die Restabfall in der Schreibweise YYYY/MM/TT //erzeugt durch wnfAbfallkalender (Lazarus) $ratermine = array ( "2019/02/27", "2019/03/13", "2019/03/27", "2019/04/10", "2019/04/24", "2019/05/08", "2019/05/22", "2019/06/05", "2019/06/19", "2019/07/03", "2019/07/17", "2019/07/31", "2019/08/14", "2019/08/28", "2019/09/11", "2019/09/25", "2019/10/09", "2019/10/23", "2019/11/06", "2019/11/21", "2019/12/04", "2019/12/18", "2020/01/02", "2020/01/15", "2020/01/29", "2020/02/12", "2020/02/26", "2020/03/11", "2020/03/25", "2020/04/08", "2020/04/22", "2020/05/06", "2020/05/20", "2020/06/03", "2020/06/17", "2020/07/01", "2020/07/15", "2020/07/29", "2020/08/12", "2020/08/26", "2020/09/09", "2020/09/23", "2020/10/07", "2020/10/21", "2020/11/04", "2020/11/19", "2020/12/02", "2020/12/16", "2020/12/30" );
//Termine fuer die Bio-Tonnen in der Schreibweise YYYY/MM/TT //erzeugt durch wnfAbfallkalender (Lazarus) $bio_kecl_termine = array ( "2019/02/28", "2019/03/14", "2019/03/28", "2019/04/11", "2019/04/25", "2019/05/09", "2019/05/23", "2019/06/06", "2019/06/20", "2019/07/04", "2019/07/18", "2019/08/01", "2019/08/15", "2019/08/29", "2019/09/12", "2019/09/26", "2019/10/10", "2019/10/24", "2019/11/07", "2019/11/21", "2019/12/05", "2019/12/19", "2020/01/02", "2020/01/16", "2020/01/30", "2020/02/13", "2020/02/27", "2020/03/12", "2020/03/26", "2020/04/09", "2020/04/23", "2020/05/07", "2020/05/22", "2020/06/04", "2020/06/18", "2020/07/02", "2020/07/16", "2020/07/30", "2020/08/13", "2020/08/27", "2020/09/10", "2020/09/24", "2020/10/08", "2020/10/22", "2020/11/05", "2020/11/19", "2020/12/03", "2020/12/17", "2020/12/31" );
//Termine fuer die Bio-Tonnen in der Schreibweise YYYY/MM/TT //erzeugt durch wnfAbfallkalender (Lazarus) $bio_veolia_termine = array ( "2019/02/22", "2019/03/08", "2019/03/22", "2019/04/05", "2019/04/20", "2019/05/03", "2019/05/17", "2019/05/31", "2019/06/14", "2019/06/28", "2019/07/12", "2019/07/26", "2019/08/09", "2019/08/23", "2019/09/06", "2019/09/20", "2019/10/04", "2019/10/18", "2019/11/01", "2019/11/15", "2019/11/29", "2019/12/13", "2019/12/27", "2020/01/10", "2020/01/24", "2020/02/07", "2020/02/21", "2020/03/06", "2020/03/20", "2020/04/03", "2020/04/17", "2020/05/02", "2020/05/15", "2020/05/29", "2020/06/12", "2020/06/26", "2020/07/10", "2020/07/24", "2020/08/07", "2020/08/21", "2020/09/04", "2020/09/18", "2020/10/02", "2020/10/16", "2020/10/30", "2020/11/13", "2020/11/27", "2020/12/11", "2020/12/28" );
//echo "
kecl_termine();
echo 'KECL Hotline Tel.: 03763 404-0';
echo '
';
echo 'Veolia Hotline Tel.: 0800 088 70 887';
?>
Tags: phpVon Letsencrypt kommen E-Mails mit der Nachricht
You may need to update your client to the latest version in case it is still using the deprecated TLS-SNI-01 validation method. https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209
Mit dem neuen certbot das Zertifikat erneuern:
$ certbot --version || /path/to/certbot-auto --version
certbot 0.28.0
$ sudo sh -c "sed -i.bak -e 's/^\(pref_challs.*\)tls-sni-01\(.*\)/\1http-01\2/g' /etc/letsencrypt/renewal/*; rm -f /etc/letsencrypt/renewal/*.bak"
$ sudo certbot renew --dry-run
Jetzt kommt die Fehlermeldung:
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: bone.nfix.de
Type: connection
Detail: Fetching
http://bone.nfix.de/.well-known/acme-challenge/C1ye-gE-z3kMKFE-UQxZ-pkGaLD19E9FA7bHa6malik:
Error getting validation data
Da certbot den http Zugriff auf bone.nfix.de benötigt, muss in der Fritzbox das Port 80 freigegeben sein.
$ sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/bone.nfix.de.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for bone.nfix.de
Waiting for verification...
Cleaning up challenges
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/bone.nfix.de/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/bone.nfix.de/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tags: beaglebone letsencrypt