Script virtmeter.php [GUIDA]

Discussioni relative al software di monitoraggio energetico METERN
megamarco83
Messaggi: 247
Iscritto il: 22/08/2016, 14:13

Re: Script virtmeter.php [GUIDA]

Messaggioda megamarco83 » 04/12/2018, 12:11

ho controllato la cartella
/home/pi/SDM120C
questi sono tutti proprietario root
dovrebbero essere www-data per caso?


Avatar utente
Flane
Messaggi: 2484
Iscritto il: 16/01/2016, 15:02

Re: Script virtmeter.php [GUIDA]

Messaggioda Flane » 04/12/2018, 12:29

non c'entra nulla /home/pi/SDM120C

Il file Metern1.txt (generato dal poooler485) infatti aveva già www-data

Controlla i file poolerconsumi.php e pool123s.php in /var/www/comapps se hanno www-data come gruppo e proprietario.
Tu questi due file li esegui da pagina admin di MeterN come comandi dei rispettivi misuratori ?

megamarco83
Messaggi: 247
Iscritto il: 22/08/2016, 14:13

Re: Script virtmeter.php [GUIDA]

Messaggioda megamarco83 » 04/12/2018, 12:40

in /var/www/comapps/
ho tutto www-data

si li eseguo dalla pagina admin di metern come:
poolerconsumi 1 energy
poolerconsumi 1 power
e
pool123s energy
pool123s power

ho però uno script in /var/www/MyScript
domoticz.sh

in cui eseguo:

Codice: Seleziona tutto

#importo consumi meter1
WH=`sudo poolerconsumi 1 energy | egrep "^1\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
W=`sudo poolerconsumi 1 power | egrep "^1\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo produzione meter2
P=`sudo pool123s energy | egrep "^2\(" | grep "*Wh)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
Pist=`sudo pool123s power | egrep "^2\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]
*'`

li file domoticz.sh ha come proprietario root

sempre in MyScript ho un file lcd.sh

in cui eseguo:

Codice: Seleziona tutto

