Anpassgunen an zeitintervallen, hauptmanager auf manager angepasst (achtung nciht updaten muss ncoht fertig werden)

This commit is contained in:
2025-03-14 15:57:56 +01:00
parent ec80612c04
commit f71cb57e7c
14 changed files with 179 additions and 26 deletions

View File

@@ -15,16 +15,19 @@ class Manager extends IPSModule
$this->RegisterPropertyInteger("ManagerID", 0); // Initialisierung mit 0
$this->RegisterPropertyInteger("DatenHoch", 0); // Initialisierung mit 0
$this->RegisterPropertyInteger("DatenZuruck", 0); // Initialisierung mit 0
$this->RegisterPropertyInteger("Interval", 2); // Recheninterval
// Timer registrieren
$this->RegisterTimer("Timer_DistributeEnergy",2000,"IPS_RequestAction(" .$this->InstanceID .', "DistributeEnergy", "");');
// Timer registrieren
$this->RegisterTimer("Timer_DistributeEnergy",$this->ReadPropertyInteger("Interval")*1000,"IPS_RequestAction(" .$this->InstanceID .', "DistributeEnergy", "");');
}
public function ApplyChanges()
{
parent::ApplyChanges();
//Liste aller Verbraucher einlesen
$Verbraucher_Liste = $this->ReadPropertyString("Verbraucher_Liste");
$this->SetTimerInterval("Timer_DistributeEnergy",$this->ReadPropertyInteger("Interval")*1000);
}
public function RequestAction($Ident, $Value)
@@ -146,8 +149,8 @@ class Manager extends IPSModule
}
// Berücksichtigung der bereits verteilten Leistungen (nachher kann dafür wieder bei 0 begonnen werden zu verteilen)
$remainingPower += $totalAktuelle_Leistung;
IPS_LogMessage("Manag nach kalk", $remainingPower);
// Abbrechen wenn es keine gefilterten User gibt
if (empty($filteredVerbraucher)) {
return;
@@ -223,8 +226,8 @@ class Manager extends IPSModule
//$remainingPower -= $entry["Aktuelle_Leistung"];
}
}
IPS_LogMessage("Manag abzug noller", $remainingPower);
// Nun die verteilen, die 0 erhalten können.
$samePriorityUsers = $withZero;