Erfassung Reedkontakte Regenmesser

Guten Morgen,
folgenden Regenmesser habe ich mir nun zugelegt:

Turm regenmesser HIM6 mit 2 Reedkontakten

Diesen möchte ich in das Homematic Wired System einbinden um die Impulse zu dedektieren.
Müsste mit dem Homematic Wired RS485 Schließerkontakt ( HMW-Sen-SC-12-DR ) funktionieren??

Danke für die Info!

@ralf Darf ich dich um Hilfe bitten :wink: zu meiner Frage?

Danke dir

Sorry, ich kenne Homematic nicht.

Du brauchst einen Baustein der Impulse zählen kann. Das beschriebene Gerät kann dies nicht, soweit ich erkennen kann. Du kannst aber natürlich diese Funktionalität auch in IPS (oder der Homematic Zentrale) umsetzen.

Danke dir dür deine Info.
Also ich würde den HM Wired zum „einfangen“ der Impulse verwenden.

Dann diese in IPS weiterverarbeiten so das ich einen Tageswert, Wochenwert, Jahreswert erhalte.

Hat jemand eine Info ob es funktionieren würde, wie ich mir das vorstelle?

Natürlich benötige ich zum erfassen des Tagesertrages ein entsprechendes Script.

Wenn du die Rechenlogik in IPS umsetzen willst sollte das gehen. Vorausgesetzt, die Impulse kommen nicht in zu hoher Frequenz an. Aber bei einem Impuls alle paar Sekunden bis Minuten sollte das ja gehen.

Hallo zusammen,

ich habe nun den Regenmesser an den Homematic HMW-Sen-SC-12-DR Schliesserkontakt angeschlossen.

Wenn der Messlöffel auslöst, wird dies auch übertragen.
Jedoch habe ich zur auswahl ja nur „true“ oder „false“.
Wie schaffe ich es, das ich die jeweilige auslösung des Kipplöffel in eine „anzahl“ logge?

Pro Auslösung des Kipplöffel wird 1mm Niederschlag registriert.

Danke für die Hilfe

Guten Abend michl,
meinst du deinen Beitrag in diesem Thread?
Link: Erfassung Reedkontakte Regenmesser - #9 von michl

Diese kannst du zählen, das ist kein Problem.

Schau dir mal das folgende Script an:

<?php
// ID der Homematic Statusvariable, die die Reedkontakt-Meldungen erhält (true/false)
$reedkontaktID = 12345;  // Ersetze dies mit der ID deiner Reedkontakt-Variable

// ID der Zählervariable (Integer), die die Anzahl der Impulse speichert
$zaehlerID = 67890;  // Ersetze dies mit der ID deiner Zählervariable

// ID der Niederschlagsmenge-Variable (Float), die den täglichen Niederschlag speichert
$regenmengeID = 11111;  // Ersetze dies mit der ID deiner Niederschlagsmengen-Variable

// Wert für 1mm Niederschlag (kann je nach Regenmesser angepasst werden)
$impuls_pro_mm = 1;  // 1 Impuls entspricht 1 mm Niederschlag

// Aktueller Status des Reedkontakts
$reedStatus = GetValueBoolean($reedkontaktID);

// Wenn der Reedkontakt "true" ist (Wasser kippt ab), dann einen Impuls zählen
if ($reedStatus) {
    // Impulszähler um 1 erhöhen
    $zaehler = GetValueInteger($zaehlerID);
    $zaehler++;
    SetValueInteger($zaehlerID, $zaehler);

    // Niederschlagsmenge aktualisieren
    $regenmenge = $zaehler / $impuls_pro_mm;
    SetValueFloat($regenmengeID, $regenmenge);
}

// Täglichen Reset einrichten (optional, um den Zähler täglich zurückzusetzen)
$heutigesDatum = date("Y-m-d");
$speicherDatumID = 22222;  // Ersetze dies mit der ID einer Hilfs-String-Variable, die das Datum speichert

// Überprüfen, ob ein neuer Tag begonnen hat
$letztesDatum = GetValueString($speicherDatumID);
if ($heutigesDatum != $letztesDatum) {
    // Zähler zurücksetzen
    SetValueInteger($zaehlerID, 0);
    // Niederschlagsmenge zurücksetzen
    SetValueFloat($regenmengeID, 0.0);
    // Aktuelles Datum speichern
    SetValueString($speicherDatumID, $heutigesDatum);
}
?>

Anschließend kannst du die Archivierung für das Objekt, das die Werte von $regenmengeID speichert aktiveren und dir das ganze in einem Diagramm anzeigen lassen.

(Archivierung: Archive Control — IP-Symcon :: Automatisierungssoftware)

Vielen Dank für deine Unterstützung.

Ich habe das Script soweit vorbereitet.

zum Ausführen des Scriptes habe ich ein Ereigniss erstellt, das bei der aktualisierung der „true“ / „false“ Variable ausgeführt wird.

Bei mir wird der Wert der Impulsezählung bei einem „true“ nicht ausgeführt?
Die Variable wird zwar aktuallisiert, jedoch bleibt dieser immer bei „0“.

Kann es damit zusammenhängen, das die Variable von „false auf true“ extrem schnell wechselt? Das kippen des Löffel ist sehr schnell.
Wenn ich die Status Variable händisch auf „true“ stelle, dann das Script ausführe werden die Variablen aktualisiert bzw. gezählt.

Wie kann ich eine „Hilfs Variable“ mit dem aktuellen Datum einrichten?

Danke :slight_smile:

Es scheint das hier noch das ausgelöste Ereignis fehlt.
Erstelle bitte noch ein ausgelöstes Ereignis und sage diesem, das bei jeder Änderung der Status Variable, das Script ausgeführt werden soll, dann sollte es klappen.

Ausgelöst — IP-Symcon :: Automatisierungssoftware.

Eine solche Variable ist bereits oben im Script vorhanden:
$heutigesDatum = date(„Y-m-d“);

Beantwortet dir das deine Fragen?

Vielen Dank für deine Hilfe :slight_smile:

Jetzt funktioniert es wie gewollt.

@Daste Ich habe noch folgendes Problem.
Wenn ein neuer Tag beginnt, wird bei mir der wert nicht auf „0“ gesetzt.

Erst wenn ich eine „kippung“ simuliere, eine neuer Tag begonnen hat, wird dwr wert auf „0“ gesetzt?

Wo liegt bei mir das Problem?
Danke für deine Hilfe.

Sobald du die Kippung einmal Manuel ausführst, wird das Script ausgeführt, wodurch die Aktion dann ausgelöst wird bzw. aufgrund des anderen Datums genullt wird.

Kannst du für das Skript noch ein ausgelöstes Ereignis hinzufügen, sodass das Script täglich kurz nach Mitteranch einmal durchgeführt wird. Dann aktualisiert er das Datum / den Tag schon bevor der ersten „Kippung“.