Read the statement by Michael Teeuw here.
MMM-iFrame-Ping
-
Hello,
after struggling with existing iFrame modules, I decided to create my own…
Here are some other iFrame module :
- iFrame from desertblade : the original one with basics functions : one URL, no periodic refresh
- MMM-iFrame from alberttwong : allow several rotating URL but no periodic refresh of the content
- MMM-iFrameReload from TheBogueRat : one possible URL with periodic refresh
The functionnalities of my new iFrame module :
- Allow periodic refresh of the iFrame, or not (configurable), this allow to display images (with refresh) or video (without refresh)
- Ping the URL before trying to display the content. Display an error (with the last successful PING date and time) if the host is not reachable. PING code from MMM-Ping by CFenner
- If a PIR-sensor using MMM-PIR-Sensor module is used, the iFrame 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 iFrame-Ping module is hidden (by REMOTE-CONTROL or any Carousel module for example), the iFrame will not be updated. As soon as one MMM-iFrame-Ping 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)
- CSS file
I tested it with MM² version 2.4.1.
I hope it can also be helpful for others, please let me know any issue.
Some screenshot :
Display YouTube :
Display camera snapshot (with updates) :
PING Nok :
PING Ok, iFrame upload on-going :
All infos and installation instruction :
[card:AgP42/MMM-iFrame-Ping] -
This post is deleted! -
@AgP42 Thank you for this version of iFrame. Works well for me :)
I do get a white line around the embedded iFrame. Could you please tell me, how to get rid of it? -
@rudibarani said in MMM-iFrame-Ping:
@AgP42 Thank you for this version of iFrame. Works well for me :)
I do get a white line around the embedded iFrame. Could you please tell me, how to get rid of it?Hello,
you can try the following :
On the file “MMM-iFrame-Ping.js”, on lines 135, 136 and 137 there is :
iframe.width = this.config.width; iframe.height = this.config.height; iframe.scrolling = this.config.scrolling;
with those lines, please add :
iframe.style = "border:0"
This should solve your problem !
Bye,
AgP42 -
@agp42 Thanks for the quick help!
-
Dear @AgP42,
one of my use cases for your module is showing a livestream from the ISS on the night-page of my mirror, if a user is present. Looks really good!
Now i thought of enhancing it and playing some curated movies from the ISS during those moments, when it is not flying in daylight.Would it be possible / difficult to add a limited number of youtube links and either select one of them for playback via a notification or play them randomly?
-
@agp42 Would it be possible to have 2 instances in the config file, working independently?
-
@rudibarani Sorry for my late answer. Did you consider to create a youtube playlist and make it run on the Mirror ? (This way of doing is now describe on the readme file) I guest it will fulfill your need !
-
@agp42 Ok, thanks for the tip, I’ll checkup the README file.
-
@johans Hello, in fact I already try to manage this functionality (on another plugin), but it’s very hard to make it work.
Here is an easy way for you :- duplicate the plugin (copy/paste the full folder and rename it, for example “MMM-iFrame-Ping-2”)
- enter the folder and rename the file “MMM-iFrame-Ping.js” into “MMM-iFrame-Ping-2.js” (no need to change the css file, you can also delete it)
- open the file “MMM-iFrame-Ping-2.js” and and the very first line, also change :
Module.register("MMM-iFrame-Ping",{
to
Module.register("MMM-iFrame-Ping-2",{
- then you can declare this “new” module on your config file and use it with another URL
(Yes this is a very very bad looking solution :grimacing_face: , please don’t tell anyone it comes from me !:winking_face: )