Fragen zu Include

Hallo Gemeinde,

ich hab mir ein Skript geschrieben, dass dafür sorgt, dass meine HM Geräte mit 5 Versuchen angesteuert werden weil ich immer mal wieder Probleme mit dem sauberen Schalten hatte, wenn viel Funkverkehr herrscht.

Das Ganze sieht so aus:

<?
   IPSUtils_Include ("IPSLogger.inc.php", "IPSLibrary::app::core::IPSLogger");

	function SetMHStatusOn($Name, $Unit)
	{
	   SetHMStatus($Name, $Unit, true);
	}

	function SetMHStatusOff($Name, $Unit)
	{
	   SetHMStatus($Name, $Unit, false);
	}

	function SetHMStatus($Name, $Unit, $Wert)
	{
		$Parent = IPS_GetParent($Unit);
		$i = 5;
		while ($i > 0)
		{
		   if (GetValue($Unit) != $Wert)
		   {
		      IPSLogger_Dbg (__file__, "Restversuche ".$Name.": ".$i);
				@HM_WriteValueBoolean($Parent, "STATE" , $Wert);
			}

			if (GetValue($Unit) == $Wert)
			{
				$i = 0;
			}
			else
			{
			   $i = $i-1;
			}
		}
	   if (GetValue($Unit) != $Wert)
	   {
			IPSLogger_Err(__file__, $Name." konnte nicht geschaltet werden!");
	   }
	}

?>

Das Problem ist, dass ich zwar die Funktion ‚SetHMStatus($Name, $Unit, $Wert)‘ aus den Skripten wo ich das verwende aufrufen kann, nicht aber die Funktionen ‚SetMHStatusOn($Name, $Unit)‘ und ‚SetMHStatusOff($Name, $Unit)‘. Und zwar endet das Ganze in einem „Call to undefined function SetMHStatusOff() in…“

Mache ich das grundsätzlich falsch? Muss ich die Funktionen irgendwo registrieren?

Liegt es vielleicht an deinem MH HM dreher?

paresy

Oh man, das glaub ich jetzt nicht, wie blind kann man sein :slight_smile:

Mach dir nichts draus… Das sind die besten Fehler an denen man immer ewig sucht :smiley:

paresy

Ist nur ein Tippfehler und kein „Millennium-Bug“ … passiert;)