no message
This commit is contained in:
@@ -70,12 +70,9 @@ class Verbraucher_extern extends IPSModule
|
|||||||
private function berechneKombinationen(array $verbraucherListe)
|
private function berechneKombinationen(array $verbraucherListe)
|
||||||
{
|
{
|
||||||
$kombinationen = [];
|
$kombinationen = [];
|
||||||
IPS_LogMessage("externer verb 1", "1" .print_r($kombinationen));
|
|
||||||
|
|
||||||
foreach ($verbraucherListe as $verbraucher) {
|
foreach ($verbraucherListe as $verbraucher) {
|
||||||
|
|
||||||
if (GetValue($verbraucher['Read_Var']) == 1) {
|
if (GetValue($verbraucher['Read_Var']) == 1) {
|
||||||
IPS_LogMessage("externer verb 2", "2" .print_r($kombinationen));
|
|
||||||
$tempListe = [];
|
$tempListe = [];
|
||||||
if(empty($kombinationen)){
|
if(empty($kombinationen)){
|
||||||
$kombinationen[] = $verbraucher['P_Nenn'];
|
$kombinationen[] = $verbraucher['P_Nenn'];
|
||||||
@@ -85,18 +82,52 @@ class Verbraucher_extern extends IPSModule
|
|||||||
}
|
}
|
||||||
$kombinationen = array_merge($kombinationen, $tempListe);
|
$kombinationen = array_merge($kombinationen, $tempListe);
|
||||||
}
|
}
|
||||||
IPS_LogMessage("externer verb 3", "34" .print_r($kombinationen));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IPS_LogMessage("externer verb 4", "4" . print_r($kombinationen));
|
|
||||||
|
|
||||||
sort($kombinationen);
|
sort($kombinationen);
|
||||||
IPS_LogMessage("externer verb 5", "5" .print_r($kombinationen));
|
|
||||||
|
|
||||||
return array_values(array_unique($kombinationen));
|
return array_values(array_unique($kombinationen));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function find($target, $values, $current, &$result) {
|
||||||
|
if ($target == 0) {
|
||||||
|
$result[] = $current;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($target < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for ($i = 0; $i < count($values); $i++) {
|
||||||
|
$newValues = array_slice($values, $i + 1);
|
||||||
|
find($target - $values[$i], $newValues, array_merge($current, [$values[$i]]), $result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function berechneInverseKombinationen()
|
||||||
|
{
|
||||||
|
$values = json_decode($this->GetValue("PowerSteps"));
|
||||||
|
$result = [];
|
||||||
|
|
||||||
|
$this->find($this->GetValue("Power"), $values, [], $result);
|
||||||
|
|
||||||
|
$verbraucherListe = json_decode($this->ReadPropertyString("Verbraucher_Liste"), true);
|
||||||
|
|
||||||
|
|
||||||
|
$firstCombination = $result[0];
|
||||||
|
|
||||||
|
foreach ($verbraucherListe as &$verbraucher) {
|
||||||
|
if (in_array($verbraucher['P_Nenn'], $firstCombination)) {
|
||||||
|
SetValue($verbraucher['Write_Var'], 1);
|
||||||
|
} else {
|
||||||
|
SetValue($verbraucher['Write_Var'], 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function SetAktuelle_Leistung(float $power) {
|
public function SetAktuelle_Leistung(float $power) {
|
||||||
$this->CheckIdle($power);
|
$this->CheckIdle($power);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user