Read the statement by Michael Teeuw here.
MMM-iFrame-Ping
-
@rudibarani
Thanks and you are welcome, it’s a pleasure to see that my work is useful and appreciated :-)I did a little bit more debugging and I also to try to change the URL through a rotating button or through the scheduler and I found some issues on the code I sent you for testing.
Next week I am also traveling but as soon it look like acceptable I will send the new version.This functionality to be able to change dynamically the URL will really make this module much more interesting than the actual version !
Every module will be able to send a notification to change the url, so many many new possibilities ! :relieved_face: -
@agp42 Hi AgP42, your idea to duplicate the PlugIn doesn’t work for me. I made the adjustments as described, but I only see one iFrame at a time. Sometimes the initial display shows the iFrame of the second instance in the first instance. After a few seconds the content is displayed correctly for the second instance. The first instance remains empty.
If I have understood and researched this correctly so far, there are problems to differentiate between the two instances when displaying the ‘Payload’.
Do I have to make further changes to the second instance? -
@AgP42
Hi, Thanks for the work, good module.
Would it be possible to update the module by adding notification mgt to move to next url, .ie :- upon “IFRAMEPING_NEXT_URL” : display the next url of the list
- Same with previous
- Add Start / Pause option through notification also.
I’m using MMM-GroveGestures and would like to be able to switch from URL1 to URL2 with gestures.
Regards
-
Dear @agp42,
I am finally getting back at my mirror and get some time to incorporate your updated module. Thanks again for making dynamic URLs possible!Would you mind changing
this.urlToDisplay = payload.url;
tothis.urlToDisplay = payload;
in your code? Thus, one could send a plain url as payload without the need to process it to be in the format{"url":"http://..."}
.
This would make things easier and as the payload will only contain a URL if the notification is iFrame_Ping_URL, this should not cause any problems with other possible content. -
@rudibarani
Hello rudibarani,in fact it was my first try (as it is easier…) but I couldn’t succed to make it work and adding this “url”: is the only way I have found to make it work…
Did you try to change the code and it was ok ?I do my best to find some hours this week end to finally debug my code and be able to release that new version !
On the next version it will be possible to send a new url through http request, but also with the module scheduler or with a rotating button
-
@bolish
Hello Bolish,thanks and happy to see that my module is useful,
I didn’t know the module MMM-GroveGestures so far but I check its documentation and it will be possible on the next version of the iFrame-Ping module to change the URL through the following code :
notificationExec: { notification: "iFrame_Ping_URL", payload: { url: "http:whaturlyoulike.com" } }
But it will not be a list of URL to switch between each other, just one url linked to a movement.
I will investigate a bit more this week end…
-
Hi @AgP42 , @rudibarani
The modification you will implement for @rudibarani 's need will help me in one sense.
Indeed, MMM-GroveGestures is able to send wathever notification we want.
So, based on gestures, I will be able to send different URL’s.It’s nevertheless, not covering fully my need as I was hoping for something incremental.
MMM-iFrame to manage the list of URL’s and able to move to next URL based on “URL NEXT” notification reception.Maybe a combined proposal (that would make sense to me) would be :
- Centralize URL management into MMM-iFrame with :
- URL 1 : htpps…
- URL 2 : hfkzejrhfzoer
This would allow :
- any other modules to call for URL 1 or 2 and maybe suiting to @rudibarani
- would to avoid people to manage the list of URL into several modules (keep it into MMM-iFrame)
- enable the possibility to manage incremental notification mgt (my intial request : “NEXT URL” by managing a kind of counter into mmm-iFrame (to move from URL X to URL X+1 or URLX-1)
I hope it’s clear.
And I also don’t want to mess up with @rudibarani 's need which was expressed before…
So if my proposal (which seems more generic to me, so potentially opening larger possibilities in future for this module), suits to @rudibarani , fine.
But if my proposal is not suiting to @rudibarani 's need, go for him first maybe, I will try to adapt myself later.
Hope you will have time to dig in soon!
- Centralize URL management into MMM-iFrame with :
-
Dear all,
so before to do a new release, let’s think a bit ! :thinking_face:
First, here is a summary of the request/question so far on this forum and on github issue about this module :
Major requests :
- Be able to display several URL :
- to be launched randomly - @rudibarani, Gavin-McLeod (GitHub)
- to be able to launch the next one, previous one and play/pause through notification - @bolish - Request new URL to display through notification (and without url formating will be better) - @rudibarani
- Be able to declare several instance of the module to display several different video on the same display - @Johans, @Horge, gpapig (github)
Minor requests :
- remove iFrame border @rudibarani and @THeStigh (github) --> no problem to add a param
- be able to scale the content Felisuk (github) --> complex and I don’t really want to spend time on it for now…
On a technical point of view, the most complicated part to manage several urls or instances is due to the fact that I use a “node_helper” to be able to manage asynchronous tasks to manage the ping functionality. And this node_helper has to be shared between all instances ; and as it is asynchronous, if a new url notifications arrives before the previous ping answer (or timeout), it causes url inversions…
I personally need that ping functionality because I use my module to display the image of a camera that is very oft down…(otherwise I wouldn’t have created this module ! :face_with_stuck-out_tongue_winking_eye: ), but I guess that several of this module users don’t need it, right ? :question_mark:
=> So my proposal will be to keep this module as it is now (with small bug correction that I found anyway), and to create a new one dedicated to the dynamic url management and able to display several instances.
My proposal for this new module (this is a proposal, let’s see after what I can really do !) :
- name : MMM-SmartWebDisplay (any other idea welcome ! I don’t want to keep iFrame on the name, nobody care of the technical mechanisms…)
- new functions :
- several instances possibles, identifiable with a name to be able to send them dedicated notifications
- url to display sent through notification (to be able to send a list of URL will be best). This notification could be send :
* by external http request, using MMM-RemoteControl. This will open a very big range of possibilities, as for example using IFTTT to change the content to display according to any trigger…
* by MMM-ModuleScheduler (according date and time)
* by rotating button module (or any other button module or PIR sensor)
* in fact by any module able to send a notification to other modules ! - management of several url (given on the config file or received by a notification) :
* possibility to define a timer to go to the next URL (if the URL is not a video it must be possible also to use the updateInterval time in addition)
* possibility to use notification to request the following actions : NEXT or PREVIOUS url. As before this notification can be send by any module, as for example MMM-GroveGestures, but also any physical button or by an http request, … - possibility to send notification to play/pause the rotation of URL and the intervalUpdate (to refresh images)
question : for videos what should I do ? Just stop the rotation of URL or stop the playing video too ? It will be possible to stop them (in fact : change the URL to empty), but not to stop the image where it is and restart the video later, because I have no access to this YouTube (or other) embedded function…
To clarify : what extra infos to be display bellow the image ? If several URL I can consider to write the name of the next URL.
-
previous functions of iFrame-Ping that will remains :
- management of stop and restart according to USER_PRESENCE and module hidden (in fact it will be the same behavior than on reception of the notification “play”/“stop”)
-
previous functions that will be removed :
- PING before display…
This dream list seams to me very interesting ! Any other idea ?
Also now… : let’s sleep :sleeping_face: and tomorrow : let’s code !! :smiling_face_with_open_mouth_cold_sweat:
- Be able to display several URL :
-
@AgP42
Perfect for me!!
Note : why note using your current module and just allow the ping Yes / No option? (or keep it by adding the possibility to hide it or??)Anyway, I would be happy with your above proposal anyway!! Up to you.
Several URL’s and NEXT / PREVIOUS URL is must for me, so +1000.
Regarding the play / pause option, I was thinking about play / pause the video but you just said it’s not possible and after thinking about it again, I believe stopping the rotation of URL as you proposed is even more important. So +1 for rotation play / pause.
Several instances would be perfect for me either, so +1!
I’m just thinking about additional dream :
Maybe I’m dreaming a bit, but the cherry on the cake for me, would be to be able to “define a mouse click parameter”. i.e : by sending notification “CLICK ON X”, this would simulate a click at a certain location on the page (I don’t know how it work, coordinate X,Y)…But I’m too noob to realize what my demand is really triggering in terms of dev.
(idea behind would be to display google agenda in an iframe and move to next and previous month by simulating the click).
If too complex, forget about it.
Forget about that one, I will manage differently and not with iFrame.Be strong tomorrow!!!
-
Thanks @bolish for your support ! :grinning_face_with_smiling_eyes:
So today was a good coding day (hopefully because I don’t know when will be the next one…), not all the functionnalities describe yesterday are working, but I have made some extra too…
So the new MMM-SmartWebDisplay version 1 is done , I will describe here the differences according to our previous discussions and then I will put it on GitHub and create a new post on the forum about it.
Going back to the requests :
- Be able to display several URL : –> DONE
- to be launched randomly - @rudibarani, Gavin-McLeod (GitHub) –> DONE but not randomly, one after the other following the order given on the config file. Why do you want it random ??
- to be able to launch the next one, previous one and play/pause through notification - @bolish –> DONE, 5 possibilities : Next, Previous, Stop (no more update and current URL stopped, black screen instead), Pause (no more update but the current URL remains, and continue to play if it is a video), Play (start again all updates, restart the same video currently running if any)
- Request new URL to display through notification (and without url formatting will be better) - @rudibarani –> DONE, it is possible to request 1 URL or a list of URLs, and it is possible to send also on the same notification the value for autorefresh update and the value for the timer to play the following URL (but not mandatory)
- Be able to declare several instance of the module to display several different video on the same display - @Johans, @Horge, gpapig (github) –> Unfortunately no working… I manage to display several iFrame on the same page together, but only the second one is updated and receive the notification… I don’t know why, but I didn’t spend much time on it…
So @bolish and @rudibarani : you are served ! :winking_face:
If you faced any bug, let me know… - Be able to display several URL : –> DONE