Zeversolar TLC600 - prosta integracja z NT

Awatar użytkownika

Topic author
pasiekazj
Twórca oprogramowania
Posty: 168
Rejestracja: pn lip 01, 2019 12:08 pm
Otrzymał  piwo: 14 razy
Kontakt:

Zeversolar TLC600 - prosta integracja z NT

#1

Post autor: pasiekazj » czw paź 17, 2019 1:19 pm

Na szybko sklecony, prosty skrypt do wyciągnięcia podstawowych danych z falowników ZEVERSOLAR.

zeversolar_tlc6000_nettemp.jpg
zeversolar_tlc6000_nettemp.jpg (8.13 KiB) Przejrzano 214 razy

Link do szerszego opisu: https://mmblog.pl/zeversolar-tlc6000-i ... mart-home/

Skrypt, którego wykonanie należy dodać do crona i oczywiście pozmieniać ip i romy czujników na swoje.

Kod: Zaznacz cały

<?php

$ROOT='/var/www/nettemp';
include("$ROOT/receiver.php");
$status2 = 3 ;
$hour = date('H');

    $url = "http://192.168.150.18/home.cgi/";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    if(!empty($post)) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
    $inputdata = curl_exec($ch);
    curl_close($ch);

$inputdata_expl = explode("\n", $inputdata);

$peak =  $inputdata_expl[10];
$total =  $inputdata_expl[11];
$status = $inputdata_expl[12];

if ($status == 'OK') {$status2 = 0 ;}
if ($status != 'OK') {$status2 = 1 ;}

$dba = new PDO ("sqlite:/var/www/nettemp/dbf/nettemp.db") or die ("Cannot open database");
$sth = $dba->query("SELECT time, tmp from sensors WHERE rom = 'falownik_total'");

$row = $sth->fetchAll();

foreach ($row as $row){
        $date = $row['time'];
        $val = $row['tmp'];

        if  (($val >= $total) && $hour < 23) {

        $total = $val;
        }

}


db('falownik_peak',$peak,'watt','ip',$local_current,'192.168.150.18',$local_gpio,$local_i2c,$local_usb,$local_name);
db('falownik_total',$total,'kwatt','ip',$local_current,'192.168.150.18',$local_gpio,$local_i2c,$local_usb,$local_name);
db('falownik_status',$status2,'trigger','LOCAL',$local_current,'192.168.150.18',$local_gpio,$local_i2c,$local_usb,$local_name);
?>

Rpi 4 + SSD 240 GB + nettemp.
http://mmblog.pl
ODPOWIEDZ