Wetter Eberstadt
"; #$wetter=""; #$wetter="
+1
°
C
max.:+5
min.:0
Mo
Di
Mi
Do
"; $wetter=\'
+1
°
C
\'; $html_code=\' Dannys PV Anlage

\'.$pv_value.\' kW

\'.$batterie.\'%

\'.$batterie2.\' kW

\'.$netz.\' kW
\'.$haus.\' kW
\'.$energieertrag.\' kW \'.$umsatz.\' \'.$wallbox.\' kW \'.$wallbox2.\' phasig _________ ______________ _______ \'.$wetter.\'
\'; $handle = fopen ($dateiname, "w"); fwrite ($handle, $html_code); fclose ($handle); '; $webansicht_1_script_id=GetOrCreateScript("Webansicht_1" ,$app_cat_id, $script, true ); // Script erzeugen IPS_SetScriptTimer($webansicht_1_script_id,30); $script='Wetter widget html für Homepage\'; $html_code=\' Dannys PV Anlage

\'.$aktueller_monat.\' kWh

\'.$aktuelles_jahr.\' kWh

\'.$lebensdauer.\' kWh

\'.$eigenverbrauch.\' kWh
\'.$energieertrag.\'
\'.$netzeinspeissung.\' kWh \'.$verbrauch_von_pv.\' kWh \'.$verbrauch_gesamt.\' \'.$verbrauch_vom_netz.\' kWh _________
\'; $handle = fopen ($dateiname, "w"); fwrite ($handle, $html_code); fclose ($handle); '; $webansicht_2_script_id=GetOrCreateScript("Webansicht_2" ,$app_cat_id, $script, true ); // Script erzeugen IPS_SetScriptTimer($webansicht_2_script_id,30); $script='Wetter widget html für Homepage\'; $html_code=\' Dannys PV Anlage

\'.$aktuelle_ladekapazitaet.\' kWh

\'.$aktuelle_entladekapazitaet.\' kWh

\'.$batterie.\'%

