Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Gesperrt
Benutzeravatar
udo1toni
Beiträge: 13869
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von udo1toni »

Ja, das ist ein bisschen spezieller... Die UoM Schnittstelle ist noch im Fluss, da kann sich von Version zu Version schon mal was ändern.

Schön, dass Du direkt die richtige Idee hattest :)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

bastier
Beiträge: 26
Registriert: 21. Dez 2018 22:55

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von bastier »

Ich habe jetzt schon eine Zeit lang mitgelesen und habe noch eine Frage zu den Anschlüssen/Steuerkabel

Welche Strecke musstet ihr kabelmäßig zurücklegen? Stichwort Spannungsfall.
Ich hätte bei meinem Setup rechnerisch ~2,1V Verlust auf die Strecke. Weiss einer ob die Hunter PGV Ventile damit noch klar kommen? Konnte im Netz erstmal nichts finden.

Mir graut es davor evtl 7x1 durch mein Leerrohr ziehen zu müssen :roll:
Ich hatte Cyrelian dazu auch schon mal angesprochen. Er hat auf über 31m mit einem 5x0.75 keine Probleme.

Graefe
Beiträge: 6
Registriert: 16. Feb 2020 18:31

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von Graefe »

Sehr schönes Projekt!
1) Mangels Wunderground-API habe ich meine Rules für OpenWeathermap (OWM) modifiziert.
Da die 'aktuelle tägliche Niederschlagsmenge' (precipitationDay) bei OWM nicht existiert, sondern nur die 'aktuelle stündliche Niederschlagsmenge', addiere ich letztere jede Stunde mit einem Cron-Job und "generiere" damit RainToday.:

Code: Alles auswählen

rule "Update Gesamtsumme heutigen Regens"
when
   		Time cron "0 30 0/1 ? * * *" //jede Stunde um x:30
then
	if (CurrentRain.state !== null)
	{
		RainToday.postUpdate((RainToday.state as QuantityType<Length>) + (CurrentRain.state as QuantityType<Length>))
	}
    logInfo("rules", "aktuelle Summe heutigen Regens = " + RainToday.state.toString)
end
Wenn diese Summe um 23.59 Uhr nach RainYesterday kopiert wurde, wird RainToday wieder auf 0 gesetzt.

2) Da es die Niederschlagswahrscheinlichkeit in OWM nicht gibt, habe ich diese nochmal kritisch hinterfragt: Du verknüpfst eine Niederschlagswahrscheinlichkeit (minPrecipPercent) von ≥50% und eine Niederschlagsmenge von ≥4mm mit einem logischen 'ODER', um eine Beregnung für 2 Tage zu verschieben. Ist das sinnvoll? Im ungünstigsten Fall würde bereits eine mittlere Wahrscheinlichkeit für einen kurzen 5min-Schauer die Beregnung um 2 Tage verschieben! Nach meine Meinung müsste man die beiden Parameter allenfalls mit 'UND' verknüpfen, um ein gewünschtes Ergebnis zu haben. Oder wird in der prognostizierten Niederschlagsmenge die Wahrscheinlichkeit nicht bereits genügend berücksichtigt?

Graefe
Beiträge: 6
Registriert: 16. Feb 2020 18:31

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von Graefe »

...und wem das stündliche Addieren der aktuellen Regenmenge zu doof ist hier nochmal ein Beispiel für das Einlesen der akkumulierten Tagesregenmenge via "TimeMachine" von DarkSky:

Code: Alles auswählen

rule "Regenakkumulation von gestern via DarkSky"
when
   	Time cron "0 10 0 * * ?" //täglich um 0.10 ausführen
then
    val epoch = now().getMillis() / 1000 - 86400 //Unix Timestamp für den Vortag generieren
    val String url = "https://api.darksky.net/forecast/key/länge,breite," + epoch + "?units=si&lang=de&exclude=currently,flags,minutely,hourly,alerts"
    val rainyesterday_json = sendHttpGetRequest(url) 
    val Number rainyesterday_hour = Float::parseFloat(transform("JSONPATH", "$.daily.data[0].precipIntensity", rainyesterday_json)) //liest die durchschnittliche Regenmenge pro Stunde aus (mm/h)

    val rainyesterday_day = rainyesterday_hour * 24 // Umrechnung auf die akkumulierte Tagesregenmenge (mm/24h)

    logInfo("rules", "hier = " + rainyesterday_hour + "mm/h = " + rainyesterday_day + "mm/d")
