Read the statement by Michael Teeuw here.
MMM-Scenes2
-
MMM-Scenes2
“Life is a theatre set in which there are but few practicable entrances.”
― Victor Hugo, Les Misérables
MagicMirror module to change screen scenes by time and order with ANIMATION EFFECT.
Demo
Click To Play
Click it to see the DEMO.
Its configuration file is in/examples/config.js.example
Successor of
MMM-Scenes
Since MM 2.25, a new feature,
animateCSS
is introduced into the MagicMirror.By this update, my previous
MMM-Scenes
will be obsoleted. So I remade a new module for MM 2.25- The update can provide more effects now. ( without my effort. :D )
- I guess custom animation is rarely used, and this update would cover most use-cases. So I decided to drop it.
- I redesigned the structure more simply and intuitively. (
role
is introduced.)
Concept
The scenario of the MM screen comprises a series of scenes. Each module has its role in its appearance scenes to enter and exit by design.
When a scene begins, all modules whose roles end will be expelled, and all modules with the parts in that scene will be admitted.
As described in the scenario, your MM screen will play a drama with modules.
Features
- control show/hide modules by assigning role names to the module’s class
- various animations for modules exit/enter
- control scenes by notification and WebURL endpoints.
- Loop control
- custom indicators
-
@MMRIZE thanks for the great module! I’ve added it to my MagicMirror and it works great but I’ve noticed that it stops rotating scenarios after about an hour or so. I haven’t done much troubleshooting yet but have you encountered this behavior before? I’m running it on an rpi4 8GB.
-
@hrmax23
I need a log when it stops. (It would not be backend-log, it should be frontend-log.) If possible, Use MMM-LogExt to record long term front-end log. -
@MMRIZE
I added MMM-LogExt and attached the log around the time the scenario switching stops. -
@hrmax23
Hmmmm… Could you try withoutMMM-MyScoreboard
module? -
@hrmax23
MMM-MyScoreboard
is trying to control Show/Hide by itself. I don’t know why, anyway it does. I guess it doesn’t want to show empty content. However, its code is depending on the old MM’s code./* We're using the lockString parameter to play nicely with other modules that attempt to show or hide this module, e.g.: MMM-Facial-Recognition. When both use a lockString, the module will only be visible when both agree that it should be visible. */ if (!anyGames) { this.hide(1000, {lockString: this.identifier}); } else { this.show(1000, {lockString: this.identifier}); }
.hide(duration, options)
and.show(duration, options)
were changed in a meantime as.hide(duration, callback, options)
and.show(duration, callback, options)
. So that makes those error messages.[ERROR] [module.js:395:8] Parameter mismatch in module.show ...
Maybe that prevents other controller module(like MMM-Scenes2)'s working. I guess so.
-
@MMRIZE
I actually removed MMM-MyScoreboard from the scenario prior to your post and you are right that it’s the module causing the issue. That module seems dormant so I may try to see if I can fork it and try to fix it.Thanks for your help in looking into the issue!
-
I may have spoken too soon. It has been working for about 12 hours but just froze on MMM-MyStandings so maybe that module has a similar issue.
-
@hrmax23 many of the modules have a design flaw copied from one of the original modules.
the web side provides the timing control to request data, which is reset when the helper responds.
but if the helper encounters an error( network glitch, timeout… ), it does not respond. and so the main side is waiting and the helper thinks it is done… deadlock not recoverable until restart
-
@sdetweil Can I ask a stupid question? When I initially started coding my first module I was advised to handle the suspend and resume in the module and picked the samples up from I think your sample module or maybe it was another module. Apologies if it was not yours.
Are we saying it is bad practice to use the two together? I.e. handling the suspend and resume etc. in module and should rather leave it out completely?