# import live consumi primo piano
x2=`sudo poolerconsumi 1 power | egrep "^1\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://192.168.0.195/control?cmd=oled,2,2,Consumi+$x2+W"
curl -s "http://192.168.0.198/control?cmd=lcd,2,1,Consumi+$x2+W"
#curl -s "http://192.168.0.198/control?cmd=oled,2,1,Consumi+$x2+W"

il file è sempre proprietario root
e lo uso per inviare i dati ad un lcd

in crontab poi ho questo:

sudo nano /etc/crontab

Codice: Seleziona tutto

*/1 * * * * root /var/www/MyScripts/domoticz.sh
*/1  * * * * root sleep 20; /var/www/MyScripts/domoticz.sh
*/1  * * * * root sleep 40; /var/www/MyScripts/domoticz.sh
*/1  * * * * root           /var/www/MyScripts/lcd.sh
*/1  * * * * root sleep 20; /var/www/MyScripts/lcd.sh
*/1  * * * * root sleep 40; /var/www/MyScripts/lcd.sh



potrebbe essere questo il problema?

Avatar utente
Flane
Messaggi: 2484
Iscritto il: 16/01/2016, 15:02

Re: Script virtmeter.php [GUIDA]

Messaggioda Flane » 04/12/2018, 21:19

Il problema sono proprio gli script domoticz.sh e lcd.sh
Devi avviarli come utente www-data e non root e devi togliere i comandi sudo.

E comunque quei valori si possono leggere dai file temporanei livememory che crea metern e 123solar in /dev/shm con un semplice comando json,
invece di continuare ad eseguire poolerconsumi e pool123s.... :?

Guarda ad esempio il file che ti allego ;)
Allegati
123todomoticz.zip
(2.28 KiB) Scaricato 220 volte

Garluk
Messaggi: 80
Iscritto il: 01/10/2017, 22:00

Re: Script virtmeter.php [GUIDA]

Messaggioda Garluk » 04/12/2018, 21:36

Ha ragione Flavio.
Il problema ti viene dai file domoticz.sh e lcd.sh
Quei 2 file li devi eseguire con utente www-data e senza sudo nel comando.
Per farlo basta che modifichi l'utente in crontab e elimini sudo. E tutto dovrebbe andare a posto al riavvio.

Io quei 2 file li modificherei e andrei a prendere i dati da /dev/shm altrimenti fai altre letture e disallinei tutto.

Ciao
G.

megamarco83
Messaggi: 247
Iscritto il: 22/08/2016, 14:13

Re: Script virtmeter.php [GUIDA]

Messaggioda megamarco83 » 04/12/2018, 21:51

Garluk ha scritto:Ha ragione Flavio.
Il problema ti viene dai file domoticz.sh e lcd.sh
Quei 2 file li devi eseguire con utente www-data e senza sudo nel comando.
Per farlo basta che modifichi l'utente in crontab e elimini sudo. E tutto dovrebbe andare a posto al riavvio.



Ciao
G.

ok grazie, ho fatto così e sembra funzionare:

cambio da:

Codice: Seleziona tutto

*/1 * * * * www-data /var/www/MyScripts/domoticz.sh
*/1  * * * *  www-data sleep 20; /var/www/MyScripts/domoticz.sh
*/1  * * * *  www-data sleep 40; /var/www/MyScripts/domoticz.sh
*/1  * * * *  www-data          /var/www/MyScripts/lcd.sh
*/1  * * * *  www-data sleep 20; /var/www/MyScripts/lcd.sh
*/1  * * * *  www-data sleep 40; /var/www/MyScripts/lcd.sh



ad i due ho modificato il proprietario in www-data con il comando:
sudo chown www-data:www-data -vR lcd.sh
sudo chown www-data:www-data -vR domoticz.sh

ora i file in /run/shm sembrano con proprietario www-data
Garluk ha scritto:Io quei 2 file li modificherei e andrei a prendere i dati da /dev/shm altrimenti fai altre letture e disallinei tutto..

ok potrei prenderli da /run/shm ma non ero proprio riuscito.... :(
Ultima modifica di megamarco83 il 04/12/2018, 22:13, modificato 1 volta in totale.

megamarco83
Messaggi: 247
Iscritto il: 22/08/2016, 14:13

Re: Script virtmeter.php [GUIDA]

Messaggioda megamarco83 » 04/12/2018, 21:57

Flane ha scritto:Il problema sono proprio gli script domoticz.sh e lcd.sh
Devi avviarli come utente www-data e non root e devi togliere i comandi sudo.

E comunque quei valori si possono leggere dai file temporanei livememory che crea metern e 123solar in /dev/shm con un semplice comando json,
invece di continuare ad eseguire poolerconsumi e pool123s.... :?

Guarda ad esempio il file che ti allego ;)

Ciao Flavio, ma quel file prende i valori da 123solar
io quindi se ho bisogno dei dati da passare a domoticz, quali la produzione live ed il dato della produzione giornaliera cosa uso in quello script?
$IDX[14] = 29; // potenza rete inv. 1 G1P1 IDX[14] I[14] Usage Electric 72.2 W
$IDX[25] = 30; // prod. tot. inverter 1 KWHT1 IDX[25] I[25] General kWh 12769.77 kWh
sono questi giusto?

il tuo php per eseguirlo ad esempio ogni 20secondi come fai?
come avevo fatto io richiamandolo in cron con lo sleep di 20secondi?

Codice: Seleziona tutto

*/1 * * * * root /var/www/MyScripts/domoticz.sh
*/1  * * * * root sleep 20; /var/www/MyScripts/domoticz.sh
*/1  * * * * root sleep 40; /var/www/MyScripts/domoticz.sh
*/1  * * * * root           /var/www/MyScripts/lcd.sh
*/1  * * * * root sleep 20; /var/www/MyScripts/lcd.sh
*/1  * * * * root sleep 40; /var/www/MyScripts/lcd.sh



mentre per gli altri parametri dei consumi, prelievi, immissioni ecc ecc?

il mio file ora è così:

Codice: Seleziona tutto

# importo dati SDM120
V=`cat /run/shm/metern1.txt | egrep "^1_1\(" | grep "*V)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
A=`cat /run/shm/metern1.txt | egrep "^1_2\(" | grep "*A)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#CF=`cat /run/shm/metern1.txt | egrep "^1_4\(" | grep "*F)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo dal DHT22
UM=`cat /run/shm/metern7.txt | egrep "^7_2\(" | grep "*%)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
TC=`cat /run/shm/metern7.txt | egrep "^7_1\(" | grep "*C)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo consumi meter1
WH=`sudo poolerconsumi 1 energy | egrep "^1\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
W=`sudo poolerconsumi 1 power | egrep "^1\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo produzione meter2
P=`sudo pool123s energy | egrep "^2\(" | grep "*Wh)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
Pist=`sudo pool123s power | egrep "^2\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo prelievi meter3
Pwh=`sudo eflow whin | egrep "^3\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
#Pw=`sudo eflowlive whin | egrep "^3\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#Pwh=`sudo virtmeter 3 0 0 impenergy 0 | egrep "^3\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
Pw=`sudo virtmeter 3 0 0 imppower 0 | egrep "^3\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo immissioni meter4
Iwh=`sudo eflow whout | egrep "^4\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
#Iw=`sudo eflowlive whout | egrep "^4\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#Iwh=`sudo virtmeter 4 0 0 expenergy 0 | egrep "^4\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
Iw=`sudo virtmeter 4 0 0 exppower 0 | egrep "^4\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo autoconsumo meter5
Awh=`sudo eflow selfc | egrep "^5\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
#Aw=`sudo eflowlive selfc | egrep "^5\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#Awh=`sudo virtmeter 5 0 0 selfcenergy 0 | egrep "^5\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
Aw=`sudo virtmeter 5 0 0 selfcpower 0 | egrep "^5\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo preliervi fascai F1 meter12
F1wh=`virtmeter 8 3 0 energy F1 | egrep "^8\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
F1w=`virtmeter 8 3 0 power F1 | egrep "^8\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo prelievi fascia F23 meter13
F23wh=`virtmeter 9 3 0 energy F23 | egrep "^9\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
F23w=`virtmeter 9 3 0 power F23 | egrep "^9\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

# import frequenza di rete
#HZ=`egrep "^1_3\(.*Hz\)" /run/shm/metern1.txt | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#IMPORTO TEMP E HUMIDITA DA DHT22 esp8266 CORRIDOIO  --- inviato direttamente da espeasy con idx send to controller----
#TEM_ESP_COR=`curl -s http://192.168.0.195/json?tasknr=2 | egrep "Temperature" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`
#HUM_ESP_COR=`curl -s http://192.168.0.195/json?tasknr=2 | egrep "Humidity" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`

