Werbung
Hinweis: Diese Seite enthält Werbelinks

Sprinklers_Pi mit openHAB 2 steuern

In diesem Beitrag geht es darum wie ihr mittels openHAB Sprinklers_Pi steuert. Sprinklers_Pi nutze ich um mit einem Raspberry Pi meine Hunter Ventile für die Gartenbewässerung zu steuern. Im Beitrag Raspberry Pi Gartenbewässerung mit Sprinklers_Pi (GreenIQ Hack) könnt ihr lesen, wie ihr eine Gartenbewässerung auf einem Raspberry Pi umsetzt. Zum Glück bietet Sprinklers_Pi eine Schnittstelle (API). Mit dieser kann direkt auf Sprinklers_Pi zugegriffen werden. Im folgenden lest ihr welche Befehle per Schnittstelle steuerbar sind. In einem Beispiel zeige ich wie ihr die Steuerung von Sprinklers_pi mittels Items, Regel und Sitemap realisiert.

Sprinklers_Pi API Übersicht

Über die API von Sprinklers_Pi lassen sich einige Befehl direkt per HTTP Link ausführen. Alle Befehle werden mit http://sprinkler:8080/bin/eingeleitet. Hierbei ist sprinkler euer Hostname. Im Anschluss folgt der Zugriff per API. Wichtig hierbei ist, dass die Zone 1 mit zb angesprochen wird und nicht wie man vielleicht erwartet mit za oder z1. In der folgenden Tabelle ein paar Befehle und Beispiele.

ZweckSchnittstellenaufruf (API)Erläuterung

openHAB Sprinklers_pi Item Konfiguration

Zur Steuerung von sprinklers_pi benötigt ihr als erstes Items. Ich habe mir zum manuellen aktivieren für die einzelnen Zonen jeweils ein Item definiert. Mittels Expire Binding stelle ich sicher, dass die Ventile automatisch nach 30 Minuten wieder geschlossen werden. Wollt ihr dies auch installiert bitte das Expire Binding. Alternativ könnt ihr auch die zeitlich begrenzte Bewässerung nutzen.

//Bewässerung
Switch          ga_l_sprenger_hochbeet  "Hochbeet"          <water> (gHaus,gGarten) { expire="30m,command=OFF" }
Switch          ga_l_sprenger_vorne     "Sprenger Vorne"    <water> (gHaus,gGarten) { expire="30m,command=OFF" }
Switch          ga_l_sprenger_hinten    "Sprenger Hinten"   <water> (gHaus,gGarten) { expire="30m,command=OFF" }

 

openHAB Sprinklers_pi Regeln zur Steuerung

Die folgenden Regeln werden ausgeführt sobald eines der Items an oder ausgeschaltet wird. Wenn der Zustand an ist, wird per HTTP Request das Ventil ausgeschaltet und umgekehrt.

rule "Hochbeet an/aus" 
when
     Item ga_l_sprenger_hochbeet received command
then
        if (ga_l_sprenger_hochbeet.state == ON) {
            sendHttpGetRequest("http://sprinkler:8080/bin/manual?zone=zb&state=on")
        } else {
            sendHttpGetRequest("http://sprinkler:8080/bin/manual?zone=zb&state=off")
        }
end

rule "Sprenger hinten" 
when
     Item ga_l_sprenger_hinten received command
then
        if (ga_l_sprenger_hinten.state == ON) {
            sendHttpGetRequest("http://sprinkler:8080/bin/manual?zone=zc&state=on")
        } else {
            sendHttpGetRequest("http://sprinkler:8080/bin/manual?zone=zc&state=off")
        }
end

rule "Sprenger vorne" 
when
     Item ga_l_sprenger_vorne received command
then
        if (ga_l_sprenger_vorne.state == ON) {
            sendHttpGetRequest("http://sprinkler:8080/bin/manual?zone=zh&state=on")
        } else {
            sendHttpGetRequest("http://sprinkler:8080/bin/manual?zone=zh&state=off")
        }
end

openHAB Sprinklers_Pi Sitemap

Als letztes erweitert eure Sitemap um die Items der Gartenbewässerung. Weiterhin habe ich mir zusätzlich noch ein Webview Item angelegt, sodass ich direkt auf die Oberfläche von Sprinklers_pi gelange um so z. B. die Zeitpläne zu ändern.

