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-SmartWebDisplay : display web contents (including YouTube) on your MM

    Scheduled Pinned Locked Moved Utilities
    89 Posts 35 Posters 108.5k Views 38 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.
    • A Offline
      AgP42 Project Sponsor Module Developer
      last edited by

      Hello,

      I finalize the version, it is now available for everyone !

      To update (as every module) :

      cd ~/MagicMirror/modules/MMM-SmartWebDisplay
      git pull
      

      Enjoy ;-)

      1 Reply Last reply Reply Quote 0
      • A Offline
        Alain @AgP42
        last edited by sdetweil

        @AgP42 Hi - sorry for not replying sooner.
        Full config file as follows:

        /* Magic Mirror Config Sample
         *
         * By Michael Teeuw http://michaelteeuw.nl
         * MIT Licensed.
         *
         * For more information how you can configurate this file
         * See https://github.com/MichMich/MagicMirror#configuration
         *
         */
        
        var config = {
        address: "0.0.0.0", // Address to listen on, can be:
                             // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
                             // - another specific IPv4/6 to listen on a specific interface
                             // - "", "0.0.0.0", "::" to listen on any interface
                             // Default, when address config is left out, is "localhost"
        port: 8080,
        ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "192.168.0.43", "192.168.0.46"], // Set [] to allow all IP addresses
                                                              // or add a specific IPv4 of 192.168.1.5 :
                                                              // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
                                                              // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
                                                              // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
        
        language: "en",
        timeFormat: 24,
        units: "metric",
        
        modules: [
        {
        module: "alert",
        },
        {
        module: "updatenotification",
        position: "top_bar"
        },
        {
        module: "clock",
        position: "top_left"
        },
        {
        module: "calendar",
        header: "US Holidays",
        position: "bottom_right",
        config: {
        calendars: [
        {
        symbol: "calendar-check",
        url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics" }
        ]
        }
        },
        {
        module: "compliments",
        position: "middle_center"
        },
        {
        module: "currentweather",
        position: "top_left",
        config: {
        location: "Satellite Beach",
        locationID: "4172173",  //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
        appid: "xxx"
        }
        },
        {
        module: "weatherforecast",
        position: "bottom_left",
        header: "Weather Forecast",
        config: {
        location: "Satellite Beach",
        locationID: "4172173",  //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
        appid: "xxx"
        }
        },
        {
        module: "newsfeed",
        position: "bottom_bar",
        config: {
        feeds: [
        {
        title: "New York Times",
        url: "http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml"
        }
        ],
        showSourceTitle: true,
        showPublishDate: true,
        broadcastNewsFeeds: true,
        broadcastNewsUpdates: true
        }
          },
        {
              module: "MMM-Remote-Control",
        // position: "top_right",
                // uncomment the following line to show the URL of the remote control on the mirror
                // you can hide this module afterwards from the remote control itself
                config: {
                    apiKey: "xxx"
                }
            },
        {
        module: "MMM-SmartWebDisplay",
        position: "top_right", // This can be any of the regions.
        config: {
        // See 'Configuration options' for more information.
        logDebug: true, //set to true to get detailed debug logs. To see them : "Ctrl+Shift+i"
        height:"300px", //hauteur du cadre en pixel ou %
        width:"525px", //largeur
                        updateInterval: 1, //in min. Set it to 0 for no refresh (for videos)
                        NextURLInterval: 0, //in min, set it to 0 not to have automatic URL change. If only 1 URL given, it will be updated
                        displayStateInfos: false, //to display if the module is on autoloop, or stop.
                        displayLastUpdate: true, //to display the last update of the URL
        displayLastUpdateFormat: 'HH:mm:ss', //format of the date and time to display
                        url: ["https://xxx/public/magic1.html"], //source of the URL to be displayed
        scrolling: "no" // allow scrolling or not. html 4 only
        }
          },
        {
        module: "MMM-PIR-Sensor",
        config: {
        sensorPin: 22,
        powerSavingNotification: false,
        powerSavingDelay: 100
        }
        },
        {
                module: "MMM-Astronauts",
                position: "bottom_center",
                config: {
        useHeader: false,                // true if you want a header      
        header: "",                      // Change in config file. useHeader must be true
        maxWidth: "300px",
        animationSpeed: 3000,            // fade speed
                }
            },
        ]
        
        };
        
        /*************** DO NOT EDIT THE LINE BELOW ***************/
        if (typeof module !== "undefined") {module.exports = config;}
        
        A S 2 Replies Last reply Reply Quote 0
        • A Offline
          AgP42 Project Sponsor Module Developer @Alain
          last edited by

          Hi @Alain,

          first please remove all your apikey on your post before :winking_face:

          I see that you also use the MMM-PIR-sensor module, with a delay of 100s, this is probably the root cause of the strange behavior that you saw.

          Let me explains you my analysis :

          Here is how this sensor work (Source) :
          PIR

          The delay of detection or non-detection as to be set directly on the sensor !

          So your sensor will sent to the module “MMM-PIR-Sensor” 2 possible states “HIGH” (presence) or “LOW” (no presence).

          Each time the MMM-PIR-Sensor will receive a modification of the sensor status, it will sent immediately (to everyone, so to MMM-SmartWebDisplay too) a notification saying “USER_PRESENCE=true” or false.

          Developer Notes (MMM-PIR-Sensor)
          
          This module broadcasts a USER_PRESENCE notification with the payload beeing true or false you can use it to pause or disable your module.
          

          The “powerSavingDelay” is applied after this notification is sent to everyone.

          And my module “MMM-SmartWebDisplay” use this notification to stop and restart the update timer.

          So by setting 100s of delay on the MMM-PIR-Sensor module, it probably totally mix up all the update timer management of my module. :loudly_crying_face:

          A small example :

          • Nobody in front of the mirror for long time, so Mirror is off
          • you arrives close to the Mirror, that activate the PIR sensor, the Mirror wakes up and MMM-SmartWebDisplay also wakes up, update the html page to display and set a new refresh in 1 min (because you configure it with 1min)
          • your sensor doesn’t detects you anymore : during 100s, so 1min40s your Mirror will stay ON without any notification (because you desactivate “powerSavingNotification”), but MMM-SmartWebDisplay (and all other modules) received the notification “USER_PRESENCE=false”, so MMM-SmartWebDisplay stops the update of the html page.
          • if your sensor detects you again during this 100s, then you should see the update of the html (directly when the sensor will send the info to the Mirror) --> Do you confirm this ?

          So for me your problem is on the adjustment of your PIR sensor and the value you set for this module configuration. You can follow this very good page to adjust correctly your sensor : PIR sensor

          Personally I adjust the detection delay on the sensor itself and I just set 10s of “powerSavingDelay” after a notification (powerSavingNotification: true).

          I hope my explaination was clear enough !

          Good luck and let me know if you still face issues,

          Bye
          AgP42

          SergeS 1 Reply Last reply Reply Quote 2
          • B Offline
            BD0G @brotherbrown831
            last edited by

            @brotherbrown831
            Sure. What one does is create an actiontiles panel that they want displayed. Then copy the URL that points directly at the panel. This URL must use the http:// prefix in the address and cannot start with just panel.actiontiles.com/
            Then turn the refresh setting within the config.js settings to 0
            (for no refresh)
            The first time that MMM-SmartWebDisplay loads the page/actiontiles panel one will be prompted to log on. Use your credentials to log on. They will be saved by the browser that is running your MagicMirror instance.

            Then in the future MMM-SmartWebDisplay will just display the panel itself without the need to log on each time. So there is no need to pass the username and password “within” the URL address. There is a caveat. If you panel contains camera feeds (live Video or Still Image) your camera tile within the panel “may” need logon details like username and password to display. These will not work as username and password cannot be “passed” within the
            URL string and be processed.
            Just create a panel without the camera streams to be displayed.

            1 Reply Last reply Reply Quote 0
            • T Offline
              ttarzan
              last edited by

              Hello everyone, I have 2 instances of the module MMM-SmartWebDisplay running. This works well.

              I also use MMM-Pages to rotate contents of the screen. I would also like to rotate one instance of the module MMM-SmartWebDisplay against one with another module. But how do I address it if I have 2 instances? Both instances have the same module name and are only different in size, position and content.

              1 Reply Last reply Reply Quote 0
              • C Offline
                chassain 0
                last edited by

                hello,

                Rename the folder MMM-SmartWebDisplay2…then the MMM-SmartWebDisplay2.js and inside Module.register(“MMM-SmartWebDisplay2” like this

                and call MMM-SmartWebDisplay on page 1 and MMM-SmartWebDisplay2 on page 2

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

                  @Alain in the future, please use the markup wrapper for config or code entries…

                  paste the text, select it, and hit the </> button

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    ttarzan @chassain 0
                    last edited by

                    @chassain-0 Thanks, that works. You have to change the name of the module in the js file to “MMM-SmartWebDisplay2”. But I noticed that after each change of the modules the URL is reloaded, although I set updateInterval to 0. So the background is briefly white, which I don’t like. So I leave that with the rotation. Thanks for the help anyway.

                    1 Reply Last reply Reply Quote 0
                    • SergeS Offline
                      Serge @AgP42
                      last edited by

                      @AgP42 said in MMM-SmartWebDisplay : display web contents (including YouTube) on your MM:

                      Hi @Alain,

                      first please remove all your apikey on your post before :winking_face:

                      I see that you also use the MMM-PIR-sensor module, with a delay of 100s, this is probably the root cause of the strange behavior that you saw.

                      Let me explains you my analysis :

                      Good luck and let me know if you still face issues,

                      Bye
                      AgP42

                      Exactly the same behavior that my mirror shows.
                      I have a PIR sensor and i am using https://github.com/paviro/MMM-PIR-Sensor
                      I have 60 sec powersaving delay for display turning-off, but user presence is translated as soon as the is detected by sensor. This cause some inconsistencies.
                      Is it possible to add time delay in config.js file in order to make more easier integration of PIR modules and SWD module?
                      Also, it would be good to have the ability to switch-off the Presence notification dependency.
                      Sometime I just want to run youtube (say classic music) even when the display is turned off (as a background music)
                      Such command/config will let do that.

                      A 1 Reply Last reply Reply Quote 0
                      • SergeS Offline
                        Serge
                        last edited by Serge

                        Also, as an idea for the function “continuous play”. Function will allow module to pause current video when the screen turned off by PIR and continue to play it again when screen turned on by PIR.
                        Now video starts from the beginning each time the module getting an user presence notification.

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 5
                        • 6
                        • 7
                        • 8
                        • 9
                        • 7 / 9
                        • 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