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-Hoymiles-Wifi

    Scheduled Pinned Locked Moved Development
    58 Posts 6 Posters 10.3k Views 5 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.
    • evroomE Offline
      evroom @schris88
      last edited by

      @schris88

      First of all, those are details I need to have a look at now that the basis is there.
      Perhaps there are other values and queries that make sense and that I can use. Like dtu_power and dtu_daily_energy.
      Also saving some data to not have counters showing 0 when the invertor is inactive needs to be implemented.
      During testing I found out that the pv_data for port 1 and 2 were different sometimes and that is why I needed to add those checks.
      And they can never hurt. Better to be safe than sorry.
      Furthermore, when you have only 1 panel connected, it is needed anyway.

      MagicMirror version: 2.33.0
      Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
      Raspbian GNU/Linux 12 (bookworm)

      Test environment:
      MagicMirror version: v2.33.0
      Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
      Raspbian GNU/Linux 12 (bookworm)

      1 Reply Last reply Reply Quote 0
      • evroomE Offline
        evroom @schris88
        last edited by

        @schris88

        Just FYI, I declare(d) more parameters than really necessary and actually used, in order to allow for more counters to display.
        For example a gauge for each panel; more details on the energy production of each panel; etc.
        I will make a remark about this in the code.

        MagicMirror version: 2.33.0
        Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        Test environment:
        MagicMirror version: v2.33.0
        Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
        Raspbian GNU/Linux 12 (bookworm)

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          schris88 @evroom
          last edited by

          @evroom That sounds good, but we should loop through the pv_data objects and display each as a graph. In the end, there could be a config setting like detailed: true to activate the display of all pv_data objects as individual graphs. If set to false, we could display a single graph with the total power.

          There are Hoymiles inverters with 6 inputs, and adding 6 × 6 to 8 variables can quickly add up. This might not be an issue for us, but it’s worth considering if the module should be as generic as possible.

          Sorry I´m a IT-Consultant who, sometimes it breaks through :D

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

            @schris88 Recently worked on it a bit and added a second branch with local mongodb to save and display max power, Im planning to use the db entries to display a history chart

            1 Reply Last reply Reply Quote 0
            • J Offline
              Jose1701
              last edited by

              Hallo,
              ich bin reltiv neu hier und versuche gerade das modul zu installieren.

              Ich habe soweit alles nach Anleitung gemacht, aber wenn ich ./HoymilesWifi.sh starte kommt immer folgende Meldung:

               * Serving Flask app 'hoymiles_data'
               * Debug mode: off
              Address already in use
              Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port.
              
              

              Was mache ich falsch? Der port ist angeblich durch pthon belegt …

              Danke und Grüße

              Florian

              evroomE 1 Reply Last reply Reply Quote 0
              • evroomE Offline
                evroom @Jose1701
                last edited by evroom

                @Jose1701

                Try this to find out what is using port 5000:

                sudo netstat -apln | grep -w 5000
                

                And did you update the bash program?
                https://github.com/schris88/MMM-Hoymiles-Wifi?tab=readme-ov-file#enter-dtu-ip-address-of-dtu

                MagicMirror version: 2.33.0
                Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                Raspbian GNU/Linux 12 (bookworm)

                Test environment:
                MagicMirror version: v2.33.0
                Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                Raspbian GNU/Linux 12 (bookworm)

                J 1 Reply Last reply Reply Quote 0
                • J Offline
                  Jose1701 @evroom
                  last edited by

                  @evroom
                  Thanks for the quick answer.

                  I inserted the IP of the dtu.

                  Portscan is:

                  tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      64879/python
                  tcp        0      0 127.0.0.1:33698         127.0.0.1:5000          TIME_WAIT   -
                  tcp        0      0 127.0.0.1:5000          127.0.0.1:56374         TIME_WAIT   -
                  tcp        0      0 127.0.0.1:60100         127.0.0.1:5000          ESTABLISHED 71440/exe
                  tcp        0      0 127.0.0.1:5000          127.0.0.1:60100         ESTABLISHED 64879/python
                  tcp        0      0 127.0.0.1:52508         127.0.0.1:5000          TIME_WAIT   -
                  tcp        0      0 127.0.0.1:50296         127.0.0.1:5000          TIME_WAIT   -
                  
                  
                  evroomE 1 Reply Last reply Reply Quote 0
                  • evroomE Offline
                    evroom @Jose1701
                    last edited by

                    @Jose1701

                    This command should give more information on the PID found:

                    ps -Flww -p

                    E.g.

                    ps -Flww -p 64879

                    Perhaps there are easier ways, but this should do.

                    MagicMirror version: 2.33.0
                    Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                    Raspbian GNU/Linux 12 (bookworm)

                    Test environment:
                    MagicMirror version: v2.33.0
                    Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                    Raspbian GNU/Linux 12 (bookworm)

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jose1701 @evroom
                      last edited by

                      @evroom

                      Seems that this is hoymiles …?

                      F S UID          PID    PPID  C PRI  NI ADDR SZ WCHAN    RSS PSR STIME TTY          TIME CMD
                      0 S florian    64879   64878  1  80   0 - 59630 do_sys 137520  1 16:11 ?        00:05:02 python hoymiles_data.py --dtu_ip_address 192.168.178.150 --max 800
                      
                      
                      evroomE 1 Reply Last reply Reply Quote 0
                      • evroomE Offline
                        evroom @Jose1701
                        last edited by evroom

                        @Jose1701

                        Yes, so an instance is already running.
                        You added it to pm2 too?

                        pm2 status

                        If yes, then you do not need to run it manually.
                        If no, then kill the (p)pid.

                        sudo kill -9 [ppid]

                        MagicMirror version: 2.33.0
                        Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                        Raspbian GNU/Linux 12 (bookworm)

                        Test environment:
                        MagicMirror version: v2.33.0
                        Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                        Raspbian GNU/Linux 12 (bookworm)

                        J 1 Reply Last reply Reply Quote 0
                        • J Offline
                          Jose1701 @evroom
                          last edited by

                          @evroom

                          Well, I’ve done that now. At the moment it is night so I can’t see any output.
                          Will see if it works tomorrow …

                          Thank you. I will post if it runs then.

                          J evroomE 2 Replies Last reply Reply Quote 0
                          • J Offline
                            Jose1701 @Jose1701
                            last edited by

                            Can’t get it to work.

                            I don’t know what I’m doing wrong…

                            Now, Portscan ist about that:

                            
                            tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      1139/python
                            tcp        0      0 127.0.0.1:5000          127.0.0.1:37002         ESTABLISHED 1139/python
                            tcp        0      0 127.0.0.1:57592         127.0.0.1:5000          TIME_WAIT   -
                            tcp        0      0 127.0.0.1:37002         127.0.0.1:5000          ESTABLISHED 6097/exe
                            
                            
                            evroomE 1 Reply Last reply Reply Quote 0
                            • evroomE Offline
                              evroom @Jose1701
                              last edited by evroom

                              @Jose1701

                              First I would disable the module:

                              $ vi ~/MagicMirror/config/config.js
                              
                                  module: "MMM-Hoymiles-Wifi",
                                  disabled: true,
                              
                              $ pm2 restart MagicMirror
                              

                              I build this command to try to get more info on port 5000:

                              $ for pid in `lsof -i :5000 | grep -v 'PID' | awk '{print $2}' | sort -u`; do echo $pid; ps -Flww -p  $pid; done
                              

                              Hopefully the Forum tool does not change it.

                              Furthermore please verify and supply the following data:

                              $ cd /home/admin/MagicMirror/modules/MMM-Hoymiles-Wifi
                              

                              Check path:

                              $ which hoymiles-wifi
                              $ echo $PATH
                              

                              Check if the path is in the PATH.
                              If not, do (using the path from ‘which’):

                              $ export PATH=$PATH:/home/admin/.local/bin
                              

                              Check config.js:

                              $ grep ':5000' ~/MagicMirror/config/config.js
                              

                              Expected is:

                              { src: 'http://127.0.0.1:5000' },
                              

                              Check HoymilesWifi.sh:

                              $ grep 'dtu_ip_address' HoymilesWifi.sh
                              

                              Expected is your DTU IP address, for example:

                              python hoymiles_data.py --dtu_ip_address 192.168.178.50 --max 800
                              

                              Test run (hoymiles-wifi):

                              $ hoymiles-wifi --host 192.168.178.50  identify-inverters
                              

                              Expected is a response.

                              Test run (HoymilesWifi.sh)

                              $ ./HoymilesWifi.sh
                              

                              Expected is:

                              * Serving Flask app 'hoymiles_data'
                              * Debug mode: off
                              INFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
                              * Running on http://127.0.0.1:5000
                              INFO:werkzeug:Press CTRL+C to quit
                              

                              If you wait a bit some more output is shown.

                              If it works, then I would suggest to stop the ./HoymilesWifi.sh command and do:

                              $ cd /home/admin/MagicMirror/modules/MMM-Hoymiles-Wifi
                              $ pm2 start HoymilesWifi.sh
                              $ pm2 save
                              
                              $ pm2 status HoymilesWifi
                              
                              $ pm2 logs HoymilesWifi --lines 10
                              

                              If everything is okay, the enable the module again:

                              $ vi ~/MagicMirror/config/config.js
                              
                                  module: "MMM-Hoymiles-Wifi",
                                  disabled: false,
                              
                              $ pm2 restart MagicMirror
                              

                              MagicMirror version: 2.33.0
                              Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                              Raspbian GNU/Linux 12 (bookworm)

                              Test environment:
                              MagicMirror version: v2.33.0
                              Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                              Raspbian GNU/Linux 12 (bookworm)

                              evroomE J 3 Replies Last reply Reply Quote 0
                              • evroomE Offline
                                evroom @evroom
                                last edited by evroom

                                To be honest, for me the MM does not display anything.
                                Although it is dark, I still expected the graphic with 0 or so.
                                Or I have to wait a bit longer.

                                I used
                                https://github.com/schris88/MMM-Hoymiles-Wifi/
                                and all the above is correct and running.

                                A year ago I made a fork and made some changes, of which I think are present in the schris88 version as well.

                                https://github.com/evroom/MMM-Hoymiles-Wifi/
                                I will give this one a try when I have time.

                                PS: it seems that when the microinverter is off-line, you will not see anything. Need to wait for it to be active again.

                                MagicMirror version: 2.33.0
                                Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                                Raspbian GNU/Linux 12 (bookworm)

                                Test environment:
                                MagicMirror version: v2.33.0
                                Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                                Raspbian GNU/Linux 12 (bookworm)

                                1 Reply Last reply Reply Quote 0
                                • J Offline
                                  Jose1701 @evroom
                                  last edited by

                                  @evroom said in MMM-Hoymiles-Wifi:

                                  $ grep ‘dtu_ip_address’ HoymilesWifi.sh

                                  Until that line everything is ok. After that it says:

                                  
                                  grep: HoymilesWifi.sh: No such file or directory
                                  
                                  
                                  S 1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    Jose1701 @evroom
                                    last edited by

                                    @evroom said in MMM-Hoymiles-Wifi:

                                    $ hoymiles-wifi --host 192.168.178.50 identify-inverters

                                    This works:

                                    Identify-inverters Response:
                                    {'1412a015f1e3': 'HMS-800W/1000W-2T'}
                                    
                                    

                                    After that: ./HoymilesWifi.sh

                                     * Serving Flask app 'hoymiles_data'
                                     * Debug mode: off
                                    Address already in use
                                    Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port.
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      sdetweil @Jose1701
                                      last edited by

                                      @Jose1701 typo

                                       grep 'dtu_ip_address' Hoymiles-Wifi.sh
                                      

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

                                      J 1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        Jose1701 @sdetweil
                                        last edited by

                                        @sdetweil

                                        Im getting this:

                                        
                                        python hoymiles_data.py --dtu_ip_address 192.168.178.150 --max 800
                                        
                                        
                                        S evroomE 2 Replies Last reply Reply Quote 0
                                        • S Offline
                                          sdetweil @Jose1701
                                          last edited by

                                          @Jose1701 he just wanted to see the IP address the module was connecting to , which is hard coded in that line

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          1 Reply Last reply Reply Quote 0
                                          • evroomE Offline
                                            evroom @Jose1701
                                            last edited by evroom

                                            @Jose1701

                                            First of all, where I write

                                            /home/admin/
                                            

                                            please use

                                            ~/
                                            

                                            (tilde sign)

                                            And can you please send me:

                                            cd ~/MagicMirror/modules/MMM-Hoymiles-Wifi
                                            git branch
                                            git remote -v
                                            

                                            Every time you get that port in use error, run the long command to see what programs are using the port.
                                            And of course do not use HoymilesWifi.sh when it is also active under pm2.

                                            I am starting to wonder if the module works at all.
                                            I finally got a picture, but it showed an error in it.

                                            MagicMirror version: 2.33.0
                                            Raspberry Pi 4 Model B Rev 1.5 (8 GB RAM)
                                            Raspbian GNU/Linux 12 (bookworm)

                                            Test environment:
                                            MagicMirror version: v2.33.0
                                            Raspberry Pi 3 Model B Plus Rev 1.3 (1 GB RAM)
                                            Raspbian GNU/Linux 12 (bookworm)

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