Frame label="Bewässerung" icon="rain" {
		Switch item=ga_l_sprenger_hochbeet 	mappings=[OFF="Aus", ON="An"]
		Switch item=ga_l_sprenger_hinten 	mappings=[OFF="Aus", ON="An"]
		Switch item=ga_l_sprenger_vorne 	mappings=[OFF="Aus", ON="An"]
		Text label="Bewässerungseinstellungen" icon="rain" {
			Webview url="http://sprinkler:8080" height=40
		}
	}

Bei mir sieht das ganze wie folgt aus.

Ich hoffe wie immer der Beitrag hat euch gefallen. Falls es irgendwelche Fragen gibt, nutzt die Kommentare.

Falls ihr mehr Beiträge wünscht, könnt  ihr den Blog auf verschiedene Weise unterstützen. Kaffeespende, Dauerauftrag, teilen… Mehr dazu findet ihr per Klick auf den grünen Knopf mit Herz oben rechts. Danke.

Thomas

Thomas has build its own Smarthome in 2010. In 2016 he started a German blog about Smarthome to share his knowledge. 2017  he started consulting customers that needed help setting up their own Smarthome. In 2018 the first German course about cloudless Smarthome was launched at Udemy. This course became one of the top rated Smarthome courses. This Smarthome course is now also available in English.

7 Comments
  1. Lieber Thomas,
    super, freue mich über deinen wie immer tollen Beitrag! Werde es asap ausprobieren und dir genügend Kaffee ausgeben 😉
    Grüsse aus Zürich
    Daniel

    • Lieber Thomas,
      deine Anleitung ist perfekt Mein GreenIQ läuft wieder und lässt sich über openHAB steuern. Vielen herzlichen Dank!
      Perfekt wäre es, wenn auch der Durchflusssensor oder Leckerkennung gehen würden. Ich habe auf Twitter gelesen, dass du den Durchflusssensor hast in deinem GreenIQ setup.

    • Lieber Daniel,

      vielen Dank für deine Unterstützung.

      Beste Grüße aus Ahrensburg nach Zürich
      Thomas

  2. Hallo Thomas! Arbeite mich auch gerade rein. Sind die Befehle gleich dem normalen OpenSprinkler oder nur für den Pi? Und wie sind denn die Bezeichnungen für die Eingänge 2 und 3 z.b., wenn die 1 zb ist?

    Wenn man die Minuten hinten ran hängen kann für den Kreis, ist das schon gut. Besser wäre man könnte vordefinierte Minuten auswählen im openhab… Wie z.b. 1-30 als dropdown. Ist sowas umzusetzen? Klar könnte man auch die App von OpenSprinkler nutzen.

    • Hallo Chris,

      die OpenSprinkler API kann noch mehr. Hier ein Link auf die Doku: https://rayshobby.net/docs/os_fw211_api.pdf.

      Ich nutze für die weitere Steuerung den Webview. Geht wunderbar, da muss ich mir keine weiteren Regeln bauen. Im Grund ist es aber wie du schreibst. Definiere dir dir ein Number Item und binde es als Setpoint in die Sitemap ein. Per App hast Du dann die Möglichkeit direkt die Minuten auszuwählen. In der Weboberfläche bietet sich eher ein Mapping mit festen Werten 5, 10, 15 Minuten an. Den Wert musst Du per Regeln dann an das HTTP Request als variable dranhängen.

      Beste Grüße
      Thomas

  3. Hallo Thomas, hast du dir manchmal auch den Status des Regensensors eingebaut? Oder kannst mir sagen, ob dass überhaupt möglich ist? An/aus oder sogar die wie lange bereits aktiv?

  4. Hallo zusammen,

    Ich hatte Glück und konnte für sehr schmalen Taler einen GreenIq ergattern. Dank deiner Anleitung läuft der sprinklers_pi hervorragend.

    Da das ganze ja wohl auch mittels openhab zu Steuern geht, meinst du es gibt auch einen weg für die Steuerung mit Fhem?

    Hinterlasse einen Kommentar

    Smarthome Training and Tutorials
    Logo