# IMPORTO TEMP E HUMIDITA DA DHT22 esp8266 MANSARDA  --- inviato direttamente da espeasy con idx send to controller----
#TEM_ESP_MANS=`curl -s http://192.168.0.198/json?tasknr=2 | egrep "Temperature" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`
#HUM_ESP_MANS=`curl -s http://192.168.0.198/json?tasknr=2 | egrep "Humidity" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`

curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=4&nvalue=0&svalue=$Pist;$P"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=5&nvalue=0&svalue=$Pw;$Pwh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=6&nvalue=0&svalue=$Aw;$Awh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=7&nvalue=0&svalue=$F1w;$F1wh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=8&nvalue=0&svalue=$F23w;$F23wh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=9&nvalue=0&svalue=$Iw;$Iwh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=10&nvalue=0&svalue=$W;$WH"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=11&nvalue=0&svalue=$TC;$UM;2"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=12&nvalue=0&svalue=$A"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=13&nvalue=0&svalue=$V"

megamarco83
Messaggi: 247
Iscritto il: 22/08/2016, 14:13

Re: Script virtmeter.php [GUIDA]

Messaggioda megamarco83 » 04/12/2018, 22:28

ciao...
ora che i proprietari sono tutti www-data
cron è stato corretto
ho messo in metern il comando per prelievi, immissioni, autoconsumo
però ho ancora il problema che nel csv mette numeri enormi.
ora lo sta facendo solo con i prelievi, copio uno stralcio del csv evidenziando il numero che cresce esponenzialmente:
(ricordo che ho il primo meter=consumi meter2=produzione meter3=prelievi)

