Morgen!
Habe mir eine 4040 zugelegt, wird diese auch unterstützt?
Aktuelle Firmware 7.10 (19.04.2019)
Danke und lg
Christian
Morgen!
Habe mir eine 4040 zugelegt, wird diese auch unterstützt?
Aktuelle Firmware 7.10 (19.04.2019)
Danke und lg
Christian
Werden die Fehlerzähler/CRC bei DSL aktuell auch schon ausgelesen ? Kann zumindest dazu nichts finden
EDIT: zumindest in der API gibt es die Option
Habe es jetzt selber umgesetzt, aber k.a. warum das mit Deinen Klassen/Methoden nicht geht, habe deswegen ein FallBack eingebaut, evtl kannst Du es ja übernehmen bzw anpassen so das es mit Deiner Lösung funktioniert.
Falls einer von den Usern das nutzen möchte, ihr müsst die 3 ID bei IPS_GetScriptFile an eure IDs anpassen
<?
##### Project Exporter Comment: Script Version Stand 11.03.2018 19:29 #####
################################################################################
## Zugriff auf diese Script-Funktionen
##
## Lesen der Parameter vom DSL-Modem:
## IPS_RunScript(<ID von diesem Script>);
##
################################################################################
$ret = include(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(20065 ));
if ($ret === false) return;
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(34174 ));
require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.IPS_GetScriptFile(50350 ));
$fbroot ='http://'.FB_HOST.':'.FB_PORT; // Adresse + Port (immer 49000)
$desc = "igddesc.xml"; // Hier sind die Infos über die Dienste enthalten
$SCPD = "igddslSCPD.xml"; // Hier sind die Infos über die Funktionen und Parameter/Variablen enthalten, sowie die Definition der Variablen Typen.
$ident = FB_GetIdent("/upnp/control/wandslifconfig1"); // WANDSLInterfaceConfig1 wandslifconfig1
$parent = FB_GetOrCreateDummy($ident,'DSL-Modem-CRC-Fehler');
$service = FB_getServiceData($fbroot,$desc,$SCPD);
$action = "GetStatisticsTotal"; // Diese Funktion soll ausgeführt werden
$result = FB_SoapAction($service,$action,null,FB_USER,FB_PASS);
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);
// FallBackMode
// k.A. warum die andere Variante nicht funktioniert
$client4CRC = new SoapClient(null,array('location' => $fbroot . "/upnp/control/wandslifconfig1",
'uri' => "urn:dslforum-org:service:WANDSLInterfaceConfig:1",
'soapaction' => "urn:dslforum-org:service:WANDSLInterfaceConfig:1#GetStatisticsTotal",
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
$status4CRC = $client4CRC->GetStatisticsTotal();
if(is_array($status4CRC)){
//print_r($status4CRC);
//echo "
Start Update";
UpdateIPSvar($parent,'NewReceiveBlocks', $status4CRC['NewReceiveBlocks'], 1,true,1,0,'','NewReceiveBlocks');
UpdateIPSvar($parent,'NewTransmitBlocks', $status4CRC['NewTransmitBlocks'], 1,true,2,0,'','NewTransmitBlocks');
UpdateIPSvar($parent,'NewCellDelin', $status4CRC['NewCellDelin'], 1,true,3,0,'','NewCellDelin');
UpdateIPSvar($parent,'NewLinkRetrain', $status4CRC['NewLinkRetrain'], 1,true,4,0,'','NewLinkRetrain');
UpdateIPSvar($parent,'NewInitErrors', $status4CRC['NewInitErrors'], 1,true,5,0,'','NewInitErrors');
UpdateIPSvar($parent,'NewInitTimeouts', $status4CRC['NewInitTimeouts'], 1,true,6,0,'','NewInitTimeouts');
UpdateIPSvar($parent,'NewLossOfFraming', $status4CRC['NewLossOfFraming'], 1,true,7,0,'','NewLossOfFraming');
UpdateIPSvar($parent,'NewErroredSecs', $status4CRC['NewErroredSecs'], 1,true,8,0,'','NewErroredSecs');
UpdateIPSvar($parent,'NewSeverelyErroredSecs', $status4CRC['NewSeverelyErroredSecs'], 1,true,9,0,'','NewSeverelyErroredSecs');
UpdateIPSvar($parent,'NewFECErrors', $status4CRC['NewFECErrors'], 1,true,10,0,'','NewFECErrors');
UpdateIPSvar($parent,'NewATUCFECErrors', $status4CRC['NewATUCFECErrors'], 1,true,11,0,'','NewATUCFECErrors');
UpdateIPSvar($parent,'NewHECErrors', $status4CRC['NewHECErrors'], 1,true,12,0,'','NewHECErrors');
UpdateIPSvar($parent,'NewATUCHECErrors', $status4CRC['NewATUCHECErrors'], 1,true,13,0,'','NewATUCHECErrors');
UpdateIPSvar($parent,'NewCRCErrors', $status4CRC['NewCRCErrors'], 1,true,14,0,'','NewCRCErrors');
UpdateIPSvar($parent,'NewATUCCRCErrors', $status4CRC['NewATUCCRCErrors'], 1,true,15,0,'','NewATUCCRCErrors');
if ($_IPS['SENDER'] == "WebFront") echo "FallBack Method used for ".$service['location']."->".$action.PHP_EOL;
else IPS_LogMessage("FritzBox","FallBack Method used for ".$service['location']."->".$action);
}
} else {
/*
echo "
Test NewCRCErrors: " . $result['NewCRCErrors'];
echo "
Test NewATUCCRCErrors: " . $result['NewATUCCRCErrors'];
echo "
Test NewATUCHECErrors: " . $result['NewATUCHECErrors'];
*/
UpdateIPSvar($parent,'NewReceiveBlocks', $result['NewReceiveBlocks'], 1,true,1,0,'','NewReceiveBlocks');
UpdateIPSvar($parent,'NewTransmitBlocks', $result['NewTransmitBlocks'], 1,true,2,0,'','NewTransmitBlocks');
UpdateIPSvar($parent,'NewCellDelin', $result['NewCellDelin'], 1,true,3,0,'','NewCellDelin');
UpdateIPSvar($parent,'NewLinkRetrain', $result['NewLinkRetrain'], 1,true,4,0,'','NewLinkRetrain');
UpdateIPSvar($parent,'NewInitErrors', $result['NewInitErrors'], 1,true,5,0,'','NewInitErrors');
UpdateIPSvar($parent,'NewInitTimeouts', $result['NewInitTimeouts'], 1,true,6,0,'','NewInitTimeouts');
UpdateIPSvar($parent,'NewLossOfFraming', $result['NewLossOfFraming'], 1,true,7,0,'','NewLossOfFraming');
UpdateIPSvar($parent,'NewErroredSecs', $result['NewErroredSecs'], 1,true,8,0,'','NewErroredSecs');
UpdateIPSvar($parent,'NewSeverelyErroredSecs', $result['NewSeverelyErroredSecs'], 1,true,9,0,'','NewSeverelyErroredSecs');
UpdateIPSvar($parent,'NewFECErrors', $result['NewFECErrors'], 1,true,10,0,'','NewFECErrors');
UpdateIPSvar($parent,'NewATUCFECErrors', $result['NewATUCFECErrors'], 1,true,11,0,'','NewATUCFECErrors');
UpdateIPSvar($parent,'NewHECErrors', $result['NewHECErrors'], 1,true,12,0,'','NewHECErrors');
UpdateIPSvar($parent,'NewATUCHECErrors', $result['NewATUCHECErrors'], 1,true,13,0,'','NewATUCHECErrors');
UpdateIPSvar($parent,'NewCRCErrors', $result['NewCRCErrors'], 1,true,14,0,'','NewCRCErrors');
UpdateIPSvar($parent,'NewATUCCRCErrors', $result['NewATUCCRCErrors'], 1,true,15,0,'','NewATUCCRCErrors');
}
?>
Hallo zusammen,
hat jemand von euch das Script mit einer FritzBox 6590 ( Kabel-Box ) laufen ?
Ich habe den Eindruck, da einige Daten nicht ständig aktualisiert werden, die Anrufliste funktioniert leider garnicht
Moin,
also die Anrufliste geht bei meiner jetzt neuen 6591
Allerdings habe ich den Rest noch nicht weiter getestet, geschweige den Zeit für das Script gefunden.
Aktuell liegen die Prioritäten leider wo anders.
Aufgrund der auch teilweise unterschiedlichen Geräten, werde ich vermutlich doch anfangen hieraus eine Sammlung von PHP-Modulen zu bauen. Ideen zur Realisierung habe ich schon, auch einige Schwierigkeiten / Probleme welche ich immer als Grund gegen so eine Umsetzung hatte, sind mit den aktuellen IPS Versionen kein Thema mehr.
Aber… einen Zeitplan werde ich hier nennen. Man braucht ja nicht noch mehr Druck in seiner Freizeit
Michael
Moin Michael,
da sind wir HIER ja sehr gespannt
Gruß
Hans
Hallo zusammen,
bei mir ist etwas merkwürdig. Wenn ich den Gastzugang der Fritzbox 7490 über IPS aktiviere kommt das
der Gastzgang wird aber aktiviert aber nicht angezeigt und ein QR-Code kommt auch nicht.
Ob es an IPS 5.1 liegt weiß ich nicht. Ich habe vor kurzem gewechselt. Soweit funktioniert aber alles.
Hat das auch schon jemand festgestellt oder kann mir jemand sagen woran das liegen könnte?
Viele Grüße
Thomas
Interessantes Verhalten auf unterschiedlichen Betriebssystemene:
Mein IPS läuft normalerweise auf einer VMWare mit Ubuntu Linux.
Dort habe ich das Problem, das beim FritzBox Script z.b die Anruferliste nicht angezeigt ( und vermuttlich auch nicht von der FB ausgelesen wird )
Jetzt ist mein VMWare-Rechner wegen Hardwaredefekt offline und ich hab zum weiteren Konfigurieren das letzte Backup auf meine Apple MacBook eingespielt und siehe da, die Anruferliste wird angezeigt.
Was läuft hier anders ?
Hi,
vorweg eine Warnung: Meine IPS-Kenntnisse liegen, wenn überhaupt schon, im sehr tiefen zweistelligen Prozentbereich und meine Soap-Kenntnisse eher bei 0 oder tiefer.
Ich habe eine 7490 (Repeater) mit OS 7.11 und die Scripte laufen ohne Probleme und Fehler. Mein Router ist eine 7590 mit OS 7.10 und es gab jede Menge der Fehler „Error READ of“.
Der Fallback von Nisbo hat mir zu denken gegeben. Ich habe seinen Fallback leicht angepasst und für meine 7590 in FB_SoapAction eingebaut:
$client = new SoapClient(null,array('location' => $service['location'],
'uri' => $service['uri'],
'soapaction' => $service['uri']."#".$action,
'noroot' => True,
'login' => FB_USER,
'password' => FB_PASS
)
);
// $client = new SoapClient(null,$service);
etwa bei Zeile 230 vom Script GLOBAL-FUNKTIONEN und seitdem keine Fehler bei der 7590 mehr und Variablen werden schön aktualisiert.
Habe ich da vielleicht unwissend Mist gebaut? Vielleicht könnte jemand mit Ahnung etwas dazu sagen:-)
Ralf
Sehr gut,
mit deiner Änderung funktioniert nun auch die Anruferliste unter Linux mit einer FB6590
Danke dafür
Hallo Zusammen. Ich bin mir sicher… irgendwo hier im Forum steckt bereits die Antwort… ich kann sie nur nicht finden.
Ich verwende drei Fritzbox (7390) als WLAN-AccessPoints (KG, EG, OG) und möchte auf diesen in der Nacht von IPS aus das WLAN deaktiveren und morgens automatisch wieder aktivieren.
GELÖST:
Die Funktionalität steckt bereits im Fritzbox-Projekt. Im Config-File muss man dazu die Bedienbarkeit auf true setzen
// FritzBox WLan WebFront-Funktionen
define ('FB_WLAN_24_SWITCH',true); // true = WLAN darf über das WebFront ein & ausgeschaltet werden. false = darf nicht.
define ('FB_WLAN_5_SWITCH',true);
define ('FB_WLAN_G_SWITCH',true);
Damit ist die Bedienbarkeit vorhanden. Für die Zeitsteuerung ist dann noch ein zusätzliches Skript nötig. Sobald ich das habe poste ich es noch.
PROBLEM:
Das Skript gestaltet sich etwas schwieriger wie ich dachte. Man muss das „Aktions & Auslese-Script WLAN“ dazu mit nutzen und das muss man wohl anpassen, dass es nicht nur aus dem Webfront ausgeführt werden kann… und man muss die ID des WLAN kennen und übergeben.
Hat das schon jemand mal gelöst?
### MAIN ###
switch ($_IPS['SENDER'])
{
case "RequestAction":
$wlan_id = constant($_IPS['IDENT']);
case "WebFront":
if (!isset($wlan_id)) $wlan_id=substr(IPS_GetObject(IPS_GetParent($_IPS['VARIABLE']))['ObjectIdent'],-1);
FB_SetWLan($wlan_id,$_IPS['VALUE']);
if (defined("FB_WLAN_G") and (FB_WLAN_G <> $wlan_id)) FB_GetWLan ($wlan_id);
elseif (!defined("FB_WLAN_G")) FB_GetWLan ($wlan_id);
break;
case "RunScript":
case "Execute":
case "TimerEvent":
if (defined("FB_WLAN_5"))
FB_GetWLan (FB_WLAN_5);
if (defined("FB_WLAN_24"))
FB_GetWLan (FB_WLAN_24);
if (defined("FB_WLAN_G"))
FB_GetWLan (FB_WLAN_G);
break;
LÖSUNG:
Wer lesen kann ist klar im Vorteil - Die Funtion ist enthalten und braucht „nur“ benutzt zu werden.
################################################################################
## WLAN ein-/ausschalten und rücklesen des Stati vom geschaltetet WLAN. (Ohne Tabellen zu generieren.)
## IPS_RunScriptEx(<ID von diesem Script>,array('SENDER'=>'RequestAction','IDENT'=>'FB_WLAN_24','VALUE'=>true));
## Parameter: IDENT = 'FB_WLAN_5' , 'FB_WLAN_24' oder 'FB_WLAN_G' als String, je nachdem welches Netz geschaltet werden soll.
## VALUE = true / false für an / aus
################################################################################
Hallo,
und danke für das super Projekt.
Bisher habe ich mir immer mit einzelnen Lösungen aus dem Forum die für mich wichtigsten Infos aus der FB geholt.
Seit ich gestern auf 5.1 gegangen bin gab es da aber einige Schwierikeiten. Deshalb habe ich jetzt das FritzBox-Project am laufen und habe zwei Fragen:
Wegen Punkt 2 dem Auslesen der Host
### MAIN ###
switch ($_IPS['SENDER'])
{
case "RequestAction":
case "WebFront":
FB_WOLHost();
break;
case "Execute":
case "RunScript":
case "TimerEvent":
FB_GetHosts();
break;
}
ist dafür zuständig was bei welcher Aktion ausgeführt wird
WebFront --> macht nur das WOL
Du brauchst einen Aufruf auf die
FB_GetHosts();
Das passiert bei
Execute --> wenn Du das Script im „Editor“ ausführst
RunScript --> wenn das Script von einem anderen Script aufgerufen wurde
IPS_RunScript — IP-Symcon :: Automatisierungssoftware
System Variables — IP-Symcon :: Automation Software
TimerEvent --> sollte per Default 120 Sekunden sein
jetzt kannst Du einmal ein neues Script erstellen und mit dem Script dnan mittels
IPS_RunScript ($SkriptID);
Das Auslesen anstoßen
oder wenn Du das WOL nicht brauchst dann tausche einfach
das
FB_WOLHost();
gehen
FB_GetHosts();
aus
Ich würde das aber über ein eigenes Script lösen
Schneller abfragen bringt aber nix.
Die Erkennung durch die FritzBox selber wird dadurch auch nicht schneller.
Und zu deinem WLAN Status, das hier lesen:
Q & A zum FritzBox-Project - Seite 18
Michael
Vielen Dank, das hat mir sehr geholfen!
Hallo,
ich bekomme seit einiger zeit im Protokoll die Meldung
Reconnecting [FB Call-Monitor Reciever - Client Socket] failed connection refused
die Schnittstelle ist als Fehlerhaft markiert.
IP Adresse stimmt, Port 1012
An was kann das liegen?
Gruß
Oliver
In der FritzBox nicht per Telefon freigeschaltet.
Michael
Hallo Michael,
war die Nachricht „In der FritzBox nicht per Telefon freigeschaltet.“
für meine Frage?, dann versteh ich nicht, was ich tun muss
Gruß
Oliver
Hi,
der CallMonitor muss in der FritzBox aktiviert werden denn normal ist er aus. Aktivieren kann man ihn mit einem Telefon und dann
#965 wählen.
Ralf
super, danke
oliver