• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 86.9k 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 AgP42 Oct 27, 2019, 11:43 AM Feb 10, 2019, 5:36 PM

    Dear all,

    Following several requests on my previous module MMM-iFrame-Ping, I have created a new one on the same topic (= web display using iFrame object) with different functionalities, see a comparison at the end.

    Functionalities of this module :

    • Several rotating URLs, it is possible to change the URL to display through :
      • a timer (configurable)
      • through notification by any other module
      • by http request (using MMM-RemoteControl)
      • by a fork (modification) of MMM-RemoteControl that add a menu to control MMM-SmartWebDisplay, see screenshot bellow
    • Periodic refresh of the URL, or not (configurable), this allow to display images or video
    • Allow to receive notification for the following actions :
      • Change the URL or the list of URLs to displays, and update refresh timer value and rotating timer value (This mean that you can change the video to display on your mirror by sending a message from your phone or PC)
      • Go to the next/previous URL of the list
      • Play/Pause/Stop the update and rotation of URLs
        These notifications can by sent by several other MM module and also (thanks to MMM-RemoteControl) by external http request, as for example IFTTT or Tasker (Android)
    • If a PIR-sensor using MMM-PIR-Sensor module is used, the display will not be updated during screen off (this behavior works also with all other module that send the notification “USER_PRESENCE”) and will be refresh with screen on.
    • If the MMM-SmartWebDisplay module is hidden (by MMM-RemoteControl or any Carousel module for example), the URL display will not be updated. As soon as one MMM-SmartWebDisplay module will be again displayed on the screen, an update will be requested.
    • Possibility to display the date and time of the last update request (configurable)
    • Possibility to declare several instances (but so far the notification will address all the instances together)
    • CSS file

    Screenshot :
    The module displaying YouTube :
    0_1549819278573_MMM-SWD-YouTube.png

    Modification of the module MMM-RemoteControl to allow controling MMM-SmartWebDisplay :
    0_1549819312002_RemoteSWD.png 0_1549819318667_RemoteSWD_2.png

    Comparison MMM-iFrame-Ping VS MMM-SmartWebDisplay :

    Advantage MMM-iFrame-Ping :

    • only display content if reachable and display the last date and time it was reachable

    Advantages MMM-SmartWebDisplay :

    • Several instances
    • Several URL with auto rotation possible
    • Notification to send new URL to display and to manage Next/Previous/Play/Pause/Stop commands
    • Special version of MMM-RemoteControl to allow Next/Previous/Play/Pause/Stop commands easily

    Bugs and next to code:

    • Being able to send the new URL through MMM-RemoteControl
    • Manage the notification with several instances (to send the notification only to one instance and not all)
    • Any other idea ??

    v2.0 - oct 2019

    • Add support of MMM-TelegramBot to send commands to the module

    All infos and installation instruction :
    [card:AgP42/MMM-SmartWebDisplay]

    And the modified version of MMM-RemoteControl :
    [card:AgP42/MMM-Remote-Control]

    S 1 Reply Last reply Feb 10, 2019, 11:17 PM Reply Quote 4
    • S Offline
      Seann Module Developer @AgP42
      last edited by Feb 10, 2019, 11:17 PM

      @agp42 Nice work! I recently added a similar modification to MMM-Remote-Control to submit custom url’s to an iframe, however I thought it might be a little difficult for people to use. I mainly created it for youtube and after all of my work on it I realized there’s already a youtube module which allows you to connect to the mirror as a smart device.

      A 1 Reply Last reply Feb 11, 2019, 3:00 PM Reply Quote 0
      • S Offline
        shbatm Module Developer
        last edited by Feb 11, 2019, 2:28 AM

        @AgP42 Nice work!

        Just to let you know, I did a bunch of work on a version of MMM-Remote-Control that automatically exposes an API for controlling other modules, and each module can send a notification with it’s own capabilities/API. It sounds like a good use case for this module. Instead of maintaining a separate fork, you send a module notification on startup with the capabilities, and it will automatically add a menu item to the Remote Control as well as add an API path at http://magicmirrorip:8080/api/module/smartwebdisplay/. Right now you could accept a URL from the API, but I still haven’t implemented a custom payload from the remote (you can still send the play/pause/etc. commands.

        My fork

        https://github.com/shbatm/MMM-Remote-Control/tree/develop
        https://github.com/Jopyth/MMM-Remote-Control/pull/104

        API Details:

        https://github.com/shbatm/MMM-Remote-Control/tree/develop/API

        Use Case:

        https://github.com/shbatm/MMM-Carousel/blob/master/MMM-Carousel.js#L86

        A 1 Reply Last reply Feb 11, 2019, 3:19 PM Reply Quote 0
        • A Offline
          AgP42 Project Sponsor Module Developer @Seann
          last edited by Feb 11, 2019, 3:00 PM

          @seann

          Thanks for your support ! ;-)
          Yes it is also very oft my problem : I send time to develop something and then I realize that someone else already did it much better !
          But it least it’s fun and you always learn better by doing youself !:smiling_face_with_open_mouth_cold_sweat:

          S 1 Reply Last reply Feb 11, 2019, 3:08 PM Reply Quote 0
          • S Offline
            Seann Module Developer @AgP42
            last edited by Feb 11, 2019, 3:08 PM

            @agp42 Can’t agree more, I did enjoy learning how to do it myself and already what I learned has came in handy for another module I have worked on. It’s still good to have ideas like this too.
            I’m looking forward to seeing your code for sending the new URL through the control too. Keep up the good work.

            A 1 Reply Last reply Feb 11, 2019, 3:21 PM Reply Quote 0
            • A Offline
              AgP42 Project Sponsor Module Developer @shbatm
              last edited by Feb 11, 2019, 3:19 PM

              @shbatm

              Good to know, it fact I am very unsatisfied that I had to create a “bad fork” of RemoteControl, it is a dirty way to work and I don’t really like that… :face_with_cold_sweat:

              Did you create a dedicated post for your fork and API ?

              If RemoteControl is not maintained anymore as it seams to be, it can be a good idea to create a new “major fork” maintained with new functions as for example API for the possibility for other module to integrate menu easily !

              The official MMM-RemoteControl has already 56 fork ! :face_screaming_in_fear:
              It will be interesting to see if they contains interesting features and having a new major branch.

              I didn’t look into your code deeply yet but I will do it and try to use it for my need instead of my own fork…

              Anyway I don’t have enough time myself to invest into the creation of the NextRemoteControl, but if you do so I will definitively follow and support that great initiative !

              S 1 Reply Last reply Feb 18, 2019, 2:45 AM Reply Quote 0
              • A Offline
                AgP42 Project Sponsor Module Developer @Seann
                last edited by Feb 11, 2019, 3:21 PM

                @seann :thumbs_up_light_skin_tone:

                1 Reply Last reply Reply Quote 0
                • R Offline
                  rafaelcota
                  last edited by Feb 11, 2019, 3:30 PM

                  This looks great, I’ll try it, but since you’re asking for other ideas, probably it will be a good one to make it compatible with MMM-TelegramBot, that way you can control your NEXT, PREV, etc from outside your local network using Telegram.
                  Enjoy

                  A 1 Reply Last reply Feb 11, 2019, 4:06 PM Reply Quote 0
                  • A Offline
                    AgP42 Project Sponsor Module Developer @rafaelcota
                    last edited by Feb 11, 2019, 4:06 PM

                    @rafaelcota

                    I didn’t know the MMM-TelegramBot, but I just check the documentation (incredibly well written ! :face_with_tears_of_joy: ) and it seams very easy to integrate, so I will add it on my coding to do list for the next version !

                    Thanks for the tip !

                    N 1 Reply Last reply Sep 24, 2019, 11:13 PM Reply Quote 0
                    • S Offline
                      swvalenti Project Sponsor
                      last edited by Feb 11, 2019, 6:04 PM

                      Question, so this could display a RTSP security camera feed?

                      A 1 Reply Last reply Feb 11, 2019, 9:02 PM Reply Quote -1
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 8
                      • 9
                      • 1 / 9
                      1 / 9
                      • First post
                        2/89
                        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