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 9.5k 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.
    • S Offline
      sdetweil @TheDuDiop
      last edited by

      @TheDuDiop said in MMM-SunnyPortal Solar Module:

      [2020-05-01 07:50:03.380] [LOG] HTTP Result: 200
      [2020-05-01 07:50:03.385] [LOG] Whoops! There was an uncaught exception…
      [2020-05-01 07:50:03.387] [ERROR] TypeError: Cannot read property ‘1’ of null
      at Request._callback (/home/pi/MagicMirror/modules/MMM-SunnyPortal/node_helper.js:103:121)

      the node_helper didn’t get the response from some service as it expected

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • 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
                        • 1
                        • 2
                        • 3
                        • 2 / 3
                        • 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