Pagina 4 di 7
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 28/03/2018, 22:39
da Another
non so se questo problema è stato risolto, io ne ho uno analogo
fino ad oggi avevo una sola linea modbus che leggeva 2 contatori sdm220 (FV:1 e Totale:2), con il config_daemon.php
Codice: Seleziona tutto
if (!is_null($pid)) { // Start Daemon
$output = shell_exec('pooler485 2 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &');
} else { //Stop
$output = shell_exec('pkill -f pooler485 > /dev/null 2>&1 &');
}
ora ho appena collegato altri 2 contatori per la centrale termica (pdc:3, centrale:4) sulla porta ttyUSB1
ho provato i comandi sdm120c e funzionano
però come devo configurare il file config_daemon.php e tutto quello che segue dopo? grazie
ps: meterN 0.8.3.2
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 28/03/2018, 23:55
da Flane
Semplicemente devi mettere gli indirizzi dei contatori da leggere in config_daemon separati da una virgola.
Se devi leggere i contatori 2, 7 e 8 devi mettere:
Codice: Seleziona tutto
if (!is_null($pid)) { // Start Daemon
$output = shell_exec('pooler485 2,7,8 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &');
} else { //Stop
$output = shell_exec('pkill -f pooler485 > /dev/null 2>&1 &');
}
in questo modo ti ritrovi nella cartella /dev/shm i file:
con le letture dei vari contatori
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 29/03/2018, 0:10
da Another
sì, avevo letto, ma avevo capito che questo valesse solo per la stessa usb
io ne ho 2 sulla 0 (e in config_daemon ne è dichiarato solo 1, il num. 2) e 2 sulla 1
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 30/03/2018, 8:17
da Another
devo fare qualcosa tipo duplicare la riga ?
Codice: Seleziona tutto
$output = shell_exec('pooler485 2,7,8 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &');
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 30/03/2018, 9:54
da Flane
Se li hai su due porte diverse devi effettivamente eseguire due sessioni diversi dell pooler485 mettendo due righe con relativi indirizzi e porta.
Attenzione ad utilizzare l'opzione w sia con il pooler485 che con il protocollo di 123solar
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 30/03/2018, 13:40
da Another
quindi dovrei scrivere:
Codice: Seleziona tutto
if (!is_null($pid)) { // Start Daemon
$output = shell_exec('pooler485 1,2 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &');
$output = shell_exec('pooler485 3,4 9600 /dev/ttyUSB1 > /dev/null 2>/dev/null &');
} else { //Stop
$output = shell_exec('pkill -f pooler485 > /dev/null 2>&1 &');
}
?
ma quell'$output poi non viene usato ? perchè così lo sovrascriverei
e nell'else basta 1 riga?
il comando dopo l'indicazione della porta usb cosa fa?
sull'opzione w intendi che devo metterla in entrambi o in nessuno? in quale file? nell'interfaccia?
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 30/03/2018, 15:20
da Flane
Lo script dovrebbe essere corretto così.
Pkill chiude tutti i processi che si chiamano pooler485 per cui dovrebbe funzionare anche se sono 2.
L'opzione w deve essere inclusa come da mie istruzioni fra le option di 123Solar ed anche nel pooler485.sh (se usi il mio della Solarjessie dovrebbe già esserci)
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 31/03/2018, 0:05
da Another
in config_daemon ho messo
Codice: Seleziona tutto
f (!is_null($PID)) { // Start Daemon
$output = shell_exec('pooler485 1,2 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &');
$output = shell_exec('pooler485 6,7 9600 /dev/ttyUSB1 > /dev/null 2>/dev/null &');
//$output = shell_exec('poolSDM485 1 9600 /dev/sdm > /dev/null 2>/dev/null &');
//$output = shell_exec('/usr/bin/curl http://192.168.1.12/startsdm.php');
//$output = shell_exec("/srv/http/comapps/poolmeters.py live > /dev/null 2>&1 &");
} else { //Stop
$output = shell_exec('pkill -f pooler485 > /dev/null 2>&1 &');
//$output = shell_exec('pkill -f poolSDM485 > /dev/null 2>&1 &');
}
impostando a 6 e 7 gli address dei sdm per la pompa di calore
ho poi aggiunto 2 meter ma non son sicuro di come configurarne i comandi:
ID = 6 Type = Elect / Other
Command: poolerconsumi 6 energy
però così il test mi da 0, mentre con sdm120c mi da il valore corretto di 20 o 30 w.
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 31/03/2018, 0:12
da Another
impostando anche il meter 7 sull'ultimo sdm con address 7 ottengo letture a 0 e poi al valore corretto, oscillanti
però in questi casi come faccio a impostare parametri tipo -w -j - z?
Re: Installare più contatori SDM120 in parallelo sullo stesso bus
Inviato: 31/03/2018, 0:34
da Another
qualcosa sono riuscito ad ottenere, seguendo una miniguida di s_p
ho inserito nel file reqsdm.php queste righe:
Codice: Seleziona tutto
} elseif ($argv[1] == 'pdc_l') {
$outstr = exec('cat /dev/shm/metern6.txt | egrep "^6\(" | grep "*W)"');
} elseif ($argv[1] == 'pdc_t') {
$outstr = exec('cat /dev/shm/metern6.txt | egrep "^6\(" | grep "*Wh)"');
} elseif ($argv[1] == 'centrale_l') {
$outstr = exec('cat /dev/shm/metern7.txt | egrep "^7\(" | grep "*W)"');
} elseif ($argv[1] == 'centrale_t') {
$outstr = exec('cat /dev/shm/metern7.txt | egrep "^7\(" | grep "*Wh)"');
poi ho usato nei metern i comandi
reqsdm pdc_t, ecc.
ora le letture sembrano corrette però non so se effettivamente da qualche parte vengono lanciati comandi con i parametri -w -j -z per i conflitti con altri sdm...
inoltre ho i decimali dei w, come si tolgono nell'elenco sotto al gauge?