RegisterPropertyFloat("Price",0.23); $this->RegisterPropertyString("Counters",""); $this->RegisterVariableString("htmlOutput", "Zählerübersicht",["PRESENTATION"=> VARIABLE_PRESENTATION_LEGACY, "PROFILE" => "~HTMLBox"],0); } // Überschreibt die intere IPS_ApplyChanges($id) Funktion public function ApplyChanges() { // Diese Zeile nicht löschen parent::ApplyChanges(); $this->checkTable(); } public function RequestAction($Ident, $Value) { $varid = $this->GetIDForIdent($Ident); SetValue($varid, $Value); } public function checkTable(){ $price = $this->ReadPropertyFloat("Price"); $arrString = $this->ReadPropertyString("Counters"); $arr = json_decode($arrString); $dataoutput = ""; /// print_r($arr); foreach($arr as $cnt){ $cost = 0.0; $cost = $cnt->Monthly * $price; $dataoutput .= ' '.$cnt->Name.' '.$cnt->Total.' kWh '.$cnt->Monthly.' kWh '.$cnt->Weekly.' kWh '.$cnt->Daily.' kWh '.$cost.'€ '; } $this->createTable($dataoutput); /* Array ( [0] => stdClass Object ( [Name] => Blub [Total] => 49294 [Monthly] => 49294 [Weekly] => 49294 [Daily] => 49294 [Limit] => 0.1 ) ) (Code: -32603) */ } public function createTable($data) { $htmlprefix =' '; $htmlsuffix = '
Name: Gesamt: Monat: Woche: Tag: Kosten:
'; SetValueString($this->GetIDForIdent("htmlOutput"),$htmlprefix.$data.$htmlsuffix); } } ?>