IPSWatering - eine Bewässerungssteuerung

jop, funktioniert :slight_smile:

Hallo…

ich habe IPSWatering seit einer Woche im Einsatz und muss sagen … es funktioniert :loveips: … vielen Dank an den Entwickler !!!

Ich habe jedoch noch eine Frage, die ich mit meinen Kenntnisses bisher nicht lösen konnte:

Ich setze für die Bewässerung einen 4-Fach Hutschinen-Aktor (Funk) von HomeMatic ein. Diesem Aktor kann man mit dem Einschlatbefehl auch eine Einschaltdauer mitgeben.
Bei IPSWatering wird jedoch - nach meinem Kenntnisstand - das Ein- und Ausschalten von IPS selbst gesteuert. … Was passiert nun, wenn die Gartenbewässerung gerade läuft und IPS aussteigt … dann habe ich bald einen See im Garten … :D.

Daher meine Frage:
Kann man IPSWatering veranlassen die ON_Time mit an den Aktor zu senden. So würde dieser unabhängig von IPS ausschalten?

…danke …

Hallo,

versuch mal diesen Code als Callback Methode, es wird die ON_TIME des Aktors auf die eingestellte Zeit + 1 Minute gesetzt.


	function IPSWatering_BeforeActivateWatering($CycleId ,$Value, $Mode) {
	   if ($Value) {
			$WaterConfig      = get_WateringConfiguration();
			$CycleIdent       = IPS_GetName($CycleId);
			$ComponentParams  = $WaterConfig[$CycleIdent][c_Property_Component];
			$ComponentParams  = explode(',',$ComponentParams);
			$DeviceId         = (int)$ComponentParams[1];
			$DurationMin      = GetValue(get_ControlId(c_Control_Duration, $CycleId));
			$DurationSec      = 60*$DurationMin+60;
			HM_WriteValueFloat($DeviceId, "ON_TIME",  $DurationSec);  
		}
		return true;
	}

Ich hätte eine Frage.

Wäre es möglich, pro Kreis eine Art Kalenderfunktion auf Wochenbasis zu integrieren.

Ich hab z.b. 6 Kreise und würde mir wünschen, wenn ich z.b. Kreis 1 immer am Montag, Kreis 2 Dienstags usw. einschalten zu können.

So ist das auch bei meinem alten Bewässerungscomputer möglich.
Mit der momentanen Implementation (alle 2 Tage, alle 3 Tage usw.) kommt es irgendwann dazu, dass 2 Kreise gleichzeitig laufen…
Ich hab dabei das Problem, dass das mein Brunnen nicht schafft.

@Brownson

… danke für die schnelle Hilfe …

Nachdem ich Deine Callback Methode eingerichtet habe springt die WORKING-Variable des HomeMatic Aktors auf true, sobald der jeweilige Circle eingeschaltet wird. Es scheint zu funktionieren. :loveips:

Gruß

Swifty

Hallo…

nachdem ich dank Brownsons Arbeit mein Problem mit der ON_Time der HomeMatic Aktoren lösen konnte, stieß ich auf ein weiteres „Problem“:

Die HomeMatic Aktoren meiner Gartenbewässerungssteuerung habe ich auch mit einem HomeMatic Handsender direkt verknüpft (im Garten ist das kleine Ding halt viel praktischer als ein Android-Handy :D). Sobald ich die Bewässerung eines Kreises mit dem Handsender aktiviere, schaltet zwar der Aktor und der Regner beginnt zu arbeiten … in IPSWatering wird jedoch diese Aktion nicht angezeigt; d.h. laut Webfront ist der jeweilige Regner noch immer aus.

Zur Lösung habe ich folgendes Script geschrieben, welches von den jeweiligen STATE-Variablen der entsprechenden Aktoren der Bewässerungskreise getiggert wird:

<?
IPSUtils_Include ("IPSWatering.inc.php",                 "IPSLibrary::app::modules::IPSWatering");
If ($_IPS['SENDER']=="Variable")
	{
	$Value=$_IPS['VALUE'];
	$ID=$_IPS['VARIABLE'];

	$WaterConfig      = get_WateringConfiguration();
	$categoryId_Circels = IPSUtil_ObjectIDByPath('Program.IPSLibrary.data.modules.IPSWatering.WaterCircles');
	$CircleIds = IPS_GetChildrenIds($categoryId_Circels);

	foreach ($CircleIds as $CircleId)
		{
	   $CircleIdent = IPS_GetName($CircleId);
		$ComponentParams = $WaterConfig[$CircleIdent][c_Property_Component];
		$ComponentParams = explode(',',$ComponentParams);
		$DeviceId = (int)$ComponentParams[1];

		If (IPS_GetParent($ID)==$DeviceId)
		   {
	       IPSWatering_SetActive(get_ControlId(c_Control_Active, $CircleId),$Value,c_Mode_StartManual);
			}

		}
	}

?>

Bei mir funktionierts… :smiley: … sobald ich die Bewässerung eines Kreises mittels Handsender aktiviere, registriert IPSWatering die Veränderung der STATUS-Varuiable des entsprechenden Aktors und behandelt die Angelegenheit im Prinzip wie eine manuelle Aktivierung über das Webfront. Da ich von PHP nur Grundkenntnisse besitze und IPS-Watering für mich doch sehr komplex ist, hoffe ich, dass ich mit dem obigen Script keine Nebenwirkungen erziele.

@gdfde

hab mal alle Wochentage in die Programm Auswahl hinzugefügt. Update liegt auf meinem Developer Repository.

hab jetzt mal die letzten Erweiterungen über die Callback Methoden im Eröffnungs Post zusammengefasst:

Nützen der ON_TIME bei Homematic um das Ausschalten der Ventile sicherzustellen
Ein- und Ausschalten der Wasserzufuhr zu den Bewässerungskreisen
Manuelle Ansteuerung der Ventile mit der Steuerung synchronisieren

Funktioniert super, danke für den Update :slight_smile:

Hallo zusammen,

alles funktioniert wunderbar bei mir! Vielen Dank für die Arbeit. Ich habe gerade meine Gardena- Anlage verlegt… nie wieder… so eine Höllen Arbeit :slight_smile:

Webfront funktioniert wunderbar. Nur leider bekomme ich auf meinem iPhone bei jedem „Tastendruck“ (z.B. Regner an oder aus) die Meldung „Resultat“ in einem kleinen Fenster. Dann geht der Regner auch an, aber die Statusmeldung bleibt auf aus. Wenn ich dann eine Ebene in der Menüstruktur aufwärts gehe, und dann wieder zurück, hat sich der Status ordnungsgemäß aktualisiert.
Hat jemand eine Lösung, oder einen Ansatz für das Problem?

Liebe Grüße
Lieschen

das mit dem leeren Result Fenster ist mir auch schon aufgefallen…

IMG_0365.jpg

IMG_0370.jpg

Genau das meine ich. Danke für die ergänzende Bildschirmkopie!
Sonst ist alles super!

Hallo Leute,

in IPSUtils.inc.php hat sich am Ende ein Zeilenvorschub eingeschlichen, einfach entfernen, werde in Kürze auch ein Update zur Verfügung stellen…

Hallo, liebe Community,

irgendwie steh ich glaub aufn Schlauch :slight_smile:

diese Fehlermeldung kommt immer bei dem Install-Script :frowning:

vll. kann mir da jemand auf die Sprünge helfen — vielen Dank schon mal.

Gruß

My :smiley:

IPSModuleManager-Log-IPSModuleManager 2012-05-01 16:27:59.60 Created Link Beregnungs Dauer=55467
IPSModuleManager-Log-IPSModuleManager 2012-05-01 16:27:59.62 Created Link Start Zeit=53959
IPSModuleManager-Log-IPSModuleManager 2012-05-01 16:27:59.64 Created Link Rasen Osten groß=12424
Abort Processing during Error: Ident darf nur aus Buchstaben und Zahlen bestehen
Error in Script C:\IP-Symcon\scripts\IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php on Line 42

Hallo Brownson,

könntest du das mit der Entfernung des Zeilenvorschubes bitte ein klein wenig genauer für uns „Dummys“ erklären. Am besten mit einem Bild vom Skript und der zu entfernenden Zeile.
Besten Dank im Voraus
Lieschen

Nachtrag:
Bitte auch erklären wo ich die „IPSUtils.inc.php“ finde.
Danke nochmal :slight_smile:

Ist wirklich schwierig zu finden, musste auch kurz suchen :cool:

Program - IPSLibrary - app - core - IPSUtils

Gruß
Bruno

Hoppala… da war sie auch nicht… ich finde sie einfach nicht…

In dem Verzeichnis ist sie leider nicht. Wirklich nicht :eck:

Lieschen

Suchst Du auf der Festplatte oder in IPS ?

In IPS… ups… HiHI… wer soll denn das nun wieder wissen :slight_smile:
Habe es auf der Pladde gefunden.
Und was genau muss ich da jetzt entfernen?