Read the statement by Michael Teeuw here.
MMM-Netatmo does not load
-
@tommys
Replying to myself since I finally have solved the problem! Netatmo is now loading fine on the latest versions of MM and MMM-Netatmo.
The problem was actually caused by two independent problems: the module reordering algorithm and the sync-fetch library.
The workaround I did to solve the first problem was simply to not set the moduleOrder config property, easy as that.
The second workaround was a bit more involved, I completely removed the usage of the sync-fetch library in netatmo.js in favor of the default async version . That is, simply remove the line: const fetch = require(‘sync-fetch’), make the authenticate, loadData and socketNotificationReceived functions async, handle the promise object returned by fetch appropriately as well as the call to json(). -
@tommys the reason for this is fetch is built in in the node 20.8 version used by the node helper.
-
@tommys great that you solved the issue! Would you mind contributing that back into the repository?
-
@CFenner normally I would say: Yes, absolutely! But… I’m not a javascript-developer and know very little about it and node.js.
This is the first time I dipped my toe in this world (I’ve been working for 30 years as a C++ developer :grinning_face_with_sweat: ) so I just tried things until I got it working. I have probably done something non-idiomatic or worse, so I think it is better that someone more knowledgable do a proper fix. But I’m happy to answer questions if more info than I already provided is needed.
Btw, a big thank you for your great Netatmo-module @CFenner! :folded_hands: -
Hello everybody, I have the same problem. Because I’m not an IT professional, I’m having trouble solving the problem with your instructions.
The second workaround in particular is difficult:
…I completely removed the usage of the sync-fetch library in netatmo.js in favor of the default async version . That is, simply remove the line: const fetch = require(‘sync-fetch’), make the authenticate, loadData and socketNotificationReceived functions async, handle the promise object returned by fetch appropriately as well as the call to json().- I can’t find the “const fetch” line in the netatmo.js file
- how can I make functions asynchronous
- the sentence “handle the promise object returned by fetch appropriately as well as the call to json().” I don’t really understand either
Is it possible to make the instructions a bit more detailed? Or what is the best way to ensure that the great module works for me again?
Thank you very much for your effort!
-
@tommys I have the same problem, but while I can follow instructions and edit files, your description is a bit to advanced for me.
Could you break it down, I would really like to get the module working again!
-
@cgillinger I merged a PR from @ottolote to replace the sync-fetch. Please try if that fixes the issue for you. It work for me now, but also did before that change using mm v2.26.
-
@CFenner And just to report back here as well: Now the module works for me again! Thnx!
-
@CFenner
Have you updated your module? Does it need to be reinstated or how to update it? -
I have reinstalled the entire module. And everything finally worked!) Thanks to the author of the module. I really like this module.
A huge only request to the author - add a pressure recalculation in mm Hg…!!!)))