FHEM Forum

Verschiedenes => Projekte => Thema gestartet von: felskrone am 06 August 2017, 20:32:26

Titel: Überwachung Wasserstand des Gartenteichs
Beitrag von: felskrone am 06 August 2017, 20:32:26
Hallo zusammen.

in der vergangenen Woche habe ich mein erstes Mini-Projekt zusammengebastelt:
https://forum.fhem.de/index.php?action=dlattach;topic=75129.0;attach=82712;image (https://forum.fhem.de/index.php?action=dlattach;topic=75129.0;attach=82712;image)

Ich habe einen Gartenteich mit 2 Pumpen, die per FHEM ein/ausgeschaltet werden können:
Insbesondere wegen Pumpe2, möchte ich den Wasserstand überwachen. Im letzten Jahr habe ich mir an einem Wochenende mehrere Kubikmeter Wasser aus dem Teich gepumpt, da ein fetter Frosch einen der Abläufe im Kreislauf von Pumpe 2 zu seinem neuen Zuhause machen wollte.

Vorhandene Geräte wie z.B. der Homematic Füllstandsmesser, schienen mir nicht geeignet, da der Höhenunterschied, den ich überwachen möchte so bei ca. 12 cm liegt.
Also musste ich selber basteln - folgendes ist dabei herausgekommen:

verwendete Teile: https://forum.fhem.de/index.php?action=dlattach;topic=75129.0;attach=82714;image (https://forum.fhem.de/index.php?action=dlattach;topic=75129.0;attach=82714;image)
Gebastel:
"Programmierung" FHEM
sub setTeichLevel() {
  my $Level1 = ReadingsVal("Teich_Level_01", "state", "open");
  my $Level2 = ReadingsVal("Teich_Level_02", "state", "open");
  my $Level3 = ReadingsVal("Teich_Level_03", "state", "open");
  my $Message = "";
  my $Icon = "";
  my $ret;
  Log 1, "$Level1 $Level2 $Level3";
  if ($Level1 eq "open") {
    if ($Level2 eq "open") {
      if ($Level3 eq "open") {
        $ret = "leer";
     }
     else {
        $ret = "error";
     }
   }
   else {
     $ret = "error";
   }
  }
  else {
    if ($Level2 eq "open") {
      if ($Level3 eq "open") {
        $ret = "min";
     }
     else {
        $ret = "error";
     }
   }
   else {
      if ($Level3 eq "open") {
        $ret = "ok";
     }
     else {
        $ret = "max";
     }
   }
  }
  fhem("set dummy_Teich_Level $ret");
  if (($ret eq "error") || ($ret eq "leer")) {
    $Icon="error-Icon";
    fhem("set Teich_Pumpe1 off");
    fhem("set Teich_Pumpe2 off");
   $Message="\nPumpe1 und Pumpe2 ausgeschaltet";
  }
  elsif ($ret eq "min") {
    $Icon="Exclamation-Icon";
    fhem("set Teich_Pumpe2 off");
    $Message="\nPumpe2 ausgeschaltet";
  }
  elsif ($ret eq "max") {
    $Icon="Exclamation-Icon";
  }
  else {
     $Icon="OK-Icon";
  }
  $Message=$Icon . " Teichlevel: " . $ret . "\n" . $Message;
  fhem("set TBot message $Message");
  Log 1, "$ret";
  return $ret;
}

define dummy_Teich_Level dummy;
attr dummy_Teich_Level alias Teich-Füllstand;
attr dummy_Teich_Level setList state:leer,min,ok,max,error;

define Notify_Teich_Level notify Teich_Level_0[123]:(open|closed) {
    setTeichLevel()
}

define Notify_Startsequenz notify global:INITIALIZED.*  {
    fhem("set TBot message $NAME $EVENT \nFHEM neu gestartet");
   setTeichLevel()
}


Darstellung in FTUI:
Verbesserungsvorschläge (die nicht die Hardware betreffen - das ist zu spät!) sind willkommen!
Titel: Antw:Überwachung Wasserstand des Gartenteichs
Beitrag von: Helmi55 am 07 August 2017, 20:01:30
Hallo
Cool. Das könnte ich auch für meine 300l Zisterne verwenden.
Wo hast du die Schwimmer her?
Nice eve Helmut
Titel: Antw:Überwachung Wasserstand des Gartenteichs
Beitrag von: felskrone am 07 August 2017, 20:05:00
...such mal bei Amazon nach ZP4510... da gibt es diverse Stückelungen.

Ich wollte keine Werbung machen, sondern Deine Frage beantworten.


Dann musst Du eben selber suchen, wonach Du suchen willst.  ::)
Titel: Antw:Überwachung Wasserstand des Gartenteichs
Beitrag von: Helmi55 am 07 August 2017, 22:21:17
Danke - nimm zur Sicherheit den großen Fluss raus.
Sonst gibts vielleicht noch Ärger wegen Werbung...........
Titel: Antw:Überwachung Wasserstand des Gartenteichs
Beitrag von: leachim200 am 09 September 2019, 12:59:05
Hi
Der Beitrag ist schon etwas älter aber wäre es dir möglich vllt deinen Code für FTUI auch zur verfügung zu stellen?
Titel: Antw:Überwachung Wasserstand des Gartenteichs
Beitrag von: felskrone am 02 Oktober 2019, 09:51:36


Hi leachim200,

klar, kein Problem.

Hast Du das ebenfalls für den Gartenteich nachgebaut? Dann häng doch mal Bilder an; vielleicht hast Du ja etwas optimiert?
Ich suche auch noch bessere Symbole, als die Batterie...

Hier der FTUI-Code


Zitat
    <header><div data-type="label" class="large">Teichlevel<></header>
    <div data-device="dummy_Teich_Level"
          data-type="symbol"
          data-get="STATE"
          data-get-on='[".*"]'
          data-states='["leer","min","ok","max","error"]'
          data-colors='["red","yellow","green","blue","red"]'
          class="big inline compressed-50"
          data-icons='["fa-battery-0 blink","fa-battery-1","fa-battery-3","fa-battery-4","fa-exclamation-circle fa-spin"]' >
    <>
    <div data-type="label"
          data-device="dummy_Teich_Level"
          data-limits='["leer","min","ok","max","error"]'
          data-colors='["red","yellow","green","blue","red"]'
          class='big inline'
    <>