Hallo zusammen,
sorry für die späte Antwort. In den letzten Tagen hatte ich einiges um die Ohren.
Anbei mein Script zur Auswertung. Da ich nicht der Experte in PHP bin müssen alle Variablen einzeln angelegt und im Script angepasst werden.
Das Script liest eigentlich nur den Quellcode der Info-Seite aus, zerlegt diesen und schreibt es in die Variablen als Float bzw. Integer. Es sind nicht alle Werte die angezeigt werden, aber für mich sind das die interessantesten. Wer noch weitere braucht einfach kurz melden.
Was im Premium-Account noch angezeigt wird kann ich nicht sagen. Das werde ich wohl erst nächstes Jahr ausprobieren.
Als nächstes Suche ich noch eine nette Grafik, damit ich es visualisieren kann.
<?
// Create temp file to store cookies
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
// URL to login page
$url = "https://www.nibeuplink.com/LogIn";
// Get Login page and its cookies and save cookies in the temp file
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Accepts all CAs
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile); // Stores cookies in the temp file
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
#Now you have the cookie, you can POST login values (check the source of the login page to check if you need any other fields too)
$fields = array(
'Email' => '[i]hier Login eMail[/i]',
'Password' => '[i]hier Passwort[/i]',
);
$fields_string = '';
foreach($fields as $key=>$value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');
// Post login form and follow redirects
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile); //Uses cookies from the temp file
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Tells cURL to follow redirects
$output = curl_exec($ch);
// evetnuell muss in der folgenden Adresse die Nummer geändert werden
// diese seht ihr wenn ihr euch einloggt und die Adressleiste auslest
curl_setopt($ch, CURLOPT_URL,"https://www.nibeuplink.com/System/13039/Status/ServiceInfo");
curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($ch, CURLOPT_POST, 0);
$result = curl_exec($ch);
### Stauts
# Brauchwasser oben
$erg = preg_match("/ID40014\">(.*?)Â/",$result, $display);
SetValue(45454 /*[Heizungssteuerung\Wärmepumpe\Brauchwasser oben]*/, (float)$display[1]);
#echo "Brauchwasser oben ".$display[1]." °C<br>";
# Brauchwasser
preg_match("/ID40013\">(.*?)Â/",$result, $display);
SetValue(26911 /*[Heizungssteuerung\Wärmepumpe\Brauchwasser]*/, (float)$display[1]);
#echo "Brauchwasser ".$display[1]." °C<br>";
# Außentemperatur
preg_match("/ID40004\">(.*?)Â/",$result, $display);
SetValue(48226 /*[Heizungssteuerung\Wärmepumpe\Außentemperatur]*/, (float)$display[1]);
#echo "Außentemperatur ".$display[1]." °C<br>";
### Verdichter
# Betriebszeit Verdichter Brauchwasser
preg_match("/ID43424\">(.*?)h</",$result, $display);
SetValue(15543 /*[Heizungssteuerung\Wärmepumpe\Betriebszeit Verdichter Brauchwasser]*/, (int)$display[1]);
#echo "Betriebszeit Verdichter Brauchwasser ".$display[1]." h<br>";
# Betriebszeit Verdichter
preg_match("/ID43420\">(.*?)h</",$result, $display);
SetValue(15459 /*[Heizungssteuerung\Wärmepumpe\Betriebszeit Verdichter]*/, (int)$display[1]);
#echo "Betriebszeit Verdichter ".$display[1]." h<br>";
# Verdichterstarts
preg_match("/ID43416\">(.*?)</",$result, $display);
SetValue(25392 /*[Heizungssteuerung\Wärmepumpe\Verdichterstarts]*/, (int)$display[1]);
#echo "Verdichter startet ".$display[1]."<br>";
# Verdichter Zeitfaktor Brauchwasser
preg_match("/ID43305\">(.*?)kWh</",$result, $display);
SetValue(19466 /*[Heizungssteuerung\Wärmepumpe\Verdichter Zeitfaktor Brauchwasser]*/, (int)$display[1]);
#echo "Verdichter Zeitfaktor Brauchwasser ".$display[1]." kWh<br>";
# Verdichter Zeitfaktor
preg_match("/ID43144\">(.*?)kWh</",$result, $display);
SetValue(30430 /*[Heizungssteuerung\Wärmepumpe\Verdichter Zeitfaktor]*/, (int)$display[1]);
#echo "Verdichter Zeitfaktor ".$display[1]." kWh<br>";
### Ventilation
# Abluft
preg_match("/ID40025\">(.*?)Â/",$result, $display);
SetValue(48118 /*[Heizungssteuerung\Wärmepumpe\Abluft]*/, (float)$display[1]);
#echo "Abluft ".$display[1]." °C<br>";
# Fortluft
preg_match("/ID40026\">(.*?)Â/",$result, $display);
SetValue(57608 /*[Heizungssteuerung\Wärmepumpe\Fortluft]*/, (float)$display[1]);
#echo "Fortluft ".$display[1]." °C<br>";
# Lufteintrittstemperatur
preg_match("/ID40101\">(.*?)Â/",$result, $display);
SetValue(41787 /*[Heizungssteuerung\Wärmepumpe\Lufteintrittstemperatur]*/, (float)$display[1]);
#echo "Lufteintrittstemperatur ".$display[1]." °C<br>";
# Ventilatordrehzahl
preg_match("/ID10001\">(.*?)</",$result, $display);
SetValue(29106 /*[Heizungssteuerung\Wärmepumpe\Ventilatordrehzahl]*/, (int)$display[1]);
#echo "Ventilatordrehzahl ".$display[1]."<br>";
### Klimatisierung
# berechnete Vorlauftemperatur
preg_match("/ID43009\">(.*?)Â/",$result, $display);
SetValue(20841 /*[Heizungssteuerung\Wärmepumpe\berechnete Vorlauftemperatur]*/, (float)$display[1]);
#echo "Raumtemperatur ".$display[1]." °C<br>";
# Raumtemperatur
preg_match("/ID40033\">(.*?)Â/",$result, $display);
SetValue(56801 /*[Heizungssteuerung\Wärmepumpe\Raumtemperatur]*/, (float)$display[1]);
#echo "Raumtemperatur ".$display[1]." °C<br>";
# Rücklauftemperatur
preg_match("/ID40048\">(.*?)Â/",$result, $display);
SetValue(35730 /*[Heizungssteuerung\Wärmepumpe\Rücklauftemperatur]*/, (float)$display[1]);
#echo "Rücklauftemperatur ".$display[1]." °C<br>";
# Vorlauftemperatur
preg_match("/ID40047\">(.*?)Â/",$result, $display);
SetValue(56629 /*[Heizungssteuerung\Wärmepumpe\Vorlauftemperatur]*/, (float)$display[1]);
#echo "Vorlauftemperatur ".$display[1]." °C<br>";
### Zusatzheizug
# Heizstab
preg_match("/ID43084\">(.*?)kW</",$result, $display);
SetValue(36167 /*[Heizungssteuerung\Wärmepumpe\Heizstab]*/, (float)$display[1]);
#echo "Heizstab ".$display[1]." kW<br>";
# Heizstab Zeitfaktor
preg_match("/ID43081\">(.*?)h</",$result, $display);
SetValue(24012 /*[Heizungssteuerung\Wärmepumpe\Heizstab Zeitfaktor]*/, (int)$display[1]);
#echo "Heizstab Zeitfaktor ".$display[1]." h<br>";
?>