Please read the wiki page referred in the first post of this thread. If you still have any questions please let me know.
I installed this plugin via the market and configured it, itās pretty simple to configure
Will stuff like number-recognition be build in as well? If possible even using the adressbook built in the fritzbox?
Really like it, keep up the good work
I donāt really see how number recognintion should be built inā¦ (maybe plugin mechanism) as it is pretty country specific.
I have actually used my own fritz!box plugin to trigger a scene that looks up (via a swedish web service) who is calling and announces it in my sonos speakers. I posted the example here:
http://forum.micasaverde.com/index.php/topic,8505.msg94525.html#msg94525
Maybe you can modify it to a similar service in your country (if you donāt live in sweden).
@j.hoekstra.
You should probably update to version 0.3 when it has been approved on mios market (or download from source now)ā¦ 0.1 version had a bug related to incoming phone number.
Will update then.
In principle the Fritzbox has the number info ready and seems to pass it on via the callmonitor cause other apps using the same mechanism seem to pick it up.
Connection with an adressbook seems to be done locally afaict, for me the number would just be fine
Unfortunately the frizbox call log does not log the name (if it exists in Fritz!Box adressbook) only number is passed.
Iāve seen Fritz!Box integrations where developers has done a regular Web Interface login to fetch adressbook from the Fritz!Box UI. But that is a bit too hacky for my taste.
For me the numbers are just fine, Iāll check how I can get the number(see you made nice example on the trac-page) and pass it on to be spoken via TTS from the Karotz-plugin
Has this stopped working (possibly due to firmware updates) or is it just me?
Firmware update of Vera or Fritz!Box?
Fritz The plugin doesnāt seem to be receiving any data from the fritz anymore (I have a 7390 on 06.03. Iāve double checked the port is open).
Mine is on 06.06 and everything is working fine here.
Hmm. Whatās the best way to troubleshoot? Iāll reinstall the plugin, see if that helps.
EDIT: Yeah, that fixed it, sorry to bother
Hi hek,
I know you havenāt needed up update this in ages as it all just works, but if you find yourself bored one day and fancy adding a feature, a new variable to show the name of the person calling would be handy (pulled from the fritz address book).
Iāve no idea how hard that would be to implement, and it may be more trouble than itās worth, but I could make good use of it. Basically I have a scene that pauses whatever Iām watching in XBMC and pops up a notification to show the number of whoever is calling. Itād be a lot more useful if it showed the name instead. I could do it in the luup code, but it would get out of control pretty quickly if I have to add logic to convert every number
Anyway, just a thought.
Thanks
The name is not coming through the fritz-API. You would have to login the web-way and pick up the number via screen-scraping. Much too complicated to do from lua.
I do a name-lookup in luup (from a swedish public web-service) and say name in our sonos speakers when someone calls in.
[quote=āhek, post:34, topic:173458ā]The name is not coming through the fritz-API. You would have to login the web-way and pick up the number via screen-scraping. Much too complicated to do from lua.
I do a name-lookup in luup (from a swedish public web-service) and say name in our sonos speakers when someone calls in.[/quote]
Ah ok, yep fair enough.
Honestly most calls come through my mobile nowadays, so thereās probably only 3 or 4 people who would call the home phone. I can just added some if/thenās into the luup for my scene to hardcode the names. Just thought Iād check anyway.
Thanks for the response
Iāve trying to run an action in a scene if a specific number is calling. What I tried so far is:
local action = luup.variable_get( āurn:hek:serviceId:FritzBox1ā, āActionā, 9)
if (action == āRINGā) then
if (luup.variable_get( āurn:hek:serviceId:FritzBox1ā, āNumberā, 9) == ā0788788780ā) then
return true
else
return false
end
else
return false
end
Is there any short example of where and how to do this in UI7?
The device itself seems to work just fine as I can see different state changes when the number is calling ā¦
The code looks okā¦
Hi,
Iām trying to get my LED blinking on/off while the phone is ringing. Hereās the code Iām trying:
local delay = 1
local function IncomingCall()
local action = luup.variable_get( āurn:hek:serviceId:FritzBox1ā, āActionā, 9)
luup.call_delay(luup.call_action(āurn:upnp-org:serviceId:Dimming1ā, āSetLoadLevelTargetā, {newLoadlevelTarget = ā0ā}, G_Wohnzimmer),delay) ā RGB Green
luup.call_delay(luup.call_action(āurn:upnp-org:serviceId:Dimming1ā, āSetLoadLevelTargetā, {newLoadlevelTarget = ā100ā}, G_Wohnzimmer),delay) ā RGB Green
luup.call_delay(luup.call_action(āurn:upnp-org:serviceId:Dimming1ā, āSetLoadLevelTargetā, {newLoadlevelTarget = ā0ā}, G_Wohnzimmer),delay) ā RGB Green
if action ~= āRINGā Then
return
end
IncomingCall()
end
But the code fails at:
local action = luup.variable_get( āurn:hek:serviceId:FritzBox1ā, āActionā, 9)
Any suggestions to get this working?
A few things hereā¦
First, to format your code properly on the forums, if you are posting a multi-line code block, put three back-ticks (```) on a line by itself, then your code, and then three back-ticks again (```) on a line by itself.
-- Then it looks like this
-- This preserves indents and (importantly) quotes, and uses a more readable typeface for code.
local delay = 1
local function IncomingCall()
local action = luup.variable_get( āurn:hek:serviceId:FritzBox1ā, āActionā, 9)
-- ...etc...
If you are formatting a single line of code or putting a code fragment inline, enclose it in a single back-tick ` (before and after) and it will look like this
.
To your codeā¦ the call_delay()/call_timer()
functions take a string as its first argument, and that is the name of a (global-scoped) function that is to be executed when the delay expires. You cannot pass a function reference directly, and your code as shown isnāt even doing that, itās executing call_action()
immediately and passing the result returned from that call into call_delay()
, which isnāt going to get you where you want to go.
The correct usage of call_delay()
specifically to blink a light has been covered in many other threads, so I wonāt rehash it here. Hereās a link to one such thread that I think is a good match: Blink Light Program, is recursion necessary? - Scene Scripting - Ezlo Community
Also, be aware that there is no guaranteed timing when communicating with Z-Wave, ZigBee, or plugin devices. If Vera is busy doing something else when your delay is expected to end, your blink may not happen as scheduled, it will happen when Vera gets around to it. If the Z-Wave network is busy, same deal. The shorter your delay is, the less likely the blinking will happen accurately on your timing. While it should be theoretically possible for you to get a series of Z-Wave commands out to a device in a chain all one second apart, practically speaking, it isnāt likely to happen, at least not consistently. Remember that your light is not connected to a pin directly controlled by a microcontroller. In the case of any Z-Wave device, itās on the far end of a wireless network that may likely rely on nodes between to relay signals back and forth, adding latency and round-trip time on top of whatever processing the device itself will need to do when it finally gets the message and how quickly it does it.
Thanks for the hint. Iāll try to quote my code with this method.
Before we go for details Iā need help reading the phone status.
The last example I tried was:
local action = luup.variable_get( āurn:hek:serviceId:FritzBox1ā, āActionā, 9)
Iāve also tried:
local action = luup.variable_get( āurn:hek:serviceId:FritzBox:1ā, āActionā, 9)
But I only get āFailed to test codeā error. Notifications from āFritz!Box Call Logā are running fine.