Add IP checking functionality and improve Create method in AwtrixSettings

This commit is contained in:
jhartworks
2026-03-02 12:46:29 +01:00
parent 1d55d7eaa2
commit 5b5e28ee50
+31 -2
View File
@@ -9,7 +9,7 @@ class AwtrixSettings extends IPSModule {
public function Create() {
$this->RegisterAttributeString('Settings','');
$this->RegisterAttributeInteger('State',0);
$this->RegisterPropertyString('AwtrixIp','172.78.88.67');
$this->RegisterPropertyBoolean('TIM',true);
@@ -248,8 +248,10 @@ class AwtrixSettings extends IPSModule {
"frost"*/
// Diese Zeile nicht löschen.
$this->UpdateConfig();
$this->RegisterTimer("Update", 0, 'AWSET_UpdateConfig('.$this->InstanceID.');');
$this->SetTimerInterval("Update", 10 * 1000);
@@ -415,6 +417,7 @@ class AwtrixSettings extends IPSModule {
}
public function UpdateConfig() {
if ($this->CheckIP()) {
$awtrixIp = $this->ReadPropertyString("AwtrixIp");
$url="http://{$awtrixIp}/api/settings";
@@ -483,7 +486,7 @@ class AwtrixSettings extends IPSModule {
//$this->WriteAttributeString('Settings',$data);
}
}
@@ -519,6 +522,32 @@ class AwtrixSettings extends IPSModule {
}
public function CheckIP() {
// Discord webhook URL
$awtrixIp = $this->ReadPropertyString("AwtrixIp");
$url="http://{$awtrixIp}/api/stats";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPGET, true);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if (!curl_errno($ch)) {
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($http_code == 200) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
?>