Read the statement by Michael Teeuw here.
Tutorials or Overview for Module Dev?
-
I am looking to develop a module for my Mirror, for an Energy Monitor (SiteSage E-Monitor), and I have found the API specification that provides all of the information regarding the methods for the API.
I was wondering if there exists a general overview of how to take the API methods that are outlined in the company’s specification, and turn it into a Module.
From my high-level understanding, here is what I need to develop:
- E-MonitorConfig.js
- E-MonitorStyling.css --> which takes the data from the API call and turns it into the visualization for the magic mirror.
Is there any general documentation or any high-level guidelines that I may be missing as I embark on this journey?
-
@nbrenn I found it really useful to find a module someone had already written and look at that as an example. I’ve now written a few simple modules that just pull data from web service and display it on screen. Feel free to fork any of them and pull them apart for ideas, the one I just submitted (MMM-AirNow) is pretty basic.
-
here is the documentation https://github.com/MichMich/MagicMirror/tree/master/modules
-
I’d like to jump in as well.
How do you decide if a node_helper is required or if the module itself is sufficient? Is there any benefit or downside if you choose one way or the other? -
@yawns I create only a node_helper if I need to use a npm dependency
-
Thanks for the responses, guys.
The E-Monitor API specification has a listing of the supported API methods (page 3), like authenticate, deauthenticate, getCurrentData and so on.
Aside from
Module.register
,getStyles
,start: function()
, andgetDom
, are these methods listed in the API specification the ones that I will use as functions in my code? For example:Module.resgister ("MMM-Emonitor.js", { }, getStyles: function() { }, start: function() { }, getDom: function() { }, // And then the EMonitor methods below: authenticate: function() { } deauthenticate: function() { } getCurrentData: function() { } //... and so on down the list of the supported API methods