MMM-NokiaHealth (Withings)



  • Description:

    I have just created (based on the MMM-iFrame module) a module to show a graph of scale measurements from Withings.

    Very very much alpha stage, but quite simple to setup and use, any comments, suggestions or PRs are most welcome.

    The idea is that you setup a IFTTT applet that runs a webrequest when a new body measurement is made. That will show the graph on the mirror, and it will autohide again.

    (It would be great to add config options to change this behavior, but that is on the todo list)

    Download



  • hi
    great, but it doesn’t work for me. I followed steps, get the ID, downloaded the module, but:

    1. the module extracts by default to MMM-NokiaHealth-master, but from this folder it doesn’t work (in consoled I’ve seen path errors). So I renamed it to MMM-NokiaHealth
    2. after correcting the path, all modules in config.js before this module works, all after this not. And this module doesn’t show anything as well. In console there is a lot of errors in “main.js:143” and others…

    thanks for any help
    Zdeněk



  • @zdenek did you run npm install in the directory of this module? The readme doesn’t say so, but it is required as the module makes use of some dependencies. For further help it would be great if you can post the logs with the errors.



  • yes, I did

    Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Object.$.getJSON [as success] (MMM-Hue.js:155)
        at fire (jquery.js:1037)
        at Object.fireWith [as resolveWith] (jquery.js:1148)
        at done (jquery.js:8074)
        at XMLHttpRequest.callback (jquery.js:8598)
    main.js:134 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Class.socketNotificationReceived (MMM-SystemStats.js:68)
        at module.js:183
        at n. (socketclient.js:25)
        at n.emit (universalModuleDefinition:2)
        at n.onevent (universalModuleDefinition:3)
        at n.MMSocket.self.socket.onevent (socketclient.js:19)
    main.js:134 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Class.socketNotificationReceived (MMM-SystemStats.js:68)
        at module.js:183
        at n. (socketclient.js:25)
        at n.emit (universalModuleDefinition:2)
        at n.onevent (universalModuleDefinition:3)
        at n.MMSocket.self.socket.onevent (socketclient.js:19)
    main.js:134 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Class.socketNotificationReceived (MMM-synology-ds.js:93)
        at module.js:183
        at n. (socketclient.js:25)
        at n.emit (universalModuleDefinition:2)
        at n.onevent (universalModuleDefinition:3)
        at n.MMSocket.self.socket.onevent (socketclient.js:19)
    main.js:134 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Object.$.getJSON [as success] (MMM-Hue.js:155)
        at fire (jquery.js:1037)
        at Object.fireWith [as resolveWith] (jquery.js:1148)
        at done (jquery.js:8074)
        at XMLHttpRequest.callback (jquery.js:8598)
    moduleNeedsUpdate @ main.js:134
    updateDom @ main.js:104
    updateDom @ main.js:468
    updateDom @ module.js:295
    $.getJSON @ MMM-Hue.js:155
    fire @ jquery.js:1037
    fireWith @ jquery.js:1148
    done @ jquery.js:8074
    callback @ jquery.js:8598
    XMLHttpRequest.send (async)
    send @ jquery.js:8526
    ajax @ jquery.js:7978
    jQuery.(anonymous function) @ jquery.js:7614
    getJSON @ jquery.js:8108
    getData @ MMM-Hue.js:153
    setInterval @ MMM-Hue.js:52
    main.js:134 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Class.socketNotificationReceived (MMM-SystemStats.js:68)
        at module.js:183
        at n. (socketclient.js:25)
        at n.emit (universalModuleDefinition:2)
        at n.onevent (universalModuleDefinition:3)
        at n.MMSocket.self.socket.onevent (socketclient.js:19)
    moduleNeedsUpdate @ main.js:134
    updateDom @ main.js:104
    updateDom @ main.js:468
    updateDom @ module.js:295
    socketNotificationReceived @ MMM-SystemStats.js:68
    (anonymous) @ module.js:183
    (anonymous) @ socketclient.js:25
    n.emit @ universalModuleDefinition:2
    n.onevent @ universalModuleDefinition:3
    MMSocket.self.socket.onevent @ socketclient.js:19
    n.onpacket @ universalModuleDefinition:3
    (anonymous) @ universalModuleDefinition:3
    n.emit @ universalModuleDefinition:2
    n.ondecoded @ universalModuleDefinition:1
    (anonymous) @ universalModuleDefinition:3
    r.emit @ universalModuleDefinition:1
    s.add @ universalModuleDefinition:1
    n.ondata @ universalModuleDefinition:1
    (anonymous) @ universalModuleDefinition:3
    n.emit @ universalModuleDefinition:2
    n.onPacket @ universalModuleDefinition:2
    (anonymous) @ universalModuleDefinition:2
    n.emit @ universalModuleDefinition:2
    n.onPacket @ universalModuleDefinition:2
    n.onData @ universalModuleDefinition:2
    ws.onmessage @ universalModuleDefinition:3
    main.js:134 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
        at moduleNeedsUpdate (main.js:134)
        at updateDom (main.js:104)
        at Object.updateDom (main.js:468)
        at Class.updateDom (module.js:295)
        at Class.socketNotificationReceived (MMM-synology-ds.js:93)
        at module.js:183
        at n. (socketclient.js:25)
        at n.emit (universalModuleDefinition:2)
        at n.onevent (universalModuleDefinition:3)
        at n.MMSocket.self.socket.onevent (socketclient.js:19)
    

    a lot of these rows



  • @zdenek the logs are all related to other modules as far as i can see, that comes probably because they are in your config after mmm-nokiahealth. can you put mmm-nokiahealth at the bottom of your configured modules and try to restart and then post the logs again so we can see the logs related to this module



  • @strawberry-3.141 done, here is the result

    MMM-NokiaHealth received a system notification: ALL_MODULES_STARTED
    main.js:38 
    Uncaught TypeError: Cannot read property 'appendChild' of undefined
        at createDomObjects (main.js:38)
        at Object.modulesStarted (main.js:425)
        at startModules (loader.js:59)
        at loader.js:40
        at HTMLLinkElement.stylesheet.onload (loader.js:203)
    


  • @zdenek Pls check the region that you set in your config. I only get this error, when I am using an invalid config position.



  • @strawberry-3.141 You are right, there was typo in Position. Now there is no error, but the module is not visible at all. No Error, but in Source code of page I can see the data, so it means, ID is right, script gets data, just doesn’t display. Could be cause I’ve another iFrame on the screen?

    thanks


Log in to reply
 

Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.