Es wurden ja wieder mehr Skripte gewünscht. Somit hier ein kleines Schnippsel, um zumindest ein paar Daten der Wasserenthärtungsanlage zu schnappen ![]()
Hier am Beispiel der Dosieranlage:
<?php
$json = file_get_contents("http://admin:Connectivity@192.168.0.171/api/rest/FF00");
$data = json_decode($json, true)['data'];
if ($data != '41') {
die("Das Beispiel ist aktuell nur für die Dosierpumpe!");
}
// -> Werte für unpack
// V = 4 Byte lesen
// v = 2 Byte lesen
// C = 1 Byte lesen
// Wassermenge lesen
$json = file_get_contents("http://admin:Connectivity@192.168.0.171/api/rest/2800");
$data = hex2bin(json_decode($json, true)['data']);
echo "Gesamtwassermenge: " .unpack("V", substr($data, 0, 4))[1] . PHP_EOL;
// Statusdaten lesen
$json = file_get_contents("http://admin:Connectivity@192.168.0.171/api/rest/4300");
$data = hex2bin(json_decode($json, true)['data']);
echo "Schaltungstype: " . unpack("C", substr($data, 0, 1))[1] . PHP_EOL;
echo "Betriebsmodus: " . unpack("C", substr($data, 1, 1))[1] . PHP_EOL;
// Unbenutzt 2, 1
echo "Konzentration: " . unpack("C", substr($data, 3, 1))[1] . PHP_EOL;
// Unbenutzt 4, 1
echo "Fehlercode: " . unpack("v", substr($data, 5, 2))[1] . PHP_EOL;
echo "Warnmeldungen: " . unpack("v", substr($data, 7, 2))[1] . PHP_EOL;
// Unbenutzt 9, 6
echo "Dosiermenge: " . unpack("v", substr($data, 15, 2))[1] . PHP_EOL;
echo "Wasserdurchfluss: " . unpack("v", substr($data, 17, 2))[1] . PHP_EOL;
echo "Restmenge: ". unpack("v", substr($data, 19, 2))[1] . PHP_EOL;
echo "Wasserverbrauch: " .unpack("V", substr($data, 21, 4))[1] . PHP_EOL;