Hallo Alex,
hier mal ein Auszug aus meinem Script:
curl_setopt($ch, CURLOPT_POSTFIELDS, 'id=356&show=D_C_4_2|D_A_1_7|D_A_2_3|D_A_2_2|D_Y_1_1|D_A_3_2_1|D_Y_5|D_Y_13|D_A_1_1|D_Y_10_1|D_A_3_1|D_A_1_2&code=005~');
$uhrzeitanlage = str_replace('.', ',', str_replace('"', '', $simple->D_C_4_2)); // DC42 string hh:mm uhrzeit
setvalue(56143 /*[Spielwiese\Grünbeck SoftIO\Uhrzeit Anlage zur Auslesung]*/ , $uhrzeitanlage);
$gesamtdurchfluss = str_replace('.', ',', str_replace('"', '', $simple->D_A_1_7)); // DA17 double m3/h Gesamtdurchfluss der Anlage
setvalue(41874 /*[Spielwiese\Grünbeck SoftIO\Gesamtdurchfluss]*/, $gesamtdurchfluss);
$salzreichweite = str_replace('.', ',', str_replace('"', '', $simple->D_A_2_3)); // DA23 int tage Salzreichweite in Tagen
setvalue(40886 /*[Spielwiese\Grünbeck SoftIO\Salzreichweite (Tage)]*/ , $salzreichweite);
$tagebiswartung = str_replace('.', ',', str_replace('"', '', $simple->D_A_2_2)); // DA22 int tage Tage bis zur nächsten Wartung
setvalue(23266 /*[Spielwiese\Grünbeck SoftIO\Tage bis Wartung]*/ , $tagebiswartung);
$wasserbrauchvortag = str_replace('.', ',', str_replace('"', '', $simple->D_Y_1_1)); // DY11 int l Wasserverbrauch gestern
setvalue(14366 /*[Spielwiese\Grünbeck SoftIO\Weichwasserverbrauch Vortag]*/ , $wasserbrauchvortag);
$prozletzteregeneration = str_replace('.', ',', str_replace('"', '', $simple->D_A_3_2_1)); // DA321 int % Prozentsatz der letzten Regeneration
setvalue(36138 /*[Spielwiese\Grünbeck SoftIO\Letzte Regeneration in %]*/ , $prozletzteregeneration);
$statusregeneration = str_replace('.', ',', str_replace('"', '', $simple->D_Y_5)); // DY5 int 0-5 Aktueller Regenerationsschritt 0= keine Regeneration 1= Soletank füllen 2= Besalzen 3= Verdrängen 4= Rückspülen 5= Erstfiltrat
setvalue(34833 /*[Spielwiese\Grünbeck SoftIO\Status der Regeneration]*/ , $statusregeneration);
if ($statusregeneration == "1")
{
setvalue(25176, date(" Y-m-d H:i:s"));
}
$betriebaustauscher = str_replace('.', ',', str_replace('"', '', $simple->D_Y_1_3)); // DY13 int 0-1 Austauscher in Betrieb softliQ:SC 0= Austauscher gestört/in Regeneration 1= Austauscher in Betrieb
setvalue(53227 /*[Spielwiese\Grünbeck SoftIO\Status Austauscher]*/ , $betriebaustauscher);
$aktuellerdurchfluss = str_replace('.', ',', str_replace('"', '', $simple->D_A_1_1)); // DA11 double m³ Aktueller Durchfluss
setvalue(42744 /*[Spielwiese\Grünbeck SoftIO\Aktueller Durchfluss]*/ , $aktuellerdurchfluss);
$restkapazitaetaustauscher = str_replace('.', ',', str_replace('"', '', $simple->D_Y_10_1)); // DY101 Int [%] Aktuelle Restkapazität Austauscher 1
setvalue(16717 /*[Spielwiese\Grünbeck SoftIO\Restkapzität Austauscher (%)]*/ , $restkapazitaetaustauscher);
$restwassermenegaustauscher = str_replace('.', ',', str_replace('"', '', $simple->D_A_1_2)); // DA12 double m³*°dH Restkapazität
setvalue(56936 /*[Spielwiese\Grünbeck SoftIO\Restkapzität Austauscher (l)]*/ , $restwassermenegaustauscher);
$lastregeneration = str_replace('.', ',', str_replace('"', '', $simple->D_A_3_1));
setvalue(43321 /*[Spielwiese\Grünbeck SoftIO\Letzt Regeneration (vor x Stunden)]*/ , $lastregeneration);
$datelastregeneration = date('Y-m-d H:i:s', strtotime("- $lastregeneration hours")) ;
setvalue(39420 /*[Spielwiese\Grünbeck SoftIO\Letzte Regeneration]*/, $datelastregeneration);
Das Ding ist ein bißchen träge, nach mehrern Anfragen in kurzer Zeit blockt es schon mal. Das Script läuft bei mir jede Minute. Es gibt in der Doku noch ein paar Werte die Interessant sind, aber einen Code benötigen, diesen habe ich noch nicht herausgefunden, arbeite aber noch dran …
Im Script habe ich mal ein bißchen mit der Zeitangabe „Regeneration vor xx Stunden“ gespielt:
Eine Variable wird über den Zeitpunkt der Besalzung gesetzt, eine Anders wird aus dem Stunden zurückgerechnet.
Viel Spaß und schöne Grüße
kea