22:15,32650929,25483162,82513336,59041312,351474,4.0,99.9,111330,25938274,,44.38,,25.94,25.50,226.80,20.2,42,20.8,49.2
22:20,32650993,25483162,82613400,59041312,351474,3.9,99.9,111330,26038338,,43.94,,32.75,47.50,226.20,20.2,41.8,20.8,49.3
22:25,32651059,25483162,82713466,59041312,351474,3.9,99.9,111330,26138406,,43.75,,34.44,47.94,227.70,20.3,41.5,20.8,49.3

Garluk
Messaggi: 80
Iscritto il: 01/10/2017, 22:00

Re: Script virtmeter.php [GUIDA]

Messaggioda Garluk » 05/12/2018, 12:06

Marco tranquillo.
I csv dovrebbero sistemarsi da soli al cambio giorno.

Che LCD hai usato e collegato?

megamarco83
Messaggi: 247
Iscritto il: 22/08/2016, 14:13

Re: Script virtmeter.php [GUIDA]

Messaggioda megamarco83 » 05/12/2018, 12:17

Garluk ha scritto:Marco tranquillo.
I csv dovrebbero sistemarsi da soli al cambio giorno.

Che LCD hai usato e collegato?


ehmmm ieri ho rimesso eflow, non lo sapevo...
ma, sicuro che si sistemano da soli? come fanno a sistemarsi da soli se ogni 5min aumentano il valore di 100000kwh?
se guardi il csv ogni 5min mette un numero incrementato di 1 alla sesta cifra 5 poi 6 poi 7
sicuro? :D
inoltre sembra che provandolo ora, in cui il FV produce più dei consumi, le immissioni registrate rimangono sempre a 0 (numero nel csv uguale a quello di 5min precedenti)



per lcd ho usato un oled SSD1306 ed un lcd LCD2004 collegati ad un nodemcu (esp8266) a cui ho messo firmware espeasy

come faccio a passare i valori a domoticz e lcd con questi due script senza dover rieseguire i pooler o virtmet o eflow?

questi sono i due file:

Codice: Seleziona tutto

#!/bin/sh
# second=20
# while [ 1 ]; do

# importo dati SDM120
V=`cat /run/shm/metern1.txt | egrep "^1_1\(" | grep "*V)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
A=`cat /run/shm/metern1.txt | egrep "^1_2\(" | grep "*A)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#CF=`cat /run/shm/metern1.txt | egrep "^1_4\(" | grep "*F)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo dal DHT22
UM=`cat /run/shm/metern7.txt | egrep "^7_2\(" | grep "*%)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
TC=`cat /run/shm/metern7.txt | egrep "^7_1\(" | grep "*C)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo consumi meter1
WH=`poolerconsumi 1 energy | egrep "^1\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
W=`poolerconsumi 1 power | egrep "^1\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo produzione meter2
P=`pool123s energy | egrep "^2\(" | grep "*Wh)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
Pist=`pool123s power | egrep "^2\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo prelievi meter3
Pwh=`eflow whin | egrep "^3\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
#Pw=`eflowlive whin | egrep "^3\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#Pwh=`virtmeter 3 0 0 impenergy 0 | egrep "^3\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
Pw=`virtmeter 3 0 0 imppower 0 | egrep "^3\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo immissioni meter4
Iwh=`eflow whout | egrep "^4\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
#Iw=`eflowlive whout | egrep "^4\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#Iwh=`virtmeter 4 0 0 expenergy 0 | egrep "^4\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
Iw=`virtmeter 4 0 0 exppower 0 | egrep "^4\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo autoconsumo meter5
#Awh=`eflow selfc | egrep "^5\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
#Aw=`eflowlive selfc | egrep "^5\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
Awh=`virtmeter 5 0 0 selfcenergy 0 | egrep "^5\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
Aw=`virtmeter 5 0 0 selfcpower 0 | egrep "^5\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo preliervi fascai F1 meter12
F1wh=`virtmeter 8 3 0 energy F1 | egrep "^8\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
F1w=`virtmeter 8 3 0 power F1 | egrep "^8\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#importo prelievi fascia F23 meter13
F23wh=`virtmeter 9 3 0 energy F23 | egrep "^9\(" | grep "*Wh)" | egrep -o '[0-9]*\*' | egrep -o '[0-9]*'`
F23w=`virtmeter 9 3 0 power F23 | egrep "^9\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

# import frequenza di rete
#HZ=`egrep "^1_3\(.*Hz\)" /run/shm/metern1.txt | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`

#IMPORTO TEMP E HUMIDITA DA DHT22 esp8266 CORRIDOIO  --- inviato direttamente da espeasy con idx send to controller----
#TEM_ESP_COR=`curl -s http://192.168.0.195/json?tasknr=2 | egrep "Temperature" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`
#HUM_ESP_COR=`curl -s http://192.168.0.195/json?tasknr=2 | egrep "Humidity" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`

# IMPORTO TEMP E HUMIDITA DA DHT22 esp8266 MANSARDA  --- inviato direttamente da espeasy con idx send to controller----
#TEM_ESP_MANS=`curl -s http://192.168.0.198/json?tasknr=2 | egrep "Temperature" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`
#HUM_ESP_MANS=`curl -s http://192.168.0.198/json?tasknr=2 | egrep "Humidity" | cut -d: -f2 | cut -d, -f1 | tr -d [:blank:]`

curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=4&nvalue=0&svalue=$Pist;$P"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=5&nvalue=0&svalue=$Pw;$Pwh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=6&nvalue=0&svalue=$Aw;$Awh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=7&nvalue=0&svalue=$F1w;$F1wh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=8&nvalue=0&svalue=$F23w;$F23wh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=9&nvalue=0&svalue=$Iw;$Iwh"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=10&nvalue=0&svalue=$W;$WH"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=11&nvalue=0&svalue=$TC;$UM;2"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=12&nvalue=0&svalue=$A"
curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=13&nvalue=0&svalue=$V"
#curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=10&nvalue=0&svalue=$CF"
#curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=37&nvalue=0&svalue=$HZ"
#curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=14&nvalue=0&svalue=$TEM_ESP_COR;$HUM_ESP_COR;2"
#curl -s "http://192.168.0.105:8085/json.htm?type=command&param=udevice&idx=21&nvalue=0&svalue=$TEM_ESP_MANS;$HUM_ESP_MANS;2"
 #  sleep $second
 #  done


Codice: Seleziona tutto

#!/bin/sh
### lcd

curl -s http://192.168.0.195/control?cmd=oledcmd,clear
curl -s http://192.168.0.198/control?cmd=lcdcmd,clear
#curl -s http://192.168.0.198/control?cmd=oledcmd,clear

curl -s "http://192.168.0.195/control?cmd=oled,1,3,Via.Ancona"
#curl -s "http://192.168.0.198/control?cmd=lcd,1,3,Via.Ancona"