end 
Geht codetechnisch vermutlich auch eleganter - aber für mich funktioniert's. Danke @udo1toni für Erläuterungen.

Kaspatoo
Beiträge: 1
Registriert: 2. Apr 2020 16:49

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von Kaspatoo »

Hi,

möchte dies auch nachbauen.
Schön, dass man beim Thema Gartenbewässerung auf dieselben Geräte stößt :)

Tolle Grafik übrigens, habe mich umso mehr gefreut, als ich es selbst nachgezeichnet habe, weil ich es ebenfalls erst gar nicht verstanen habe/glauben wollte, dass meine Zeichnung genauso aussah.

Eine Frage zum Anschluss noch. Laut Hülle verlangt der Sonoff 24V DC. Das bezieht sich aber nur auf den Input für den Versorgungsstrom fürs WLAN und den Schalter? Hier wird ja einfach 230V genutzt.

Die benötigten 24V AC kommen vom Trafo über die Potentialfreien Schaltkontakte (COM) und gehen weiter an die Magnetventile (NO)?



Ggf. noch eine Zusatzfrage:
Ist das Flaschen mittels CP2102 anders handzuhaben als bei einem SonoffBasic? Außer dass GRND und GPIO0 miteinander verbunden werden müssen?
Habe mich bisher nur am Basic angelernt, noch nicht beim CH4Pro.

Danke.

PS: Ganz vergessen zu Fragen:
Ich möchte insgesamt 4x den 4CH Pro verbauen weil insgesamt 16 Magnetventile.

Da wird ein Trafo ggf. nicht mehr ausreichen? Oder doch, wenn ich immer nur ein Ventil zeitgleich steuere?
Wie berechne ich das sonst?

PPS:
Wenn ich es richtig sehe, bietet der Trafo 24VA bei 24V. Also 1A?
Der Anzugsstrom der Magnetventile von Hunter ist mit 400mA angegeben. Also dürften zwei Ventile Zeitgleich pro Trafo kein Problem sein?

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von Cyrelian »

Hi,

ich versuche mal deine Fragen zu beantworten.
Eine Frage zum Anschluss noch. Laut Hülle verlangt der Sonoff 24V DC. Das bezieht sich aber nur auf den Input für den Versorgungsstrom fürs WLAN und den Schalter? Hier wird ja einfach 230V genutzt.
Korrekt, aber da man im Verteilerkasten eh 230v hat, bietet sich das halt an. Wichtig ist aber das man einen PRO verwendet!
Die benötigten 24V AC kommen vom Trafo über die Potentialfreien Schaltkontakte (COM) und gehen weiter an die Magnetventile (NO)?
auch richtig ;)
Ist das Flaschen mittels CP2102 anders handzuhaben als bei einem SonoffBasic? Außer dass GRND und GPIO0 miteinander verbunden werden müssen?
Habe mich bisher nur am Basic angelernt, noch nicht beim CH4Pro.
Die Anleitung hab ich benutzt:
https://github.com/xoseperez/espurna/wi ... H-Pro---R2

Ich möchte insgesamt 4x den 4CH Pro verbauen weil insgesamt 16 Magnetventile.
Da wird ein Trafo ggf. nicht mehr ausreichen? Oder doch, wenn ich immer nur ein Ventil zeitgleich steuere?
Wie berechne ich das sonst?
Wenn ich es richtig sehe, bietet der Trafo 24VA bei 24V. Also 1A?
Der Anzugsstrom der Magnetventile von Hunter ist mit 400mA angegeben. Also dürften zwei Ventile Zeitgleich pro Trafo kein Problem sein?
Die Hunter Magentventile brauchen

Code: Alles auswählen

