***************************************************************************************** SolarStretch: immagine preconfigurata per il monitoraggio energetico con 123Solar e MeterN Created by Flavio Anesi (admin@flanesi.it) 123Solar & MeterN created by Jean-Marc Louviaux sdm120c created by Gianfranco Di Prinzio ***************************************************************************************** SolarStretch v.3.1 Data rilascio: 02/07/2018 L'immagine funziona su tutti i modelli di Raspberry Pi (modello B, B+, Pi2, Pi3B, Pi3B+, Pi zero, Pi zero W). Si consiglia Raspberry Pi 2 o superiore. Sistema operativo: - Raspbian Stretch lite - sistema operativo aggiornato al 02/07/2018 - Kernel Linux 4.14.44-v7+ armv7l Aggiornamenti - 123Solar 1.7.3.1 - Domoticz v4.9700 su porta 8080 (disabilitato di default) Novitā - Nuova schermata di benvenuto ssh (ssh welcome screen) - Aggiornato il Kernel alla 4.14.44 e aggiunto un filtraggio dei messaggi di log "Under Voltage" in /etc/rsyslog.d/ignore-underpowering.conf per evitare problemi di intasamento log (testato su un RPI2) https://github.com/raspberrypi/linux/issues/2512#issuecomment-382291473 Contenuti: - MeterN 0.8.6 - 123Solar 1.7.3.1 - Menu: web menų con accesso protetto da password per tutte le pagine web (default password: 123456) - File index.html che reindirizza sempre al menų anche nella cartelle MyScripts e comapps per impedire qualsiasi accesso diretto a tali cartelle - RPI monitor 2.12-r0 (http://rpi-experiences.blogspot.com/p/rpi-monitor.html) - Shellinabox (https://github.com/shellinabox/shellinabox) - Aurora 1.9.0 (versione patchata per utilizzo di unico bus con SDM120) - libmodbus - socat 1.7.3.1 - sdm120c 1.3.5.3 - libreria WiringPi 2.46 - anche per RPI3+ (la base per automazioni domotiche) - RamLog in versione adattata per Raspbian Stretch per un minor uso della scheda SD - Swap disabilitato per un minor uso della scheda SD - libreria lftp (indispensabile per backup via ftp) - comapps per consumi e produzione - script Virtmeter by Garluk ( http://www.flanesi.it/forum/viewtopic.php?f=4&t=2003 ) per calcolo fasce orarie - script per backup di 123solar e metern via ftp (cartella /var/www/MyScripts) - script per backup remoto su Altervista.org (cartella /var/www/MyScripts) - Midnight Commander GNU 4.8.18 - Domoticz v4.9700 su porta 8080 (disabilitato di default) Per avviare manualmente: sudo service domoticz.sh start Per fermare manualmente: sudo service domoticz.sh stop Per attivare l'avvio automatico al boot: cd /etc/init.d sudo update-rc.d -f domoticz.sh defaults Per disabilitare l'avvio automatico al boot: cd /etc/init.d sudo update-rc.d -f domoticz.sh remove - Fail2ban [ban IP su tentativi di accesso ssh, http, https (6 tentativi) e domoticz (3 tentativi)] - upshat service (servizio per monitoraggio I2c UPS HAT PRO V1.1 http://www.raspberrypiwiki.com/index.php/Power_Pack_Pro ) - (disabilitato di default) - Webiopi 0.7.1 su porta 8000 (default user: webiopi - default password: raspberry ) webiopi ha l'avvio al boot disabilitato in quanto se attivo rallenta lo spegnimento del raspberry (impiega circa 90s a chiudere webiopi) per abilitaro "sudo systemctl enable webiopi" - EZL.sh script per utilizzo di convertitore RS485-LAN tipo EZL70 o altri in sostituzione del convertitore RS485-USB Editare il file /var/www/MyScripts/EZL.sh ed inserire l'indirizzo IP del convertitore Per abilitare il servizio: sudo systemctl enable EZL.service reboot Per disabilitare il servizio: sudo systemctl disable EZL.service reboot - gpio-halt per spegnimento con pulsante - (disabilitato di default)( http://www.flanesi.it/forum/viewtopic.php?f=15&t=2070 ) Il pulsante va inserito fra il GPIO21 e GND Per abilitare il servizio: sudo systemctl enable gpio-halt.service reboot Per disabilitare il servizio: sudo systemctl disable gpio-halt.service reboot - script loadcheck: controlla i consumi domestici ed invia una notifica tramite RPInotify sul cellulare in caso di superamento del limite stabilito per la fornitura. Lo script o preconfigurato per utenze domestiche da 3kW e per l'uso č necessario editare lo script ed inserire il proprio token di RPInotify. Ulteriori istruzioni sono pesenti nello script /var/www/MyScripts/loadcheck.php Lo script puo' essere avviato in automatico all'avvio di MeterN (ver 0.8.4 e succ.), decommentando le seguenti righe predisposte nel file /var/www/metern/config/config_daemon.php nella sessione Start exec("loadcheck > /dev/null 2>/dev/null &"); mentre nella sessione Stop exec("pkill -f loadcheck > /dev/null 2>&1 &"); - avvio automatico al boot del raspberry di 123solar e Metern - Corretto protocollo sdm120c per 123solar per uso dei contatori Eastron SDM per la misura della produzione PV - Filtrate le query di MeterN, 123Solar e Menų nel file access.log di apache che in caso di vosualizzazione continuativa delle pagine web saturavano lo spazio di log. NOTE PORTE: Per l'utilizzo da remoto di RPI monitor necessita  l'apertura della porta 8888 Per l'utilizzo da remoto di Shellinabox necessita  l'apertura della porta 4200 Al primo utilizzo di shellinabox, con certi browser (come ad es. Chrome) č necessario accedervi una prima volta direttamente (e non tramite RPI monitor) con il comando http://IP_raspberry:4200 a dare al browser la conferma di sicurezza. Successivamente funzionerā  anche tramite RPI monitor. Per l'utilizzo da remoto di Webiopi necessita  l'apertura della porta 8000 NOTA KERNEL: Nella presente versione 3.1 č stato aggiornato il Kernel alla vers. 4.14 in cui ed č stato introdotto un controllo sulla tensione di alimentazione dell'RPI. Ho perō rilevato con un RPI2 nel file syslog continue false segnalazioni di "under Voltage" che intasavano il file di log. Per questo motivo ho deciso di aggiungere un filtraggio messaggi di log "Under Voltage" in /etc/rsyslog.d/ignore-underpowering.conf Potete eventualmente eliminare il filtraggio semplicemente cancellando il file /etc/rsyslog.d/ignore-underpowering.conf NOTE CRONTAB: In crontab sono state inserite alcune righe: 07 05 5,10,15,20,25,30 * * root /sbin/shutdown -r now esegue un riavvio programmato ogno 5 giorni ( il 5, 10 ,15 ... del mese) alle ore 05:07 per evitare eventuali blocchi per esaurimento memoria ed altro 03 00 * * * root /usr/local/bin/cleanlog 50 >/dev/null 2>&1 esegue un controllo sullo spazio di log tutti i giorni alle ore 00:03 Nel caso che lo spazio per il log sia pieno per pių del 50% esegue la pulizia di tutti i file compressi da logrotate mantenendo quindi comunque gli ultimi log registrate dal sistema ed eliminando solo i pių vecchi. #01 21 * * * root /var/www/MyScripts/ftpbackup.sh E' stata inserita un riga commentata per far eventualmente eseguire se richiesto un backup ftp. E' in tal caso necessario decommentare la riga e configurare opportunamente il file /var/www/MyScripts/ftpbackup.sh ***************************************************************************************** PRECEDENTI VERSIONI ***************************************************************************************** SolarStretch v.3.0 Data rilascio: 26/05/2018 Sistema operativo: - Raspbian Stretch lite - sistema operativo aggiornato al 26/05/2018 - Kernel Linux 4.9.80-v7+ armv7l Contenuti: - MeterN 0.8.6 - 123Solar 1.7.2 - Menu: web menų con accesso protetto da password per tutte le pagine web (default password: 123456) - File index.html che reindirizza sempre al menų anche nella cartelle MyScripts e comapps per impedire qualsiasi accesso diretto a tali cartelle - RPI monitor 2.12-r0 (http://rpi-experiences.blogspot.com/p/rpi-monitor.html) - Shellinabox (https://github.com/shellinabox/shellinabox) - Aurora 1.9.0 (versione patchata per utilizzo di unico bus con SDM120) - libmodbus - socat 1.7.3.1 - sdm120c 1.3.5.3 - libreria WiringPi 2.46 - anche per RPI3+ (la base per automazioni domotiche) - RamLog in versione adattata per Raspbian Stretch per un minor uso della scheda SD - Swap disabilitato per un minor uso della scheda SD - libreria lftp (indispensabile per backup via ftp) - comapps per consumi e produzione - script Virtmeter by Garluk ( http://www.flanesi.it/forum/viewtopic.php?f=4&t=2003 ) per calcolo fasce orarie - script per backup di 123solar e metern via ftp (cartella /var/www/MyScripts) - script per backup remoto su Altervista.org (cartella /var/www/MyScripts) - Midnight Commander GNU 4.8.18 - Domoticz v3.8153 su porta 8080 (disabilitato di default) - Fail2ban [ban IP su tentativi di accesso ssh, http, https (6 tentativi) e domoticz (3 tentativi)] - upshat service (servizio per monitoraggio I2c UPS HAT PRO V1.1 http://www.raspberrypiwiki.com/index.php/Power_Pack_Pro ) - (disabilitato di default) - Webiopi 0.7.1 su porta 8000 (default user: webiopi - default password: raspberry ) webiopi ha l'avvio al boot disabilitato in quanto se attivo rallenta lo spegnimento del raspberry (impiega circa 90s a chiudere webiopi) per abilitaro "sudo systemctl enable webiopi" - EZL.sh script per utilizzo di convertitore RS485-LAN tipo EZL70 o altri in sostituzione del convertitore RS485-USB - gpio-halt per spegnimento con pulsante - (disabilitato di default)( http://www.flanesi.it/forum/viewtopic.php?f=15&t=2070 ) - script loadcheck: controlla i consumi domestici ed invia una notifica tramite RPInotify sul cellulare in caso di superamento del limite stabilito per la fornitura. Lo script o preconfigurato per utenze domestiche da 3kW e per l'uso č necessario editare lo script ed inserire il proprio token di RPInotify. Ulteriori istruzioni sono pesenti nello script /var/www/MyScripts/loadcheck.php - avvio automatico al boot del raspberry di 123solar e Metern - Corretto protocollo sdm120c per 123solar per uso dei contatori Eastron SDM per la misura della produzione PV - Filtrate le query di MeterN, 123Solar e Menų nel file access.log di apache che in caso di vosualizzazione continuativa delle pagine web saturavano lo spazio di log. NOTA KERNEL: Nella presente versione 3.0 č stato volutamente mantenuto il kernel 4.9.80 e non l'ultimo disponibile 4.12.43.Questo perchč con la versione 4.12 sono presenti nel file syslog continue false segnalazioni di "under Voltage" e si č rilevato una certa instabilitā con sporadici riavvi.Per questo motivo si č preferito mantenere la versione 4.9.80 ed ad oggi sconsiglio di aggiornare il kernel.