Page 1 of 3
Raadplegen online telefoonboek
Posted: Tue Dec 29, 2009 1:57 am
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
Re: Raadplegen online database
Posted: Tue Dec 29, 2009 3:08 am
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

Re: Raadplegen online database
Posted: Wed Dec 30, 2009 12:52 am
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?
Re: Raadplegen online database
Posted: Wed Dec 30, 2009 12:55 am
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.
Re: Raadplegen online telefoonboek
Posted: Wed Dec 30, 2009 1:47 am
by Digit
Nee, is nog niet uit te vragen via de Plugin, zal ik meenemen in een volgende release.
Re: Raadplegen online telefoonboek
Posted: Wed Dec 30, 2009 9:27 am
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?
Re: Raadplegen online telefoonboek
Posted: Wed Dec 30, 2009 11:20 am
by Alexander
Is de file als .vb gesaved?
Re: Raadplegen online telefoonboek
Posted: Wed Dec 30, 2009 11:36 am
by Dickr43
Ja, dat was het probleem!
Dank voor je hulp! Werkt nu als een trein.
Re: Raadplegen online telefoonboek
Posted: Wed Dec 30, 2009 10:51 pm
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
Re: Raadplegen online telefoonboek
Posted: Thu Dec 31, 2009 9:58 am
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
Re: Raadplegen online telefoonboek
Posted: Thu Dec 31, 2009 10:38 am
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.
Re: Raadplegen online telefoonboek
Posted: Thu Dec 31, 2009 10:44 am
by RdP
Dat zou ik erg waarderen !!!
Re: Raadplegen online telefoonboek
Posted: Sat Jan 02, 2010 11:38 am
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
Re: Raadplegen online telefoonboek
Posted: Sat Jan 02, 2010 12:17 pm
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.
Re: Raadplegen online telefoonboek
Posted: Sat Jan 02, 2010 1:18 pm
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?