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: Notification formatting

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    31 Posts 7 Posters 22.1k Views 7 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.
    • S Offline
      sdetweil @wishmaster270
      last edited by

      @wishmaster270 known bug. fixed in next release

      https://github.com/MichMich/MagicMirror/issues/2828

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      wishmaster270W 1 Reply Last reply Reply Quote 1
      • wishmaster270W Offline
        wishmaster270 Module Developer @sdetweil
        last edited by wishmaster270

        @sdetweil
        I should have checked that. Thank you for the link.
        With the current develop branch the formatting works as expected, too.

        Edit: If the comment is removed of the translation files the translations work as well and the right title is displayed

        C 1 Reply Last reply Reply Quote 1
        • C Offline
          coernel @wishmaster270
          last edited by

          @wishmaster270 and @Jan-0 Is there now a current repository with the issues fixed? I would love to use the module as well.
          Also it should be added here : https://github.com/MichMich/MagicMirror/wiki/3rd-party-modules

          wishmaster270W J 2 Replies Last reply Reply Quote 0
          • J Offline
            Jose Walsh
            last edited by

            @Jan-0 said in MMM-Fritz-Box-Callmonitor: Notification formatting:

            Hi,
            I’m referring to this module (https://github.com/paviro/MMM-FRITZ-Box-Callmonitor). Although it is quite outdated, I still like it and I was able to transfer it to an python3 environment. However, since some update (don’t know which one), the notification (“alert”) is not formatted properly.
            The reason seems to be in line 85 of the file MMM-FRITZ-Box-Callmonitor.js:
            // Override socket notification handler.
            socketNotificationReceived: function(notification, payload) {
            if (notification === “call”) {
            //Show alert on UI
            this.sendNotification(“SHOW_ALERT”, {
            title: this.translate(“title”),
            message: “” + payload + “”,
            imageFA: “phone”
            });

              	//Set active Alert to current call
              	this.activeAlert = payload;
              }
            

            There are two problems: 1) the title is not translated but printed, 2) the message is not formatted but the formatting information is printed verbosely.
            Unfortunately, I’m neither an expert in the MagicMirror syntax nor in javascript. Could somebody give me a hint how I need to adopt the code?

            To fix this, you can remove the quotes and use template literals instead. Template literals allow you to include variables and formatting within a string using backticks () instead of quotes. Here's how you can modify the code to use template literals: socketNotificationReceived: function(notification, payload) { if (notification === "call") { //Show alert on UI this.sendNotification("SHOW_ALERT", { title: this.translate("title"), message: ${payload}`,
            imageFA: “phone”
            });

            //Set active Alert to current call
            this.activeAlert = payload;
            

            }
            }
            As for the translation issue, you need to make sure that the translate function is correctly configured in your module. The translate function should be defined in the getTranslations function in the module’s node_helper.js file. Here’s an example of how to define the translate function:
            getTranslations: function() {
            return {
            en: “translations/en.json”,
            de: “translations/de.json”
            };
            },

            translate: function(key) {
            return this.translate(key);
            }
            This assumes that you have translation files for English and German located in the translations folder of your module. You may need to modify this code to match the structure of your module.

            I hope this helps! Let me know if you have any other questions.

            1 Reply Last reply Reply Quote 1
            • wishmaster270W Offline
              wishmaster270 Module Developer @coernel
              last edited by wishmaster270

              @coernel
              Hi,
              as i can see this fork https://github.com/drtorchwood/MMM-FRITZ-Box-Callmonitor-py3/tree/code_update_2023 contains all changes needed.
              But you will need to either use the current development version of MagicMirror or wait for the next release which i think is planned for 2022-04-01 to get the alerts formatted correctly.

              C 1 Reply Last reply Reply Quote 1
              • C Offline
                coernel @wishmaster270
                last edited by

                @wishmaster270 said in MMM-Fritz-Box-Callmonitor: Notification formatting:

                @coernel
                Hi,
                as i can see this fork https://github.com/drtorchwood/MMM-FRITZ-Box-Callmonitor-py3/tree/code_update_2023 contains all changes needed.
                But you will need to either use the current development version of MagicMirror or wait for the next release which i think is planned for 2022-04-01 to get the alerts formatted correctly.

                This is great however I just get this:
                nocall.jpg
                Is this the formatting error we are talking about without the Core update? If yes I am willing to wait. But this for me looks like more than a formatting setting!

                Callmonitor definately is enabled via Fritz!Phone. And username and password are correct - I can access the Fritz!Box and the user has the view and edit settings:

                Benutzer mit dieser Berechtigung können alle Einstellungen der FRITZ!Box sehen und bearbeiten.

                Any help would be appreciated!

                wishmaster270W 1 Reply Last reply Reply Quote 0
                • wishmaster270W Offline
                  wishmaster270 Module Developer @coernel
                  last edited by wishmaster270

                  @coernel
                  The view you show indicates that there are no recent calls and that the fetch of the telephone book is still running or was not successful. But it is the normal view. The calls will be signaled as alerts. So make sure you have the default alert module activated in your config.js:

                  		{
                  			module: "alert",
                  		},
                  

                  The formatting will only be wrong in the alert.

                  Please make sure to check the following things, too:

                  • You cloned the right fork with the following command?
                  cd ~/MagicMirror/modules
                  git clone git@github.com:drtorchwood/MMM-FRITZ-Box-Callmonitor-py3.git
                  

                  Edit:
                  * You use the right branch by calling the following commands?
                  As of 2023-02-25 the changes are merged to the master branch of the fork. So no need to change to the code_update_2023 branch anymore.

                  • You installed the JavaScript dependencies?
                  cd ~/MagicMirror/modules/MMM-FRITZ-Box-Callmonitor-py3
                  npm install
                  
                  • You installed the Python dependencies?
                  sudo pip3 install fritzconnection
                  
                  • You activated the call monitor service of the box by dialing the following number with one of your phones?
                  #96*5*
                  
                  • You configured the right IP address in config.js with option fritzIP. Default is 192.168.178.1?
                  		{
                  			module: 'MMM-FRITZ-Box-Callmonitor-py3',
                  			position: 'bottom_left',
                  			header: "Verpasste Anrufe", 
                  			config: {
                  				username: "foo",
                  				password: "bar",
                  				fritzIP: "10.18.8.1",
                  				reloadContactsInterval: 50,
                  				minimumCallLength: 0,
                  				showContactsStatus: true,
                  				maximumCallDistance: 60*6,
                  				maximumCalls: 4,
                  				fade: false,
                  				debug: true,
                  			}
                  		},
                  

                  If the call monitor service is not activated on the fritz box you will see a message like this in the logs:

                  [24.02.2023 16:31.29.944] [ERROR] Error: connect ECONNREFUSED 192.168.178.1:1012
                      at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
                    errno: -111,
                    code: 'ECONNREFUSED',
                    syscall: 'connect',
                    address: '192.168.178.1,
                    port: 1012
                  }
                  

                  And again the call monitor service is independent of username and password. The credentials are used to fetch the telephone book and the past calls only.

                  Thats how the default view looks in my case:
                  fritzcallmonitor.png

                  And thats how it looks if there is a incomming call:
                  fritzcall.png

                  If you do not use the current development branch of MagicMirror there may be some html code in the alert and it will look like <span style='font-size:30px'>Tom</span>

                  fritzcallmonitor_tom.png

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

                    @coernel I now also pushed the changes into the master https://github.com/drtorchwood/MMM-FRITZ-Box-Callmonitor-py3/tree/master

                    C 1 Reply Last reply Reply Quote 1
                    • C Offline
                      coernel @Jan 0
                      last edited by

                      @Jan-0
                      This is so cool! It does work now. Has it been published to the list of modules?
                      If you or @wishmaster270 are somewhere near Cologne you or are invited for a free professional solo session of Feldenkrais Functional Integration or a free professional singing lesson!

                      wishmaster270W 1 Reply Last reply Reply Quote 0
                      • wishmaster270W Offline
                        wishmaster270 Module Developer @coernel
                        last edited by

                        @coernel
                        Great to hear and you are welcome. I try to help where I can.
                        I live about 30km south of Munich but thanks for your invitation.

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

                          Hi Everybody out there using MMM-FRITZ-Box-Callmonitor,
                          I would love to use this Module, but I’m not really in the mod to code or to find errors.
                          I tried to install your new branch under PiOS “Bookworm” but I get some errors using
                          “sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev && sudo pip install fritzconnection”!
                          The first error is: " E: For Package »python-dev« exists no Installationscandidate."
                          The second error for pip install is: “externally-managed-environment …”
                          How can I solve these problems?
                          Sorry for my bad english, I’m german and over 60 years old.
                          Thanks for helping.

                          R 1 Reply Last reply Reply Quote 0
                          • R Offline
                            rabbit83ka @xIExodusIx
                            last edited by

                            @xIExodusIx that’s due to changes in the handling of the python packages. I installed “fritzconnection” in a virtual environment:

                            python -m venv venv
                            
                            source venv/bin/activate
                            
                            python -m pip install fritzconnection
                            

                            to make the Callmonitor use the fritzconnection, I edited the nodehelper.js (in ~/MagicMirror/modules/MMM-FritzBox-Callmonitor-py3) in line 212 to look like this (user is “pi”, must be adapted if you use another user):

                            pythonPath: '/home/pi/venv/bin/python',
                            

                            Don’t know if it’s the best solution, but it works.

                            S 1 Reply Last reply Reply Quote 0
                            • S Offline
                              sdetweil @rabbit83ka
                              last edited by

                              @rabbit83ka you can set the venv in the mm.sh that starts MagicMirror

                              then you don’t need to do that

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              R 1 Reply Last reply Reply Quote 0
                              • R Offline
                                rabbit83ka @sdetweil
                                last edited by

                                @sdetweil Thanks, so it should look like this?

                                #!/bin/bash
                                # This file is still here to keep PM2 working on older installations.
                                cd ~/MagicMirror
                                export PYTHONPATH="/home/pi/venv/bin/python"
                                DISPLAY=:0 npm start
                                
                                S 1 Reply Last reply Reply Quote 0
                                • S Offline
                                  sdetweil @rabbit83ka
                                  last edited by sdetweil

                                  @rabbit83ka no, execute the venv command to set the virtual environment in place of the export

                                  the same venv command you did before running pip

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

                                  R 1 Reply Last reply Reply Quote 0
                                  • R Offline
                                    rabbit83ka @sdetweil
                                    last edited by

                                    @sdetweil I used your script

                                    fixuppm2.sh
                                    

                                    when I set up the mirror
                                    Now I modified ~/MagicMirror/installers/mm.sh to

                                    #!/bin/bash
                                    # This file is still here to keep PM2 working on older installations.
                                    cd ~/MagicMirror
                                    source venv/bin/activate
                                    DISPLAY=:0 npm start
                                    

                                    but that doesn’t work, error occures again because node_helper doesn’t seem to use the venv.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      sdetweil @rabbit83ka
                                      last edited by sdetweil

                                      @rabbit83ka when I look at my .bashrc whichs sets up the default venv on shell open
                                      I see

                                      # Virtual Environment Wrapper
                                      source /usr/local/bin/virtualenvwrapper.sh
                                      PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
                                      export PKG_CONFIG_PATH
                                      cd ~
                                      

                                      this topic seems applicable
                                      https://unix.stackexchange.com/questions/87062/how-to-display-the-name-of-the-current-virtualenv

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      S 1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        sdetweil @sdetweil
                                        last edited by

                                        @rabbit83ka I also see this for background

                                        https://arshovon.com/blog/python-background/

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

                                        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
                                        • 2 / 2
                                        • 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