Nachdem ich die Bewässerungsanlage mit all seinen Komponenten in den vorherigen Beiträgen ausführlich beschrieben habe, möchte ich als „Zugabe“ noch ein paar Code-Sequenzen für FHEM Tablet-UI zur Verfügung stellen. Sie sollen als Beispiel zeigen, wie der Füllstand einer Zisterne angezeigt und Ventile gesteuert werden können.
Letztendlich darf ein abschließendes Fazit auch nicht fehlen.
- Definition der Anforderungen
- Auswahl des passenden Bewässerungssystems
- Planung einer individuellen Steuerung
- Entwurf der Steuerungslogik
- Füllstandsmessung mit einer Pegelsonde oder Füllstandsmessung per Ultraschall (alt)
- Programmierung Microcontroller (Wemos D1 Mini)
- Steuerung mit FHEM
- Darstellung auf FHEM Tablet-UI
Der Füllstand der Zisterne kann als rollierendes Diagramm in Tablet-UI dargestellt werden, d.h. es werden immer die letzten 30 Tage dargestellt. Um Platz auf meinem 10“-Tablet zu sparen, habe ich in der Übersicht eine recht kleine Vorschauansicht gewählt (2x3 Einheiten). Mit einem Touch auf das Diagramm wird eine bildschirmfüllende Darstellung in einem PopUp geöffnet.
Die Werte werden aus der Datenbank über DBLog eingelesen. Die Restmenge von 300 Litern (Bodensatz) als „rote“ Zone wird über eine Konstante vorgeblendet.
<li data-row="1" data-col="2" data-sizex="3" data-sizey="2">
<header>ZISTERNE</header>
<div data-type="popup" data-width="85%" data-height="80%">
<div data-type="chart"
data-logdevice="lp"
data-logfile="HISTORY"
data-columnspec='["ConstY:300","DbLog:lg_DB_HS1_all:EG_au_LS_1:Volume"]'
data-style='["ftui l2fill","ftui l0fill"]'
data-ptype='["lines","lines"]'
data-uaxis='["primary","primary"]'
data-minvalue="0"
data-maxvalue="5000"
data-width="100%"
data-height="160px"
data-yticks="auto"
data-crosshair="false"
data-cursorgroup="1"
data-scrollgroup="1"
data-showlegend="false"
data-nofulldays="true"
data-daysago_start="30d"
data-daysago_end="-1d"
data-xticks="10800"
class="nobuttons">
</div>
<div class="dialog">
<header>FÜLLSTAND ZISTERNE</header>
<div data-type="chart"
data-logdevice="lp"
data-logfile="HISTORY"
data-columnspec='["ConstY:300","DbLog:lg_DB_HS1_all:EG_au_LS_1:Volume"]'
data-style='["ftui l2fill","ftui l0fill"]'
data-ptype='["lines","lines"]'
data-uaxis='["primary","primary"]'
data-legend='["Restmenge","Füllstand"]'
data-ytext="Liter"
data-minvalue="0"
data-maxvalue="5000"
data-width="90%"
data-height="680px"
data-yticks="auto"
data-crosshair="true"
data-cursorgroup="1"
data-scrollgroup="1"
data-showlegend="true"
data-nofulldays="true"
data-daysago_start="30d"
data-daysago_end="-1d"
data-xticks="10800"
class="nobuttons">
</div>
</div>
</div>
</li>
Die Steuerung der Ventile kann ebenfalls über das Tablet erfolgen. Hierfür ist nicht allzu viel Platz notwendig (3x3 Einheiten).
Die Ansicht beinhaltet:
<li data-row="6" data-col="2" data-sizex="3" data-sizey="3">
<header>BEWÄSSERUNG</header>
<div class="col-1-8 top-narrow">
<data-type="range"
data-device="EG_au_LS_1"
data-low=""
data-high="Volume"
data-min="0"
data-max="5000"
data-limit-low="1500"
data-limit-high="4000"
data-color-low="red"
data-color="orange"
data-color-high="green"
data-height="220px"
class="nolabels top-space-3x">
</div>
</div>
<div class="top-space-2x">
<div class="top-space">
<div data-type="label"
data-device="EG_au_LS_1"
data-post-text=" l"
data-get="Volume"
data-limits='["[0-9][0-9][0-9]","[123][0-9][0-9][0-9]","([4-5][0-9][0-9][0-9]|5000)"]'
data-colors='["red","orange","green"]'
class="big left-align col-1-2">
</div>
<div data-type="select"
data-device="du_Giessen_Logik"
data-items='["Pause","Töpfe","Wenig","Viel"]'
class="right-align">
</div>
<div data-type="label"
data-device="du_Giessen_Logik"
data-pre-text="Index: "
data-get="index"
data-limits="[0,25]"
data-colors='["orange","#55aa44"]'
class="big right-align right-space top-space">
</div>
</div>
<div class="top-space-2x">
<div data-type="switch"
data-device="EG_au_VT_1"
data-icon="oa-sani_irrigation"
data-get="state"
data-get-on="ON"
data-get-off="OFF"
data-set-on="ON"
data-set-off="OFF"
data-on-color="green"
data-on-background-color="#2A2A2A"
data-off-color="#505050"
data-off-background-color="#2A2A2A"
class="col-25">
</div>
<div data-type="switch"
data-device="EG_au_VT_2"
data-icon="oa-sani_irrigation"
data-get="state"
data-get-on="ON"
data-get-off="OFF"
data-set-on="ON"
data-set-off="OFF"
data-on-color="green"
data-on-background-color="#2A2A2A"
data-off-color="#505050"
data-off-background-color="#2A2A2A"
class="col-24">
</div>
<div data-type="switch"
data-device="EG_au_VT_3"
data-icon="oa-sani_irrigation"
data-get="state"
data-get-on="ON"
data-get-off="OFF"
data-set-on="ON"
data-set-off="OFF"
data-on-color="green"
data-on-background-color="#2A2A2A"
data-off-color="#505050"
data-off-background-color="#2A2A2A"
class="col-24">
</div>
<div data-type="switch"
data-device="EG_au_VT_4"
data-icon="oa-sani_irrigation"
data-get="state"
data-get-on="ON"
data-get-off="OFF"
data-set-on="ON"
data-set-off="OFF"
data-on-color="green"
data-on-background-color="#2A2A2A"
data-off-color="#505050"
data-off-background-color="#2A2A2A"
class="col-24">
</div>
</div>
</div>
</li>
Ich hoffe, alle möglichen Facetten im Zusammenhang mit einer Bewässerungsanlage hinreichend angesprochen zu haben. Wenn nicht, dann bitte die Kontaktbox benutzen.
Falls sich Jemand durch alle Beiträge dieser Serie gekämpft hat und dadurch inspiriert wurde, selbst eine Bewässerungsanlage zu bauen, finde ich das toll. Es setzt natürlich eine gewisse Technik bzw. IT-Affinität voraus. In diesem Fall möchte ich explizit darauf hinweisen, dass für das Arbeiten an 230V die notwendige Qualifikation vorhanden sein muss bzw. Sie überlassen diesen Teil einem Fachmann.
Wenn die Serie dazu gedient hat zu sagen: „Um Gottes Willen. Wie schräg ist denn das. Das tue ich mir nicht an. Ich nehme lieber eine Fertiglösung von der Stange.“ So ist das ja auch eine Erkenntnis.
In Summe hat mir der Bau dieser individuellen Bewässerungsanlage mindestens so viel Spaß gemacht, wie die Dokumentation auf dieser Website.
Fragen oder Anregungen nehme ich gern über die Kontaktbox entgegen oder direkt per Email.
kontakt@kaempf-nk.de