Raadplegen online telefoonboek

Alles m.b.t. de Fritzbox plugin van Robert Hekkers overgenomen door Rien du Pre(DUTCH forum)

Moderator: RdP

Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Raadplegen online telefoonboek

Post by Alexander »

Even snel deze topic plaatsen. (mij nu even iets te laat om uitgebreid te gaan typen)

Noem het onderstaande script bijv zoekopnummer.vb, en geef als parameter bijv mee ("Main","#02;T2"), waarbij #02 het device is die de plugin van Digit bijwerkt met het nummer en T2 het device is waar de gegevens van de eigenaar van het nummer (indien beschikbaar) naar geschreven moet worden.

Ik heb nu twee events waarbij de ene getriggert wordt bij een inkomende oproep en de andere bij de uitgaande.

Code: Select all

Sub Main(ByVal Params As String)
        Dim strDeviceFrom, strDeviceTo, strData, strDeviceValue, strTelnr As String

        strDeviceFrom = hs.stringitem(Params, 1, ";")
        strDeviceTo = hs.stringitem(Params, 2, ";")
        strTelnr = hs.devicestring(strDeviceFrom)

        strData = hs.GetURL("http://www.gevonden.cc", "/zoek1.php?sort=lastname&search=1&phonenumber=" & strTelnr & "&export=csv", False, 80)
	
        if(instr(Ucase(strData), Ucase("Geen vermeldingen gevonden."))) then
           strDeviceValue = "<b>" & strTelnr & "</b><br/>"
           strDeviceValue += "niet gevonden in de online database."
        else
           strDeviceValue = "<b>" & hs.stringitem(strData, 2, ";") & ", " & hs.stringitem(strData, 3, ";") & " met telnr " & hs.stringitem(strData, 1, ";").trim(chrW(34)) & "</b><br/>"
           strDeviceValue += hs.stringitem(strData, 4, ";") & ", " & hs.stringitem(strData, 5, ";") & ", " & hs.stringitem(strData, 6, ";")
        end if
        hs.setdevicestring(strDeviceTo, strDeviceValue, True)
        hs.writelog("Fritz!Box script", strDeviceValue)          
End Sub
Alexander
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Raadplegen online database

Post by Digit »

Hi Alexander,

FYI: retrieving more information about to whom a phone number belongs, will be part of a next version of the Plugin.
I started working on this about a month ago, but still have some issues to resolve.
Maybe next year :)
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Raadplegen online database

Post by Alexander »

Er moet nog een check ingebouwd worden of de checkbox aangekruist is binnen Digit's plugin waar staat vermeld dat alternatieve nummer/naam/else komt te staan als het nummer niet meegezonden wordt. Nu zal het script deze ook proberen te raadplegen. Op zich niet erg, maar wel nutteloos.
Waar wordt deze config weggeschreven Digit? of is ie via een functie binnen je plugin te controleren?
Alexander
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Raadplegen online database

Post by Alexander »

Ik moet niet zo snel mijn vragen stellen. Staat in de FBF.ini file. Het antwoord op de laatste vraag ben ik nog wel benieuwd naar, scheelt weer het buitenom uitlezen van een ini file.
Alexander
Digit
Global Moderator
Global Moderator
Posts: 3388
Joined: Sat Mar 25, 2006 10:23 am
Location: Netherlands
Contact:

Re: Raadplegen online telefoonboek

Post by Digit »

Nee, is nog niet uit te vragen via de Plugin, zal ik meenemen in een volgende release.
User avatar
Dickr43
Member
Member
Posts: 255
Joined: Sat Sep 27, 2008 5:44 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Dickr43 »

Mooie ontwikkeling dit script! Alleen krijg ik steeds een fout bij het uitvoeren. Ik haal het telnr uit het Last Phonecall device (^11) en heb een status only device aangemaakt voor de gevonden naam (v99). Wanneer ik het script draai dan krijg ik onderstaande foutmelding in de log:

29-12-2009 12:25:00 Event Running script in background: NrOpzoeken("Main","^11;v99")
29-12-2009 12:25:01 Error Running script, script run or compile error in file: NrOpzoeken1006:Expected ')' in line 1 More info: Expected ')'

Doe ik iets fout?
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Alexander »

Is de file als .vb gesaved?
Alexander
User avatar
Dickr43
Member
Member
Posts: 255
Joined: Sat Sep 27, 2008 5:44 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Dickr43 »

Ja, dat was het probleem!

Dank voor je hulp! Werkt nu als een trein.
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Alexander »

Laatste update (met check voor de unknowncaller veld):

Code: Select all

Sub Main(ByVal Params As String)
        Dim strDeviceFrom, strDeviceTo, strData, strDeviceValue, strTelnr As String

        strDeviceFrom = hs.stringitem(Params, 1, ";")
        strDeviceTo = hs.stringitem(Params, 2, ";")
        strTelnr = hs.devicestring(strDeviceFrom)

        if(Ucase(strTelnr)<>Ucase(hs.GetINISetting("Startup", "UnknownCaller", "", "FBF.ini"))) then
           strData = hs.GetURL("http://www.gevonden.cc", "/zoek1.php?sort=lastname&search=1&phonenumber=" & strTelnr & "&export=csv", False, 80)
	
           if(instr(Ucase(strData), Ucase("Geen vermeldingen gevonden."))) then
              strDeviceValue = "<b>" & strTelnr & "</b><br/>"
              strDeviceValue += "niet gevonden in de online database."
           else
              strDeviceValue = "<b>" & hs.stringitem(strData, 2, ";") & ", " & hs.stringitem(strData, 3, ";") & " met telnr " & hs.stringitem(strData, 1, ";").trim(chrW(34)) & "</b><br/>"
              strDeviceValue += hs.stringitem(strData, 4, ";") & ", " & hs.stringitem(strData, 5, ";") & ", " & hs.stringitem(strData, 6, ";")
           end if
           hs.setdevicestring(strDeviceTo, strDeviceValue, True)
           hs.writelog("Fritz!Box script", strDeviceValue)
        end if
End Sub
Alexander
User avatar
RdP
Advanced Member
Advanced Member
Posts: 989
Joined: Thu May 04, 2006 10:14 am
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by RdP »

Werkt super !!!

Nu mis ik alleen nog een 'eigen' telefoon boek. Waar ik zelf nummer/naam in kan zetten.

Heeft iemand hier al iets mee gedaan of moet ik zelf gaan scripten ??

Thx,
Rien
Rien
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Alexander »

Ik zal het script aanpassen, zodat ie eerst de export file van de telefoonboek van de fritz!box gebruikt. Wellicht dat ik het direct uit kan lezen, maar ik zit nu op mijn werk en kan dus niet bij mijn fritz!box.
Alexander
User avatar
RdP
Advanced Member
Advanced Member
Posts: 989
Joined: Thu May 04, 2006 10:14 am
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by RdP »

Dat zou ik erg waarderen !!!
Last edited by Alexander on Thu Dec 31, 2009 11:44 am, edited 1 time in total.
Reason: No need for the quote option. You did reply on a post without any other posts in between.
Rien
User avatar
RdP
Advanced Member
Advanced Member
Posts: 989
Joined: Thu May 04, 2006 10:14 am
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by RdP »

Ik zie niet hoe ik mijn telefoonboek kan exporteren en dus ook niet om het script er in te laten lezen.

Weet iemand een andere manier om het ingebouwde telefoon boek van de Fritzbox uit te lezen ??

Thx,
Rien
Rien
User avatar
Rene
Global Moderator
Global Moderator
Posts: 1689
Joined: Wed Oct 08, 2008 3:54 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Rene »

Rien, Als ik het telefoonboek voor me heb staat er een Save knop onder. Overigens heb ik gisteravond zitten neuzen op de Fritzbox waar het telefoonboek opgeslagen wordt, maar ik heb het nog niet kunnen vinden.
Rene.
Alexander
Global Moderator
Global Moderator
Posts: 1532
Joined: Sat Mar 10, 2007 11:19 pm
Location: Netherlands

Re: Raadplegen online telefoonboek

Post by Alexander »

@rene: Telefoonboek staat gesaved in /var/flash/phonebook, maar ik heb mij daar verder maar niet in verdiept. Ik heb het anders aangepakt.
@rdp & rest: Hierbij het script uitgebreid met het benaderen van de telefoonboek binnen de Fritz!Box. Als het nummer niet voorkomt in deze telefoonboek, dan wordt de online telefoonboek benadert.

Code: Select all

Sub Main(ByVal Params As String)
        Dim strDeviceFrom, strDeviceTo, strData, strDeviceValue, strTelnr, strArray(), strArray2() As String
        Dim i,x As Integer

        strDeviceFrom = hs.stringitem(Params, 1, ";")
        strDeviceTo = hs.stringitem(Params, 2, ";")
        strTelnr = hs.devicestring(strDeviceFrom)

        strData = hs.GetURL("http://" & hs.GetINISetting("Startup", "Hostname", "127.0.0.1", "FBF.ini"), "/cgi-bin/webcm?getpage=../html/de/home/ppFonbuch.html", True, 80)
        strArray = Split(strData,";")

        For i = 0 to uBound(strArray)
           If Instr(strArray(i), strTelnr) then
               x = i
               Do until Instr(strArray(x), "TrFonName")
                  x -= 1
               Loop
               strArray2 = Split(strArray(x), ",")
               strDeviceValue = "<b>" & Replace(strArray2(1),chrW(34),"") & " met telnr " & strTelnr & "</b><br/>"
               Exit For
           End if
        Next i

        if (Ucase(strTelnr)<>Ucase(hs.GetINISetting("Startup", "UnknownCaller", "", "FBF.ini"))) and (strDeviceValue="") then
           strData = hs.GetURL("http://www.gevonden.cc", "/zoek1.php?sort=lastname&search=1&phonenumber=" & strTelnr & "&export=csv", False, 80)
	
           if(instr(Ucase(strData), Ucase("Geen vermeldingen gevonden."))) then
              strDeviceValue = "<b>" & strTelnr & "</b><br/>"
              strDeviceValue += "niet gevonden in de online database."
           else
              strDeviceValue = "<b>" & hs.stringitem(strData, 2, ";") & ", " & hs.stringitem(strData, 3, ";") & " met telnr " & hs.stringitem(strData, 1, ";").trim(chrW(34)) & "</b><br/>"
              strDeviceValue += hs.stringitem(strData, 4, ";") & ", " & hs.stringitem(strData, 5, ";") & ", " & hs.stringitem(strData, 6, ";")
           end if
        end if
        hs.setdevicestring(strDeviceTo, strDeviceValue, True)
        hs.writelog("Fritz!Box script", strDeviceValue)
End Sub
Graag testen. Bij mij werkt het, maar ik heb op de Fritz!Box ook geen wachtwoord staan. Volgens mij was dat ook een vereiste van Digit's plugin of heb ik dat verkeerd begrepen?
Alexander
Post Reply

Return to “Homeseer Fritz!box Plugin Forum”