Read the statement by Michael Teeuw here.
MMM-SunnyPortal Solar Module
-
probably a developer problem… don’t know the module at all
-
Hi,
It seems that the sunnyportal website is very picky about which user-agent is trying to connect to their web server.
I just changed the user-agent string on line 61 of the file node_helper.js
from‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0’,
to
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0’,
And now I am able to login again.
I will try to work out some better code to prevent this from happening in the future.
Can somebody else verify if this solution works?
Regards,
Linuxtuxie -
@linuxtuxie thank you will try it tomorrow
-
Thanks for this great module. I have a problem on the loading.
mm-error.log
[2020-06-22 17:30:35.669] [ERROR] (node:2694) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [2020-06-22 17:30:35.671] [ERROR] (node:2694) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. [2020-06-22 17:30:36.721] [ERROR] Unable to fetch login page: Error: certificate has expired at TLSSocket.onConnectSecure (_tls_wrap.js:1317:34) at TLSSocket.emit (events.js:200:13) at TLSSocket._finishInit (_tls_wrap.js:792:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:606:12) { code: 'CERT_HAS_EXPIRED' } [2020-06-22 17:30:36.741] [ERROR] Unable to fetch login page: Error: certificate has expired at TLSSocket.onConnectSecure (_tls_wrap.js:1317:34) at TLSSocket.emit (events.js:200:13) at TLSSocket._finishInit (_tls_wrap.js:792:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:606:12) { code: 'CERT_HAS_EXPIRED' } [2020-06-22 17:30:36.747] [ERROR] Unable to fetch login page: Error: certificate has expired at TLSSocket.onConnectSecure (_tls_wrap.js:1317:34) at TLSSocket.emit (events.js:200:13) at TLSSocket._finishInit (_tls_wrap.js:792:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:606:12) { code: 'CERT_HAS_EXPIRED' } [2020-06-22 17:30:39.469] [ERROR] TypeError: Cannot read property 'statusCode' of undefined at Request._callback (/home/pi/MagicMirror/modules/MMM-SunnyPortal/node_helper.js:101:46) at self.callback (/home/pi/MagicMirror/modules/MMM-SunnyPortal/node_modules/request/request.js:185:22) at Request.emit (events.js:200:13) at Request.onRequestError (/home/pi/MagicMirror/modules/MMM-SunnyPortal/node_modules/request/request.js:877:8) at ClientRequest.emit (events.js:200:13) at TLSSocket.socketErrorListener (_http_client.js:402:9) at TLSSocket.emit (events.js:200:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) at processTicksAndRejections (internal/process/task_queues.js:84:9)So if I read correctly, I see that Buffer() is depreciate.
But It’s also write something strange with the certificate. In the mm-out.log I see more information:0|mm | [2020-06-22 17:26:43.303] [LOG] SocketNotification START_SUNNYPORTAL received for the first time...setting updateInterval to 900000ms 0|mm | [2020-06-22 17:26:44.113] [LOG] Refreshed access token because it has expired. Expired at: 17:26:43 now is: 17:26:44 0|mm | [2020-06-22 17:26:44.147] [LOG] Refreshed access token because it has expired. Expired at: 18:26:44 now is: 17:26:44What can I do to resolve this case?
I already try to uninstall and re-install all, with npm install or ./install_deps.sh or the 3 npm install request / flow / chart but it doesn’t works.Any idea?
Thanks for your help
-
Thanks to hervidero the code has been altered so that it ignores the provided SSL Certificate.
Hervidero also made the charts a little bit better and wrote some code to make sure you can’t set an updateInterval < 15 minutes.
This release also includes the User-Agent change suggested in the previous comment
The latest release can be fetched here
https://github.com/linuxtuxie/MMM-SunnyPortalRegards,
Linuxtuxie -
@linuxtuxie
Hello , i try to run the SunnyPortal module, but still no result. I´ve reinstalled the Pi severl times , down to a fresh image with no other modules, but i get only the loading view. thats all.Any idea what i have to do ?
error message from PM2.log
Login Failed, no redirect to Dashboard or UserProfile/FixedPages/HoManEnergyRedesign.aspx -
Hi icemanmw,
It seems that your installation is redirecting you to the following page: /FixedPages/HoManEnergyRedesign.aspx instead of the ones we already know of (DASHBOARD_URL & USERPROFILE_URL )
In to code we are checking if the returned HTTP redirect matches the DASHBOARD_URL or USERPROFILE_URL
You could try to use the below code in the node_helper.js script to add this page
-
Add the HOMAN_URL variable at line 21
var HOMAN_URL = ‘/FixedPages/HoManEnergyRedesign.aspx’; -
Change the code starting from line 99
// Hack to check for login. Should forward to dashboard.
if(httpResponse.headers.location && httpResponse.headers.location === DASHBOARD_URL) {
console.log(“SUCCESSFULLY LOGGED IN TO DASHBOARD”);
callback(err, jar);
} else if(httpResponse.headers.location && httpResponse.headers.location === USERPROFILE_URL) {
console.log(“SUCCESSFULLY LOGGED IN TO USERPROFILE”);
callback(err, jar);
} else if(httpResponse.headers.location && httpResponse.headers.location === HOMAN_URL) {
console.log(“SUCCESSFULLY LOGGED IN TO HOMAN”);
callback(err, jar);
} else {
console.log("Login Failed, no redirect to Dashboard, UserProfile or homan "+ httpResponse.headers.location);
callback(new Error(‘Login Failed, no redirect to Dashboard, UserProfile or homan’));
}
Can you let us know the results?
Regards,
Linuxtuxie -
-
Hi linuxtuxie,
sorry fore my late response . I was a few days in Austria.
Nevertheless i tried today your proposal and it looks much better. Now i see that :
-
I’ve the same issue. I try the update in the code, adding the httpResponse.headers.location in the log => it’s “undefined”
(and http result : 200.)With the new version of the module, I’ve this log:
[2020-11-23 12:26:02.231] [LOG] Login Failed, no redirect to any of the known url's /FixedPages/Dashboard.aspx, /Templates/UserProfile.aspx, /FixedPages/HoManEnergyRedesign.aspx [2020-11-23 12:26:02.233] [LOG] You are being redirected to the yet unkown url: undefinedIn my browser I see on the homepage a pop-up for a new SMA application. Maybe that can generate another URL ? I tried to cancel it to see if it’s the problem but … nope :(
Still looking for a solution.
-
Hi Snake-Darkangel,
Did you use the latest code listed at https://github.com/linuxtuxie/MMM-SunnyPortal ?
More specifically the piece of code listed in the file node_helper.js is important. SunnyPortal seems to be very picky when it comes to the browser which makes a connection to there website. I recently updated the user-agent to the latest Firefox version as shown below:
headers : {
// We need to simulate a Browser which the SunnyPortal accepts…here I am Using Firefox 82.0.3 (64-bit) for Windows
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0’,
},User SkyFocusNL even used another user-agent to get things working
https://forum.magicmirror.builders/topic/14019/mmm-sunnyportal-not-loading/3
maybe you can give that solution a try and provide us some feedback ?Regards,
Linuxtuxie -
Hello @linuxtuxie ,
Thank for your help. With the last update it’s working again.
I probably miss an update -_-" (or forget to read other topic ^^)Regards,
-
Hello,
any news about this loading problem ?
Regards.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login