Read the statement by Michael Teeuw here.
MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call
-
I’m commig up to “git push” asking for my username followed by my password, but then i got an error because of: Support for password authentication was removed on August 13, 2021.
Why everything must be made so complicated. There’s no fun. :-( Nothing is smooth and easy anymore. :-(
I should authenticate now with a “Personal-Access-Token”. I don’t own one.
To create a “Personal-Access-Token” I have to go to my Organization, I have no Organization, I’m a private person that tries to have a little fun with a MagicMirror2 and some other Raspberry Pi projects.
When I create an Organization and then following the instructions to create Personal-Access-Tokens, no Tokens were created.
Sorry, for today I had enough problems, will try tomorrow again. -
@xIExodusIx yes, everybody is getting more serious about security in WAY too many different ways
for github, read the doc on my backup/restore tools
https://github.com/sdetweil/MagicMirror-backup-restore
-
you can also save the settings for git
see
https://forum.magicmirror.builders/post/124488 -
Sorry sdetweil, on my github account site at “Password and authentication” is no “developer settings”.
What I can see is;
Password and a button with Change Password
Passkeys and somthing toadd and modify them.
Two-factor authentication! with a bunch of settings.But no “developer settings”.
-
@xIExodusIx its moved, select settings, then at the bottom

-
Okay I hav now a “Personal-Access-Token” but the next problem is comming up afet I make “git push”
Problem:
remote: Permission to xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git denied to xIExodusIx.It’s really complicated and frustrating :-(
What have I to do now? I searched for permissons on github to modify for uploading but could not find anything.
-
@xIExodusIx show output of
git remote -v
-
git remote -v
origin https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git (fetch)
origin https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git (push)That is what I get.
-
@xIExodusIx you did use the token as the password, right?
-
Yes, when I type git push, I have to type in my username and next I have to type in the “userpassword” for that I take the “Personal-Access-Toke” I got from github.
Thats what I do:
git push
Username for ‘https://github.com’: xIExodusIx
Password for ‘https://xIExodusIx@github.com’:
remote: Permission to xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git denied to xIExodusIx.
Schwerwiegend: konnte nicht auf ‘https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git/’ zugreifen: The requested URL returned error: 403The Problem is, that the “password” aka “Personal-Access-Token” is not showed in Linux (RaspiOS). I copy the “PAT (Personal-Access.-Token)” that I stored in Keepass on my PC and insert it using a klick with the right mouse-button in RaspiOS.
-
I got it, I made a new “Personal-Access-Token (classic)” giving it write access permissons for repositories and could now successful make “git push”.
-
What have I to do next?
Can I edit my commit? I would like to give mor information and correct some typing errors. -
@xIExodusIx no , cannot edit a “commit”
you can make another
change files
test
git status
git add
git commit
git pushsame workflow each time
-
-
Dear @xIExodusIx ,
do you think it’s possible to get your re-compiled code?
I’m really curious - because the current call monitor is “nice” but the improvements you had described seemed to be really promising…Thanks a lot.
Warmest regards,
Ralf -
Hi Ralf,
if you search within the MM2 modules for “armybean” and find the module “MMM-Callmonitor-Current-Call” click on the right side in the description on “MMM-FRITZ-Box-Callmonitor”.
On the next screen click on the right side on “25 Forks” there you will find my Fork “xIExodusIx / MMM-FRITZ-Box-Callmonitor-py3”.
You can “git clone it” using “git clone https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git” in the /MagicMirror/modules folder. That should do all for you. After that follow th instrucktions given by “Paviro or Dr.Torchwood” they are almost the same.
I havs only merged the Versions from Paviro and armybeen and drtorchwood together, I did not compile the module new. Paviro did the aase Module, armybean added the (colored) direction arrows and drtorchwood made the module work with python3.
If you wnt to have the colored direction arrows you have to add “showOutgoing: true, and colorEnabled: true,” at the modulesection “MMM-FRITZ-Box-Callmonitor.py” in the /MagicMirror/config/config.js. Same if you use armybeans “MMM-Callmonitor-Current-Call”.
I hope this is understanding for you.Have fun with it.
Carsten -
@xIExodusIx said
Have fun with it.
Dear Carsten, indeed - I DO have fun!
It’s really, really nice and works like a charm!
Thanks a LOT for your great work.For future releases (if I interpret the above thread and Sam’s (@sdetweil 's) hints and advices correctly) you can edit the “README.md” file locally in your directory.
There you can include your own input/changes and own hints for installing (e.g. correct the git clone-link) - and AFTER these changes in documentation do the git push-thing …Thank you very much for your effort!
Warmest regards,
Ralf -
@xIExodusIx
Short additional information (may useful for others who would like to use Carsten’s modification):
If one already have “MMM-FRITZ-Box-Callmonitor-py3” installed and up-and-running:
In this special case a git pull “git clone https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git” will not work - because the target directory $HOME/MagicMirror/modules/MMM-FRITZ-Box-Callmonitor-py3 already exists!So it is neccessary to put the existing direcotry away.
You can do this simply with “rm -rf MMM-FRITZ-Box-Callmonitor-py3”.
Because I’m a friend of “security” I had decided to simply rename the old directory to keep it for recovering purposes if something bad happens…
“mv MMM-FRITZ-Box-Callmonitor-py3 MMM-FRITZ-Box-Callmonitor-py3.old” will do the trick.(both commands are valid if you are in the $HOME/MagicMirror/modules directory …)
Regards,
Ralf -
Hi Ralf,
I’m glad to read this, I thoght it could only work for me.I will try to do what you said and edit the READ.ME file to put my changes in to it. I’m sadly could not code, what I did was only compare the different versions and merge the differences in a, for me, logical way together, and surprisingly, it worked.
I personally own a FritzBox 7590AX that distinguishes between 4 types of calls, “incomming, outgoing, missed and blocked”. I would like to have the “blocked” calls also been handled and showed up in the module “MMM-FRITZ-Box-Callmonitor-py3” but I don’t know how to do this. I want these blocked calls handled by the module, because I have a large blocklist of callers that I don’t want to get in touch with. They try to cheat me for mony or peronal data. I got up to 15 calls a day of these unwanted calls.
Do you have any Ideas?
Regards
Carsten -
@xIExodusIx Dear Carsten,
I’m not that good in object-oriented programming…
The main problem for me in this module is the three-layer approach - so I’m not sure what happens when and where.
In addition I’m not familiar with the used libraries…From my understanding the base layer “fritz_access.py” should handle your request.
In this python program you can find the class FritzAccess which handles the queries to AVM Fritzbox.
One of the calls used is “GetCallList” - in the second definition of the object:def download_recent_calls(self, directory = "data"): result = self.fc.call_action("X_AVM-DE_OnTel", "GetCallList") filename = os.path.join(directory, "calls.xml") self.forward_file(result["NewCallListURL"], filename)I can imagine (I don’t know!) that there is another call-function “GetBlockedCallList” or something similar.
This has to be clarified.
If such a call exists, you need an entry in the FritzAccess class for this and than a function which takes care about.In the second layer “node-helper.js” line 13ff
const CALL_TYPE = Object.freeze({ INCOMING: "1", MISSED: "2", OUTGOING: "3" })Must be extended for fourth call_type - “BLOCKED”
and the function setupMonitor() (line 73ff) must get an additional "monitor.on(“blocked” … "In the third layer (“MMM-FRITZ-Box-Callmonitor-py3.js”) you have to adopt the “socketNotificationReceived:” function (line 90ff) and handle the “BLOCKED” condition.
This all from my very basic understanding, how theses modules are impelmented in general.
Unfortunately my knowledge is currently not deep enough to be more concrete, sorry for this!
May another user can step in here.
Because you at least was able to reconfigure code out of three different repositories - may these little hints are enough for you…Warmest regards and good luck!
Ralf
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