# import live consumi primo piano
x2=`poolerconsumi 1 power | egrep "^1\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://192.168.0.195/control?cmd=oled,2,2,Consumi+$x2+W"
curl -s "http://192.168.0.198/control?cmd=lcd,2,1,Consumi+$x2+W"
#curl -s "http://192.168.0.198/control?cmd=oled,2,1,Consumi+$x2+W"

# import live produzione
x1=`pool123s power | egrep "^2\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
x4=`virtmeter 4 0 0 exppower 0 grep "^4\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://192.168.0.195/control?cmd=oled,3,2,Produz.+$x1+W"
curl -s "http://192.168.0.198/control?cmd=lcd,3,1,Prod+$x1+W%20Im+$x4+W"
#curl -s "http://192.168.0.198/control?cmd=oled,3,1,Produz.+$x1+W"

# import live prelievi
#x3=`sudo eflowlive whin | egrep "^3\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
x3=`virtmeter 3 0 0 imppower 0 | egrep "^3\(" | grep "*W)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
AC=`reqsdm DStemp11 grep "^11\(.*°C\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://192.168.0.195/control?cmd=oled,4,2,Prelievi+$x3+W"
curl -s "http://192.168.0.198/control?cmd=lcd,4,1,Prel+$x3+W%20Boil$AC+C"
#curl -s "http://192.168.0.198/control?cmd=oled,4,1,Prelievi+$x3+W"

# import live immissioni
#x4=`eflowlive whout grep "^4\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
x4=`virtmeter 4 0 0 exppower 0 grep "^4\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://192.168.0.195/control?cmd=oled,5,2,Immisio+$x4+W"

# import live autoconsumo
#x5=`eflowlive selfc grep "^5\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#x5=`virtmeter 5 0 0 selfcpower 0 grep "^5\(.*W\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#curl -s "http://192.168.0.195/control?cmd=oled,6,2,Autocons+$x5+W"

# import PWM resistenza e POMPA accesa/spento
#Res=`cat /run/shm/boiler20.txt | egrep "^20_1\(" | grep "*%)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#PWM=`pgrep -c pwm_ssr`
#POM=`curl -s http://192.168.0.105:8000/relay/0`
#curl -s "http://192.168.0.195/control?cmd=oled,6,2,PWM$PWM;POM$POM;R$Res+%"

# import temp mansarda

#importo dal DHT22
#UM=`cat /run/shm/metern7.txt | egrep "^7\(" | grep "*%)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#TC=`cat /run/shm/metern7.txt | egrep "^7\(" | grep "*C)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
#curl -s "http://192.168.0.195/control?cmd=oled,7,1,T:$TC;H:$UM+%"

#importo DHT corridoio di un altro ESP
#Tem=`curl -s http://192.168.0.195/json?tasknr=2 | python -c "import sys, json; print('% .1f' % json.load(sys.stdin)['Temperature'])"`
#Hum=`curl -s http://192.168.0.195/json?tasknr=2 | python -c "import sys, json; print('% .1f' % json.load(sys.stdin)['Humidity'])"`
#Tem=`curl -s http://192.168.0.195/json?tasknr=2 | egrep "Temperature"  | cut -d: -f2 | cut -d, -f1 | tr -d  [:blank:]`
#Hum=`curl -s http://192.168.0.195/json?tasknr=2 | egrep "Humidity"  | cut -d: -f2 | cut -d, -f1 | tr -d  [:blank:]`
#curl -s "http://192.168.0.198/control?cmd=lcd,2,1,Tcor:$Tem;H:$Hum+%"

#importo accumulo solare
AC=`reqsdm DStemp11 grep "^11\(.*°C\)" | egrep -o '[0-9]*(\.)?[0-9]*\*' | egrep -o '[0-9]*(\.)?[0-9]*'`
curl -s "http://192.168.0.195/control?cmd=oled,8,2,Boiler:%20$AC+C"
#curl -s "http://192.168.0.198/control?cmd=lcd,4,1,Boiler:$AC+C"


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: thx e 7 ospiti