MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-SunnyPortal Solar Module

    Scheduled Pinned Locked Moved Requests
    23 Posts 7 Posters 11.3k Views 7 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T Offline
      TheDuDiop
      last edited by

      thanks for your answer, what can I do that the node_helper goes again? or is this a developer problem?

      1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil
        last edited by

        probably a developer problem… don’t know the module at all

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • L Offline
          linuxtuxie
          last edited by

          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

          T 1 Reply Last reply Reply Quote 0
          • T Offline
            TheDuDiop @linuxtuxie
            last edited by

            @linuxtuxie thank you will try it tomorrow

            1 Reply Last reply Reply Quote 0
            • S Offline
              Snake-Darkangel
              last edited by

              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:44
              

              What 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

              L 1 Reply Last reply Reply Quote 0
              • L Offline
                linuxtuxie @Snake-Darkangel
                last edited by linuxtuxie

                @Snake-Darkangel

                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-SunnyPortal

                Regards,
                Linuxtuxie

                I 1 Reply Last reply Reply Quote 0
                • I Offline
                  icemanmw @linuxtuxie
                  last edited by

                  @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

                  L 1 Reply Last reply Reply Quote 0
                  • L Offline
                    linuxtuxie @icemanmw
                    last edited by linuxtuxie

                    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

                    1 Reply Last reply Reply Quote 0
                    • I Offline
                      icemanmw
                      last edited by icemanmw

                      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 :

                      sunnyportal 2020-07-17 165439.jpg

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        Snake-Darkangel
                        last edited by Snake-Darkangel

                        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: undefined
                        

                        In 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.

                        1 Reply Last reply Reply Quote 0
                        • L Offline
                          linuxtuxie
                          last edited by

                          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

                          S 1 Reply Last reply Reply Quote 0
                          • S Offline
                            Snake-Darkangel @linuxtuxie
                            last edited by

                            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,

                            1 Reply Last reply Reply Quote 0
                            • D Offline
                              DarthVaper
                              last edited by

                              Hello,

                              any news about this loading problem ?

                              Regards.

                              1 Reply Last reply Reply Quote 0

                              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
                              • 1
                              • 2
                              • 1 / 2
                              • First post
                                Last post
                              Enjoying MagicMirror? Please consider a donation!
                              MagicMirror created by Michael Teeuw.
                              Forum managed by Sam, technical setup by Karsten.
                              This forum is using NodeBB as its core | Contributors
                              Contact | Privacy Policy