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