ich würde gerne meinen KACO 7.5 TL3 blueplanet WR auslesen und die aktuelle Leistung in Watt in eine Variable schreiben.Leider bin ich nicht so firm mit PHP um mir selbst ein Script schreiben zu können.
Mein WR gibt den aktuellen Wert über die Datei reltime.csv aus. Immer wenn ich 192.168.2.4/realtime.csv aufrufe wird eine CSV erstellt die zb so aussieht:
Wichtig für mich ist nur die 12te Zahl = 1573. Dieser Wert mit 100.000 multipliziert und dann durch 65535 geteilt ergibt die aktuelle Leistung in Watt. (1573x100000/65535).
kann mir jemand sagen wie das Script in einem Ereignis welches ich zb alle 3 Minuten ausführen lasse aussehen muss um den Wert als Watt Leistung in eine Variable zu schreiben?
Niemand eine Idee oder Ansatz mit dem ich arbeiten könnte?
Ich habe einige Threads zu ähnlichen Themen gelesen aber die Ansätze kamen mir für mein Vorhaben sehr kompliziert vor.
Eigentlich dachte ich es lässt sich mit einer Zeile PHP Code das Ergebnis der 12ten Stelle aus der CSV mit der Berechnung in eine Variable schreiben…?
Ein bisschen lernen wirst Du leider müssen :).
such Dir mal Brocken zusammen: Zuerst die Datei öffnen und den Inhalt in eine Variable lesen. Diese dann mit der von mir geposteten Funktion in einen Array lesen. Dann das richtige Feld aus dem Array in eine andere Variable schreiben und diese wie von Dir genannt multiplizieren/ dividieren. das Ergebnis dann in eine IPS Var schreiben und das Skript alle x Minuten ausführen.
Kommst Du damit klar?
hier müsste jetzt die Lösung mit str_getcsv rein (denke ich), ich weiss aber nicht wie ich die 12te Zahl hier einlesen muss oder wie du sagst: „Dann das richtige Feld aus dem Array in eine andere Variable schreiben“
Variable schreiben:
SetValueFloat(56745, $kwh);
Für die Berechnung würde ich dann ein neues Script machen und in die finale Variable schreiben, das kriege ich dann irgendwie hin, denke ich:-)
dann kannst Du mal ein print_r ($array); machen, da siehst Du dann, welcher Wert hinter welchem Array steht.
Da der Array bei null anfängt zu zählen würde ich denken:
$kwh-wert=$array[11];
Ggfls musst Du dann noch den $kwh-wert von einem String in einen float konvertieren, bevor Du weiterreichten kannst. Dafür gibt es Funktionen.
Der Rest ist einfach probieren, ist auch nur so aufs blaue, weil ich die Datei nicht habe (die csv).
Wenn ich mir die Bedienungsanleitung anschaue, dann hat der WR ja einen Webserver.
In diesem Fall würde ich versuchen, dies analog zum Kostal aufzubauen, in einer Minimalversion wo eben nur die Leistung ausgelesen wird.
Scriptbeispiel hier: WR Kostal PIKO 5.5 auslesen
Hallo,
das geht beim Kostal, aber beim KACO wohl nicht da die Daten anders eingelesen werden und der Quelltext des Webservers anders ist. Das Thema hatte schon jemand versucht:-(
1000-Dank Wupperi!
Script funktioniert grundsätzlich, nur in meinem Fall nicht. Ich denke das Problem liegt daran, dass die csv Datei erstellt wird in dem Moment wo man die URL oder IP aufruft. Als Rückmeldung kommt jetzt „Datei nicht gefunden“. Lege ich die CSV manuell auf einen externen Server geht das Script. Ich überlege gerade wie ich das Problem umgehen kann. Ich schätze mal ich muss separat vorher die URL aufrufen lassen und irgendwo im bestimmten Zeitintervall ablegen…
Es sei denn jemand hat noch eine andere Idee…