Typ elec - monitorowanie invertera i zdalny odczyt SDM120

Jak coś zrobić w nettempie.
amakowsk
Posty: 2
Rejestracja: wt sty 31, 2017 9:24 pm

Typ elec - monitorowanie invertera i zdalny odczyt SDM120

Postautor: amakowsk » wt sty 31, 2017 10:24 pm

Witam,
Potrzebuje porady bo czytam, szukam, kod przeglądam i nie mogę zrozumieć logiki typu elec.

Może od początku. Mam instalacje fotowoltaiczną na mikroinwerterach zarządzanych przez jednostkę centralną. To są urządzenia SMA a centralka to SMA Multigate. Potrafię z niej czytać parametry różne ale skupmy się na razie na dwóch. Odczytuje ile generują w danej chwili czyli Waty i ile wygenerowane energii od początku czyli kWh. Jeszcze mogę odczytywać ile wyprodukowano dzisiaj też w kWh.
Chciałbym teraz to ładnie w Nettemp wyświetlić. Dla lekkiego utrudnienia odczyt jest w innym miejscu. Czyli chce tam wywołać nettemp?receiver.php.
Na chwilę obecną postawiłem sobie beta4 bo z tego co widziałem ma najwięcej kombinacji parametrów.
No i robię coś takiego
http://192.168.2.106/receiver.php?key=p ... rrent=WATT
No i niestety typ elec sumuje sobie radośnie kWh za każdym dodaniem kolejnego wpisu.
Poczytałem jak jest zakodowany SDM120 bo w sumie to jest to samo. A tam w kodzie poza użyciem receivera jeszcze machlojki bezpośrednio na bazie.

To czy ja coś źle robię? Czy też nie ma możliwości w nettemp pracy na kWh tak jak to generalnie wszystkie licznik zwracają czyli total od początku ?

W planie mam jeszcze dodanie 3 SDM120 też zdalnie na esp aby do nettempa pisały i tam będzie ten sam problem.

Zrobiłem to samo na domoticz i tam było to dość banalne
http://192.168.2.2/json.htm?type=comman ... Y;KILOWATY
Wykres robi bardzo fajny
chart.png


Jego jedynym problemem jest to że dane szczegółowe trzyma maksymalnie przez 7 dni.
Dość dobrze też dokumentują funkcje https://www.domoticz.com/wiki/Domoticz_ ... counter.29

Także jakie opcje mam w nettempie?

Pozdrawiam
amakowsk
Posty: 2
Rejestracja: wt sty 31, 2017 9:24 pm

Re: Typ elec - monitorowanie invertera i zdalny odczyt SDM120

Postautor: amakowsk » czw lut 02, 2017 10:20 am

Odpowiadając samemu sobie.

Aby typ elec (w sumie inne liczniki też) były wyświetlany poprawnie na stronie statusów dla counters należy. Oczywiście poprawnie gdy ktoś trzyma w bazie pod value ostatnią pozycję licznika czyli sumę całego zużycia a nie różnice pomiędzy odczytami.
nettemp beta 4 w counters_status.php

linia 47

Kod: Zaznacz cały

$rows = $dbs->query("SELECT round(sum(value),4) AS sums FROM def WHERE time >= datetime('now','localtime','-1 hour')") or die('lol');

zamienić na

Kod: Zaznacz cały

$rows = $dbs->query("SELECT round(max(value)- min(value),4) AS sums FROM def WHERE time >= datetime('now','localtime','-1 hour')")

linia 58

Kod: Zaznacz cały

$rows = $dbs->query("SELECT round(sum(value),4) AS sums FROM def WHERE time >= datetime('now','localtime','start of day')") or die('lol');

zamienić na

Kod: Zaznacz cały

 $rows = $dbs->query("SELECT round(max(value) - min (value),4) AS sums FROM def WHERE time >= datetime('now','localtime','start of day')") or die('lol');

linia 69

Kod: Zaznacz cały

$rows = $dbs->query("SELECT round(sum(value),4) AS sums FROM def WHERE time >= datetime('now','localtime','start of month')") or die('lol');

zamienić na

Kod: Zaznacz cały

$rows = $dbs->query("SELECT round(max(value)- min(value) ,4) AS sums FROM def WHERE time >= datetime('now','localtime','start of month')") or die('lol');

i linia 80

Kod: Zaznacz cały

echo number_format($a['sum'], 2, '.', ',')." ";

na

Kod: Zaznacz cały

$rows = $dbs->query("SELECT round(max(value),4) AS sums FROM def") or die('lol');
$i = $rows->fetch();
echo $i['sums'];


Nie patrzyłem jeszcze w kod wykresów.

Wróć do „Poradniki użytkowników”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość