import dati 123solar e metern in domoticz [GUIDA]
import dati 123solar e metern in domoticz [GUIDA]
in versione alpha
grazie a gianfranco...
ciao
grazie a gianfranco...
ciao
- Allegati
-
- import domoticz.zip
- (35.16 KiB) Scaricato 676 volte
Re: import dati 123solar e metern in domoticz [GUIDA]
siccome mi sta vendendo la curiosità di domoticz, questa procedura alfa è rimasta tale ed è funzionante o è stata superata/aggioranta?
Re: import dati 123solar e metern in domoticz [GUIDA]
si sto testando i nuovi script...
a breve sul wiki...
ciao
a breve sul wiki...
ciao
Re: RE: Re: import dati 123solar e metern in domoticz [GUIDA]
Grazie miki, sai se esiste una guida in stile solarjessie? Sul wiki c'è l'installazione, ma una configurazione do devices o hardware vario non c'è. Ho capito a cosa serve domoticz, ma come si usa?miki8989 ha scritto:si sto testando i nuovi script...
a breve sul wiki...
ciao
Presumo che la risposta non sia semplice data le molteplici possibilità del software...
Inviato dal mio A0001 utilizzando Tapatalk
Re: import dati 123solar e metern in domoticz [GUIDA]
miki8989 ha scritto:si sto testando i nuovi script...
a breve sul wiki...
ciao
miki, li hai poi provati i nuovi script?
ho provato la tua guida per importare i dati metern in domoticz, ma alcuni contatori vanno e altri no.
mi pare di aver modificato tutto correttamente
Re: import dati 123solar e metern in domoticz [GUIDA]
ho fatto dei progressi (?)
spiego cosa ho fatto
produzione1.txt
consumi2.txt
metern2.txt
metern6.txt (una pompa di calore)
domoticz.sh
questo è il risultato però incompleto

cercando in giro ho trovato anche l'uso di questi comandi, che peò non so cosa diano come risultato
spiego cosa ho fatto
produzione1.txt
Codice: Seleziona tutto
1(36113795*Wh)
consumi2.txt
Codice: Seleziona tutto
2(3744091*Wh)
metern2.txt
Codice: Seleziona tutto
2(1180.60*W)
2(3744171*Wh)
2_1(234.30*V)
2_2(5.11*A)
2_3(50.00*Hz)
2_4(1.00*F)
metern6.txt (una pompa di calore)
Codice: Seleziona tutto
6(119.70*W)
6(1009058*Wh)
6_1(233.90*V)
6_2(0.47*A)
6_3(50.00*Hz)
6_4(1.00*F)
domoticz.sh
Codice: Seleziona tutto
#!/bin/sh
V=`cat /run/shm/metern2.txt | egrep "^2_1\(" | grep "*V)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
A=`cat /run/shm/metern2.txt | egrep "^2_2\(" | grep "*A)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
W=`cat /run/shm/metern2.txt | egrep "^2(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
P=`cat /run/shm/produzione1.txt | egrep "^1\(" | grep "*Wh)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
C=`cat /run/shm/consumi2.txt | egrep "^2(" | grep "*Wh)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
APdC=`cat /run/shm/metern6.txt | egrep "^6_2\(" | grep "*A)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
WPdC=`cat /run/shm/metern6.txt | egrep "^6\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://localhost:8080/json.htm?type=command¶m=udevice&idx=1&nvalue=0&svalue=$V"
curl -s "http://localhost:8080/json.htm?type=command¶m=udevice&idx=2&nvalue=0&svalue=$A"
curl -s "http://localhost:8080/json.htm?type=command¶m=udevice&idx=3&nvalue=0&svalue=$W"
curl -s "http://localhost:8080/json.htm?type=command¶m=udevice&idx=4&nvalue=0&svalue=$P"
curl -s "http://localhost:8080/json.htm?type=command¶m=udevice&idx=5&nvalue=0&svalue=$C"
curl -s "http://localhost:8080/json.htm?type=command¶m=udevice&idx=6&nvalue=0&svalue=$APdC"
questo è il risultato però incompleto

cercando in giro ho trovato anche l'uso di questi comandi, che peò non so cosa diano come risultato
Codice: Seleziona tutto
sudo poolerconsumi 2 power grep "^1\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'
sudo poolerconsumi 2 energy grep "^1\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'
sudo poolerproduzione 2 power grep "^1\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'
sudo poolerproduzione 2 energy grep "^1\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'
Re: import dati 123solar e metern in domoticz [GUIDA]
miki8989 ha scritto:si sto testando i nuovi script...
a breve sul wiki...
ciao
Scusate, sono poi stati aggiunti sul wiki i nuovi script?
in demoticz come bisogna configurare i device? credo uno per ogni metern...
Sarei interessato al progetto...
grazie
Re: import dati 123solar e metern in domoticz [GUIDA]
Ciao a tutti,
da un po di tempo sto sviluppando l'utilizzo di domoticz a casa e ci sto gestendo parecchie cose (VMC, Umidità bagni, Scalda salviette, Sensori allagamento, TV, Raffreddamento quadro lan, ecc.) con gran soddisfazione!
Ora sto tentando di portare i dati dell'inverter rilevati con 123solar in domoticz, ma non ci sono ancora riuscito.
Sulla teoria penso di esserci, e questo è quanto ho capito:
- con aurora prelevo i dati dal.'inverter abb con il convertitore usb-485
- i dati vengono letti e interpretati da 123solar
--------- e fin qui tutto perfetto ---------
--------- ora vengono i dubbi ---------
- 123solar scrive il log dei dati in un file .txt
- in Domoticz si creano i vari dispositivi virtuali (si avranno i vari idx)
- si configura uno script che legge il file .txt ed invia i dati a Domoticz (opportunamente indirizzati ai corretti idx), come se arrivassero da un qualsiasi dispositivo di rete (ad esempio un Sonoff)
- in Domoticz i dispositivi virtuali visualizzeranno i valori.
Quello che non ho davvero capito è quale sia il file .txt dove 123solar salva il log dei dati???
Per lo srcipt, leggendo i precedent post, ho capito come vada configurato per passare i dati che voglio.
Mi sento perso in un bicchiere d'acqua! HELP!!!
da un po di tempo sto sviluppando l'utilizzo di domoticz a casa e ci sto gestendo parecchie cose (VMC, Umidità bagni, Scalda salviette, Sensori allagamento, TV, Raffreddamento quadro lan, ecc.) con gran soddisfazione!
Ora sto tentando di portare i dati dell'inverter rilevati con 123solar in domoticz, ma non ci sono ancora riuscito.
Sulla teoria penso di esserci, e questo è quanto ho capito:
- con aurora prelevo i dati dal.'inverter abb con il convertitore usb-485
- i dati vengono letti e interpretati da 123solar
--------- e fin qui tutto perfetto ---------
--------- ora vengono i dubbi ---------
- 123solar scrive il log dei dati in un file .txt
- in Domoticz si creano i vari dispositivi virtuali (si avranno i vari idx)
- si configura uno script che legge il file .txt ed invia i dati a Domoticz (opportunamente indirizzati ai corretti idx), come se arrivassero da un qualsiasi dispositivo di rete (ad esempio un Sonoff)
- in Domoticz i dispositivi virtuali visualizzeranno i valori.
Quello che non ho davvero capito è quale sia il file .txt dove 123solar salva il log dei dati???
Per lo srcipt, leggendo i precedent post, ho capito come vada configurato per passare i dati che voglio.
Mi sento perso in un bicchiere d'acqua! HELP!!!
Re: import dati 123solar e metern in domoticz [GUIDA]
Nella cartella /dev/shm sia 123Solar che Metern salvano in live tutti i valori letti in alcuni file temporanei:
Per 123Solar:
123s_LIVEMEMORY.json
Per Metern:
mN_ILIVEMEMORY.json per gli indicatori (non loggati)
mN_LIVEMEMORY.json per i misuratori (loggati)
Gli script di importazione fatti sopra per Metern non utilizzano questi file ma le stesse comapps che utilizza Metern per leggere i vari dati.
Per 123Solar invece a mio parere conviene passare per il file 123s_LIVEMEMORY.json.
Questo file è in formato JSON e pertanto i dati possono eventualmente essere facilmente estratti con json_decode come ho ad esempio indicato qui
viewtopic.php?f=20&t=2016&hilit=reqsdm+json#p4902
anche se in questo caso si trattava di sensori wireless fatti con ESP8266 e firmware ESPeasy ed il valore era da importare in MeterN.
Per estrarre da 123Solar, il tutto potrebbe essere adattato in questo modo (da verificare):
Il parametro di json_output dovrà essere sostituito con quello che si vuole estrarre dal file json o poi basterà inviare la lettura estratta a Domoticz con i comandi visti sopra in questa discussione.
Comunque 123Solar salva i dati in modo permanente in:
- le letture ogni cinque minuti in un file csv giornaliero nella cartella /var/www/123solar/data/int1/csv
- il totale di produzione giornaliera nel file /var/www/123solar/data/int1/production/energy2018.csv
Per 123Solar:
123s_LIVEMEMORY.json
Per Metern:
mN_ILIVEMEMORY.json per gli indicatori (non loggati)
mN_LIVEMEMORY.json per i misuratori (loggati)
Gli script di importazione fatti sopra per Metern non utilizzano questi file ma le stesse comapps che utilizza Metern per leggere i vari dati.
Per 123Solar invece a mio parere conviene passare per il file 123s_LIVEMEMORY.json.
Questo file è in formato JSON e pertanto i dati possono eventualmente essere facilmente estratti con json_decode come ho ad esempio indicato qui
viewtopic.php?f=20&t=2016&hilit=reqsdm+json#p4902
anche se in questo caso si trattava di sensori wireless fatti con ESP8266 e firmware ESPeasy ed il valore era da importare in MeterN.
Per estrarre da 123Solar, il tutto potrebbe essere adattato in questo modo (da verificare):
Codice: Seleziona tutto
$url = 'http://localhost/dev/shm/123s_LIVEMEMORY.json';
$pagina = file_get_contents($url);
$json_output = json_decode($pagina, true);
$pot_ist = $json_output['G1P1'];
$pot_tot = $json_output['KWHT1'];
.......
.......
Il parametro di json_output dovrà essere sostituito con quello che si vuole estrarre dal file json o poi basterà inviare la lettura estratta a Domoticz con i comandi visti sopra in questa discussione.
Comunque 123Solar salva i dati in modo permanente in:
- le letture ogni cinque minuti in un file csv giornaliero nella cartella /var/www/123solar/data/int1/csv
- il totale di produzione giornaliera nel file /var/www/123solar/data/int1/production/energy2018.csv
Re: import dati 123solar e metern in domoticz [GUIDA]
questo e lo script che uso io...
logicamente va personalizzato con i valori e id voluti ed inserito in crontab per lanciarlo ogni x minuti
ciao
Codice: Seleziona tutto
#!/usr/bin/php
<?php
// LIVE INVERTER
// Live (/dev/shm/123s_LIVEMEMORY.json)
//
// EFF1 efficenza I1
// INVT1 temp. inv I2
// FRQ1 frequenza I3
// BOOT1 temp. boost I4
// I1V1 tensione str.1 I5
// I1A1 corrente str.1 I6
// I1P1 potenza str.1 I7
// I2V1 tensione str.1 I8
// I2A1 corrente str.1 I9
// I2P1 potenza str.1 I10
// [msgq1]
// [AWt1]
// [AWriso1] Riso I11
// [AWileak1] iLeak I12
// [peakotd1] pk_gg I13
// [peakoat1] pk_tot I14
//
// IMPOSTAZIONI LETTURA JSON
$url_inv = '/dev/shm/123s_LIVEMEMORY.json';
$json_inv = json_decode((file_get_contents($url_inv)), true);
// LETTURA DATI
$I1 = $json_inv['EFF1'];
$I2 = $json_inv['INVT1'];
$I3 = $json_inv['FRQ1'];
// $I4 = $json_inv['BOOT1'];
$I5 = $json_inv['I1V1'];
$I6 = $json_inv['I1A1'];
$I7 = $json_inv['I1P1'];
$I8 = $json_inv['I2V1'];
$I9 = $json_inv['I2A1'];
$I10 = $json_inv['I2P1'];
// IMPOSTAZIONI LETTURA JSON
$url_inv = '/dev/shm/123s_MEMORY.json';
$json_inv = json_decode((file_get_contents($url_inv)), true);
// LETTURA DATI
$I11 = $json_inv['AWriso1'];
$I12 = $json_inv['AWileak1'];
$I13 = $json_inv['peakotd1'];
$I14 = $json_inv['peakoat1'];
// ARROTONDA A 2 CIFRE DECIMALI
$I1 = number_format($I1, 2); // con 1 arrotonda a 1 cifra decimale
$I2 = number_format($I2, 1);
$I3 = number_format($I3, 2);
$I4 = number_format($I4, 1);
$IV = number_format (($I5+$I8), 2);
$IA = number_format (($I6+$I9), 2);
$IP = ($I7+$I10);
// INVIO DATI A DOMOTICZ
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=70&nvalue=0&svalue=$I1"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=71&nvalue=0&svalue=$I2"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=72&nvalue=0&svalue=$I3"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=73&nvalue=0&svalue=$IV"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=65&nvalue=0&svalue=$IA"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=66&nvalue=0&svalue=$IP"));
//
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=80&nvalue=0&svalue=$I11"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=81&nvalue=0&svalue=$I12"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=82&nvalue=0&svalue=$I13"));
curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command¶m=udevice&idx=83&nvalue=0&svalue=$I14"));
?>
logicamente va personalizzato con i valori e id voluti ed inserito in crontab per lanciarlo ogni x minuti
ciao
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite