In addition to the caller ID, you can also view the Fritzbox caller log in NodeRed.
How this works is explained in the following article.
Safety instructions
I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links/advertising links
The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂
Requirements
Helpful articles:
To be able to use this configuration, NodeRed should of course already be installed.
How to prepare a RaspberryPi and then install NodeRed on it is described in the following articles.
The following articles describe what has to be done to prepare the RaspberryPi so far:
- RaspberryPi – setup for nerdiys!
- RaspberryPi – The first configuration!
- RaspberryPi – Control the RaspberryPi via SSH
- NodeRed – Installing NodeRed on the RaspberryPi
- NodeRed – Install new nodes
- NodeRed - import and export node code
- NodeRed - Create a user interface with dashboard nodes
Required material:
In the following list you will find all the parts you need to implement this article.
Log into the NodeRed configuration interface
Before you can edit your NodeRed configuration, you must - if activated - first log into the NodeRed configuration interface.

Install FritzBox node
Enter FritzBox node configuration
So that the FritzBox node you have just installed can also communicate with your FritzBox, you must enter your FritzBox login data in the node configuration.



Node code to be able to display the caller list in the dashboard
For this example, you also need the dashboard node in addition to the FritzBox node. A table of the most recent calls will then be displayed on the dashboard. So after inserting the node code listed below, don’t forget to position the dashboard element correctly on the dashboard.
You can find further information on how to use the dashboard nodes in the article NodeRed - Create a user interface with dashboard nodes

The code below is the code from the function node of the listed node configuration. You can change the table output and, for example, change how many of the last entries are displayed to you.
To do this, change the "10" in the line " for (var i = 0; i<10; i++)" to the desired value.
varIO=[]; var date=[]; var number=[]; for (var i = 0; i<10; i++) { if(msg.payload.Call[i].Type==1) { //Incoming accepted call IO[i]=">"; Date[i]=msg.payload.Call[i].Date; Number[i]=msg.payload.Call[i].Caller; } else if(msg.payload.Call[i].Type==2) { //Incoming unanswered call IO[i]=">>"; Date[i]=msg.payload.Call[i].Date; Number[i]=msg.payload.Call[i].Caller; } else if(msg.payload.Call[i].Type==3) { //Outgoing unanswered call IO[i]="<<"; Date[i]=msg.payload.Call[i].Date; Number[i]=msg.payload.Call[i].Called; } } msg.payload.IO=IO; msg.payload.Date=Date; msg.payload.number=number; return msg;
Unfortunately, I could not insert the NodeCode directly here because the HTML code it contains "confuses" the appearance of the web page somewhat.
You can therefore find the NodeCode here Nerdiy Git:
Alternative version
Here is a slightly improved version of the flow shown above.

This allows the accepted, missed and made phone calls to be displayed in separate tables.
Unfortunately, I could not insert the NodeCode directly here because the HTML code it contains "confuses" the appearance of the web page somewhat.
You can therefore find the NodeCode here Nerdiy Git:
Have fun with the project
I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂
PS Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂
Hello, I just wanted to import the node, unfortunately I get the error:
SyntaxError: Unexpected string in JSON at position 825
038;&=““ i<20);=""
What can I do there?
Hey ET,
i fixed the problem. Unfortunately, in this case too, the code corrupted the formatting of the web page. I have now also uploaded the second code to GitHub. 🙂
Thanks for the note and best regards
Fab
Hello Fab,
Thanks for uploading, import worked.
Unfortunately there is still an error in the node collectData (for loop...).
can you look over it again
greeting
ET
Hey ET,
sorry, should have checked the code again. Corrected and tested it. Should work now. I would still appreciate feedback. 🙂
Best regards
Fab
hey fab,
Code works great now!
Thanks very much!
greeting
ET
Great, I'm glad. Have fun with it 🙂
Moin, is it also possible to display the current call?
So who's calling right now? (Then you can think about answering when you see who it is 😉 )
greeting
Stefan
Hey Stefan,
Yes, it is also fine. 🙂 Everything you need is described here: https://nerdiy.de/nodered-fritzbox-anruf-benachrichtigung-anzeigen/
Best regards
Fab
The first link to the GitHub is dead 🙁 LG
hey tes,
thanks for the hint. Corrected the links. Thank you for letting me know! 🙂
Best regards
Fab
Hello, the flow has worked perfectly so far, but now there is only an error message. 401 error unauthorized access, anyone an idea what to do there?
Hey Amdj3ru,
you can have a look whether your login data have changed or whether it might have changed. could also be related to the error described here. 🙂
https://nerdiy.de/howto-fritzbox-fehler-typeerror-cannot-read-property-actions-of-undefined-in-der-node-red-contrib-fritz-node-beheben/
Best regards
Fabian
..great thing and described perfectly, thank you for sharing your knowledge with us.
Since we are rarely at home, I use the function and have the number forwarded by telegram. Question: do you know a way to delete the list via node red?
Hi Dominique,
Thanks. 🙂
I haven't tried deleting the phone list yet. but I'll write that down. 🙂
Best regards
Fabian
Hello Fab,
I have incorporated your great solutions and am totally enthusiastic. Great implementation, minimally invasive to the result. But, here it comes. With the caller list and caller ID, it is certainly possible to make a selection as to which MSN number you would like to have checked. For example, I have several MSNs, including a fax number that doesn't interest me at all (except for faxes). That would be the icing on the cake... 😉
Thank you so far.
Hi Thomas,
Just so I don't get it wrong: You have registered several numbers on your FritzBox and would like to have a separate caller list or display for each number? 🙂
Best regards
Fabian
Hello,
I tried the alternative version today.
It actually looks very good, but for outgoing calls I always have my own number without area code in the list for the number: SIP:11223344
Can you change that? It would be nice if you could see who you called.
Greetings meister888
Hi master888,
Thanks for the tip, there was a small copy-paste error hidden. 🙂
Should work correctly now: https://github.com/Nerdiyde/NodeRedSnippets/blob/master/FritzBoxCalllist_improved.txt
Best regards
Fabian
Hello Fab,
thank you for the quick help.
But unfortunately nothing has changed.
My own SIP number is in the first list, where all calls (missed/in/out) are displayed. for outgoing calls.
In the individual list where only Out is in it I see the called number.
But I would also like to have the numbers in the first list.
can you look there again
Hi master888,
right, I hadn't seen that. Thanks for the hint.
Habs adjusted. Now everything should (hopefully) be correct. 🙂
Best regards
Fab