350 mA Einschaltstrom, 190 mA Haltestrom, 60 Hz
Man kann also bis zu 4 Ventile laufen lassen, wenn man diese nach und nach einschaltet und die 350 mA Einschaltstrom berücksichtigt.
Somit würde ein Trafo reichen.
Die Ventile bitte nicht mit 24V DC betreiben. Das wird zwar anfangs funktionieren, aber auf Dauer raucht euch die Spule ab.
Die Ventile von Rain Bird und Hunter brauchen 24 VAC!

CU
Cyrelian

tweetsofniklas
Beiträge: 1
Registriert: 15. Apr 2020 18:50

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von tweetsofniklas »

Ich bin auch gerade dabei meine Bewässerungsanlage auf den aktuellen Stand zu bringen und werde das auch mit openhab umsetzen und hab dazu noch einige Fragen:

1. Der Sonoff muss über MQTT mit openhab verbunden werden? Das ist hier nicht beschrieben, wie ich sehe?
2. Die wunderground API liefert ja mittlerweile schon länger keine Daten mehr (außer natürlich PWS Besitzer). Kann da einfach auf andere Dienste ausgewichen werden? Einer meiner Vorredner hat die geregnete Menge schon mit OpenWeatherMap abgefragt, aber es braucht doch noch eine ganze Reihe anderer Daten?

Vielleicht könnte mir da jemand weiterhelfen?

Stargate1212
Beiträge: 10
Registriert: 14. Apr 2020 09:25
Answers: 1

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von Stargate1212 »

Vielen lieben Dank an den Ersteller.
Ich habe schon einiges "gelernt" durch dieses Projekt.
Ich habe aber das Problem das ich es unter OpenHab2.5 nicht ans laufen bekomme.
Am meisten habe ich Probleme mit

- "vrainToday = RainToday.state"
Type mismatch: cannot convert from State to Number

- "RainYesterday.postUpdate(RainToday)"
Type mismatch: cannot convert from NumberItem to State

- ".before" in "if (ProgramA_Master_Weather.lastUpdate.before(now.minusDays(maxOffDays)))"
The method before(DateTime) is undefined for the type AbstractInstant

Vielleicht kann jemand ein funktionierendes Projekt mit items/rules/sitemaps und benötigten bindings mal posten.
Das wäre toll. Ganz lieben Dank

Benutzeravatar
udo1toni
Beiträge: 13869
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von udo1toni »

Die Fehler lassen sich normalerweise einfach beseitigen:

Type mismatch: cannot convert from State to Number:

Code: Alles auswählen

vrainToday = RainToday.state as Number
Wobei das auch zu einer Fehlermeldung führen kann, wenn nämlich der Status keine gültige Zahl ist. Also besser

Code: Alles auswählen

vrainToday = if(RainToday.state instanceof Number) RainToday.state as Number else 0
Falls eine gültige Zahl, diese Zahl, ansonsten 0

Type mismatch: cannot convert from NumberItem to State:
Du hast das Schlüsselwort .state vergessen. Korrekt

Code: Alles auswählen

RainYesterday.postUpdate(RainToday.state)
The method before(DateTime) is undefined for the type AbstractInstant:
Es gibt .before nur für joda.time. lastUpdate() liefert aber kein Datum, sondern ein historicItem. Du musst noch ein .date anhängen.

Code: Alles auswählen

if(ProgramA_Master_Weather.lastUpdate.date.isBefore(now.minusDays(maxOffDays)))
Hier ist das von meiner Seite aus aber nur Theorie ;) da ich ein solches Konstrukt bisher nicht verwende.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Stargate1212
Beiträge: 10
Registriert: 14. Apr 2020 09:25
Answers: 1

Re: Automatisch Gartenbewässerung / Beregnung mit openHAB und Sonoff

Beitrag von Stargate1212 »

Vielen Dank.
Das hat mir weiter geholfen. Ein Fehler lag aber am nicht funktionierenden "influxdb". Jetzt habe ich es am laufen. Allerdings mit Wetter von "weatherbit.io". Da bin muß ich aber noch auf schlechtes Wetter warten um die Regenmengen zu testen... :D

neue Frage. Warum muß ich die Sonoff's auf Tasmota flashen? Geht eine Verbindung ohne flashen nicht mit OpenHAB ?

LG Stargate1212

Gesperrt