Description:
This module communicates with a IT8951 card to display MagicMirror² on a e-ink screen. It opens MagicMirror² page on a Chrome browser (with Puppeteer) and observes each DOM update. Periodically, the e-ink is fully refreshed and partially refreshed on DOM update.
Partial refresh is done in a flashy way by default (that is needed to support the 16 gray levels) but if image is only B/W (without gray), the refresh mode is changed to have a direct update without flash. Another way to have a fast refresh without flash is by adding the CSS class eink-4levels to a module. Thus, the refresh is forced to 4-level gray only.
The IT8951 is typically used by some Waveshare e-paper screens.
Screenshots:
Sample of display with multiple modules:
d-screen-music.png
Each module’s area is individually updated when data changes.
All modules on 4 gray levels are updated seamlessly. Modules on 16 gray levels are updated with a flash area (here: the song cover).
Additional informations
Force refresh by notification
A full refresh can be done by sending a notification IT8951_ASK_FULL_REFRESH.
Modules forced to 4 or 16 gray levels
To force gray levels, one need to add classes on modules in config file:
This class forces non flashy (but only on 4-levels gray) update of this module:
classes: "eink-4levels",
This class forces on 16-levels gray (but flashy) update of this module:
classes: "no-eink-4levels",
Download:
https://github.com/seb-ma/MMM-IT8951