Skip to main content

Hallo,

 

Ik zou graag de belhistorie uit mijn experiabox (V10 ZTE H369A) willen uitlezen vanuit linux via bijvoorbeeld python, zodat ik die gegevens verder kan verwerken.

Heb al gevonden dat dit via deze url zou moeten zijn, maar verder kom ik er niet uit.

http://192.168.2.254/common_page/voipCallLog_lua.lua

Heeft iemand hier ervaring mee?

@Thuurke1976 Welkom op het forum. 

Ik durf het niet met 100% zekerheid te zeggen maar naar mijn weten is de Experiabox V10 hier niet op ingericht. 

Wellicht dat @wjb hier nog een oplossing weet? :)


Heb al gevonden dat dit via deze url zou moeten zijn, maar verder kom ik er niet uit.

http://192.168.2.254/common_page/voipCallLog_lua.lua

Heeft iemand hier ervaring mee?

Waar heb je gevonden dat er zo'n pagina zou moeten zijn?

Ik ken geen functionaliteit om de call log op een Experia Box uit te lezen.


Op https://community.home-assistant.io/t/experia-box-v10-device-tracker-kpn-telfort/46808

doen ze de dhcp uitlezen.

Ik heb zelf in de router gekeken en gekeken welke pagina de bellogs laat zien. Dat is dus http://192.168.2.254/common_page/voipCallLog_lua.lua met een idstring erbij. Het zou dus moeten kunnen op een of andere manier :grinning:


Ik ben hier ook in geintresseerd, heb vanalles geprobeerd maar het lukt me nog niet echt.

Is het jullie gelukt? Graag zou ik dan willen weten hoe….


Ik kwam op dit forum omdat ik hetzelfde wil. Ik heb het werkend in Visual Studio C#.

Onderstaande code heeft een Form nodig met een webbrowser, 3 textboxen en een timer. Ik heb de timer op 1000 ticks staan (en enabled)

 

De informatie wordt in 7 stappen opgehaald. (inloggen, naar status, naar geavanceerd, naar belllog etc..)
Misschien kan iemand anders dit nog verbeteren of vertalen naar Python
 

using System;
using System.Windows.Forms;

namespace WebBrowser_BelLog_H369A
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private string url = "http://192.168.2.254";
        private string user = "admin";
        private string pass = "...";

        private void WaitBrowserReady(WebBrowser wb)
        {
            while (wb.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            // haal nummer op en controleer of deze nieuw is (begintime != old begintime
            try
            {
                // Stap 6; haal nummer uit BelLog
                string beginTime = webBrowser1.Document.GetElementById("BeginTime:0").InnerText;
                string RmtNumber = webBrowser1.Document.GetElementById("RmtNumber:0").InnerText;
                string Result = webBrowser1.Document.GetElementById("Result:0").InnerText;

                textBox1.Text = beginTime;
                textBox2.Text = RmtNumber;
                textBox3.Text = Result;

                // ververs
                webBrowser1.Document.GetElementById("Btn_refresh_VOIPCallLog").InvokeMember("click");

            }
            catch
            {
                // stap 5 open LogBar

                try
                {
                    webBrowser1.Document.GetElementById("VOIPCallLogBar").InvokeMember("click");
                }
                catch
                {
                    // stap 4  VoipStatus
                    try
                    {
                        webBrowser1.Document.GetElementById("ssmVoipStatusStatus").InvokeMember("click");
                    }
                    catch
                    {
                        // stap 3   Advanced Status
                        try
                        {
                            webBrowser1.Document.GetElementById("smAdvanceStatus").InvokeMember("click");
                        }
                        catch
                        {
                            // stap 2  Status menu
                            try
                            {
                                var ul = webBrowser1.Document.GetElementById("mn_li");
                                ul.Document.GetElementById("mmStatus").InvokeMember("click");

                                WaitBrowserReady(webBrowser1);
                            }
                            catch
                            {
                                try
                                {
                                    // stap 1.5 logon
                                    webBrowser1.Document.GetElementById("Password").SetAttribute("value", pass);    // show logonpage
                                    webBrowser1.Document.GetElementById("LoginID").InvokeMember("click");           // and login
                                }
                                catch
                                {
                                    // stap 1 Open modempage
                                    // Get URI to navigate to  
                                    Uri uri = new Uri(url, UriKind.RelativeOrAbsolute);

                                    // Navigate to the desired URL by calling the .Navigate method  
                                    this.webBrowser1.Navigate(uri);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
 


Bedankt, ik ga dit eens proberen...