Read the statement by Michael Teeuw here.
Scheduled restart for MM or module
-
Hi,
I´m in the middle of building my first MM and know next to nothing about coding. Thanks to Google I came very far, but now I´m stuck.
Here is my problem: I want to show the stream of my foscam camera to my mirror. I tried the module “MMM-ipCam” but i could not get it to work (it always returned “undefined object”). But I am able to see the stream in a browser via URL. So I got the iframe module and now the stream is shown on my mirror, yeah.
But: The stream freezes after a few hours. Sometimes it runs for a day and a half, sometimes for only 10 hours. After restarting the mirror, all is fine again.
This is what I already tried:
-
I copied the “update interval” section from the compliments module and inserted it in the iframe module. I thought this would fetch the stream every few minutes and solve the problem. I don’t even now if I did it right, but it did not help.
-
I looked up cron jobs and thought maybe I could start and stop the mirror every six hours. But since I know nothing about it and I did not find the right command to quit the mirror (I know start is npm start, but what would I say to quit…?) I gave up.
Can you help me with a few lines of code that I can insert into the module or for restarting the mirror?
-
-
@CyanKali have you checked out MMM-iFrameReload??
-
Thank you so much, that was exactly what I was looking for!
I can’t believe I did not find it with by searching, I thought I checked all the modules and forums…Someone added the possibility to get rid of the scrolling bars in the iframe module. I just copied the code from the iframe module and it works in the iframe reload module, too.
I don´t want to take credit for it since I just copied it, but if it helps someone else, here is what I did:
I added “iframe.scrolling = this.config.scrolling;” in the module file, there:// Override dom generator.
getDom: function() {
var iframe = document.createElement(“IFRAME”);
iframe.style = “border:0”
iframe.width = this.config.width;
iframe.height = this.config.height;
iframe.scrolling = this.config.scrolling;
iframe.src = this.config.url;
return iframe;
},After that, you can set “scrolling:“no”,” in the within the module in the config file.
Thanks again!
-
…me again. Unfortunately, iframe reload did not work. There seems to be an known issue with refreshing pages but I tried the suggested fixes and nothing worked:
https://github.com/TheBogueRat/MMM-iFrameReload/issues/2?_pjax=%23js-repo-pjax-containerThe author of the module does not answer me, maybe I can get some help here? When you click on the link you see my post where I describe what I already tried.
-
Did you ever resolve this? I’m running into the same issue.
-
Unfortunately no. I am still looking for a solution. And I´m still hoping somebody might help with this issue.
-
@CyanKali I’m not sure why the developer didn’t update the git pull for this one.
I ran into every issue you did when trying to implement the “fix.”
-
@CyanKali can you try
iframe.setAttribute("timestamp", new Date().getTime());
between line 32 and 33 of the js file? -
@strawberry-3.141 This worked for me. Outstanding. Thank you.
-
Hi straawberry, thank you for your help!
So, my js file now looks like this:getDom: function() { var iframe = document.createElement("IFRAME"); iframe.style = "border:0" iframe.width = this.config.width; iframe.height = this.config.height; iframe.scrolling = this.config.scrolling; iframe.src = this.config.url; iframe.setAttribute("timestamp", new Date().getTime()); iframe.id = this.config.id; return iframe;
is that right?
And my congif.js now looks like this:
{ module: 'MMM-iFrameReload', position: 'bottom_right', // This can be any of the regions. config: { // See 'Configuration options' for more information. url: "http://MY_URL", width: "80%", // Optional. Default: 400px height: "400px", // Optional. Default: 800px scrolling:"no", refreshInterval: 60, //Optional. Default: 3600 = 1 hour animationSpeed: 4000, } },
Is that right?
The stream is working right now, but I don´t see any refresh animation. I will have to wait until tomorrow to see if it reloads because most of the times it takes some hours for the stream to freeze.