\'.$batterie2.\' kW
<--__Batterie
\'; $handle = fopen ($dateiname, "w"); fwrite ($handle, $html_code); fclose ($handle); '; $webansicht_3_script_id=GetOrCreateScript("Webansicht_3" ,$app_cat_id, $script, true ); // Script erzeugen IPS_SetScriptTimer($webansicht_3_script_id,30); } function GetOrCreateVariable($name , $vtyp, $ident, $profil, $ascript, $log=false ,$parent,$position,$log_art=false ) // erstellt eine Variable, wenn es noch nicht exestiert // Erstellt eine Variable, Wert 1 = Name , Wert 2 ist der Typ der Variable, Wert 3, Variabel-Ident, Wert 4 Provil, Wert 5 ScriptID , Wert 6 ist die Übergeordnete Instanz, wo die Variable angelegt werden soll { $ObjId = @IPS_GetObjectIDByName($name , $parent); if ($ObjId === false) { $ObjId = IPS_CreateVariable($vtyp); $name; IPS_SetName($ObjId, $name); // Namer vergeben IPS_SetIdent($ObjId, $ident); // ObjectIdent vergeben... IPS_SetParent($ObjId,$parent ); // Variable unter die Instantz verschieben @IPS_SetVariableCustomProfile($ObjId, $profil); // Variable Profil zuordnen @IPS_SetVariableCustomAction($ObjId, $ascript);// Verknüpft das Script mit der Variable als Actionscript if ($log ==true) { // Archive Control ID herrausfinden foreach(IPS_GetInstanceList ( ) as $m_id)// Durchsucht alle Instanzen und gibt die INstanzid an $i_id weiter { $typ=IPS_GetInstance($m_id)['ModuleInfo']['ModuleName']; // Fragt die Instanzen nach den Modulnamen ab.... if ($typ=="Archive Control") $modul_id=$m_id; // Wenn die INstanz den Modulnamen "Archive Control" hat, dann schreibe die ID in $modul_id } $logging=AC_GetLoggingStatus($modul_id,$ObjId); if ($logging != 1) { AC_SetLoggingStatus($modul_id,$ObjId, $log); if ($log_art =="zaehler") { AC_SetAggregationType($modul_id,$ObjId,1); AC_SetCounterIgnoreZeros($modul_id,$ObjId,true); #print "loggingtest"; } IPS_ApplyChanges($modul_id); IPS_LogMessage("ARCHIVE", "CALLED"); }// Ende Logging } IPS_SetPosition($ObjId,$position); } $var_ident=IPS_SetIdent($ObjId, $ident); if ($var_ident ==false) print "Instance ID: $parent , Variabel ID: $ObjId , Variabel Ident: $ident\n"; IPS_SetPosition($ObjId,$position); return $ObjId; } //Ende der Funktion GetOrCreateVariable function variabel_logging($variabl_id, $log_art=false) { // Archive Control ID herrausfinden foreach(IPS_GetInstanceList ( ) as $m_id)// Durchsucht alle Instanzen und gibt die INstanzid an $i_id weiter { $typ=IPS_GetInstance($m_id)['ModuleInfo']['ModuleName']; // Fragt die Instanzen nach den Modulnamen ab.... if ($typ=="Archive Control") $modul_id=$m_id; // Wenn die INstanz den Modulnamen "Archive Control" hat, dann schreibe die ID in $modul_id } $logging=AC_GetLoggingStatus($modul_id,$variabl_id); #if ($logging != 1) #{ AC_SetLoggingStatus($modul_id,$variabl_id, true); if ($log_art =="zaehler") { AC_SetAggregationType($modul_id,$variabl_id,1); AC_SetCounterIgnoreZeros($modul_id,$variabl_id,true); } IPS_ApplyChanges($modul_id); IPS_LogMessage("ARCHIVE", "CALLED"); #}// Ende Logging } function GetOrCreateevent($name, $typ, $id, $scriptid) { $eid = @IPS_GetObjectIDByName($name , $scriptid); if ($eid === false) { $eid = IPS_CreateEvent(0); //Ausgelöstes Ereignis IPS_SetEventTrigger($eid,$typ, $id); // 0 Bei Variablenaktualisierung, 1 Bei Variablenänderung,2 Bei Grenzüberschreitung. Grenzwert wird über IPS_SetEventTriggerValue festgelegt, 3 Bei Grenzunterschreitung, 4 Bei bestimmtem Wert IPS_SetParent($eid, $scriptid); //Ereignis zuordnen IPS_SetName($eid,$name); IPS_SetEventActive($eid, true); //Ereignis aktivieren } return $eid; } function GetOrCreateevent2($name, $typ, $triggervalue,$id, $scriptid) { $eid = @IPS_GetObjectIDByName($name , $scriptid); if ($eid === false) { $eid = IPS_CreateEvent(0); //Ausgelöstes Ereignis IPS_SetEventTrigger($eid,$typ, $id); // 0 Bei Variablenaktualisierung, 1 Bei Variablenänderung,2 Bei Grenzüberschreitung. Grenzwert wird über IPS_SetEventTriggerValue festgelegt, 3 Bei Grenzunterschreitung, 4 Bei bestimmtem Wert IPS_SetParent($eid, $scriptid); //Ereignis zuordnen IPS_SetName($eid,$name); IPS_SetEventActive($eid, true); //Ereignis aktivieren if ($triggervalue !="") IPS_SetEventTriggerValue($eid, $triggervalue); } IPS_SetEventTriggerSubsequentExecution($eid,false); return $eid; } function GetOrCreateInstanz($name , $ityp, $parent ) // erstellt eine Variable, wenn es noch nicht exestiert // Erstellt eine Variable, Wert 1 = Name , Wert 2 ist der Typ der Variable, Wert 3, Variabel-Ident, Wert 4 Provil, Wert 5 ScriptID , Wert 6 ist die Übergeordnete Instanz, wo die Variable angelegt werden soll { $ObjId = @IPS_GetObjectIDByName($name , $parent); if ($ObjId === false) { if ($ityp=="dummy") $ityp='{485D0419-BE97-4548-AA9C-C083EB82E61E}'; $ObjId = IPS_CreateInstance($ityp); IPS_SetName($ObjId, $name); // Namer vergeben IPS_SetParent($ObjId,$parent ); // Variable unter die Instantz verschieben } #$position=instance_pos($name); IPS_SetPosition($ObjId,0); return $ObjId; } //Ende der Funktion GetOrCreateInstanz function GetOrCreateScript($name , $parent, $data, $hidden ) // erstellt ein Script, wenn es noch nicht exestiert // Erstellt ein Script, Wert 1 = Name , Wert 2 ist die Übergeordnete Instanz, wo das Script angelegt werden soll, Wert 3 ist das was ins Script geschrieben wird, Wert 4 ob das Script sicht sein soll (true, false) { $ObjId = @IPS_GetObjectIDByName($name , $parent); if ($ObjId === false) { $ObjId = IPS_CreateScript(0); IPS_SetName($ObjId, $name); IPS_SetScriptContent($ObjId, "$data"); // Der Text was ins Script geschrieben wird IPS_SetHidden($ObjId, $hidden); // Setzt Script auf nicht sichtbar IPS_SetParent($ObjId,$parent ); // Script unter das Parent verschieben } return $ObjId; } //Ende der Funktion GetOrCreateScript function GetorCreateLink($name,$parent,$id, $position) { $LinkID = @IPS_GetObjectIDByName($name , $parent); $linkziel=@IPS_GetLink($LinkID); $linkzielid=@$linkziel[TargetID]; $exziel=IPS_ObjectExists($id); #IPS_SetPosition($LinkID,$position); //Position festlegen if (@$linkzielid != $id or $exziel===false ) @IPS_DeleteLink(@$LinkID); if ($linkzielid != $id && $exziel===true ) { $LinkID = IPS_CreateLink(); // Link anlegen IPS_SetName($LinkID, $name); // Link benennen IPS_SetParent($LinkID, $parent); // Link einsortieren unter dem Objekt mit der ID "12345" IPS_SetLinkTargetID($LinkID, $id); // Link verknüpfen IPS_SetPosition($LinkID,$position); //Position festlegen } IPS_SetPosition($LinkID,$position); //Position festlegen return $LinkID; } function GetorCreatcategory($name,$parent, $position=0, $hidden=false) { $LinkID = @IPS_GetObjectIDByName($name , $parent); if ($LinkID === false) { $LinkID = IPS_CreateCategory(); // Link anlegen IPS_SetName($LinkID, $name); // Link benennen IPS_SetParent($LinkID, $parent); // Link einsortieren unter dem Objekt mit der ID "12345" if ($hidden ===true) IPS_SetHidden($LinkID,true); #$position=room_pos($name); IPS_SetPosition($LinkID,$position); //Position festlegen } #$position=room_pos($name); IPS_SetPosition($LinkID,$position); return $LinkID; } #************************************** Room Position Funktionen ********************************************** function room_pos($room_name) { #include('house_settings.ips.php'); $room_array=explode(" ",$room_name); $room_name1=$room_array[0]; if (isset(${$room_name1."_Category_Position"})===true) $position=${$room_name1."_Category_Position"}; else $position=0; return $position; } function instance_pos($instance_name) { #include('house_settings.ips.php'); $instance_array=explode(" ",$instance_name); $instance_name2=$instance_array[0]; $instance_name1=str_replace(" ","_",$instance_name); if (isset(${$instance_name1."_Position"})===true) $position=${$instance_name1."_Position"}; else if (isset(${$instance_name2."_Position"})===true) $position=${$instance_name2."_Position"}; else { $position=0; #print ("Kein treffer für : ".$instance_name1."_Position \n"); } return $position; } function create_modbusdevice($name, $config,$pv_1_modbus_splitter_id, $profil, $catid,$ident) { $modbusinstanceid = @IPS_GetObjectIDByName($name , $catid); if ($modbusinstanceid === false) { $modbusdevice='{CB197E50-273D-4535-8C91-BB35273E3CA5}'; $modbusinstanceid=IPS_CreateInstance($modbusdevice); IPS_SetName($modbusinstanceid,$name); IPS_SetConfiguration($modbusinstanceid, $config); IPS_SetParent($modbusinstanceid, $catid); IPS_ApplyChanges($modbusinstanceid); $valueid=IPS_GetVariableIDByName("Value",$modbusinstanceid); IPS_SetName($valueid,$name); IPS_SetVariableCustomProfile($valueid,$profil); IPS_DisconnectInstance($modbusinstanceid); IPS_ConnectInstance($modbusinstanceid,$pv_1_modbus_splitter_id); #IPS_SetIdent($valueid,$ident); // Archive Control ID herrausfinden foreach(IPS_GetInstanceList ( ) as $m_id)// Durchsucht alle Instanzen und gibt die INstanzid an $i_id weiter { $typ=IPS_GetInstance($m_id)['ModuleInfo']['ModuleName']; // Fragt die Instanzen nach den Modulnamen ab.... if ($typ=="Archive Control") $modul_id=$m_id; // Wenn die INstanz den Modulnamen "Archive Control" hat, dann schreibe die ID in $modul_id } AC_SetLoggingStatus($modul_id,$valueid,true); AC_SetAggregationType($modul_id,$valueid,1); AC_ReAggregateVariable($modul_id,$valueid); return $modbusinstanceid; } return $modbusinstanceid; }