Wie können wir dir weiterhelfen?
Anleitungen
Quick Start Guide
Dokumentation der hydrop REST-API
Häufige Fragen
Hier findest du Antworten zu Installation und Betrieb. Antworten auf allgemeine Fragen findest du im FAQ.
Installation
Kann ich das hydropmeter mit einem eigenen USB-Kabel verwenden?
Für einen sicheren Betrieb ist nur das mitgelieferte Kabel zu verwenden. Die Verwendung von ungeeigneten Netzteilen oder Kabeln kann zu Fehlfunktionen und/oder einer Beschädigung des Gerätes führen und im schlimmsten Fall Brandgefahr verursachen. Durch das Nutzen eines anderen Kabels erlischt daher auch die Garantie.
Wie verbinde ich das hydropmeter mit meinem App-Account?
Mit der App kannst du einen QR-Code erzeugen, der vom hydropmeter abgescannt wird. So wird das hydropmeter mit dem Netzwerk und gleichzeitig mit deiner App verbunden. Wähle hierfür in der oben rechts im Menü „hydropmeter hinzufügen“ aus. Die genauen Schritte findest du im Quick Start-Guide sowie im Installationsvideo.
Wie kann ich das hydropmeter in ein neues Netzwerk einwählen?
Um das hydropmeter in ein anderes, neues Netzwerk zu verbinden, musst du die Verbindung des Gerätes zurücksetzen.
Drehe dazu das an den Strom angeschlossene hydropmeter um und drücke mit beiden Daumen mittig auf die Scheibe, bis der interne Drucksensor ausgelöst wird (ein leises Klicken ertönt) und die LEDs anfangen zu pulsieren. Halte die Scheibe für ca. 5s gedrückt, bis die LEDs schnell blinken. Nun kannst du den Druck lösen und das hydropmeter wird auf die Werkseinstellungen zurückgesetzt.
Das Gerät startet anschließend neu und geht wieder in den Verbindungsmodus. Das erkennst du daran, dass die LEDs blau pulsieren. Dieser Vorgang kann bis zu 30 Sekunden dauern. Bitte lasse das Gerät die ganze Zeit an der Stromverbindung angeschlossen.
Nun kannst du neue Verbindungsdaten über die App unter „hydropmeter hinzufügen“ eingeben und den daraus generierten QR-Code mit dem hydropmeter abscannen. Das funktioniert auch, wenn das hydropmeter dort vorher bereits hinzugefügt war.
Bevor du das hydropmeter wieder auf dem Zähler befestigst, entferne bitte möglicherweise entstandene Fettflecken auf der Scheibe im Gehäuse, damit eine Ablesung deines Wasserzählers erfolgreich durchgeführt werden kann.
Das hydropmeter verbindet sich nicht, der Bildschirm und/oder das hydropmeter leuchtet rot, was kann ich tun?
Das rote Leuchten am hydropmeter zeigt an, dass das Gerät keine Verbindung zum angegebenen WLAN-Netzwerk aufbauen konnte. Bitte klicke auf „Abbrechen“ und überprüfe den eingetragenen Namen des WLANs und das Passwort auf Tippfehler und überprüfe mittels deines Handys, ob das WLAN-Netzwerk am Standort des Zähler empfangen werden kann. Starte den Prozess dann erneut in der App und stecke das hydropmeter kurz vom Strom ab. Wenn du es jetzt wieder anschließt, pulsieren die LEDs wieder blau und du kannst den Verbindungsprozess erneut starten.
Betrieb
Gelber Status in der App: „hydropmeter ist online, sendet aber keine gültigen Daten“
- Das Zählermodell ist noch nicht kompatibel
- Der Zähler ist verschmutzt
- Das hydropmeter sitzt nicht mittig auf dem Zähler und kann deshalb nicht alle Zahlen/Rädchen erfassen
Roter Status in der App: „hydropmeter ist offline“
Dieser Status bedeutet, dass dein hydropmeter bereits seit einiger Zeit keine Daten mehr gesendet hat.
Bitte überprüfe, ob das Gerät eingesteckt ist und eine WLAN-Verbindung verfügbar ist.
Sollte das Gerät korrekt mit dem Strom verbunden sein, aber auch nach mehr als einer Minute keine der LEDs leuchten, liegt möglicherweise ein Hardware-Defekt vor. Wende dich in diesem Fall bitte an den Support mit deiner hydropmeter-Geräte-ID. Die ID findest du auf der Innenseite deines hydropmeter, sie steht hinter „S/N:“ und besteht aus 10 Zeichen, beginnend mit den Buchstaben FB und 8 Nummern. Du erreichst unsere Support unter: support@hydrop-systems.com
Ich sehe falsche Werte in der App, was kann ich tun?
Falls die dargestellten Werte in der App von deinem tatsächlichen Zählerstand abweichen sollten, überprüfe bitte, ob der Wasserzähler sauber ist und das hydropmeter richtig auf dem Zähler sitzt. Wenn weiterhin ein fehlerhafter Wert angezeigt wird, kontaktiere bitte unser Support-Team mit deiner hydropmeter-Geräte-ID. Die ID findest du auf der Innenseite deines hydropmeter, sie steht hinter „S/N:“ und besteht aus 10 Zeichen, beginnend mit den Buchstaben FB und 8 Nummern. Unseren Support erreichst du unter: support@hydrop-systems.com
Das hydropmeter leuchtet nach dem Einstecken rot
Ist das hydropmeter noch nicht mit deiner App verknüpft, siehe bitte unter „Installation“ nach.
Das rote Leuchten am hydropmeter zeigt an, dass das Gerät keine Verbindung zum eingetragenen WLAN-Netzwerk aufbauen konnte. Kann keine Verbindung hergestellt werden, wechselt das Gerät nach einiger Zeit in den Offline-Modus, speichert die Zählerwerte auf dem Gerätespeicher zwischen und versucht sich zu einem späteren Zeitpunkt erneut zu verbinden. Überprüfe mittels deines Handys, ob das WLAN-Netzwerk am Standort des Zähler empfangen werden kann. Sollte es dauerhaft keine Verbindung aufbauen können, siehst du in der App den roten Status „hydropmeter offline“. Um die Netzverbindung erneut einzutragen, füge das Gerät mit den aktuellen Netzwerkdaten erneut in der App hinzu. Dies ist auch möglich, wenn das hydropmeter noch in der App angezeigt wird. Wie das funktioniert, findest du unter „Installation“ -> „Wie kann ich das hydropmeter in ein neues Netzwerk einwählen“
Das hydropmeter leuchtet nicht mehr
Sollte das hydropmeter nicht mehr leuchten, auch nachdem es etwa eine Minute mit dem Strom verbunden war, liegt möglicherweise ein Hardware defekt vor. Wende dich in diesem Fall bitte an den Support über: support@hydrop-systems.com unter Angabe der Geräte-ID. Die ID findest du auf der Innenseite deines hydropmeter, sie steht hinter „S/N:“ und besteht aus 10 Zeichen, beginnend mit den Buchstaben FB und 8 Nummern.
Smart Home Vorlagen
Hier findest du Vorlagen für die Integration deines hydropmeter in verschiedene Smart Home Systeme. Wähle dein System aus und folge den Anweisungen, um deine Wasserverbrauchsdaten zu integrieren.
Anleitung
Schau dir gerne auch unser YouTube Video zu diesem Thema an: Hier klicken
Für das Einbinden deines hydropmeter in Home Assistant benötigst du folgende Dinge:
- einen Account in der hydrop App (verfügbar für Android und iOS)
- den Namen, den du deinem hydropmeter in der App gegeben hast
- deinen persönlichen API-Key für die hydrop REST-API
Falls du noch keinen API-Key hast, sende hierzu eine Anfrage per E‑Mail an support@hydrop-systems.com
Wenn du alle Informationen bereit hast, kann es losgehen. Kopiere die Sensor-Definition in die configuration.yaml
deiner Home Assistant Instanz. Bitte achte darauf, dass der Einzug beim Einfügen korrekt ist und der Sensor nicht ausversehen als Unterpunkt eines anderen Geräts definiert wird.
Ersetze die Platzhalter in den spitzen Klammern mit den entsprechenden Informationen. Eingesetzt werden muss der Gerätename deines hydropmeter, den du in der App festgelegt hast, sowie dein persönlicher API-Key.
Achtung: Bitte gehe sorgsam mit deinem API-Key um und lasse ihn nicht in falsche Hände geraten.
Code
rest:
- resource: "https://api.hydrop-systems.com/sensors/ID/<<HIER GERÄTENAME EINTRAGEN>>/newest"
headers:
apikey: "<<HIER API-KEY EINTRAGEN>>"
scan_interval: 300 # alle 5 Minuten
sensor:
- name: "Wasserzähler" # Anzeigename in Home Assistant
unique_id: hydropmeter
value_template: >
{% if value_json.sensors and value_json.sensors[0].records %}
{{ value_json.sensors[0].records[0].meterValue }}
{% else %}
unknown
{% endif %}
unit_of_measurement: "m³"
device_class: water
state_class: total_increasing
json_attributes_path: "$.sensors[0].records[0]"
json_attributes:
- timestamp
- meterValue
Anleitung
Für das Einbinden deines hydropmeter in IOBroker benötigst du folgende Dinge:
- einen Account in der hydrop App (verfügbar für Android und iOS)
- den Namen, den du deinem hydropmeter in der App gegeben hast
- deinen persönlichen API-Key für die hydrop REST-API
Wenn du alle Informationen bereit hast, kann es losgehen. Die Abfrage der Daten in IOBroker erfolgt mit JavaScript. Das Skript hierfür findest du im Codeblock.
Falls du bislang noch kein JavaScript in deinem IOBroker verwendest, musst du zunächst den Adapter für JavaScript Skriptausführung hinzufügen und eine Instanz erstellen. Dann im Menü auf der linken Seite auf Skripte klicken und ein neues JavaScript-Skript (für Programmierer) erstellen. Kopiere die Codevorlage in dein neues leeres Skript. Ersetze die Platzhalter für den Sensornamen und den API-Key oben mit deinen eigenen Werten.
Nun kann das Skript abgespeichert werden. Nach dem Speichern erscheint die Schaltfläche zum Ausführen des Skripts. Klicke darauf und die Messwerte deines hydropmeter sollten nun als State in den IOBroker-Objekten zu finden sein und kontinuierlich aktualisiert werden.
Achtung: Bitte gehe sorgsam mit deinem API-Key um und lasse ihn nicht in falsche Hände geraten.
Code
/* * Hydropmeter Datenabfrage
* Dieses Skript fragt regelmäßig den aktuellen Zählerstand von einem hydropmeter
* über die hydrop REST-API ab und speichert die Werte in IOBroker States.
*
* Abhängigkeiten: axios (sollte bereits in IOBroker installiert sein)
*
* Datum: 07.08.2025
*/
const axios = require('axios');
const SENSOR_NAME = 'DEIN_HYDROPMETER_NAME_HIER'; // Name des hydropmeters aus der App hier eintragen
const API_KEY = 'DEIN_API_KEY_HIER'; // API-Key hier eintragen
const API_URL = `https://api.hydrop-systems.com/sensors/ID/${SENSOR_NAME}/newest`;
const REQUEST_INTERVAL_MINUTES = 5;
// State-Bezeichner für die Datenpunkte
const dpValue = `javascript.0.hydropmeter.${SENSOR_NAME}.zaehlerstand_m3`;
const dpTimestamp = `javascript.0.hydropmeter.${SENSOR_NAME}.messzeitpunkt_iso`;
// States anlegen (falls nicht vorhanden)
createState(dpValue, 0, {
type: 'number',
name: 'Zählerstand Wasser [m³]',
unit: 'm³',
read: true,
write: false
});
createState(dpTimestamp, '', {
type: 'string',
name: 'Messzeitpunkt (ISO-Zeitstempel)',
read: true,
write: false
});
// Funktion zum Abrufen der hydropmeter-Daten über die REST-API
function fetchHydropData() {
console.log(`[hydropmeter] Anfrage an API für Sensor "${SENSOR_NAME}" gestartet.`);
axios.get(API_URL, {
headers: {
'apikey': API_KEY
},
timeout: 10000
}).then(response => {
const record = response.data?.sensors?.[0]?.records?.[0];
if (!record) {
console.warn('[hydropmeter] Keine gültigen Daten im Antwortobjekt gefunden.');
return;
}
const meterValue = record.meterValue;
const timestampUnix = record.timestamp;
const timestampISO = new Date(timestampUnix * 1000).toISOString();
console.log(`[hydropmeter] Neuer Wert empfangen: ${meterValue} m³ (Zeit: ${timestampISO})`);
setState(dpValue, meterValue, true);
setState(dpTimestamp, timestampISO, true);
}).catch(err => {
console.error(`[hydropmeter] Fehler bei API-Abfrage mit axios: ${err}`);
});
}
// Erstmaliger Aufruf
fetchHydropData();
// Regelmäßige Abfrage im Intervall
schedule(`*/${REQUEST_INTERVAL_MINUTES} * * * *`, fetchHydropData);
Anleitung
Für das Einbinden deines hydropmeter in IP-Symcon benötigst du folgende Dinge:
- einen Account in der hydrop App (verfügbar für Android und iOS)
- den Namen, den du deinem hydropmeter in der App gegeben hast
- deinen persönlichen API-Key für die hydrop REST-API
Falls du noch keinen API-Key hast, sende hierzu eine Anfrage per E‑Mail an support@hydrop-systems.com
Wenn du alle Informationen bereit hast, kann es losgehen. Die Abfrage der Daten in IP-Symcon erfolgt mit einem PHP-Skript. Das Skript hierfür findest du im Codeblock.
Öffne zunächst den Objektbaum in der Verwaltungskonsole deiner IP-Symcon-Instanz und klicke unten rechts auf das „+“-Symbol, um ein neues Objekt zu erstellen. Um das PHP-Skript dem Objektbaum hinzuzufügen, wähle Automation und dann PHP-Skript aus. Lege den Namen und Speicherort für das neue Skript fest und bestätige die Erstellung. Es öffnet sich der Skripteditor. Eventuell sind bereits einige Zeilen im neuen Skript vorhanden. Diese werden nicht weiter benötigt und sollten entfernt oder überschrieben werden. Kopiere die Codevorlage und füge sie 1:1 im Skripteditor ein.
Ersetze die Platzhalter im Konfigurations-Abschnitt für den API-Key, den Gerätenamen und gegebenenfalls die Zeitzone.
Die Variablen für den Zählerstand, den Zeitstempel der letzten Messung und den Tagesverbrauch werden vom Skript automatisch angelegt und im Objektbaum unter dem PHP-Skript eingruppiert. Möchtest du deine eigenen Variablen verwenden, kannst du im Konfigurations-Abschnitt die Variablen-IDs der gewünschten Variablen einfügen. Dann verwendet das Skript diese und wird keine eigenen erstellen.
Nun kann das Skript abgespeichert und ausgeführt werden. Klicke dazu auf den Button oben rechts in der Menüleiste des Skript-Editors.
Im Objektbaum sollten nun die entsprechenden Variablen mit den Werten von deinem hydropmeter befüllt werden. Das Skript erzeugt automatisch einen Timer, der den Zählerstand alle 5 Minuten aktualisiert. Ob die Erstellung des Timers erfolgreich war siehst du, wenn du im Objektbaum den Bereich unterhalb deines erstellten PHP-Skripts ausklappst. Dort sollte ein Timer-Objekt vorhanden sein.
Achtung: Bitte gehe sorgsam mit deinem API-Key um und lasse ihn nicht in falsche Hände geraten.
Code
<?php
/**
* hydropmeter-Integration für IP-Symcon
*
* Ruft alle 5 Minuten den aktuellen Wasserzählerstand von der hydrop REST-API ab,
* berechnet den Tagesverbrauch und aktiviert die Archivierung für Diagramme.
*
* @author hydrop systems GmbH
* @version 1.1.0
* @date 2025-10-10
* @license MIT
*
* @requires IP-Symcon 5.x+
* @requires Internetzugang zu https://api.hydrop-systems.com
* @requires Gültiger hydrop API-Schlüssel und Gerätename
*/
// ╔══════════════════════════════════════════════════════════════╗
// ║ KONFIGURATION ║
// ╠══════════════════════════════════════════════════════════════╣
// ║ API-Zugangsdaten und optionale Variablen-IDs konfigurieren ║
// ╚══════════════════════════════════════════════════════════════╝
$apiKey = '<<HIER API-KEY EINFÜGEN>>';
$device = '<<HIER GERÄTENAME EINFÜGEN>>'; // Gerätename aus der hydrop App
$timezone = 'Europe/Berlin';
// Optionale Variablen-IDs (0 = automatisch anlegen; Variablen-ID = vorhandene Variable verwenden)
$varMeter = 0; // Float: Zählerstand - bei 0 wird automatisch "Zählerstand" angelegt (Archivierung aktiviert)
$varTime = 0; // String: Zeitstempel der letzten Messung - bei 0 wird automatisch "Letzte Messung" angelegt
$varDaily = 0; // Float: Tagesverbrauch - bei 0 wird automatisch "Tagesverbrauch" angelegt (Archivierung aktiviert)
// ╔══════════════════════════════════════════════════════════════╗
// ║ ENDE KONFIGURATION ║
// ╚══════════════════════════════════════════════════════════════╝
date_default_timezone_set($timezone);
// Benutzerdefiniertes Profil für Kubikmeter erstellen (falls noch nicht vorhanden)
$meterValueProfile = 'Water.CubicMeter';
if (!IPS_VariableProfileExists($meterValueProfile)) {
IPS_CreateVariableProfile($meterValueProfile, 2); // 2 = Float
IPS_SetVariableProfileText($meterValueProfile, '', ' m³');
IPS_SetVariableProfileDigits($meterValueProfile, 4); // 4 Nachkommastellen
IPS_SetVariableProfileIcon($meterValueProfile, 'meter-droplet');
IPS_LogMessage('hydropmeter', 'Variablenprofil "Water.CubicMeter" erstellt');
}
// Zählerstands-Variable prüfen und ggf. erstellen
if ($varMeter === 0) {
$varMeter = @IPS_GetObjectIDByIdent('MeterValue', $_IPS['SELF']);
if ($varMeter === false) {
$varMeter = IPS_CreateVariable(2); // Float
IPS_SetName($varMeter, 'Zählerstand');
IPS_SetIdent($varMeter, 'MeterValue');
IPS_SetParent($varMeter, $_IPS['SELF']);
IPS_SetVariableCustomProfile($varMeter, $meterValueProfile);
IPS_LogMessage('hydropmeter', 'Variable "Zählerstand" erstellt (ID: ' . $varMeter . ')');
}
} else {
if (!IPS_VariableExists($varMeter)) {
IPS_LogMessage('hydropmeter', 'FEHLER: Zählerstands-Variable (ID ' . $varMeter . ') existiert nicht');
return;
}
}
// Zeitstempel-Variable prüfen und ggf. erstellen
if ($varTime === 0) {
$varTime = @IPS_GetObjectIDByIdent('LastUpdate', $_IPS['SELF']);
if ($varTime === false) {
$varTime = IPS_CreateVariable(3); // String
IPS_SetName($varTime, 'Letzte Messung');
IPS_SetIdent($varTime, 'LastUpdate');
IPS_SetParent($varTime, $_IPS['SELF']);
IPS_LogMessage('hydropmeter', 'Variable "Letzte Messung" erstellt (ID: ' . $varTime . ')');
}
} else {
if (!IPS_VariableExists($varTime)) {
IPS_LogMessage('hydropmeter', 'FEHLER: Zeitstempel-Variable (ID ' . $varTime . ') existiert nicht');
return;
}
}
// Variable für Tagesverbrauch anlegen
if ($varDaily === 0) {
$varDaily = @IPS_GetObjectIDByIdent('DailyUsage', $_IPS['SELF']);
if ($varDaily === false) {
$varDaily = IPS_CreateVariable(2);
IPS_SetName($varDaily, 'Tagesverbrauch');
IPS_SetIdent($varDaily, 'DailyUsage');
IPS_SetParent($varDaily, $_IPS['SELF']);
IPS_SetVariableCustomProfile($varDaily, "~Water");
IPS_LogMessage('hydropmeter', 'Variable "Tagesverbrauch" erstellt (ID: ' . $varDaily . ')');
}
} else {
if (!IPS_VariableExists($varDaily)) {
IPS_LogMessage('hydropmeter', 'FEHLER: Tagesverbrauch-Variable (ID ' . $varDaily . ') existiert nicht');
return;
}
}
// Versteckte Hilfsvariable für den Tagesstartwert zur Berechnung des Tagesverbrauchs
$varDayStart = @IPS_GetObjectIDByIdent('DayStartValue', $_IPS['SELF']);
if ($varDayStart === false) {
$varDayStart = IPS_CreateVariable(2); // Float
IPS_SetName($varDayStart, 'Tagesstartwert (intern)');
IPS_SetIdent($varDayStart, 'DayStartValue');
IPS_SetParent($varDayStart, $_IPS['SELF']);
IPS_SetVariableCustomProfile($varDayStart, $meterValueProfile);
IPS_SetHidden($varDayStart, true);
SetValue($varDayStart, 0.0);
}
// Versteckte Hilfsvariable für den Datumsvergleich zur Berechnung des Tagesverbrauchs
$varLastDate = @IPS_GetObjectIDByIdent('LastProcessedDate', $_IPS['SELF']);
if ($varLastDate === false) {
$varLastDate = IPS_CreateVariable(3); // String für Datum (Y-m-d)
IPS_SetName($varLastDate, 'Datum der letzten Abfrage (intern)');
IPS_SetIdent($varLastDate, 'LastProcessedDate');
IPS_SetParent($varLastDate, $_IPS['SELF']);
IPS_SetHidden($varLastDate, true);
}
// Archivierung für Zählerstand und Tagesverbrauch aktivieren
$archiveList = IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}');
if (!empty($archiveList)) {
try {
AC_SetLoggingStatus($archiveList[0], $varMeter, true);
AC_SetLoggingStatus($archiveList[0], $varDaily, true);
IPS_ApplyChanges($archiveList[0]);
IPS_LogMessage('hydropmeter', 'Archivierung für Zählerstand und Tagesverbrauch aktiviert');
} catch (Exception $e) {
IPS_LogMessage('hydropmeter', 'Archivierungsfehler: ' . $e->getMessage());
}
}
// Automatischen Aktualisierungs-Timer erstellen (alle 5 Minuten)
$eventName = "hydropmeter_auto_update_" . $_IPS['SELF'];
$eventID = @IPS_GetObjectIDByIdent($eventName, $_IPS['SELF']);
if ($eventID === false) {
$eventID = IPS_CreateEvent(1);
IPS_SetParent($eventID, $_IPS['SELF']);
IPS_SetIdent($eventID, $eventName);
IPS_SetName($eventID, "hydropmeter Auto-Update");
IPS_SetEventCyclic($eventID, 0, 0, 0, 0, 2, 5);
IPS_SetEventScript($eventID, 'IPS_RunScriptEx(' . $_IPS['SELF'] . ', []);');
IPS_SetEventActive($eventID, true);
IPS_LogMessage('hydropmeter', 'Timer erstellt (alle 5 Minuten)');
}
// Daten von der hydrop REST-API abrufen
$url = sprintf('https://api.hydrop-systems.com/sensors/ID/%s/newest', $device);
$opts = [
'http' => [
'method' => 'GET',
'header' => sprintf("apikey: %s\r\nAccept: application/json\r\n", $apiKey),
'timeout' => 15,
'ignore_errors' => true,
],
];
$context = stream_context_create($opts);
$result = @file_get_contents($url, false, $context);
if ($result === false) {
$error = error_get_last();
IPS_LogMessage('hydropmeter', 'API-Anfrage fehlgeschlagen: ' . ($error ? $error['message'] : 'Unbekannter Fehler'));
if (isset($http_response_header)) {
IPS_LogMessage('hydropmeter', 'HTTP-Antwort: ' . $http_response_header[0]);
}
return;
}
$data = json_decode($result, true);
if ($data === null) {
IPS_LogMessage('hydropmeter', 'JSON-Dekodierungsfehler: ' . json_last_error_msg());
IPS_LogMessage('hydropmeter', 'Klartext der Antwort: ' . substr($result, 0, 200));
return;
}
// Zählerstand verarbeiten
if (!isset($data['sensors'][0]['records'][0])) {
IPS_LogMessage('hydropmeter', 'Keine gültigen Datensätze in API-Antwort gefunden');
IPS_LogMessage('hydropmeter', 'Antwortstruktur: ' . print_r($data, true));
return;
}
$record = $data['sensors'][0]['records'][0];
$meterValue = (float) $record['meterValue'];
$currentTimestamp = (int) $record['timestamp'];
// Zähler- und Zeitstempel-Variablen aktualisieren
try {
SetValue($varMeter, $meterValue);
SetValue($varTime, date('d.m.Y H:i:s', $currentTimestamp)); // Deutsches Format für Anzeige
} catch (Exception $e) {
IPS_LogMessage('hydropmeter', 'Fehler beim Setzen der Variablen: ' . $e->getMessage());
return;
}
// Tagesverbrauch berechnen
$currentDate = date('Y-m-d', $currentTimestamp);
$lastProcessedDate = GetValue($varLastDate);
// Prüfen ob ein neuer Tag begonnen hat
$dayChanged = ($lastProcessedDate !== $currentDate && $lastProcessedDate !== '');
if ($dayChanged) {
// Tagesverbrauch des VORHERIGEN Tages berechnen
$dayStartValue = GetValue($varDayStart);
$currentMeterValue = GetValue($varMeter);
if ($dayStartValue > 0) {
$dailyUsage = round(max(0, ($currentMeterValue - $dayStartValue) * 1000.0), 1);
try {
SetValue($varDaily, $dailyUsage);
IPS_LogMessage('hydropmeter', "Tagesverbrauch für $lastProcessedDate: $dailyUsage Liter");
} catch (Exception $e) {
IPS_LogMessage('hydropmeter', 'Fehler beim Setzen des Tagesverbrauchs: ' . $e->getMessage());
}
}
// Neuen Tagesstartwert setzen
SetValue($varDayStart, $meterValue);
IPS_LogMessage('hydropmeter', "Neuer Tag erkannt: Startwert = $meterValue m³");
}
// Interne Hilfsvariablen für den nächsten Vergleich aktualisieren
try {
SetValue($varLastDate, $currentDate);
// Beim ersten Ausführen: Tagesstartwert initialisieren, wenn noch nicht gesetzt
$dayStartValue = GetValue($varDayStart);
if ($dayStartValue === 0.0) {
SetValue($varDayStart, $meterValue);
IPS_LogMessage('hydropmeter', "Tagesstartwert initialisiert: $meterValue m³");
}
} catch (Exception $e) {
IPS_LogMessage('hydropmeter', 'Fehler beim Speichern der aktuellen Werte: ' . $e->getMessage());
}
IPS_LogMessage('hydropmeter', "Aktualisierung erfolgreich: $meterValue m³, " . date('d.m.Y H:i:s', $currentTimestamp));
Videos
Kurzanleitung
Home Assistant Einrichtung
WLAN Verbindung
ioBroker Einrichtung
Kontakt
Du hast eine Frage oder benötigst weitere Unterstützung? Hier findest du unsere Kontaktdaten und kannst uns eine E‑Mail senden.
E‑Mail
Social Media
Adressen
hydrop systems GmbH
Wagenburgstr. 139
70186 Stuttgart
Postanschrift
hydrop systems GmbH
c/o Arena2036
Pfaffenwaldring 19
70569 Stuttgart