import dati temperatura da sonoff + DHT22

Discussioni relative al software di monitoraggio energetico METERN
miki8989
Messaggi: 299
Iscritto il: 22/01/2016, 6:39

import dati temperatura da sonoff + DHT22

Messaggioda miki8989 » 28/08/2018, 22:57

ciao
per chi vuole usare un sonoff con DHT22 e leggere i dati della temperatura in wifi ed importarli in metern

chiaramente salto tutta la parte di collegamento del sonoff e sensori, quindi partiamo da sonoff connesso alla rete wifi e con sensore attivo e funzionante

leggiamo, per controllare che tutto sia OK, i dati della temperatura con il comando

http://192.168.x.xxx/json?tasknr=yy

le xx vanno sostituite con l'indirizzo ip del sonoff
le yy vanno sostituite con il numero del sensore che vogliamo importare

se tutto ok la risposta sarà

{
"TaskName": "TEMP_EXT",
"Temperature": 23.84,
"Humidity": 81.06,
"Pressure": 1018.58
}


creiamo un file php (sonoff.php) nella cartella \var\www\MyScripts con il seguente contenuto

Codice: Seleziona tutto

#!/usr/bin/php
<?php
// valori sonoff
// Indicators (http://192.168.x.xxx/json?tasknr=x)
// in tasknr inserire il numero del sensore
//
// Temperature      S1
// Humidity         S2
// Pressure         S3
//

// IMPOSTAZIONI LETTURA JSON
$url_son1 = 'http://192.168.x.xxx/json?tasknr=x;
$json_son1 = json_decode((file_get_contents($url_son1)), true);

// APERTURA FILE INVERTER PER PVOUTPUT
$fo = fopen("/dev/shm/sonoff.txt","w+");

// LETTURA DATI
$S1 = $json_son1['Temperature'];
// $S2 = $json_son1['Humidity'];
// $S3 = $json_son1['Pressure'];

// ARROTONDA A 2 CIFRE DECIMALI
// $S1 = number_format($S1, 1);      // con 1 arrotonda a 1 cifra decimale

// SCRITTURA DATI
fwrite($fo, $S1);
?>


(alcune righe sono commentate con il doppio //, logicamente và personalizzato il dato che vogliamo estrapolare)
diamo i permessi pi 755

inseriamo in crontab

Codice: Seleziona tutto

*/5   * * * * root   /var/www/MyScripts/sonoff.php


in questa maniera ogni 5 minuti viene interrogato il sensore e memorizzato nella cartella /dev/shm/sonoff

editiamo il reqsdm.php nella cartella comapps ed aggiungiamo le righe (logicamente sotto le corrispondneti)

Codice: Seleziona tutto

} elseif ($argv[1] == 'tson') {
$outstr =  exec('cat /dev/shm/sonoff.txt');
$outstr = "tempsonoff($outstr*°T)";


creiamo un nuovo sensore con
Name = queellochevuoi
ID = tempsonoff
mode = Value
Command = reqsdm tson
Unit = T

test command - save config

ciao


Ivan70
Messaggi: 28
Iscritto il: 14/08/2018, 11:08

Re: import dati temperatura da sonoff + DHT22

Messaggioda Ivan70 » 28/10/2018, 18:15

Ciao Miki, a tuo avviso la tua procedura dovrebbe funzionare anche con un sonoff TH10?
Ne ho comprato uno, e vorrei integrare il dato temperatura come sensore in MeterN, e poi storicizzarlo mediante PVOutput...
Ho provato a interrogarlo come dici http://192.168... ma non risponde. Forse ha tutt'altro firmware del DHT22.

Grazie
Ciao

miki8989
Messaggi: 299
Iscritto il: 22/01/2016, 6:39

Re: import dati temperatura da sonoff + DHT22

Messaggioda miki8989 » 28/10/2018, 21:22

Devi moddarlo con espeasy

Ciao

Inviato dal mio SM-T705 utilizzando Tapatalk

mariolino320
Messaggi: 42
Iscritto il: 10/11/2018, 1:10

Re: import dati temperatura da sonoff + DHT22

Messaggioda mariolino320 » 13/12/2018, 23:23

Ciao Miki, vorrei usare questo sistema per monitorare i consumi di alcuni elettrodomestici collegati con sonoff POW. Dato che non sono molto esperto (ho provato a installare espeasy ma non sono riuscito a configurarlo) vorrei sapere se hai avuto modo di provare i POW con espeasy per leggere i dati dei consumi rilevati e inviarli a Metern e se magari puoi darmi qualche dritta su cosa installare e come configurarla...

Grazie mille per la risposta ;)


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti