Überwachung IPS von CCU

OK. So geht es natürlich auch :wink:

Jetzt wäre es nur noch gut, wenn mann dieses Thema hier umbenennen könnte in „Überwachung IPS von CCU“ oder "Notlaufprogramm wenn IPS Tod"oder so was ähnliches. :wink:

gruß Uwe

Soweit erledigt, wenn Dir noch ein besserer Titel einfällt her damit

Sehr nett… läuft bei mir schon :slight_smile:

Hi Cristian,

danke für die Scrips, einzige Problem war heute Nacht bei der Uhrzeit Umstellung, da passte was nicht. Ich weiß nur noch nicht was. Da meldete die CCU das IPS ausgefallen wäre.

Aber sonst läufts 1a.

Wo ich jetzt noch am überlegen bin, wenn IPS mal aus war, und es wieder läuft, wie bekomme ich alle Systemzustände von zB. Fensterkontakte, wieder Aktuell in der IPS ?

Gruß Uwe

Script über event handler bei IPS Start:

<?

$guid = "{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}";  //guid Homematic

$alleInstanzen = IPS_GetInstanceListByModuleID($guid);

foreach ($alleInstanzen as $InstanzID)
{
   echo IPS_GetName($InstanzID)."
";
	$adresse = HM_GetAddress($InstanzID);
	//echo $adresse."
";
   $alleVariablen = IPS_GetStatusVariableIdents($InstanzID);
   if(sizeof($alleVariablen) > 0){
	   foreach ($alleVariablen as $VariablenName)
   	{
			$VariablenID = IPS_GetStatusVariableID($InstanzID, $VariablenName);
			//echo $VariablenName."
";
			   @HM_RequestStatus($InstanzID, $VariablenName);
			//echo "	".$VariablenID." - ".$VariablenName." - ".GetValue($VariablenID)."   ".HM_RequestStatus($InstanzID, $VariablenName)."
";

	   }
	}
}

?>

Gruß
Tobias

Hi Tobias ,

was macht das Script?

damit bekommst die Zustände der HM-Geräte wieder frisch ins IPS rein beim Neustart von IPS

Aktualisiert alle Homematic IPS Variablen nach Neustart.

Muß ich im Script noch was einstellen ? wie die Adresse der CCU ($guid) ?

Habe es schon gesehen es geht so, ohne weitere Angaben.

Danke für die Hilfe.

gruß Uwe

Jepp, hast du richtig erkannt. Brauchst keine IP eintragen.

Wäre es nicht einfacher, einfach einen Ping von der CCU an den IPS Server zu senden und wenn dieser dann nicht zurückgegeben wird, dann eine Sysvariable in der CCU zu setzen. ggf. dann eine Stromunterbrechung zum IPS Server, damit dieser neu startet???

Kenn mich mit TLC nun soo gar nciht aus, daher fehlen mir hier auch die ansätze…

Guten Morgen!

das mitn ping hätte ich mir auch gedacht, allerdings, wenn der IPS-Dienst abschmieren sollte, ist die IP trotzdem noch erreichbar…
wenn dann müsste man den Port kontrollieren, da hab ich aber nur ein bisschen mit telnet rumprobiert und bin auch zu keinen Ergebnis gekommen…

und so wars ja auch nicht schwer g
bzw. wie meinst du „wäre es nicht einfacher“?

lg,
Christian

Hallo,

die Fragestellung war doch, wie man die Homematic Variablen in IPS aktualisiert wenn IPS 'ne Weile nicht lief. IPS kann ja nicht nur „abschmieren“ sondern auch bewusst ein paar Tage aus sein. Das Problem des abgeschmierten IPS Dienstes löst man besser mit dem Progi IPS Watch Dog von APieroth. Das wurde genau dafür gemacht. Mit 'nem Ping bekomm ich die IPS Variablen ja auch nicht aktuell.

Naja, das IPS mir abgeschmiert ist, liegt nun auch schon sehr lange zurück und läuft seit dem stabil… Wenn dann ist es eher der Server, der nen langen schuh macht…
Wobei der sich auch seit geraumer zeit benimmt… ^^:loveips:

Moin,

bin ziemlich neu hier und weiß damit nicht recht was anzufangen.

Das Script zeigt mir beim ausführen einen Fehler an, aber im Feld unten stehen dann meine ganzen Geräte (die scheinbar von der CCU ausgelesen werden?)

Ich habe das Script so übernommen. Muss ich da die guid der Homematic noch anpassen?

Wie komm ich an die GUID?

Danke und Gruß
Dirk

Hatten wir schon mal. Link.

Jo, habs dann in der Anleitung gefunden und den Script aus der Anleitung mal gestartet. GUID ist die Gleiche wie oben eingetragen.

Aber der Script wird trotzdem als Fehlerhaft angezeigt. Kann aber keinen Fehler endecken…

Oder kann man ihn nicht so starten, sondern muss das vom Event-Handler machen lassen?

Danke und Gruß
Dirk

Ich hab grade auf 2.5 gewechselt und das Testscript gibt mir für dieses StatSkript die Info:

Funktion: IPS_GetStatusVariableIdents, Diese Funktion mit IPS_GetChildrenIDs und IPS_GetObject (ObjectIdent) ersetzen. 

Kann mir jemand einen Tipp geben, wie ich das bewerkstelligen muss?
Ich weiß, es wird erst bei 3.0 relevant aber wenn ich schon mal am Aufräumen bin :slight_smile:

Bei mir sieht das Script aktuell, schon für 3.0 vorbereitet, so aus:

<?
$guid = "{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}";  //guid Homematic
$alleInstanzen = IPS_GetInstanceListByModuleID($guid);

foreach ($alleInstanzen as $InstanzID)
{
   $adresse = HM_GetAddress($InstanzID);
	$alleVariablen = "";
   foreach(IPS_GetChildrenIDs($InstanzID) as $key) {
		$a = IPS_GetObject($key);
		if(!empty($a['ObjectIdent'])) {
			$alleVariablen[] = $a['ObjectIdent'];
		}
	}
	if(is_array($alleVariablen)){
       foreach ($alleVariablen as $VariablenName)
       {
            $VariablenID = IPS_GetObjectIDByIdent($VariablenName, $InstanzID);
            if($VariablenName != "INSTALL_TEST") {
            	@HM_RequestStatus($InstanzID, $VariablenName);
				}
       }
    }
}
?>

Gruß,
Christian.