Seite 2 von 3
Re: SMA und Influx
Verfasst: Fr 5. Mär 2021, 08:35
von Ulrich
Hallo jottt,
ich habe dir eine eMail mit einem angepassten Script zum Testen zugesendet.
Dort wird Register 30535 ausgelesen. Die Register 30517 und 30535 sollen identisch sein, nur in 32 und in 64 Bit Größe.
Re: SMA und Influx
Verfasst: Fr 5. Mär 2021, 10:35
von jottt
Vielen Dank! Ich teste es heute Abend aus
Re: SMA und Influx
Verfasst: Fr 5. Mär 2021, 22:27
von jottt
@Ulrich
Es funktioniert mit deiner Test.php. Ich habe jetzt exakte Tagesleistungen.
30535 enthält, zumindest beim STP ***TL-30, den Tageszähler. Der Wert stimmt 1:1 mit dem Wert im SMA-Management und wird um 00:00 auf "0" zurück gesetzt.
Der Wert in 35517 bleibt bei mir auf "0".
Kann einer von den Tripower 8 Nutzern mal testen, was ihr in den Registern findet?
Schlampiger Testcode (In neue Datei unter /var/www/html/ kopieren und ausführen):
Code: Alles auswählen
#!/usr/bin/php
<?php
$path_parts = pathinfo($argv[0]);
$Pfad = $path_parts['dirname'];
if (!is_file($Pfad."/1.user.config.php")) {
require($Pfad."/user.config.php");
}
require_once($Pfad."/phpinc/funktionen.inc.php");
if (!isset($funktionen)) {
$funktionen = new funktionen();
}
if (isset($USBDevice) and !empty($USBDevice)) {
$USBRegler = $USBDevice;
}
$Tracelevel = 10; // 1 bis 10 10 = Debug
$RemoteDaten = true;
$Device = "WR"; // WR = Wechselrichter
$Version = "";
$Start = time(); // Timestamp festhalten
$aktuelleDaten = array();
setlocale(LC_TIME,"de_DE.utf8");
$COM1 = fsockopen($WR_IP, $WR_Port, $errno, $errstr, 5); // 5 = Timeout in Sekunden
if (!is_resource($COM1)) {
goto Ausgang;
}
$i = 1;
$rc = $funktionen->modbus_register_lesen($COM1,"30517","0004","U64","03");
$aktuelleDaten["1"] = $rc["Wert"];
echo " 30517: ";
echo($aktuelleDaten["1"]);
echo " - 30535: ";
$rc = $funktionen->modbus_register_lesen($COM1,"30535","0002","U32","03");
$aktuelleDaten["2"] = $rc["Wert"];
echo($aktuelleDaten["2"]);
Ausgang:
fclose($COM1);
?>
#!/usr/bin/php
<?php
$path_parts = pathinfo($argv[0]);
$Pfad = $path_parts['dirname'];
if (!is_file($Pfad."/1.user.config.php")) {
require($Pfad."/user.config.php");
}
require_once($Pfad."/phpinc/funktionen.inc.php");
if (!isset($funktionen)) {
$funktionen = new funktionen();
}
if (isset($USBDevice) and !empty($USBDevice)) {
$USBRegler = $USBDevice;
}
$Tracelevel = 10; // 1 bis 10 10 = Debug
$RemoteDaten = true;
$Device = "WR"; // WR = Wechselrichter
$Version = "";
$Start = time(); // Timestamp festhalten
$aktuelleDaten = array();
setlocale(LC_TIME,"de_DE.utf8");
$COM1 = fsockopen($WR_IP, $WR_Port, $errno, $errstr, 5); // 5 = Timeout in Sekunden
if (!is_resource($COM1)) {
goto Ausgang;
}
$i = 1;
$rc = $funktionen->modbus_register_lesen($COM1,"30517","0004","U64","03");
$aktuelleDaten["1"] = $rc["Wert"];
echo " 30517: ";
echo($aktuelleDaten["1"]);
echo " - 30535: ";
$rc = $funktionen->modbus_register_lesen($COM1,"30535","0002","U32","03");
$aktuelleDaten["2"] = $rc["Wert"];
echo($aktuelleDaten["2"]);
Ausgang:
fclose($COM1);
?>
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 07:35
von andreas_n
Moin jottt,
Wie starte ich die php und WO werden die Daten ausgegeben?
Ich setz dann nen 4erPI auf , dann kann ich gefahrlos spielen, heute nacht hatte sich mein Tripower kapital aufgehängt, nebst keiner blauen Linie war mal wieder der Strombezug unterbrochen und das .log von SMA durchgedreht, Den Fehler macht er ganz selten..kam aber heute früh mit Sonne wieder an, als wär nix gewesen
ab 2:40 aufgehängt.
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 10:08
von jottt
Die PHP kannst du mit "php Datei" starten. Sie muss allerdings im html-ordner liegen, da sie die config aus solaranzeige verwendet.
Der Code macht nichts kaputt (hoffe ich...er schreibt nichts) und gibt einfach die 2 Werte auf die Konsole aus (und beendet sich).
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 11:41
von Ulrich
Es funktioniert mit deiner Test.php. Ich habe jetzt exakte Tagesleistungen.
30535 enthält, zumindest beim STP ***TL-30, den Tageszähler. Der Wert stimmt 1:1 mit dem Wert im SMA-Management und wird um 00:00 auf "0" zurück gesetzt.
Diese Änderung ist jetz im Update enthalten. Bitte prüft die Zahlen nach dem Update. Am besten die Datei /var/www/html/sma_wr.php vor dem Update sichern.
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 13:03
von andreas_n
Serwus jottt
entweder steh ich mal wieder vorm Wald oder es geht nicht(bei mir)
Pi spuckt das hier aus
root@solaranzeige:~# php test
Could not open input file: test
root@solaranzeige:~# php test.php
Could not open input file: test.php
root@solaranzeige:~#
egal ob mit oder ohne Endung, der Codec ist mit copy und paste reinkopiert
edit:geht auch bei voller Pfadangabe nicht, keine Ausgabe von irgendwas
Gruss
Andreas
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 13:09
von jottt
Die Meldung sagt, dass er deine Datei nicht findet.
Mach Mal
Pwd
Und dann
Ls
Und schick mir den Output
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 13:11
von andreas_n
jetzt haste schneller geantwortet wie ich oben edit geschrieben hab...
die Datei findet er scheinbar, weil er kurz brauch nach return, aber keine Ausgabe
edit
root@solaranzeige:/# ls
backup bin boot.bak etc lib media NAS proc run solaranzeige sys ukroot var
Backup boot dev home lost+found mnt opt root sbin srv tmp usr
root@solaranzeige:/# php /var/www/html/test.php
root@solaranzeige:/#
Re: SMA und Influx
Verfasst: Sa 6. Mär 2021, 13:21
von jottt
Probiere:
cd /var/www/html/
php test.php