Ereignis/Script auslösen bei i/o oder Splitter Error

Hallo - über ssh frage ich auf einen 2ten Raspberry, auf diesem ich die homebridge laufen haben, einen Status ab hier mit:


<?

$status = exec('ssh 192.168.178.35 /etc/init.d/homebridge status');
$time = exec('date');

SetValueString(24359 /*[Infos Webfront\Homebridge / Siri Status\Status]*/, $status); 
SetValueString(53117 /*[Infos Webfront\Homebridge / Siri Status\Letzter Refresh]*/, $time);
SetValueFloat(20748 /*[Infos Webfront\Homebridge / Siri Status\Aktionen]*/, 0 );

//Testausgabe
//echo "$status
$time";

?>

Auch kann ich so aus der Symcon raus die homebridge starten/stoppen.
Jetzt wollte ich aus einem Ereignis raus die Bridge starten falls diese mal unter i/o oder splitter Instanzen einen Error hat:


Ein Script mit einem Ereignis starten ist ja kein Ding - nur kann ich auf diese ja kein Ereignis legen…:rolleyes::confused:

PS Ich glaub ich bin auch im Thread falsch gerutscht - kann das auch einer verschieben? :smiley:

Doku lesen:
Event Control — IP-Symcon :: Automatisierungssoftware

Michael

Funktioniert super… Nur löst es jetzt aus wenn es zum Error kommt - und wenn er vom Error zu Ok wechselt.
Mein Start Script wird also 2 mal an geschmissen… Ich würde es ja kurz prüfen:


$test = GetValue(37383 /*[HomeBridge Socket]*/);

 if ($test == ???????)
	{
	exec("ssh 192.168.178.35 /etc/init.d/homebridge start");
	IPS_Sleep(6000);
	IPS_RunScript(59051 /*[Infos Webfront\Homebridge / Siri Status\Aktionen\Refresh]*/);
	IPS_RunScript(19677 /*[EMA - Benachrichtigungen - Alamierung\Homebridge Restart]*/);
	}

…aber weder Socket noch Splitter noch Webclient haben einen Wert?

Andernfalls könnte ich auch vorher noch den „ssh 192.168.178.35 /etc/init.d/homebridge status“ holen und auf Running/Stopped prüfen wenn das mit dem Socket/Splitter/Webclient nicht gehen sollte. :rolleyes:

Grundlagen, Systemvariablen
Systemvariablen — IP-Symcon :: Automatisierungssoftware
Sind sogar extra im EventControl verlinkt!

Also prüfen ob Sender = StatusEvent
Und wenn $_IPS[‚STATUS‘] >= 200 dann ist er in Fehler gegangen.
Michael

Oh Leck - jetzt stand ich etwas auf dem Schlauch :eek::smiley: - aber jetzt hab ich es. Dann muss ich ja noch nen Array zerlegen…
Hab es jetzt so gewurschtelt - funktioniert auch:


$status = exec('ssh 192.168.178.35 /etc/init.d/homebridge status');
$time = exec('date');

IPS_Sleep(2000);

 if ($status == "Stopped")
	{
	exec("ssh 192.168.178.35 /etc/init.d/homebridge start");
	IPS_Sleep(6000);
	IPS_RunScript(59051 /*[Infos Webfront\Homebridge / Siri Status\Aktionen\Refresh]*/);
	IPS_RunScript(19677 /*[EMA - Benachrichtigungen - Alamierung\Homebridge Restart]*/);
	}
 
 
//Testausgabe
//echo "$status
$time";