IPS-Einbindung eines Solarreglers von Resol?

Sobald die Sonne wieder da ist, werde ich sehen ob es geklappt hat. :wink:
Aber wieso ist das so?

[EDIT] Das hat nichts gebracht … 0,07*1000 = 0 (!)

Hier die Lösung. Ersetz einfach die Zeile.

$resoldata = str_replace("," , ".", explode("	", $lastentry)); // Daten in ein Array  schreiben

So ein Mist! :mad: Das hat mir jetzt alle Graphen verhagelt!
obere Speichertemp.: 441 (anstatt 44,1)
untere Speichertemp.: 226 (anstatt 22,6)
Vorlauf: 221 (anstatt 22,2)
Rücklauf: 221 (anstatt 22,1)
usw.

Dadurch das ich separate Graphen für Tag, Woche, Monat, Jahr „malen“ lasse sieht das jetzt echt sch… aus.
Kann ich das rückgängig machen?

[EDIT] Problem noch immer nicht gelöst.

Wer hat dir was vermasselt. Dann hast Du ein anderes Problem.

Glück im Unglück … tägliche Graphen werden minütlich „gemalt“. Wöchentliche 5 minütlich. Der Ausrütscher ist morgen früh also vergessen. :slight_smile:
Deine Script-Zeile hat doch „,“ in „.“ gewandelt, richtig?
Was hat float denn in IPS … ein Komma oder einen Punkt?

In PHP wird bei Float mit dem Dezimalpunkt gearbeitet.

Wo liegt denn dann der Fehler?

An der Schreibweise. Du liest ja im gewissen Sinn einen String ein. Folglich musst Du nach float casten.

(float)$resoldata[1])

Das hattest Du mir schon am Ende der letzten Seite empfohlen. Ohne Erfolg.
Wieso bring das:

$resoldata[31]/1000

Erfolg?
Und das:

$resoldata[9]*1000

nicht?

Im Fall data31 bekomme ich eine ganze Zahl im positiven Bereich und ohne „,“ oder „.“. Rohdaten lauten z.B. 123456 … das Ergebnis nach Umrechnung lautet 123,456.
Im Fall data9 kekomme ich eine Zahl im positiven Bereich die immer unter 1 ist und ein „,“ enthält. Rohdaten lauten z.B. 0,05 … das Ergebnis nach Umrechnung lautet jedoch 0.

Siehe Post 62.

Das ganze in Kombination funktioniert einwandfrei.

Also das

$resoldata = str_replace("," , ".", explode("	", $lastentry)); // Daten in ein Array  schreiben

in Verbindung mit

(float)$resoldata[1]

und das für jeden Wert, das ist die richtige Lösung?

[PUSH]
@RWN: beides zusammen?

[EDIT] Alles tipptopp!!! :slight_smile:
Genau so geht es! Vielen, vielen Dank. :smiley:

Es wird besser und besser. Ich bin schon sehr zufrieden!
Vielen Dank vorallem an Rainer für die Hilfe und die Geduld. :wink:

Ich habe schon wieder eine Frage:
Die Anlage liefert mir viele Daten und ich kann damit auch hervorragend rechnen. Eine Sache macht mir jedoch Kopfzerbrechen. Ich möchte gerne anhand der Daten errechnen wieviel Pelletts ich in meiner Heizung „eingespart“ habe. Der Wert ist sicher nicht besonders aussagekräftig. Es bisher schon einige Male passiert ist, das morgens die Temperaturen so gering waren, dass die Heizung das Brauchwasser auf Maximum erwärmt hat und im Laufe des Tages liefert die Solaranlage nur einen wenig dazu. Aber Heizwert ist Heizwert. :wink:

Ich habe also die Wärmemenge (sie zählt sich einfach immer weiter hoch) in Wh. Ich habe die Betriebszeit (ebenfalls stetig wachsend). Wenn ich nun die Wärmemenge durch die Betriebsstunden teile, dann habe ich die Anlagenheizung. Der Heizwert von Pellets ist mit 5,0 kWh/kg genormt.
Was ich aber brauche ist die Tages-Wärmemenge und die Tages-Betriebsstunden. Basis ist eine tägliche txt-Datei (siehe im Thread weiter oben). Kann ich das irgendwie extrahieren, oder muss ich es berechnen?

Du könntest z.B. die erste und letzte Zeile auswerten. Die Werte rausziehen und die Berechnung durchführen.

kleines Beispiel.

$file = file(IPS_GetKernelDir()."TextData_".date("Ymd").".log");

$firstentry = $file[1];
$firstData = str_replace(",", ".", explode("	", $firstentry));

$lastentry = $file[count($file)-1]; // letzte Zeile extrahieren , eventuell -1 einsetzen
$resoldata = str_replace(",", ".", explode("	", $lastentry)); // Daten in ein Array  schreiben

$tagesverbrauchWH = $resoldata[25] - $firstData[25];

SetValue(55595 /*[Test\Resol\r1]*/, (float)$tagesverbrauchWH);

Hallo Ihr Resol Script Schreiber und Nutzer der Resol Steuerungen.
Auf diesem Wege ein herzliches Danke schön von einem Freund von mir dessen Anlage sich dank Eurer Scripte und Infos in NULLKOMMANIX einbinden liess und einen glücklichen IPS-Novizen zurück liess.

Wenn es für Ihn je eine Frage gegeben hat ob IPS das ideale Tool für Ihn ist, so ist diese Fragestellung gestern unmittelbar in den „Rundordner“ abgelegt worden.

Er freut sich wie ein kleines Kind und muss jetzt nur noch daran denken den Resol Dienst nicht vor dem schlafen gehen abzuschalten. Aber das wird schon :smiley:

Gruss
B71