MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call

    Scheduled Pinned Locked Moved Utilities
    69 Posts 7 Posters 14.3k Views 8 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • X Offline
      xIExodusIx @rkorell
      last edited by

      @rkorell

      Hi Ralf,
      Yes the message box disappears now when a call is in progress, and no I did not push my modificated code to github by now.
      But sadly I can’t find out how to let the massage box disapper when a call is incomming that will be blocked. So the message box is displayed over hours on the screen, to let it disappear I have to connect to my MM2 using “RealVNC Viewer” and mouseclick on the message box, then it disappears. This is not satisfying.

      With the update of python to version 3.13.2 I made a failure, that was not a good idea, so I have to reinstall my MM2 from scratch, what I’m doing right now. If this is done and all runs like I want again, I will push my modified code to githup. If this is done I will inform you.

      I will continue to work on the module to eliminate the last few problems. I hope I can do it.

      As I said I can’t code was and is this the truth, all I have done is to try to copy existing code lines change them a little bit and paste it where I thought it could be the right place, then pushed the entirely .js file up to my MM2 and tested it. If it doesn’t work I tried an other way and tested it again. So all I do is “Try and Error”, not really coding! But VSCode helps a lot.

      Regards
      Carsten

      1 Reply Last reply Reply Quote 0
      • X Offline
        xIExodusIx @rkorell
        last edited by

        @rkorell

        Hi Ralf,
        I just pushed up my reworked version of the module “MMM-FRITZ-Box-Callmonitor-py3” to github.
        I hope it works for you too.

        Regards
        Carsten

        R 1 Reply Last reply Reply Quote 1
        • R Offline
          rkorell Module Developer @xIExodusIx
          last edited by

          @xIExodusIx Dear Carsten, this is awesome!
          Thanks a LOT!
          Currently - in my installation - the Info Box which is signalling the call is not a „message-box“ and disappears when call is ended.
          Did you modify this -then I would hesitate to install newest version…
          Thanks a lot for your effort!
          Warmest regards,
          Ralf

          X 1 Reply Last reply Reply Quote 0
          • X Offline
            xIExodusIx @rkorell
            last edited by

            @rkorell said in MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call:

            Currently - in my installation - the Info Box which is signalling the call is not a „message-box“ and disappears when call is ended.
            Did you modify this -then I would hesitate to install newest version…
            Thanks a lot for your effort!

            Hi Ralf,
            I did not change the appearance of the message-box, in the module it is an alert, I only tried to let it disappear right when you answer the incomming call, because on my MM2 the message box blurres the background and I can not clearly see all other modules and the “MMM-Current-Call” module, that also shows me if the current call is incomming or outgoing, but now the message box disappears when the incomming call is answered.
            The MMM-Current-Call" module makes only sense if you have more then one telephon-line, so you can see how many people are talking right now, and if the calls are incomming or outgoing.

            Hope that will help you to decide.

            Regards
            Carsten

            R 1 Reply Last reply Reply Quote 1
            • R Offline
              rkorell Module Developer @xIExodusIx
              last edited by

              @xIExodusIx Thanks again, this helps!
              Regards,
              Ralf

              X 1 Reply Last reply Reply Quote 0
              • X Offline
                xIExodusIx @rkorell
                last edited by xIExodusIx

                @rkorell

                I played a little bit around with the colors and changed also the appearance of missed calls, the missed calls now will be displayed in color “magenta” with a “star”. You can edit the colors by yourself by editing the “MMM-Fritz-Box-Callmonitor-py3.js” file, you can’t miss these entrys.
                I also edited the README.md file again.
                I will push these changes to github at my next update, but I have to test a little bit more because I have to wait for the unwanted calls that are in my blocked “phonenumber range list”, and I don’t know when these unwanted calls are incomming.
                But hopefully I got most of the annoying problems under control. :-)

                Regards
                Carsten

                R 1 Reply Last reply Reply Quote 0
                • R Offline
                  rkorell Module Developer @xIExodusIx
                  last edited by

                  @xIExodusIx It’s good practise to keep style information not in the *.js code but in the CSS file of module - than everybody can make persistent changes to style related issues in custom.css which will not been overwritten by module updates…

                  Warm regards,
                  Ralf

                  X 1 Reply Last reply Reply Quote 0
                  • X Offline
                    xIExodusIx @rkorell
                    last edited by xIExodusIx

                    @rkorell

                    Yes, I know, but I don’t know how to transfer this code-lines to the .css file, the code for appaerance and color were in the module.js file before I began to try to get it work. I only modified them.

                    The last two problems I have with the module is, to show the correct number in the callist, not “sip:myown number”, when an incomming call is blocket by the “number range list” and to hide the alert of these calls.

                    On these problems I still work.

                    Regards
                    Carsten

                    R 1 Reply Last reply Reply Quote 1
                    • R Offline
                      rkorell Module Developer @xIExodusIx
                      last edited by

                      @xIExodusIx Dear Carsten,
                      quick feedback for you: Just installed your newest version.
                      And - to my big surprise - it works like I would like to have…
                      I only have installed "MMM-FRITZ-Box-Callmonitor-py3 " - to be 100% clear, may there is the difference.
                      But with only this module incoming calls are displayed/signalled (grey’ish / white color) and the message box disappears either when the call is taken or if the caller hangs up.
                      This exactly is what I would like to have.
                      You definitely have done something magical because the initial code holds the message box until call is ended.
                      THANKS!!!

                      You ARE a coder :-)

                      Warmest greetings to Hamburg (as your git-account now reveals),
                      Ralf

                      For the CSS stuff - my apologies…
                      I cannot guide here, as well. I’ve seen your color coding in dependency from call-type.
                      I GUESS you can solve this with case-dependent CSS-attributes and so avoid the complete “switch”-clause.
                      But this is far beyond my own capabilities - may Sam (@sdetweil ) can lead through this…

                      J 1 Reply Last reply Reply Quote 0
                      • J Offline
                        Jose1701 @rkorell
                        last edited by

                        Hi,

                        I`m new to magicmirror and I like the CallMonitor a lot.

                        Everthing works fine for me except the arrows and colours. I installed MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call. I put the necessary information in the conifg as ou can see:

                        {
                        		module: 'MMM-Callmonitor-Current-Call',
                        		position: 'top_right',	// This can be any of the regions. Best results in left or right regions.
                        		config: {
                        			showDirection: "true",
                        			colorEnabled: "true",
                        		}
                        			
                        	},
                        
                        
                        {
                        		module: 'MMM-FRITZ-Box-Callmonitor-py3',
                        		position: 'bottom_right',	// This can be any of the regions. Best results in left or right regions.
                        		header: "Letzte Anrufe", // This is optional
                        		config: {
                        			// See 'Configuration options' for more information.
                        			showContactsStatus: "true",
                                    	  fritzIP: "192.168.178.1",
                                    	  showContactsStatus: "true",
                                    	  maximumCallDistance: "240",
                                                maximumCalls: "4",
                                                reloadContactsInterval: "1",
                        			showOutgoing: "true",
                        			colorEnabled: "true",
                                                password: "******",
                        		}
                        	},
                        
                        

                        An idea what am I doing wrong?

                        Regards

                        Jose

                        R 1 Reply Last reply Reply Quote 0
                        • R Offline
                          rkorell Module Developer @Jose1701
                          last edited by

                          @Jose1701 Dear Jose,
                          you are referring to my post but may I’m the wrong person.
                          You may ask the developer, @xIExodusIx, too.

                          As I’m not knowing exactly what your problem is, I just can guess what’s going on…
                          from configuration perspective I do not see an issue - mine is similar.
                          As I wrote before I only have ‘MMM-FRITZ-Box-Callmonitor-py3’ in use, NOT ‘MMM-Callmonitor-Current-Call’,

                          For ‘MMM-FRITZ-Box-Callmonitor-py3’ I’m aware of some problems, but I do not know if this aligns with your problems.

                          • do you have the right (actual) fork? in my case this was https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git
                          • I’m not sure if this is correct: In your config a username is missing. As far as I’m aware of you have to use a username/password combination - therefore I remember that I had to create a separate user for using the module.
                          • there were some requirements for the module - some python libraries as I remember correctly. - Do you have installed them in a proper version?

                          This is the “guessing” version.
                          If you could describe the “problem” more exact or concrete may we get other ideas…

                          Good luck!
                          Regards,
                          Ralf

                          J 1 Reply Last reply Reply Quote 1
                          • J Offline
                            Jose1701 @rkorell
                            last edited by

                            @rkorell

                            Hi,

                            sorry for the late response but I was ill and laying in bed.

                            I will have a look. Actually I have the following “proofed”.

                            @rkorell said in MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call:

                            do you have the right (actual) fork? in my case this was https://github.com/xIExodusIx/MMM-FRITZ-Box-Callmonitor-py3.git

                            Yes, I’m using this one, too.

                            @rkorell said in MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call:

                            I’m not sure if this is correct: In your config a username is missing. As far as I’m aware of you have to use a username/password combination - therefore I remember that I had to create a separate user for using the module.

                            Well, until now I didn’t need more. Everything is working fine except the arrows and colours. But I will see if sth. is needed.

                            @rkorell said in MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call:

                            there were some requirements for the module - some python libraries as I remember correctly. - Do you have installed them in a proper version?

                            I think I have the right ones and up to date but I will have a look, too.

                            Thanks so far.

                            Kind regards

                            Jose

                            J 1 Reply Last reply Reply Quote 0
                            • J Offline
                              Jose1701 @Jose1701
                              last edited by

                              said in MMM-FRITZ-Box-Callmonitor-py3 and MMM-Callmonitor-Current-Call:

                              I’m not sure if this is correct: In your config a username is missing. As far as I’m aware of you have to use a username/password combination - therefore I remember that I had to create a separate user for using the module.
                              

                              Well, until now I didn’t need more. Everything is working fine except the arrows and colours. But I will see if sth. is needed.

                              That was the reason. Don`t know it shows the calls without a password but not the arrows.

                              Now everything is working fine.

                              Thanks a greets

                              Jose

                              1 Reply Last reply Reply Quote 0
                              • M Offline
                                Mathes75
                                last edited by

                                @xiexodusix - I set up my MagicMirror from scratch and now wanted to integrate the FRITZ-Callmonitor to it, unfortunately with no luck. No calls are displayed, the phonebook has non-stop rotating icon. In the docker logs (Yes, I’m using latest MagicMirrorOS with integrated Docker) I get the following error:

                                [2026-01-11 02:10:11.646] [ERROR] [app] Whoops! There was an uncaught exception... 
                                [2026-01-11 02:10:11.684] [ERROR] [app] Error: spawn python3 ENOENT
                                    at ChildProcess._handle.onexit (node:internal/child_process:285:19)
                                    at onErrorNT (node:internal/child_process:483:16)
                                    at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
                                  errno: -2,
                                  code: 'ENOENT',
                                  syscall: 'spawn python3',
                                  path: 'python3',
                                  spawnargs: [
                                    '/opt/magic_mirror/modules/MMM-FRITZ-Box-Callmonitor-py3/fritz_access.py',
                                    '-i',
                                    '192.168.0.1',
                                    '-p',
                                    '*********',
                                    '-u',
                                    'magicmirror'
                                  ]
                                } 
                                [2026-01-11 02:10:11.686] [ERROR] [app] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? 
                                
                                

                                As you can see, I have created username and password only for MM.

                                Starting fritzconnection from (host) commandline works, incomming calls are registered and shown in Terminal.

                                karsten13K 1 Reply Last reply Reply Quote 0
                                • karsten13K Offline
                                  karsten13 @Mathes75
                                  last edited by

                                  @Mathes75

                                  probably python missing, see https://khassel.gitlab.io/magicmirror/faq/dependencies/#use-the-fat-image

                                  You can change the image in the .env file.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M Offline
                                    Mathes75 @karsten13
                                    last edited by

                                    @karsten13 to get this right: Using the fat image would have at least python on board. And to get everything to work I would need to add a script, adding the dependencies for MMM-FRITZ-Box-Callmonitor-py3:

                                    Execute npm install to install the dependencies.
                                    (Optional) Execute sudo apt-get install python3-dev libxml2-dev libxslt1-dev zlib1g-dev && sudo pip install --break-system-packages fritzconnection to allow access to your FRITZ!Box phone book and recent calls. This can take a few minutes.

                                    Will definitely give it a try!

                                    M 1 Reply Last reply Reply Quote 0
                                    • M Offline
                                      Mathes75 @Mathes75
                                      last edited by

                                      Hello @karsten13,
                                      I have changed the docker image to fat in .env file. Unfortunately, after pulling the docker image, the script stopped with error: No such container: 1b169eacdb711[~35 more numbers/letters].
                                      Magic Mirror stopped working :( What did I do wrong?

                                      karsten13K 1 Reply Last reply Reply Quote 0
                                      • karsten13K Offline
                                        karsten13 @Mathes75
                                        last edited by

                                        @Mathes75

                                        which script?

                                        show content of “the script” and output of docker compose config

                                        M 1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          Mathes75 @karsten13
                                          last edited by

                                          @karsten13
                                          Sorry for being that unspecific. I changed the .env file in the “Docker image to use” section:

                                          # Docker Images to use:
                                          MM_IMAGE="karsten13/magicmirror:v2.34.0_fat"
                                          LABWC_IMAGE="karsten13/labwc:latest"
                                          MMPM_IMAGE="karsten13/mmpm:latest"
                                          WATCHTOWER_IMAGE="ghcr.io/nicholas-fedor/watchtower:latest"
                                          
                                          

                                          Executed cd /opt/mm/run && docker compose up -d --force-recreate and the download started. After successfully pulling the image, Terminal stopped here:

                                           ✔ Image karsten13/magicmirror:fat Pulled                                318.2s 
                                             ✔ 304150113e8d                  Pull complete                          97.1s 
                                             ✔ 964f5c44c7bd                  Pull complete                           0.9s 
                                             ✔ ac8996972af0                  Pull complete                           0.9s 
                                             ✔ 3ee9d8e5c8b3                  Pull complete                         131.8s 
                                             ✔ f9b5315e0a0e                  Pull complete                           0.8s 
                                             ✔ 5e7a4985a616                  Pull complete                           0.7s 
                                             ✔ 9f175b8c171e                  Pull complete                          98.7s 
                                             ✔ c1be2df81e57                  Pull complete                           0.7s 
                                             ✔ 4f4fb700ef54                  Pull complete                           0.0s 
                                             ✔ 9dcfcb600955                  Pull complete                           1.0s 
                                             ✔ 0902543587b7                  Pull complete                         212.6s 
                                             ✔ 6454a8f98e11                  Pull complete                         314.9s 
                                             ✔ fe8e38a18048                  Pull complete                          97.6s 
                                             ✔ a4662295f62c                  Pull complete                           0.9s 
                                             ✔ c5dcf86b0f8a                  Pull complete                           1.0s 
                                           ✔ Network magicmirror_default     Created                                 0.4s 
                                           ✘ Container 1b169eacdb71          Error response from daemon: No such container: 1b169eacdb711404e12c838a79de243c677daaaea260867d04c133a86cc3025b 6.8s 
                                          
                                          

                                          Output of docker compose config:

                                          name: magicmirror
                                          services:
                                            labwc:
                                              container_name: labwc
                                              environment:
                                                LAB_WC_HIDE_CURSOR: "true"
                                                RANDR_PARAMS: ""
                                                RANDR_POLL: 1m
                                                XDG_RUNTIME_DIR: /tmp/labwc
                                              image: karsten13/labwc:latest
                                              networks:
                                                default: null
                                              privileged: true
                                              restart: always
                                              volumes:
                                                - type: bind
                                                  source: /tmp/labwc
                                                  target: /tmp/labwc
                                                  bind: {}
                                                - type: bind
                                                  source: /run/udev
                                                  target: /run/udev
                                                  bind: {}
                                            magicmirror:
                                              container_name: mm
                                              depends_on:
                                                labwc:
                                                  condition: service_healthy
                                                  restart: true
                                                  required: true
                                              environment:
                                                DISPLAY: unix:0.0
                                                ELECTRON_ENABLE_GPU: "0"
                                                MM_CUSTOMCSS_FILE: css/custom.css
                                                MM_MODULES_DIR: modules
                                                MM_OVERRIDE_DEFAULT_MODULES: "true"
                                                MM_SCENARIO: electron
                                                MM_SHOW_CURSOR: "false"
                                                WAYLAND_DISPLAY: wayland-0
                                                XDG_RUNTIME_DIR: /tmp/labwc
                                              image: karsten13/magicmirror:v2.34.0_fat
                                              network_mode: host
                                              privileged: true
                                              restart: always
                                              shm_size: "268435456"
                                              volumes:
                                                - type: bind
                                                  source: /tmp/.X11-unix
                                                  target: /tmp/.X11-unix
                                                  bind: {}
                                                - type: bind
                                                  source: /home/pi/.Xauthority
                                                  target: /home/node/.Xauthority
                                                  bind: {}
                                                - type: bind
                                                  source: /tmp/labwc
                                                  target: /tmp/labwc
                                                  bind: {}
                                                - type: bind
                                                  source: /opt/mm/mounts/config
                                                  target: /opt/magic_mirror/config
                                                  bind: {}
                                                - type: bind
                                                  source: /opt/mm/mounts/modules
                                                  target: /opt/magic_mirror/modules
                                                  bind: {}
                                                - type: bind
                                                  source: /opt/mm/mounts/css/custom.css
                                                  target: /opt/magic_mirror/css/custom.css
                                                  bind: {}
                                              post_start:
                                                - command:
                                                    - /bin/sh
                                                    - -c
                                                    - |
                                                      if [ "init" = "init" ]; then
                                                        # update volume permissions
                                                        chown -R 1000:1000 config modules css/custom.css
                                                        chmod -R 777 config modules css/custom.css
                                                      fi
                                                      if command -v node_modules/.bin/electron > /dev/null; then
                                                        # if electron is installed then start dbus-daemon to avoid errors in the logs
                                                        dbus-daemon --system || true
                                                      fi
                                                  user: root
                                          networks:
                                            default:
                                              name: magicmirror_default
                                          
                                          
                                          karsten13K 1 Reply Last reply Reply Quote 0
                                          • karsten13K Offline
                                            karsten13 @Mathes75
                                            last edited by

                                            @Mathes75

                                            looks like there is an old container but no idea why docker is unable to remove it.

                                            You can try

                                            cd /opt/mm/run
                                            docker compose down
                                            docker rm -f $(docker ps -aq)
                                            docker compose up -d
                                            
                                            M 1 Reply Last reply Reply Quote 0

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 3 / 4
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy