Die Änderung war ja für das Host Script, habe die da eingebaut und geht dort auch ohne Fehler und schneller, mein Problem mit der Anrufliste besteht aber logischer Weise weiterhin
Oh, stimmt. Da hatte ich eben nicht aufgepasst.
Dann habe ich aktuell keine Idee.
Erfahrungen zu FritzOS 7.0 habe ich nicht.
Allerdings gibt es einiges an neuer Doku von AVM, sollte aber den aktuellen Funktionsumfang nicht beeinträchtigen.
Michael
OK dann werde ich mich noch in Geduld üben müssen
Aber das Script steigt schon in der Funktion
FB_GetABMessageList() aus
bei
$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
bin aber in dem Bereich FB leider überhaupt nicht fit und die FB_SoapAction() habe ich auch noch nicht gefunden
Ist in dem globalen Funktions Script.
Michael
in der FB_SoapAction bei
elseif (is_object($parameter)) $status = @$client->{$action}($parameter);
habe mir dann mal die Variabeln ausgeben lassen
echo "Status
";
echo $status;
echo "Action
";
echo $action;
echo "Parameter
";
print_r($parameter);
Status
SoapFault exception: [HTTP] Error Fetching http headers in C:\IP-Symcon\scripts\50350.ips.php:238
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://192.168....', 'urn:dslforum-or...', 1, 0)
#1 C:\IP-Symcon\scripts\50350.ips.php(238): SoapClient->__call('GetInfo', Array)
#2 C:\IP-Symcon\scripts\55356.ips.php(298): FB_SoapAction(Array, 'GetInfo', Object(SoapParam), 'root', 'geheim')
#3 C:\IP-Symcon\scripts\30975.ips.php(23): FB_GetABMessageList()
#4 {main}Action
GetInfoParameter
SoapParam Object
(
[param_name] => NewIndex
[param_data] => 0
)
ist das normal das IPS bei der Ausgabe Inhalt kürzt ? oder fehlt hier wirklich was bei
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://192.168....', 'urn:dslforum-or...', 1, 0)
IPS kürzt da nix; das macht PHP.
Michael
Das ist doch AA ^^
Wie soll man da vernünftig auf Fehlersuche gehen
Die Parameter für TR 64 scheinen aber zumindest noch zu passen
<serviceType>urn:dslforum-org:service:X_AVM-DE_TAM:1</serviceType>
<serviceId>urn:X_AVM-DE_TAM-com:serviceId:X_AVM-DE_TAM1</serviceId>
<controlURL>/upnp/control/x_tam</controlURL>
<eventSubURL>/upnp/control/x_tam</eventSubURL><SCPDURL>/x_tamSCPD.xml</SCPDURL>
und
<?xml version="1.0"?>
<scpd xmlns="urn:dslforum-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>GetInfo</name>
<argumentList>
<argument>
<name>NewIndex</name>
<direction>in</direction>
<relatedStateVariable>Index</relatedStateVariable>
</argument>
<argument>
<name>NewEnable</name>
<direction>out</direction>
<relatedStateVariable>Enable</relatedStateVariable>
</argument>
<argument>
<name>NewName</name>
<direction>out</direction>
<relatedStateVariable>Name</relatedStateVariable>
</argument>
<argument>
<name>NewTAMRunning</name>
<direction>out</direction>
<relatedStateVariable>TAMRunning</relatedStateVariable>
</argument>
<argument>
<name>NewStick</name>
<direction>out</direction>
<relatedStateVariable>Stick</relatedStateVariable>
</argument>
<argument>
<name>NewStatus</name>
<direction>out</direction>
<relatedStateVariable>Status</relatedStateVariable>
</argument>
<argument>
<name>NewCapacity</name>
<direction>out</direction>
<relatedStateVariable>Capacity</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetEnable</name>
<argumentList>
<argument>
<name>NewIndex</name>
<direction>in</direction>
<relatedStateVariable>Index</relatedStateVariable>
</argument>
<argument>
<name>NewEnable</name>
<direction>in</direction>
<relatedStateVariable>Enable</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetMessageList</name>
<argumentList>
<argument>
<name>NewIndex</name>
<direction>in</direction>
<relatedStateVariable>Index</relatedStateVariable>
</argument>
<argument>
<name>NewURL</name>
<direction>out</direction>
<relatedStateVariable>URL</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>MarkMessage</name>
<argumentList>
<argument>
<name>NewIndex</name>
<direction>in</direction>
<relatedStateVariable>Index</relatedStateVariable>
</argument>
<argument>
<name>NewMessageIndex</name>
<direction>in</direction>
<relatedStateVariable>MessageIndex</relatedStateVariable>
</argument>
<argument>
<name>NewMarkedAsRead</name>
<direction>in</direction>
<relatedStateVariable>MarkedAsRead</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>DeleteMessage</name>
<argumentList>
<argument>
<name>NewIndex</name>
<direction>in</direction>
<relatedStateVariable>Index</relatedStateVariable>
</argument>
<argument>
<name>NewMessageIndex</name>
<direction>in</direction>
<relatedStateVariable>MessageIndex</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetList</name>
<argumentList>
<argument>
<name>NewTAMList</name>
<direction>out</direction>
<relatedStateVariable>TAMList</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>Enable</name>
<dataType>boolean</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>Index</name>
<dataType>ui2</dataType>
<defaultValue>0</defaultValue>
<allowedValueRange>
<minimum>0</minimum>
<maximum>4</maximum>
<step>1</step>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>Name</name>
<dataType>string</dataType>
<defaultValue></defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>TAMRunning</name>
<dataType>boolean</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>Stick</name>
<dataType>ui2</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>Status</name>
<dataType>ui2</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>Capacity</name>
<dataType>ui4</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>MessageIndex</name>
<dataType>ui2</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>URL</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>MarkedAsRead</name>
<dataType>boolean</dataType>
<defaultValue>1</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>TAMList</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>
für den Rest müsste ich mich einlesen aber da fehlt mir irgendwie die Zeit zu
Gibt ein vier PHP Funktionen um die letzte Anfrage und Antwort genauer zu betrachten:
public string __getLastRequest( void )
public string__getLastRequestHeaders ( void)
public string__getLastResponse ( void )
public string__getLastResponseHeaders ( void )
Michael
OK das hilft weiter
Testcode
$client = new SoapClient(null,$service);
for ($i=0;$i<2000;$i++)
{
if (IPS_SemaphoreEnter("FB_".(string)34174 /*[FritzBox Project\Config\User-Config]*/,1))
{
if ($parameter <> null)
{
if (is_array($parameter)) $status = @$client->__soapCall($action,$parameter);
elseif (is_object($parameter)) $status = @$client->{$action}($parameter);
}
else $status = @$client->{$action}();
IPS_SemaphoreLeave("FB_".(string)34174 /*[FritzBox Project\Config\User-Config]*/);
$i=-1;
echo "Status
";
echo $status;
echo "
Action
";
echo $action;
echo "
Parameter
";
print_r($parameter);
echo "
__getLastRequestHeaders:
" . $client->__getLastRequestHeaders() . "
";
echo "__getLastResponse:
" . $client->__getLastResponse() . "
";
echo "__getLastRequest:
" . $client->__getLastRequest() . "
";
echo "__getLastResponseHeaders:
" . $client->__getLastResponseHeaders() . "
";
break;
} else {
IPS_Sleep(mt_rand(1,5));
}
}
Ausgabe
Status
SoapFault exception: [HTTP] Error Fetching http headers in C:\IP-Symcon\scripts\50350.ips.php:238
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://192.168....', 'urn:dslforum-or...', 1, 0)
#1 C:\IP-Symcon\scripts\50350.ips.php(238): SoapClient->__call('GetInfo', Array)
#2 C:\IP-Symcon\scripts\55356.ips.php(313): FB_SoapAction(Array, 'GetInfo', Object(SoapParam), 'root', 'strengGeheim')
#3 C:\IP-Symcon\scripts\30975.ips.php(23): FB_GetABMessageList()
#4 {main}
Action
GetInfo
Parameter
SoapParam Object
(
[param_name] => NewIndex
[param_data] => 0
)
__getLastRequestHeaders:
POST /upnp/control/x_tam HTTP/1.1
Host: 192.168.178.1:49000
Connection: close
User-Agent: PHP-SOAP/7.2.5
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:dslforum-org:service:X_AVM-DE_TAM:1#GetInfo"
Content-Length: 514
Authorization: Digest username="root", realm="HTTPS Access", nonce="D8A768D81E494CCB", uri="/upnp/control/x_tam", qop="auth", nc="00000001", cnonce="086ee1eb", response="d7c84d17e77a3b198102957acd3f45b8", algorithm="MD5"
__getLastResponse:
__getLastRequest:
0
__getLastResponseHeaders:
HTTP/1.1 401 Unauthorized
Connection: keep-alive
Content-Length: 170
Content-Type: text/html
Pragma: no-cache
Server: Webserver
WWW-Authenticate: Digest realm="HTTPS Access",nonce="D8A768D81E494CCB",algorithm=MD5,qop="auth"
Da fehlen irgendwie die Zugriffsrechte: HTTP/1.1 401 Unauthorized
habe auch schon versucht direkt die userdaten hier einzugeben
$service[‚login‘];
$service[‚password‘];
aber auch ohne Erfolg
So ich habe es gefixed, Anruferliste und AB Liste werden wieder ausgelesen.
Das Ganze ist natürlich jetzt nicht die Goldrandlösung aber k.A. warum das mit der eingebauten Funktion nicht funktioniert, fehlt mir auch die Zeit und Lust dazu dem nach zu gehen
Ich poste hier einmal die komplette Datei wo man dann seine IDs tauschen muss und dann die Änderungen nochmal im Detail, hoffe das ich dann dabei nichts vergesse
Es gibt Fundstellen mehrfach, einfach von oben nach unten abarbeiten
Aktions & Auslese-Script Anrufbeantworter
Hier die komplette Datei, bitte die IDs an eure Installation anpassen
neues habe ich wie auch schon der andere User mit //NEW gekennzeichnet,wenn es geändert wurde dann wurde der originalcode auskommentiert und darunter der neue eingefügt
<?
##### Project Exporter Comment: Script Version Stand 11.03.2018 19:29 #####
################################################################################
## Zugriff auf diese Script-Funktionen
##
## Lesen der Stati und generieren der Tabelle triggern:
## IPS_RunScript(<ID von diesem Script>);
##
## ACHTUNG NICHT IN JEDER FIRMWARE VERFÜGBAR
## Anrufbeantworter ein-/ausschalten und Stati rücklesen (Tabellen werden nicht erneuert!)
## IPS_RunScriptEx(<ID von diesem Script>,array('SENDER'=>'RequestAction','IDENT'=>'TAM0','VALUE'=>true));
## Parameter: IDENT = TAM0 bis TAM4, VALUE = true / false für an / aus
################################################################################
$ret = include(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(20065 /*[FritzBox Project\Scripte\MultiRunLocker]*/ ));
if ($ret === false) return;
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(34174 /*[FritzBox Project\Config\User-Config]*/ ));
if (!FB_TamList) return;
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(50350 /*[FritzBox Project\Scripte\Global-Funktionen]*/ ));
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(40691 /*[FritzBox Project\Config\Anrufbeantworter-Config]*/ ));
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(55356 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche]*/ ));
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(59498 /*[FritzBox Project\Scripte\Tabellen-Funktionen]*/ ));
$ident = FB_GetIdent("/upnp/control/x_tam");
$parent = FB_GetOrCreateDummy($ident,'Anrufbeantworter');
$service['location'] = "http://".FB_HOST.":".FB_PORT."/upnp/control/x_tam";
$service['uri'] = "urn:dslforum-org:service:X_AVM-DE_TAM:1";
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_tam",
'uri' => "urn:dslforum-org:service:X_AVM-DE_TAM:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
switch ($_IPS['SENDER'])
{
case "RequestAction":
$_IPS['VARIABLE'] = @IPS_GetObjectIDByIdent($_IPS['IDENT'],$parent);
if ($_IPS['VARIABLE'] == 0)
{
echo "IDENT ".$_IPS['IDENT']." nicht bekannt.";
return;
}
case "WebFront":
$param = array();
if (!isset($_IPS['IDENT']))
{
$_IPS['IDENT'] =IPS_GetObject($_IPS['VARIABLE'])['ObjectIdent'];
}
switch ($_IPS['IDENT'])
{
case "TAM0":
$index = 0;
break;
case "TAM1":
$index = 1;
break;
case "TAM2":
$index = 2;
break;
case "TAM3":
$index = 3;
break;
case "TAM4":
$index = 4;
break;
default:
echo "IDENT ".$_IPS['IDENT']." nicht bekannt.";
return;
break;
}
$param = array(
new SoapParam((int)$index,"NewIndex"),
new SoapParam((int)$_IPS['VALUE'],"NewEnable")
);
$action="SetEnable";
$Result = FB_SoapAction($service,$action, $param,FB_USER,FB_PASS);
if ($Result === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error WRITE of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error WRITE of ".$service['location']."->".$action);
return;
}
// SetValueBoolean($_IPS['VARIABLE'],$_IPS['VALUE']);
return;
break;
}
$searchFailed = array(); // Alle nicht gefunden Nummern hier rein.
for ($i=0;$i<5;$i++)
{
$action="GetInfo";
//$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetInfo = $client->GetInfo(new SoapParam($i, 'NewIndex'));
if ($GetInfo === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
continue;
}
if ($GetInfo["NewName"] == "") continue;
UpdateIPSvar($parent,'TAM'.$i,$GetInfo['NewEnable'],0,true,($i*2)+1,(int)$_IPS['SELF'],'~Switch',FB_GetIdent($GetInfo["NewName"]));
if (($_IPS['SENDER']=="RequestAction") or ($_IPS['SENDER']=="WebFront")) continue; // Ab hier nur wenn Sender nicht auch geschaltet hatte.
if (!FB_TamList_Tabelle) continue; // Ab hier nur wenn Tabelle aktiv
$action ="GetMessageList";
//$GetMessageList = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetMessageList = $client->GetMessageList(new SoapParam($i, 'NewIndex'));
if ($GetMessageList === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
continue;
}
$URL = FB_NOSLL($GetMessageList);
$xml = @simplexml_load_file($URL);
if ($xml === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Fehler beim laden der AB_Nachrichten.".PHP_EOL;
else IPS_LogMessage("FritzBox","Fehler beim laden der AB_Nachrichten.");
continue;
}
$Anrufliste = new simpleXMLElement($xml->asXML());
// Header
$HTMLData ='<script type="text/javascript" src="user/fritz/ttips/wz_tooltip.js"></script>';
$HTMLData.=FB_GetTableHeader($Config);
// Liste erzeugen. Start festlegen
$pos=0;
foreach ($Anrufliste->Message as $Message)
{
$Message->addChild("PopupData"); // PopupData -Eintrag erzeugen
if ((int)$Message->{"New"} == 1)
{
$Message->Type= "1";
$Message->PopupData = "?path=".urlencode((string)$Message->Path)."&tam=".(string)$Message->Tam."&index=".(string)$Message->Index."&action=mark";// URL-Anpassen
}
else
{
$Message->Type= "2";
$Message->PopupData = "?path=".urlencode((string)$Message->Path)."&tam=".(string)$Message->Tam."&index=".(string)$Message->Index;// URL-Anpassen
}
if ((int)$Message->Inbook == 0) // Namen suchen ?
{
if (($Config['SucheType'] == 0) || (in_array((string)$Message->Number, $searchFailed))) // Suche abgeschaltet oder num wurde schon gesucht und nicht gefunden
{
$Message->Name = ($Config['FBNameBeiUnbekannt'] ? (string)$Message->Name : $Config['Unbekannt']);
} else {
$result = FB_InversSuche((string)$Message->Number, $Config['SucheType']);
if ($result == false)
{
$searchFailed[] =(string)$Message->Number;
$Message->Name = ($Config['FBNameBeiUnbekannt'] ? (string)$Message->Name : $Config['Unbekannt']);
} else {
$result = FB_TextAbschneiden($result, $Config['LimitName']); // Text abschneiden
switch((int)$Config['SucheMarker'])
{
case 0: $Message->Name = $result; break;
case 1: $Message->Name = '(*) '.$result; break;
case 2: $Message->Name = $result.' (*)'; break;
case 3: $Message->Name = FB_GetImage($Config['Symbole'],"SEARCHHIT").' '.$result; break;
case 4: $Message->Name = $result.' '.FB_GetImage($Config['Symbole'],"SEARCHHIT"); break;
}
}
}
} else { // Name vorhanden nur kürzen
$Message->Name = FB_TextAbschneiden($Message->Name, $Config['LimitName']);
}
// Namen bearbeiten
if (strlen((string)$Message->Number) == 0) $Message->Number = (string)$Message->Name; // Wenn Nummer leer ist, den Eintrag vom Namen aus der FB übernehmen (bei deutscher FritzBox = unbekannt)
// Datum bearbeiten
if ($Config['DatumMaskieren'])
{
$parts = preg_split('/[ .:]/', (string)$Message->Date);
$datum = mktime(0, 0, 1, (int)$parts[1], (int)$parts[0], (int)$parts[2]);
$heute = mktime(0, 0, 0);
$gestern = $heute - 86400;
if ($datum > $heute) {
$parts[5] = 'Heute - ';
} elseif ($datum > $gestern) {
$parts[5] = 'Gestern - ';
} else {
$parts[5] = date('d.m.y ', $datum);
}
$Message->Date = $parts[5].$parts[3].':'.$parts[4];
}
// ICON festlegen
$Message->addChild("Icon");
(string)$Message->Icon = FB_GetImage($Config['Symbole'],$icons[(int)$Message->Type],'id="img'.(string)$Message->Tam.'_'.(string)$Message->Index.'"');
// AB festlegen
$Message->addChild("AB");
$Message->AB='<div id="div'.(string)$Message->Tam.'_'.(string)$Message->Index.'"><div>'
.FB_GetImage($Config['Symbole'],'AB_START',"onclick=\"Tip('<iframe src=\'".$Popup_URL.(string)$Message->PopupData."&key=\' width=\'130px\' height=\'70px\' frameborder=\'0\' scrolling=\'no\'>');\"") //, FOLLOWSCROLL, false)\"")
.'</div></div>';
$Message->Name = utf8_decode($Message->Name);
$HTMLData .='<tr style="'.$Config['Style']['BR'.($pos % 2 ? 'U':'G')].'">';
foreach($Config['Spalten'] as $feldIndex => $value)
{
$HTMLData .= '<td style="'.$Config['Style']['DF'.($pos % 2 ? 'U':'G').$feldIndex].'">'.(string)$Message->{$feldIndex}.'</td>';
}
$HTMLData .= '</tr>'.PHP_EOL;
$pos++;
if($pos >= $Config['Anzahl']) break;
}
$HTMLData .= FB_GetTableFooter();
UpdateIPSvar($parent,'Anrufbeantworterliste'.FB_GetIdent($GetInfo["NewName"]),$HTMLData,3,true, ($i*2)+2,0,'~HTMLBox','Sprachbox '.$GetInfo["NewName"]);
}
if (FB_TamList_Tabelle and $Config['DatumMaskieren'])
{
$timer = @IPS_GetObjectIDByIdent("MidnightTimer",$_IPS['SELF']);
if ($timer === false)
{
$timer = IPS_CreateEvent(1);
IPS_SetIdent($timer,"MidnightTimer");
IPS_SetName($timer,"MidnightTimer");
IPS_SetParent($timer,$_IPS['SELF']);
}
IPS_SetEventCyclic($timer,2,1,0,0,0,0);
IPS_SetEventCyclicTimeFrom($timer,0,3,30);
IPS_SetEventActive($timer,true);
}
?>
Alternativ falls ihr lieber alles selber ändern wollt
suche nach:
$service['uri'] = "urn:dslforum-org:service:X_AVM-DE_TAM:1";
füge darunter das ein
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_tam",
'uri' => "urn:dslforum-org:service:X_AVM-DE_TAM:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
suche nach
$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
und ersetze es durch
//$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetInfo = $client->GetInfo(new SoapParam($i, 'NewIndex'));
suche nach
$GetMessageList = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
und ersetze es durch
//$GetMessageList = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetMessageList = $client->GetMessageList(new SoapParam($i, 'NewIndex'));
Telefonbuch & AB-Abfrage & Invers-Suche
Hier die komplette Datei, bitte die IDs an eure Installation anpassen
neues habe ich wie auch schon der andere User mit //NEW gekennzeichnet,wenn es geändert wurde dann wurde der originalcode auskommentiert und darunter der neue eingefügt
<?
##### Project Exporter Comment: Script Version Stand 11.03.2018 19:29 #####
################################################################################
## INCLUDE-SCRIPT
##
## Keine direkte Verwendung !
##
################################################################################
## Fon-Geräte lesen
function FB_GetPhoneDevice($id)
{
global $FB_Fons;
if (!is_numeric($id)) return $id;
// ID der Cachevariable ermitteln
if (!IPS_SemaphoreEnter('39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/', 2000)) return false; // Und ende... beim nächsten mal mehr Glück...
$data = GetValueString(39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/ );
IPS_SemaphoreLeave('39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/'); // Jetzt noch die Semaphore zurückgeben
// und deserialisieren
$result = @unserialize($data);
if (($result === FALSE) or (!isset($result[(int)$id]))) // Fehler oder nicht vorhanden
{
if (isset($FB_Fons[(int)$id])) return $FB_Fons[(int)$id]; // Rückfallebene
return 'unbekannt';
}
// fertig, das Array mit den cache-daten an den Aufrufer zurückliefern
return $result[(int)$id];
}
function FB_SetPhoneDevice($data)
{
if (!IPS_SemaphoreEnter('39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/', 2000)) return false; // Und ende... beim nächsten mal mehr Glück...
$olddata = GetValueString(39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/ );
// und deserialisieren
if (($result = @unserialize($olddata))===false) $result = array();
foreach ($data as $id => $name)
{
$result[(int)$id] = $name;
}
SetValueString(39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/,serialize($result));
IPS_SemaphoreLeave('39276 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\Device-Cache]*/'); // Jetzt noch die Semaphore zurückgeben
}
## Telefonbuch FritzBox
function FB_LoadAllPhonebooks()
{
if (!FB_FonBook) return false;
$service['uri'] = 'urn:dslforum-org:service:X_AVM-DE_OnTel:1';
$service['location'] ='http://'.FB_HOST.':'.FB_PORT.'/upnp/control/x_contact';
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact",
'uri' => "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
$action="GetPhonebookList";
//$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
$result = $client->GetPhonebookList();
if ($result === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
return false;
}
$indexes = @explode(',',$result);
$action="GetPhonebook";
$PhoneBooks = array();
$TargetDir = IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.FB_FonBook_Directory;
if (!is_dir($TargetDir)) @mkdir($TargetDir);
$Target = $TargetDir.DIRECTORY_SEPARATOR.FB_FonBook_Filename;
foreach ($indexes as $index)
{
$param = new SoapParam((integer)$index,"NewPhonebookID");
//$result = FB_SoapAction($service,$action,$param,FB_USER,FB_PASS);
$result = $client->GetPhonebook(new SoapParam((integer)$index, 'NewPhonebookID'));
if ($result === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
continue;
}
if(!@copy($result['NewPhonebookURL'],$Target.$index.'.xml'))
{
$errors= error_get_last();
if ($_IPS['SENDER'] == "WebFront") echo "Error (".$errors['message'].") COPY of ".$result['NewPhonebookURL']." -> ".$Target.$index.".xml".PHP_EOL;
else IPS_LogMessage("FritzBox","Error (".$errors['message'].") COPY of ".$result['NewPhonebookURL']." -> ".$Target.$index.".xml");
continue;
}
}
return true;
}
function FB_GetPhoneBooks()
{
if (!FB_FonBook) return array();
$service['uri'] = 'urn:dslforum-org:service:X_AVM-DE_OnTel:1';
$service['location'] ='http://'.FB_HOST.':'.FB_PORT.'/upnp/control/x_contact';
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact",
'uri' => "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
$action="GetPhonebookList";
//$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
$result = $client->GetPhonebookList();
if ($result === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
return false;
}
$indexes = @explode(',',$result);
$TargetDir = IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.FB_FonBook_Directory;
if (!is_dir($TargetDir)) @mkdir($TargetDir);
$PhoneBookData = array();
foreach ($indexes as $index)
{
$Target = $TargetDir.DIRECTORY_SEPARATOR.FB_FonBook_Filename.$index.'.xml';
if (!is_file($Target))
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of FILE ".$Target.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of FILE ".$Target);
continue;
}
$xml = @simplexml_load_file($Target);
if ($xml === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Fehler beim laden des Telefonbuches (".$index.").".PHP_EOL;
else IPS_LogMessage("FritzBox","Fehler beim laden des Telefonbuches (".$index.").");
continue;
}
$PhoneBookData[(integer)$index] = new simpleXMLElement($xml->asXML());
}
return $PhoneBookData;
}
function FB_SearchPhoneBookByNumber($Number)
{
if (!FB_FonBook) return false;
$PhoneBookData = FB_GetPhoneBooks();
$Name = false;
foreach ($PhoneBookData as $XMLPhoneBook)
{
$Contact = $XMLPhoneBook->xpath("//contact[telephony/number ='".$Number."']");
if (sizeof($Contact) <> 0)
{
try
{
$Name = (string)$Contact[0]->person->realName;
}
catch (Exception $exc)
{
$Name = false;
}
}
}
return $Name;
}
## Tel-Search-ch
function FB_QueryTelSearchCh($Rufnummer)
{
$record = false;
$pageurl = "http://tel.search.ch/?tel=$Rufnummer";
$wsdata = @Sys_GetURLContent($pageurl);
if ($wsdata === false)
{
// WriteLogMessage(WARNING, 'Datei: '.__file__.' Zeile: '.__line__, 'Timeout bei Abruf der Webseite '.$pageurl);
} else {
$data = str_replace(array(CRLF, LF), ' ', $wsdata);
if (preg_match('/class="fn">(.*?)<\/a>.*class="adrgroup street-address">(.*) ([0-9]+[0-9a-zA-Z]*)'.
'<\/span>.*class="postal-code">(.*?)<\/span>.*class="locality">(.*?)<\/span>/', $data, $result))
{
$record =html_entity_decode(trim($result[1]));
}
}
return $record;
}
## Das Örtliche
function FB_QueryDasOertlicheDe($Rufnummer)
{
$record = false;
$url = "http://www.dasoertliche.de/Controller?form_name=search_inv&ph=$Rufnummer";
# Create a DOM parser object
$dom = new DOMDocument();
# Parse the HTML from klicktel
# The @ before the method call suppresses any warnings that
# loadHTMLFile might throw because of invalid HTML or URL.
@$dom->loadHTMLFile($url);
if ($dom->documentURI == null)
{
// WriteLogMessage(WARNING, 'Datei: '.__file__.' Zeile: '.__line__, 'Timeout bei Abrufen der Webseite '.$url);
return false; // DOH! nix geladen zurück
}
$finder = new DomXPath($dom);
$classname="hit clearfix ";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), '$classname')]");
if ($nodes->length == 0) return false;
$cNode = $nodes->item(0); //div left
if ($cNode->nodeName != 'div') return false;
if (!$cNode->hasChildNodes()) return false;
$ahref = $cNode->childNodes->item(1); // a href
if (!$ahref->hasChildNodes()) return false;
foreach ($ahref->childNodes as $div)
{
if ($div->nodeName == "a" ) break;
}
$record = trim($div->nodeValue);
return $record;
}
## KlickTel
function FB_QueryKlickTelApi ($Rufnummer)
{
$record = false;
if (!FB_KlicktelApi) return false;
$Data = file_get_contents("http://openapi.klicktel.de/searchapi/invers?key=".FB_KlicktelApiKey."&number=$Rufnummer");
if($Data) $Json = json_decode($Data);
if (isset($Json->response->results[0]->entries[0]->displayname))
$record = $Json->response->results[0]->entries[0]->displayname;
return $record;
}
// Führt eine Cache-unterstützte Suche nach der Rufnummer durch
function FB_InversSuche($Rufnummer, $modus)
{
// Daten aus dem Suchcache laden
$cacheData = FB_GetCacheData();
if (substr($Rufnummer,0,1) <> '0') $Rufnummer = FB_Vorwahl.$Rufnummer;
// Ergebnisrecord mit false vorbelegen
$Name = false;
if (FB_KlicktelApi) $modus =2;
// Suchcache checken, ob ein Eintrag passend zur Rufnummer vorhanden ist
if (isset($cacheData[$Rufnummer]))
{ // Treffer im Cache, Daten holen und rück zum Aufrufer springen
$Name = $cacheData[$Rufnummer]['Name'];
if ($cacheData[$Rufnummer]['Expire'] < time()) $Name = false; // Zeit abgelaufen neu holen.
}
// Wenn im Cache kein Treffer gefunden wurde, das Telefonbuch der Box fragen.
if ($Name === false)
{
$Name =FB_SearchPhoneBookByNumber($Rufnummer);
// Wenn wir jetzt einen Treffer haben, muss der noch in den Cache...
if ($Name !== false) FB_AddRecordToCache($Rufnummer, $Name);
}
// Wenn noch immer kein Treffer, eine Websuchmaschine befragen
if ($Name === false)
{
switch ($modus)
{
case 1: $Name = FB_QueryDasOertlicheDe($Rufnummer); break;
case 2: $Name = FB_QueryKlickTelApi($Rufnummer); break;
case 3: $Name = FB_QueryTelSearchCh($Rufnummer); break;
}
// Wenn wir jetzt einen Treffer haben, muss der noch in den Cache...
if ($Name !== false) FB_AddRecordToCache($Rufnummer, $Name);
}
// So, jetzt sind wird fertig, zurück zum Aufrufer...
return $Name;
}
# Cache Data lesen
function FB_GetCacheData()
{
// ID der Cachevariable ermitteln
if (!IPS_SemaphoreEnter('49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/', 2000)) return false; // Und ende... beim nächsten mal mehr Glück...
$data = GetValueString(49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/ );
IPS_SemaphoreLeave('49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/'); // Jetzt noch die Semaphore zurückgeben
// und deserialisieren
if (($result = @unserialize($data)) === FALSE)
{
$result = array();
}
// fertig, das Array mit den cache-daten an den Aufrufer zurückliefern
return $result;
}
# Schreibe Daten in Cache
function FB_AddRecordToCache($Rufnummer, $Name)
{
if (!IPS_SemaphoreEnter('49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/', 2000)) return false; // Und ende... beim nächsten mal mehr Glück...
$data = GetValueString(49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/);
if (($cache = @unserialize($data)) === FALSE) $cache = array();
// Jetzt den neuen Eintrag in $data vornehmen
$cache[$Rufnummer] = array('Expire' => (time() + FB_FonCache_Timeout), 'Name' => $Name);
// Das ganze wieder serialisieren und in die Variable zurückschreiben
$data = serialize($cache);
SetValueString(49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/, $data);
IPS_SemaphoreLeave('49955 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche\InversSuche-Cache]*/'); // Jetzt noch die Semaphore zurückgeben
return true;
}
function FB_NOSLL ($URL)
{
return str_replace(array("https://",":49443"),array("http://",":".FB_PORT),$URL); // bitte ohne SSL
}
function FB_GetABMessageList()
{
$service['location'] = "http://".FB_HOST.":".FB_PORT."/upnp/control/x_tam";
$service['uri'] = "urn:dslforum-org:service:X_AVM-DE_TAM:1";
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_tam",
'uri' => "urn:dslforum-org:service:X_AVM-DE_TAM:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
for ($i=0;$i<5;$i++)
{
$action = 'GetInfo';
//$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetInfo = $client->GetInfo(new SoapParam($i, 'NewIndex'));
if ($GetInfo === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error AB Function READ of ".$service['location']."->".$action);
return false;
}
if ($GetInfo["NewName"] <> "")
{
$action ="GetMessageList";
//$GetMessageList = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetMessageList = $client->GetMessageList(new SoapParam($i, 'NewIndex'));
//echo $GetMessageList;
if ($GetMessageList === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
return false;
}
$URL = FB_NOSLL($GetMessageList);
$xml = @simplexml_load_file($URL);
if ($xml === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Fehler beim laden der AB_Nachrichten.".PHP_EOL;
else IPS_LogMessage("FritzBox","Fehler beim laden der AB_Nachrichten.");
return false;
}
$xml = new simpleXMLElement($xml->asXML());
$AB_Data[40+$i]=$xml;
}
}
return $AB_Data;
}
function FB_GetCallList()
{
$service['location'] = "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact";
$service['uri'] = "urn:dslforum-org:service:X_AVM-DE_OnTel:1";
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact",
'uri' => "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
$action = 'GetCallList';
//$GetCallList = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
$GetCallList = $client->GetCallList();
if ($GetCallList === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Error READ of ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","Error READ of ".$service['location']."->".$action);
return false;
}
$URL = FB_NOSLL($GetCallList);
// stream_context_set_default(array('http' => array('timeout' => 2)));
$xml = @simplexml_load_file($URL);
if ($xml === false)
{
if ($_IPS['SENDER'] == "WebFront") echo "Fehler beim laden der Anrufliste.".PHP_EOL;
else IPS_LogMessage("FritzBox","Fehler beim laden der Anrufliste.");
return false;
}
$xml = new simpleXMLElement($xml->asXML());
return $xml;
}
function FB_GetNumberXpath ($Nummern,$Fax)
{
if ( count($Nummern) == 0) return "";
if ($Fax <> 0) $Fax=" or Port='".$Fax."'";
else $Fax ="";
$XPath="[Called='".implode("' or Called='",$Nummern)."'".$Fax."]";
return $XPath;
}
function FB_GetTypeXpath ($Type)
{
if ( count($Type) == 0) return "";
$XPath="[Type='".implode("' or Type='",$Type)."']";
return $XPath;
}
if ($_IPS['SELF'] == 55356 /*[FritzBox Project\Scripte\Telefonbuch & AB-Abfrage & Invers-Suche]*/)
{
echo "Dieses Script kann nicht direkt ausgeführt werden!";
}
?>
Alternativ falls ihr lieber alles selber ändern wollt
Es gibt Fundstellen mehrfach, einfach von oben nach unten abarbeiten
suche nach:
$service['location'] ='http://'.FB_HOST.':'.FB_PORT.'/upnp/control/x_contact';
füge darunter das ein
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact",
'uri' => "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
suche nach
$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
und ersetze es durch
//$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
$result = $client->GetPhonebookList();
suche nach
$result = FB_SoapAction($service,$action,$param,FB_USER,FB_PASS);
und ersetze es durch
//$result = FB_SoapAction($service,$action,$param,FB_USER,FB_PASS);
$result = $client->GetPhonebook(new SoapParam((integer)$index, 'NewPhonebookID'));
suche nach
$service['location'] ='http://'.FB_HOST.':'.FB_PORT.'/upnp/control/x_contact';
und füge darunter das ein
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact",
'uri' => "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
suche nach
$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
und ersetze es durch
//$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
$result = $client->GetPhonebookList();
suche nach
$service['uri'] = "urn:dslforum-org:service:X_AVM-DE_TAM:1";
und füge darunter das ein
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_tam",
'uri' => "urn:dslforum-org:service:X_AVM-DE_TAM:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
suche nach
$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
und ersetze es durch
//$GetInfo = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetInfo = $client->GetInfo(new SoapParam($i, 'NewIndex'));
suche nach
$GetMessageList = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
und ersetze es durch
//$GetMessageList = FB_SoapAction($service,$action,new SoapParam($i,"NewIndex"),FB_USER,FB_PASS);
$GetMessageList = $client->GetMessageList(new SoapParam($i, 'NewIndex'));
suche nach
$service['uri'] = "urn:dslforum-org:service:X_AVM-DE_OnTel:1";
und füge darunter das ein
//NEW
$client = new SoapClient(
null,
array(
'location' => "http://".FB_HOST.":".FB_PORT."/upnp/control/x_contact",
'uri' => "urn:dslforum-org:service:X_AVM-DE_OnTel:1",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
//NEW
suche nach
$GetCallList = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
und ersetze es durch
//$GetCallList = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
$GetCallList = $client->GetCallList();
Ich hoffe ich habe nichts vergessen
Vergebt mir, sicherlich habe ich einfach nur etwas übersehen …
Script aus v1.09 in ein script in IPS gepackt.
WFC_TagrteID angepasst
Gespeichert
Run
dann kommt folgender Fehler:
Fatal error: Uncaught Error: Call to undefined function ExtFile_ebfrontuserfritzbeginpng() in /var/lib/symcon/scripts/23239.ips.php:216 Stack trace: #0 /var/lib/symcon/scripts/23239.ips.php(51): createExportFiles(Array) #1 {main} thrown in /var/lib/symcon/scripts/23239.ips.php on line 216
bin für jeden Tip Dankbar …
Das selbe bei mir!!
Hat einer eine Idee???
also ist das Problem die (Web Console) und mit der Legacy geht es?
HI, ich habe trotz der Anpassung im Script immer noch einige Fehler im LOG
10.10.2018 18:12:20*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_storage->GetInfo
10.10.2018 18:12:20*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_webdav->GetInfo
10.10.2018 18:12:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_upnp->GetInfo
10.10.2018 18:16:20*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_myfritz->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_webdav->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_remote->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_upnp->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/x_storage->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/lanhostconfigmgm->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/wlanconfig1->GetInfo
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/wanipconnection1->GetPortMappingNumberOfEntries
10.10.2018 18:16:21*| FritzBox*| Error READ of http://192.168.178.1:49000/upnp/control/wlanconfig3->GetInfo
Grüße
cerberusde
Bei mir auch, allerdings nur auf einer 7490. Bei der 7590 mit gleicher Firmware habe ich die Fehler nicht.
Hy alle zusammen,ich komme leider keinen schritt weiter.
Fritzbox Einstellungen wurden gemacht. Laut Anleitung soll ja nur in Zeile 25 die ID des WFC eingetragen werden.
Danch kommt folgende Fehlermeldung :
atal error: Uncaught Error: Call to undefined function AusleseScriptHardwareInformationen11475 /[Hardware\FritzBox Project\Scripte\Auslese-Script Hardware Informationen]/() in /var/lib/symcon/scripts/31077.ips.php:649 Stack trace: #0 /var/lib/symcon/scripts/31077.ips.php(375): Objekteanlegen(Array) #1 /var/lib/symcon/scripts/31077.ips.php(386): createObjectsTree(Array) #2 /var/lib/symcon/scripts/31077.ips.php(386): createObjectsTree(Array) #3 /var/lib/symcon/scripts/31077.ips.php(103): createObjectsTree(Array) #4 {main} thrown in /var/lib/symcon/scripts/31077.ips.php on line 649
Abort Processing during Fatal-Error: Uncaught Error: Call to undefined function AusleseScriptHardwareInformationen11475 /[Hardware\FritzBox Project\Scripte\Auslese-Script Hardware Informationen]/() in /var/lib/symcon/scripts/31077.ips.php:649 Stack trace: #0 /var/lib/symcon/scripts/31077.ips.php(375): Objekteanlegen(Array) #1 /var/lib/symcon/scripts/31077.ips.php(386): createObjectsTree(Array) #2 /var/lib/symcon/scripts/31077.ips.php(386): createObjectsTree(Array) #3 /var/lib/symcon/scripts/31077.ips.php(103): createObjectsTree(Array) #4 {main} thrown Error in Script /var/lib/symcon/scripts/31077.ips.php on Line 649
Kann mir da einer weiter helfen.
Fritzbox 7490 aktuelle Firmware.
Grüße
Jörg
Siehe Post 602 und auch 653 und…
Also einfach bitte die Suchfunktion benutzen
Michael
Glaube mir, ich habe die Suchfunktion benutzt.
Aber für einen Neuling ist dies alles schwer zu verstehen. Auf Posts zu verweisen, ist nur hilfreich wenn dieser Post auch zu verstehen ist (Legacy Console) etc… Deshalb ist nicht nett und erst recht nicht hilfreich.
Vielleicht hätte ich dazu schreiben sollen, das ich IPS 5 auf einem Raspberry laufen habe und mit einem Mac arbeite.
Soweit ich es verstanden habe, kann ich mit dieser Kombi nicht mit der Legacy Console arbeiten.
Also ist das Fritz Box Projekt nicht für mich / jeden nutzbar???
Hi
Doch, kannst du
Lade dir mal das installstionspaket für Mac runter.
Da ist die Konsole und der Server drin.
Damit sollte es dann gehen.
Gesendet von iPhone mit Tapatalk