Ciao a tutti, dopo anni di utilizzo di un sdm120c con metern per il monitoraggio dei consumi dell'impianto elettrico monofase domestico, su raspberry pi3, sono passato ad una VM linux Debian 10 su vmware 6.7.
Ora, il sistema funziona, ma noto che vengono registrati ogni secondo molteplici righe di log nei file /var/log/syslog, /var/log/user.log, e /var/log/syslog, identiche, riempiendo in breve tempo la partizione che ospita /var.
Vorrei eliminare questo fenomeno, che peraltro sul raspberry non si verificava (usavo la iso con stretch).
Alcuni spunti:
- Se fermo il servizio rsyslog di debian, non vengono più loggati eventi in nessuno dei tre file indicati, e metern continua a funzionare regolarmente.
- ho provato a modificare il file /var/www/comapps/pooler485.sh, inserendo l'opzione -d 0 alla chiamata sdm120c, ma non sembra dare nessun effetto.
Di seguito un estratto dei log con gli eventi generati: questo pattern viene ripetuto uguale ogni secondo, in pratica ad ogni esecuzione del comando sdm120c.
Dec 29 11:07:20 metern sdm120c[746]: parent: /bin/bash(542)
Dec 29 11:07:20 metern sdm120c[746]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -q /dev/ttyUSB0
Dec 29 11:07:20 metern sdm120c[746]: optind = 3, argc = 21, c = a, optarg = 1
Dec 29 11:07:20 metern sdm120c[746]: device_address = 1
Dec 29 11:07:20 metern sdm120c[746]: optind = 5, argc = 21, c = b, optarg = 9600
Dec 29 11:07:20 metern sdm120c[746]: speed = 9600, count_param = 0
Dec 29 11:07:20 metern sdm120c[746]: optind = 7, argc = 21, c = z, optarg = 10
Dec 29 11:07:20 metern sdm120c[746]: num_retries = 10, count_param = 0
Dec 29 11:07:20 metern sdm120c[746]: optind = 8, argc = 21, c = i, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: import_flag = 1, count_param = 0
Dec 29 11:07:20 metern sdm120c[746]: optind = 9, argc = 21, c = p, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: power_flag = 1, count_param = 2
Dec 29 11:07:20 metern sdm120c[746]: optind = 10, argc = 21, c = v, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: volt_flag = 1, count_param = 3
Dec 29 11:07:20 metern sdm120c[746]: optind = 11, argc = 21, c = c, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: current_flag = 1, count_param = 4
Dec 29 11:07:20 metern sdm120c[746]: optind = 12, argc = 21, c = f, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: freq_flag = 1, count_param = 5
Dec 29 11:07:20 metern sdm120c[746]: optind = 13, argc = 21, c = g, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -q /dev/ttyUSB0
Dec 29 11:07:20 metern sdm120c[746]: optind = 3, argc = 21, c = a, optarg = 1
Dec 29 11:07:20 metern sdm120c[746]: device_address = 1
Dec 29 11:07:20 metern sdm120c[746]: optind = 5, argc = 21, c = b, optarg = 9600
Dec 29 11:07:20 metern sdm120c[746]: speed = 9600, count_param = 0
Dec 29 11:07:20 metern sdm120c[746]: optind = 7, argc = 21, c = z, optarg = 10
Dec 29 11:07:20 metern sdm120c[746]: num_retries = 10, count_param = 0
Dec 29 11:07:20 metern sdm120c[746]: optind = 8, argc = 21, c = i, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: import_flag = 1, count_param = 0
Dec 29 11:07:20 metern sdm120c[746]: optind = 9, argc = 21, c = p, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: power_flag = 1, count_param = 2
Dec 29 11:07:20 metern sdm120c[746]: optind = 10, argc = 21, c = v, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: volt_flag = 1, count_param = 3
Dec 29 11:07:20 metern sdm120c[746]: optind = 11, argc = 21, c = c, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: current_flag = 1, count_param = 4
Dec 29 11:07:20 metern sdm120c[746]: optind = 12, argc = 21, c = f, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: freq_flag = 1, count_param = 5
Dec 29 11:07:20 metern sdm120c[746]: optind = 13, argc = 21, c = g, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: pf_flag = 1, count_param = 6
Dec 29 11:07:20 metern sdm120c[746]: optind = 15, argc = 21, c = P, optarg = N
Dec 29 11:07:20 metern sdm120c[746]: c_parity = N, count_param = 6
Dec 29 11:07:20 metern sdm120c[746]: optind = 17, argc = 21, c = w, optarg = 10
Dec 29 11:07:20 metern sdm120c[746]: yLockWait = 10, count_param = 6
Dec 29 11:07:20 metern sdm120c[746]: optind = 19, argc = 21, c = j, optarg = 10
Dec 29 11:07:20 metern sdm120c[746]: resp_timeout = 10, count_param = 6
Dec 29 11:07:20 metern sdm120c[746]: optind = 20, argc = 21, c = q, optarg = (null)
Dec 29 11:07:20 metern sdm120c[746]: compact_flag = 1, count_param = 6
Grazie,
Andrea
SDM120C, MeterN e saturazione Syslog
Re: SDM120C, MeterN e saturazione Syslog
E' un problema di impostazioni del log della tua VM, perchè sul Raspberry non lo fà.
Cerca di filtrare il log piuttosto che disabilitarlo
Cerca di filtrare il log piuttosto che disabilitarlo
-
- Messaggi: 5
- Iscritto il: 11/06/2019, 10:51
Re: SDM120C, MeterN e saturazione Syslog
Ciao, al momento ho filtrato tutti gli eventi provenienti dall'sdm120c, ma è una soluzione tampone per evitare di intasare i log. In questo modo però non posso abilitare il normale log del modulo. Ad ogni modo, ho inserito le linee di seguito prima delle varie direttive auth,authpriv. [...] in /etc/rsyslog.conf
if $programname == 'sdm120c' then ~
& stop
Nel raspberry il file citato non aveva però alcun filtro del genere e funzionava tutto. Segnalo che si tratta di messaggi informativi del codice, direi la lettura dei registri, e soprattutto attivando le opzioni di logging proprie dell'sdm120c con l'opzione "-d", le righe di debug che appaiono sono differenti.
Un'altra opzione potrebbe essere il commendo di questi echo direttamente nei sorgenti del codice dell'sdm120c (nel file sdm120c.c c'è la riga 1089 con la chiamata alla funzione log_message che fa quello) , dal momento che su una VM devo comunque ri-compilarlo, si potrebbe fare anche così... forse nelle distro per Raspberry sono stati tolti proprio così?
Se avete altre soluzioni attendo fiducioso
Andrea
if $programname == 'sdm120c' then ~
& stop
Nel raspberry il file citato non aveva però alcun filtro del genere e funzionava tutto. Segnalo che si tratta di messaggi informativi del codice, direi la lettura dei registri, e soprattutto attivando le opzioni di logging proprie dell'sdm120c con l'opzione "-d", le righe di debug che appaiono sono differenti.
Un'altra opzione potrebbe essere il commendo di questi echo direttamente nei sorgenti del codice dell'sdm120c (nel file sdm120c.c c'è la riga 1089 con la chiamata alla funzione log_message che fa quello) , dal momento che su una VM devo comunque ri-compilarlo, si potrebbe fare anche così... forse nelle distro per Raspberry sono stati tolti proprio così?
Se avete altre soluzioni attendo fiducioso
Andrea
-
- Messaggi: 247
- Iscritto il: 22/08/2016, 14:13
Re: SDM120C, MeterN e saturazione Syslog
vashkenazy ha scritto:Ciao a tutti, dopo anni di utilizzo di un sdm120c con metern per il monitoraggio dei consumi dell'impianto elettrico monofase domestico, su raspberry pi3, sono passato ad una VM linux Debian 10 su vmware 6.7.
Ora, il sistema funziona, ma noto che vengono registrati ogni secondo molteplici righe di log nei file /var/log/syslog, /var/log/user.log, e /var/log/syslog, identiche, riempiendo in breve tempo la partizione che ospita /var.
Vorrei eliminare questo fenomeno, che peraltro sul raspberry non si verificava (usavo la iso con stretch)
Ciao Andrea, ti confermo che non è un problema solo di virtual machine, poichè io avevo stretch da anni e non me lo ha mai fatto, ora sono da poco passato a buster, e quindi fatto tutto da zero, e ricompilato il sorgente di sdm120c ed anche io mi trovo continue scritte dei file:
/var/log/syslog
/var/log/user.log
/var/log/messages
.
vashkenazy ha scritto:Alcuni spunti:
- Se fermo il servizio rsyslog di debian, non vengono più loggati eventi in nessuno dei tre file indicati, e metern continua a funzionare regolarmente.
- ho provato a modificare il file /var/www/comapps/pooler485.sh, inserendo l'opzione -d 0 alla chiamata sdm120c, ma non sembra dare nessun effetto.
come hai fatto a fermare rsyslog?
io avevo già il file /var/www/comapps/pooler485.sh con l'opzione -d0 ma non cambia assolutamente nulla, i log li scrive ugualmente.
questi sono gli estratti dei miei log:
/var/log/messages
Codice: Seleziona tutto
Feb 26 01:42:19 raspberrypi sdm120c[3091]: sdm120c v1.3.5.4
Feb 26 01:42:19 raspberrypi sdm120c[3091]: parent: /bin/bash(1915)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q /dev/ttyUSB1
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 3, argc = 23, c = a, optarg = 1
Feb 26 01:42:19 raspberrypi sdm120c[3091]: device_address = 1
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 5, argc = 23, c = b, optarg = 9600
Feb 26 01:42:19 raspberrypi sdm120c[3091]: speed = 9600, count_param = 0
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 7, argc = 23, c = z, optarg = 10
Feb 26 01:42:19 raspberrypi sdm120c[3091]: num_retries = 10, count_param = 0
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 8, argc = 23, c = i, optarg = (null)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: import_flag = 1, count_param = 0
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 9, argc = 23, c = p, optarg = (null)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: power_flag = 1, count_param = 2
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 10, argc = 23, c = v, optarg = (null)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: volt_flag = 1, count_param = 3
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 11, argc = 23, c = c, optarg = (null)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: current_flag = 1, count_param = 4
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 12, argc = 23, c = f, optarg = (null)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: freq_flag = 1, count_param = 5
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 13, argc = 23, c = g, optarg = (null)
Feb 26 01:42:19 raspberrypi sdm120c[3091]: pf_flag = 1, count_param = 6
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 15, argc = 23, c = P, optarg = N
Feb 26 01:42:19 raspberrypi sdm120c[3091]: c_parity = N, count_param = 6
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 17, argc = 23, c = w, optarg = 10
Feb 26 01:42:19 raspberrypi sdm120c[3091]: yLockWait = 10, count_param = 6
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 19, argc = 23, c = j, optarg = 10
Feb 26 01:42:19 raspberrypi sdm120c[3091]: resp_timeout = 10, count_param = 6
Feb 26 01:42:19 raspberrypi sdm120c[3091]: optind = 21, argc = 23, c = d, optarg = 0
Feb 26 01:42:20 raspberrypi sdm120c[3129]: sdm120c v1.3.5.4
Feb 26 01:42:20 raspberrypi sdm120c[3129]: parent: /bin/bash(1915)
Feb 26 01:42:20 raspberrypi sdm120c[3129]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q /dev/ttyUSB1
/var/log/user.log
Codice: Seleziona tutto
Feb 26 01:41:39 raspberrypi sdm120c[1276]: sdm120c v1.3.5.4
Feb 26 01:41:39 raspberrypi sdm120c[1276]: parent: /bin/bash(1915)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q /dev/ttyUSB1
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 3, argc = 23, c = a, optarg = 1
Feb 26 01:41:39 raspberrypi sdm120c[1276]: device_address = 1
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 5, argc = 23, c = b, optarg = 9600
Feb 26 01:41:39 raspberrypi sdm120c[1276]: speed = 9600, count_param = 0
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 7, argc = 23, c = z, optarg = 10
Feb 26 01:41:39 raspberrypi sdm120c[1276]: num_retries = 10, count_param = 0
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 8, argc = 23, c = i, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: import_flag = 1, count_param = 0
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 9, argc = 23, c = p, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: power_flag = 1, count_param = 2
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 10, argc = 23, c = v, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: volt_flag = 1, count_param = 3
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 11, argc = 23, c = c, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: current_flag = 1, count_param = 4
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 12, argc = 23, c = f, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: freq_flag = 1, count_param = 5
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 13, argc = 23, c = g, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: pf_flag = 1, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 15, argc = 23, c = P, optarg = N
Feb 26 01:41:39 raspberrypi sdm120c[1276]: c_parity = N, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 17, argc = 23, c = w, optarg = 10
Feb 26 01:41:39 raspberrypi sdm120c[1276]: yLockWait = 10, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 19, argc = 23, c = j, optarg = 10
Feb 26 01:41:39 raspberrypi sdm120c[1276]: resp_timeout = 10, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 21, argc = 23, c = d, optarg = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: sdm120c v1.3.5.4
Feb 26 01:41:40 raspberrypi sdm120c[1308]: parent: /bin/bash(1915)
Feb 26 01:41:40 raspberrypi sdm120c[1308]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q /dev/ttyUSB1
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 3, argc = 23, c = a, optarg = 1
Feb 26 01:41:40 raspberrypi sdm120c[1308]: device_address = 1
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 5, argc = 23, c = b, optarg = 9600
Feb 26 01:41:40 raspberrypi sdm120c[1308]: speed = 9600, count_param = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 7, argc = 23, c = z, optarg = 10
Feb 26 01:41:40 raspberrypi sdm120c[1308]: num_retries = 10, count_param = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 8, argc = 23, c = i, optarg = (null)
Feb 26 01:41:40 raspberrypi sdm120c[1308]: import_flag = 1, count_param = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 9, argc = 23, c = p, optarg = (null)
Feb 26 01:41:40 raspberrypi sdm120c[1308]: power_flag = 1, count_param = 2
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 10, argc = 23, c = v, optarg = (null)
Feb 26 01:41:40 raspberrypi sdm120c[1308]: volt_flag = 1, count_param = 3
/var/log/syslog
Codice: Seleziona tutto
Feb 26 01:41:39 raspberrypi sdm120c[1276]: sdm120c v1.3.5.4
Feb 26 01:41:39 raspberrypi sdm120c[1276]: parent: /bin/bash(1915)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q /dev/ttyUSB1
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 3, argc = 23, c = a, optarg = 1
Feb 26 01:41:39 raspberrypi sdm120c[1276]: device_address = 1
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 5, argc = 23, c = b, optarg = 9600
Feb 26 01:41:39 raspberrypi sdm120c[1276]: speed = 9600, count_param = 0
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 7, argc = 23, c = z, optarg = 10
Feb 26 01:41:39 raspberrypi sdm120c[1276]: num_retries = 10, count_param = 0
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 8, argc = 23, c = i, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: import_flag = 1, count_param = 0
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 9, argc = 23, c = p, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: power_flag = 1, count_param = 2
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 10, argc = 23, c = v, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: volt_flag = 1, count_param = 3
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 11, argc = 23, c = c, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: current_flag = 1, count_param = 4
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 12, argc = 23, c = f, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: freq_flag = 1, count_param = 5
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 13, argc = 23, c = g, optarg = (null)
Feb 26 01:41:39 raspberrypi sdm120c[1276]: pf_flag = 1, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 15, argc = 23, c = P, optarg = N
Feb 26 01:41:39 raspberrypi sdm120c[1276]: c_parity = N, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 17, argc = 23, c = w, optarg = 10
Feb 26 01:41:39 raspberrypi sdm120c[1276]: yLockWait = 10, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 19, argc = 23, c = j, optarg = 10
Feb 26 01:41:39 raspberrypi sdm120c[1276]: resp_timeout = 10, count_param = 6
Feb 26 01:41:39 raspberrypi sdm120c[1276]: optind = 21, argc = 23, c = d, optarg = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: sdm120c v1.3.5.4
Feb 26 01:41:40 raspberrypi sdm120c[1308]: parent: /bin/bash(1915)
Feb 26 01:41:40 raspberrypi sdm120c[1308]: sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 -q /dev/ttyUSB1
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 3, argc = 23, c = a, optarg = 1
Feb 26 01:41:40 raspberrypi sdm120c[1308]: device_address = 1
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 5, argc = 23, c = b, optarg = 9600
Feb 26 01:41:40 raspberrypi sdm120c[1308]: speed = 9600, count_param = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 7, argc = 23, c = z, optarg = 10
Feb 26 01:41:40 raspberrypi sdm120c[1308]: num_retries = 10, count_param = 0
Feb 26 01:41:40 raspberrypi sdm120c[1308]: optind = 8, argc = 23, c = i, optarg = (null)
Feb 26 01:41:40 raspberrypi sdm120c[1308]: import_flag = 1, count_param = 0
praticamente identici ai tuoi credo....
a me diventavano davvero grandi come dimensioni, crescevano di 1mb al minuto se non di più!!!
per ora ho editato anche io /etc/rsyslog.conf
aggiungendo prima delle direttive auth
Codice: Seleziona tutto
if $programname == 'sdm120c' then ~
& stop
e sembra funzionare
vashkenazy ha scritto:Un'altra opzione potrebbe essere il commendo di questi echo direttamente nei sorgenti del codice dell'sdm120c (nel file sdm120c.c c'è la riga 1089 con la chiamata alla funzione log_message che fa quello) , dal momento che su una VM devo comunque ri-compilarlo, si potrebbe fare anche così... forse nelle distro per Raspberry sono stati tolti proprio così?
bha non credo che le distro per raspberry siano fatte così, io sto usando raspberry pi2 con buster e mi da esattamente lo stesso problema....
ho notato poi una cosa che con stretch non mi faceva:
se da shell do il comando per ttyUSB0 (che per me è l'sdm di produzione):
Codice: Seleziona tutto
pi@raspberrypi:~ $ sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 /dev/ttyUSB0
Voltage: 234.50 V
Current: 0.40 A
Power: 0.00 W
Power Factor: -0.03
Frequency: 50.04 Hz
Import Active Energy: 32946704 Wh
OK
se invece lo do per ttyUSB1 che per me è l'sdm120 su cui monitoro i consumi:
pi@raspberrypi:~ $ sdm120c -a 1 -b 9600 -z 10 -i -p -v -c -f -g -P N -w 10 -j 10 -d 0 /dev/ttyUSB1
pi@raspberrypi:~ $
praticamente non mi da il risultato....ma metern funziona e mi mostra i valori dei consumi senza problemi.
.....lo fa anche a te?
qualcuno ha recentemente compilato i sorgenti di sdm120c?
grazie a tutti.
ps. io ho fatto così:
sudo –s
cd /..
apt-get update
apt-get upgrade
apt-get install libmodbus-dev
cd /home/pi
git clone https://github.com/gianfrdp/SDM120C
cd SDM120C/
make clean && make
sudo cp sdm120c /usr/local/bin/
sudo adduser www-data dialout
questo è il mio pooler485.sh con permessi 755 e proprietario www-data
Codice: Seleziona tutto
#!/bin/bash
ADDRESSES="$1"
BAUD_RATE="$2"
DEVICE="$3"
ADDR_ARR=$(echo $ADDRESSES | tr "," "\n")
while [ true ]; do
ID=0
POWER=""
ENERGY=""
CHECK=""
for ADDRESS in $ADDR_ARR
do
#((ID++))
ID=$ADDRESS
CMD="sdm120c -a ${ADDRESS} -b ${BAUD_RATE} -z 10 -p -i -v -c -f -g -P N -w 10 -j 10 -d 0 -q ${DEVICE}"
#echo $CMD
VALUE=`$CMD`
VOLTAGE=$(echo ${VALUE} | awk '{print $1}')
CURRENT=$(echo ${VALUE} | awk '{print $2}')
POWER=$(echo ${VALUE} | awk '{print $3}')
FACTOR=$(echo ${VALUE} | awk '{print $4}')
FREQUENCY=$(echo ${VALUE} | awk '{print $5}')
ENERGY=$(echo ${VALUE} | awk '{print $6}')
CHECK=$(echo ${VALUE} | awk '{print $7}')
if [ "$CHECK" = "OK" ]; then
echo -e "$ID($POWER*W)\n$ID($ENERGY*Wh)\n${ID}_1($VOLTAGE*V)\n${ID}_2($CURRENT*A)\n${ID}_3($FREQUENCY*Hz)\n${ID}_4($FACTOR*F)" > /dev/shm/metern${ADDRESS}.txt
else
if [ -f /dev/shm/metern${ADDRESS}.txt ]; then
POWER="0.00"
ENERGY=`sed -n '2p' /dev/shm/metern${ADDRESS}.txt`
VOLTAGE="0.00"
CURRENT="0.00"
FREQUENCY="0.00"
FACTOR="0.00"
echo -e "$ID($POWER*W)\n$ENERGY\n${ID}_1($VOLTAGE*V)\n${ID}_2($CURRENT*A)\n${ID}_3($FREQUENCY*Hz)\n${ID}_4($FACTOR*F)" > /dev/shm/metern${ADDRESS}.txt
fi
fi
sleep 0.2
done
done
Re: SDM120C, MeterN e saturazione Syslog
In effetti inserire -d 0 non funziona.
Se sdm120c funziona e non volete saturare lo spazio nei log come è successo a me potete modificare sdm120c.c alla riga 99 mettendo
#define DEBUG_SYSLOG 0
ricompilare sdm120c e ricopiarlo in comapps verificando owner e group che siano a www-data.
Ora nel mio syslog non scrive più.
Questa soluzione secondo me è meglio della modifica di rsyslog.conf che potrebbe essere sovrascritto nel caso di qualche aggiornamento.
Se sdm120c funziona e non volete saturare lo spazio nei log come è successo a me potete modificare sdm120c.c alla riga 99 mettendo
#define DEBUG_SYSLOG 0
ricompilare sdm120c e ricopiarlo in comapps verificando owner e group che siano a www-data.
Ora nel mio syslog non scrive più.
Questa soluzione secondo me è meglio della modifica di rsyslog.conf che potrebbe essere sovrascritto nel caso di qualche aggiornamento.
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti