This module behaves like a screensaver and displays a full-screen word clock on your mirror when it is idle.
[card:jclarke0000/MMM-MyWordClock]
0_1502909978256_MMM-MyWordClock_hero.jpg
This is very similar to the existing MMM-TextClock module. It is not a fork – the underlying code is quite different – and my reasons for recreating this module are as follows:
I wanted my word clock to be full screen
I wanted my word clock to act like a screensaver, where after a certian amount of time, the clock appears, and is cancelled upon notification from the PIR Sensor module.
My English layout is slightly different, in that the clock reads: “It’s half past one” instead of “It’s half two”
Adding other layouts is fairly trivial, and adding multiple layouts for any given langauge is possible (e.g.: An English language version for tall HDTV resolution, another for HDTV wide, a third for German HDTV tall, etc).
Layouts are not restricted to the same amount of lines or even the same amount of words per line as the English version. This means that translations or even other layouts in the same language do not need to follow the same pattern. Useful when the order of words in one language does not work in another.
Each layout name is added to the DOM wrapper as a class name so styling each layout specifically is possible while maintaining style inheritance from the defaults where applicable.
It’s fun to learn new things!
Currently supports English, French, German and Dutch. Defining more is pretty easy, so with all your help we could have many languages supported.
It should be noted that this requires the use of Paviro’s MMM-PIR-Sensor module for it to work properly. Cancelling the display of the clock is triggered by the USER_PRESENCE notification that is dispatched when motion is detected. This means it will be at odds with anyone using the PIR Sensor module to turn the display on and off. There are a few ways this can be dealt with:
Set your powerSavingDelay config in MMM-PIR-Sensor to something longer than the showClockTimeOut value in this module. This lets the clock be displayed after an amount of time of no motion detection, then the screen gets turned off after a longer amount of time. Detection of motion cancels the clock AND turns the screen back on.
Turn off powerSaving in MMM-PIR-Sensor altogether and instead use a cron job (independent of MM) to turn the screen completely off during late-night / early morning hours. This was the route that I took, as I really like the clock display.
Don’t bother with power management at all! Electricity bill be damned!!!
N.B. I have not tested with the Profile Switcher module, but I expect it should work just fine. Be sure to add the classes default everyone to this module so that it is never hidden by the profile switcher.
Change Log
v1.5
Simplified Chinese, Japanese and Korean layouts added
v1.4
Danish layout added
Update to Swiss German layout
Code refactoring
v1.3
Swiss German layout added
German layout updated
Now supports picking a random language each time the clock updates
NOTE This update requires a change to to how the module is configured. See the README for details.
v1.2
German layouts (thanks to
@clubbi ,
@willfri , and
@pjkoeleman for their help)
French layouts
Support for variations of words based on context
Improved typography
v1.1
Replaced ‘Lobster’ font (i.e.: the script font for highlighted words) with Google Fonts version to support accented characters.
v1.0
Layouts abstracted into separate files
English and Dutch support (Thanks to
@pjkoeleman for help with translation)
v0.1
Initial build, English only