import dati 123solar e metern in domoticz [GUIDA]

Configurazione ed uso di DOMOTICZ, versatile software free per la gestione domotica.
davidino79
Messaggi: 10
Iscritto il: 09/08/2018, 23:34

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda davidino79 » 20/04/2020, 13:51

Grazie mille febpro,
con il tuo suggerimento ho risolto e ora funziona anche a me!


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

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda Flane » 21/04/2020, 18:32

Se non si ha la necessità di avere un aggiornamento ogni minuto, questo comporta solo delle inutili scritture sulla scheda SD da parte di Domoticz che porta alla corruzione della Scheda SD .....

davidino79
Messaggi: 10
Iscritto il: 09/08/2018, 23:34

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda davidino79 » 22/04/2020, 9:40

Flane ha scritto:Se non si ha la necessità di avere un aggiornamento ogni minuto, questo comporta solo delle inutili scritture sulla scheda SD da parte di Domoticz che porta alla corruzione della Scheda SD .....


Flane, funziona anche il "/5".

Bastava un po' di pazienza:
Cronotab modificato alle ore 9.18. Mi aspettavo il primo refresh dei valori alle 9.20, invece hanno iniziato a funzionare regolarmente dalle 9.25.

Grazie a tutti

StepSolar
Messaggi: 18
Iscritto il: 02/05/2021, 10:24

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda StepSolar » 05/05/2021, 16:11

Ciao ragazzi

ho provato ha modificare un file di Flane per estrapolare i dati da metern e trasferirli il domoticz ma non mi funziona non capisco dv sia l'errore..

Codice: Seleziona tutto

#!/usr/bin/php
<?php


//    API Interface script between 123solar from Jean-Marc Louviaux and Domoticz
//
//    /var/www/comapps/mNtodomoticz.php
//
//    script will provide multiple solar inverters with multiple strings
//    see the remarks in the script for adjusting
//
//    Autor:     2021-05-05 StepSolar
//
//    create symlink:
//    ln -s /var/www/comapps/mNtodomoticz.php /usr/local/bin/mNtodomoticz
//
//    put this in the crontab on the Domoticz host:
//    */5 * * * * root /usr/local/bin/mNtodomoticz >/dev/null 2>&1


/*
* Imposta IDX Domoticz
*
   * Impostare di seguito l'IDX delle varie misure che si intendono inviare a DOMOTICZ
   * l'IDX viene assegnato da Domoticx con la creazione del Virtual Sensor
   * Inserire quindi l'IDX assegnato da Domoticz al relativo dispositivo
   * o lasciare 0 se non si intende utilizzare la misura
   * Nei commenti seguenti trovate anche il tipo e subtipo di sensore da utilizzare in Domoticz per ogni misura
*/
            //   NOME               JSON        IDX         Value      Type      Subtype
$IDX[0] = 32;   //    produzion    Produzione1       IDX[0]      I[0]      Usage       Electric
$IDX[1] = 0;   //    consumi      Consumi2          IDX[1]      I[1]      Usage       Electric
$IDX[2] = 0;   //    prelievi     Prelievi3         IDX[2]      I[2]      Usage       Electric
$IDX[3] = 0;   //    immissioni   Immissioni4       IDX[3]      I[3]      Usage       Electric
$IDX[4] = 0;   //    autoconsumo  Autoconsumo5      IDX[4]      I[4]      Usage       Electric


/*
*
*   DA QUI IN POI NON SONO NECESSARIE MODIFICHE
*
*/

// IMPOSTAZIONI LETTURA JSON
$url_inv = '/dev/shm/mN_LIVEMEMORY.json';
$url_inv1 = '/dev/shm/mN_MEMORY.json';

 if (file_exists($url_inv)) {
   $json_inv = json_decode((file_get_contents($url_inv)), true);
 } else { // meter ain't running
        die("Abording: Empty SHM\n");
 }
 if (file_exists($url_inv1)) {   
   $json_inv1 = json_decode((file_get_contents($url_inv1)), true);
 } else { // meter ain't running
        die("Abording: Empty SHM\n");
 }
 
// LETTURA DATI   
$I[0] = number_format($json_inv['Produzione1'], 2);
$I[1] = number_format($json_inv['Consumi2'], 2);
$I[2] = number_format($json_inv['Prelievi3'], 2);
$I[3] = number_format($json_inv['Immissioni4'], 2);
$I[4] = number_format($json_inv['Autoconsumo5'], 2);



// VERIFICA LETTURE
if (empty($I[4]) || $I[4] == 0) { // meter ain't running at night retrieve the value in csv
   $dir    = '/var/www/metern/data/csv';
   $output = glob($dir . '/*.csv');
   sort($output);
   $xdays = count($output);
   if ($xdays > 0) {
      $lastlog    = $output[$xdays - 1];
      $lines      = file($lastlog);
      $contalines = count($lines);
      $array_last = preg_split('/,/', $lines[$contalines - 1]);
      $I[4]      = round(($array_last[5] * 1000), 0); //in Wh
   } else {
      $I[4] = null;
   }
}

// INVIO DATI A DOMOTICZ
$input = count($IDX);
for ($i=0; $i<$input; $i++) {
   if ($IDX[$i] != 0 ){
      echo $i;
      udevice($IDX[$i],0,$I[$i]);
   }
}


// Function INVIO DATI
function udevice($idx,$nvalue,$svalue) {
   curl_exec(curl_init("http://127.0.0.1:8080/json.htm?type=command&param=udevice&idx=$idx&nvalue=$nvalue&svalue=$svalue"));
}

?>


il file di Flane 123todomoticz.php funziona ed il mio no (da premettere che non sono un programmatore ma vorrei realizzare tante cose).

in lettura dati ho messo 2 ma non sò a cosa serva

Codice: Seleziona tutto

// LETTURA DATI   
$I[0] = number_format($json_inv['Produzione1'], 2);
$I[1] = number_format($json_inv['Consumi2'], 2);
$I[2] = number_format($json_inv['Prelievi3'], 2);
$I[3] = number_format($json_inv['Immissioni4'], 2);
$I[4] = number_format($json_inv['Autoconsumo5'], 2);



Immagine

Grazie anticipatamente.

Zan77
Messaggi: 19
Iscritto il: 10/03/2021, 22:19

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda Zan77 » 13/10/2021, 15:12

Buongiorno.
Con le mie limitatissime conoscenze, ma grazie all’ottima guida di Flane, sono riuscito ad installare Metern e 123Solar su Raspberry (SolarBuster) con lettura dati da 3 SDM120m (uno usato per la PdC).
Sono riuscito a far funzionare tutto, anche il backup su Altervista.
Ora sto cercando di importare i dati da Metern a Domoticz.
Ho seguito la guida di Flane per la configurazione iniziale di Domoticz.
Ho poi abilitato MQTT Client e testato l’invio dati creando l’hardware Dummy e funziona correttamente.

Immagine

Immagine

Immagine

Ho creato i 6 sensori virtuali su hardware Dummy per importare i dati del file mN_LIVEMEMORY.json nella directory /dev/shm

Immagine

Immagine

Immagine

Il file di importazione dei dati è il seguente:

Immagine

Ed ho schedulato l’invio su crontab in 2 modi diversi (e riavviato crontab)

Immagine

Ma non viene inviato nessun dato.
Potete aiutarmi a capire dove sbaglio?
Grazie mille.

s_p
Messaggi: 283
Iscritto il: 06/04/2017, 20:49

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda s_p » 14/10/2021, 19:19

nella scheda del MQTT client invece di localhost, metti 127.0.0.1

Zan77
Messaggi: 19
Iscritto il: 10/03/2021, 22:19

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda Zan77 » 14/10/2021, 21:09

Grazie della risposta.
Ho provato con 127.0.0.1
Riavviato anche il sistema ma non trasmette nulla. :cry:

s_p
Messaggi: 283
Iscritto il: 06/04/2017, 20:49

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda s_p » 15/10/2021, 7:35

me ne sono accorto ora, ma perché hai oscurato la parte degli indirizzi IP del live.php? quegli ip sono interni alla tua lan e non dicono niente, cmq
il broker mqtt e domoticz sono installati su 2 dispositivi differenti, nel caso devi cambiare quel 192.168.quello.che.hai.oscurato con 127.0.0.1

Zan77
Messaggi: 19
Iscritto il: 10/03/2021, 22:19

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda Zan77 » 16/10/2021, 22:19

Ciao.
Prima di rispondere ho voluto provare a sbatterci la testa tutto il giorno (come consiglia Flane).
Ho modificato come hai consigliato
(questa volta ho lasciato tutto visibile)

Immagine

e di conseguenza anche l'indirizzo dell'MQTT Client

Immagine

Provando con il comando:
mosquitto_pub -h 127.0.0.1 -m '{ "idx" : 2, "nvalue" : 0, "svalue" : "89.0" }' -t 'domoticz/in'
mi modifica l'IDX 2 portandolo al valore richiesto (89.0) ma in automatico non mi invia alcun dato.
Quindi suppongo sia qualcosa sul crontab che non mi fa partire l'esecuzione del php.
Sul cron ho provato tutte le possibili righe di comando:
01 * * * * root /var/www/MyScripts/live.php
*/1 * * * * root sleep20; /var/www/MyScripts/live.php
1 * * * * root /var/www/MyScripts/live.php
*/5 * * * * root /var/www/MyScripts/live.php
* * * * * root /var/www/MyScripts/live.php
ma nulla!!! :evil:
Non ne vengo fuori....

s_p
Messaggi: 283
Iscritto il: 06/04/2017, 20:49

Re: import dati 123solar e metern in domoticz [GUIDA]

Messaggioda s_p » 17/10/2021, 10:07

aspe

da crontab togli tutto quello che rigurda il file live.php, poi
sudo nano etc/rc.local

e incolla solo questo

Codice: Seleziona tutto

_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
php /var/www/MyScripts/live.php >/dev/null 2>&1
fi

exit 0


salva e riavvia


Torna a “Domoticz”

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti