No, sorry, no idea.
What Sam says, but that needs knowledge.
But I opened an issue/request, so let’s see if it will be granted:
https://github.com/CuddlyCow/MMM-HoymilesPVMonitor/issues
Read the statement by Michael Teeuw here.
Posts
-
RE: MMM-Hoymiles-Wifi
-
RE: MMM-Hoymiles-Wifi
Remove the old module from the config:
$ vi ~/MagicMirror/config/config.js Remove the "MMM-Hoymiles-Wifi" config, or set: module: "MMM-Hoymiles-Wifi" disabled: true, Delete HoymilesWifi from pm2: $ pm2 stop HoymilesWifi $ pm2 delete HoymilesWifi $ pm2 save If desired, completely remove the old module: $ cd ~/MagicMirror/modules/ $ rm -rf MMM-Hoymiles-WifiInstall MMM-HoymilesPVMonitor:
$ cd ~/MagicMirror/modules $ git clone https://github.com/CuddlyCow/MMM-HoymilesPVMonitor.git $ cd MMM-HoymilesPVMonitor $ git branch * main $ git remote -v origin https://github.com/CuddlyCow/MMM-HoymilesPVMonitor.git (fetch) origin https://github.com/CuddlyCow/MMM-HoymilesPVMonitor.git (push) $ which hoymiles-wifi /home/admin/.local/bin/hoymiles-wifi $ echo $PATH /home/admin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games $ vi ~/MagicMirror/config/config.js { module: "MMM-HoymilesPVMonitor", disabled: false, header: "PV Monitor", position: "top_left", config: { dtuIp: "192.168.178.50", // IP address of your Hoymiles DTU maxPower: 800, // Maximum system power in watts updateInterval: 5 * 60 * 1000 // Update interval in milliseconds (default: 5 minutes) } } $ grep 'dtuIp' ~/MagicMirror/config/config.js dtuIp: "192.168.178.50", // IP address of your Hoymiles DTU $ ls -als public/history_daily.json 4 -rw-r--r-- 1 admin admin 115 Nov 6 08:47 public/history_daily.json $ cat public/history_daily.json [ { "timestamp": "2025-11-06 08:47", "power": 40, "energy_daily": 0.03, "energy_total": 0.8 } $ pm2 flush $ pm2 restart MagicMirror $ pm2 status MagicMirror ┌────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ ├────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 0 │ MagicMirror │ default │ 2.33.0 │ fork │ 26202 │ 4m │ 3 │ online │ 0% │ 2.1mb │ admin │ enabled │ └────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘ $ pm2 logs MagicMirror --lines 100 0|MagicMir | [2025-11-06 08:47:43.474] [INFO] [MMM-HoymilesPVMonitor.js:17:9] MMM-HoymilesPVMonitor started with DTU-IP: 192.168.178.50 : : 0|MagicMir | [2025-11-06 08:47:49.226] [LOG] [MMM-HoymilesPVMonitor] Running Python script: python3 /home/admin/MagicMirror/modules/MMM-HoymilesPVMonitor/dtu_data.py --ip 192.168.178.50 --max 800 --out /home/admin/MagicMirror/modules/MMM-HoymilesPVMonitor/public/history_daily.json 0|MagicMir | [2025-11-06 08:47:51.682] [LOG] [MMM-HoymilesPVMonitor] Python script output: [WARNING] Could not load history: Expecting value: line 2 column 1 (char 1) 0|MagicMir | [2025-11-06 08:47] [INFO] Live DTU data appended: {'timestamp': '2025-11-06 08:47', 'power': 40, 'energy_daily': 0.03, 'energy_total': 0.8} : : 0|MagicMir | [2025-11-06 08:52:42.141] [LOG] [MMM-HoymilesPVMonitor] Running Python script: python3 /home/admin/MagicMirror/modules/MMM-HoymilesPVMonitor/dtu_data.py --ip 192.168.178.50 --max 800 --out /home/admin/MagicMirror/modules/MMM-HoymilesPVMonitor/public/history_daily.json 0|MagicMir | [2025-11-06 08:52:43.287] [LOG] [MMM-HoymilesPVMonitor] Python script output: [2025-11-06 08:52] [INFO] Live DTU data appended: {'timestamp': '2025-11-06 08:52', 'power': 41, 'energy_daily': 0.03, 'energy_total': 0.8} $ cat public/history_daily.json [ { "timestamp": "2025-11-06 08:47", "power": 40, "energy_daily": 0.03, "energy_total": 0.8 }, { "timestamp": "2025-11-06 08:52", "power": 41, "energy_daily": 0.03, "energy_total": 0.8 }Tested on:
$ cat /proc/device-tree/model; echo Raspberry Pi 3 Model B Plus Rev 1.3 $ vcgencmd get_config total_mem total_mem=1024 $ grep version ~/MagicMirror/package.json "version": "2.33.0", -
RE: MMM-Hoymiles-Wifi
Yeah, stopped is not good.
I will need to get it working myself before I can give more useful information on what to check.
Will keep you posted. -
RE: MMM-Hoymiles-Wifi
>> You installed that already, so no need to install it again. >>The schris88 requirements.txt contains the hoymiles-wifi package.If you want to repeat it under the new module name, then you will need to copy the requirements.txt file from the previous module.
But again, since you already did this, no need to repeat. -
RE: MMM-Hoymiles-Wifi
You installed that already, so no need to install it again.
Probably using:python -m pip install -r requirements.txt --break-system-packagesThe schris88 requirements.txt contains the hoymiles-wifi package.
-
RE: MMM-Hoymiles-Wifi
You also might try this module:
https://github.com/CuddlyCow/MMM-HoymilesPVMonitor
I may give it a try myself.
-
RE: MMM-Hoymiles-Wifi
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 -vEvery 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. -
RE: MMM-Hoymiles-Wifi
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.
-
RE: MMM-Hoymiles-Wifi
First I would disable the module:
$ vi ~/MagicMirror/config/config.js module: "MMM-Hoymiles-Wifi", disabled: true, $ pm2 restart MagicMirrorI 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; doneHopefully the Forum tool does not change it.
Furthermore please verify and supply the following data:
$ cd /home/admin/MagicMirror/modules/MMM-Hoymiles-WifiCheck path:
$ which hoymiles-wifi $ echo $PATHCheck if the path is in the PATH.
If not, do (using the path from ‘which’):$ export PATH=$PATH:/home/admin/.local/binCheck config.js:
$ grep ':5000' ~/MagicMirror/config/config.jsExpected is:
{ src: 'http://127.0.0.1:5000' },Check HoymilesWifi.sh:
$ grep 'dtu_ip_address' HoymilesWifi.shExpected is your DTU IP address, for example:
python hoymiles_data.py --dtu_ip_address 192.168.178.50 --max 800Test run (hoymiles-wifi):
$ hoymiles-wifi --host 192.168.178.50 identify-invertersExpected is a response.
Test run (HoymilesWifi.sh)
$ ./HoymilesWifi.shExpected 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 quitIf you wait a bit some more output is shown.
If it works, then I would suggest to stop the
./HoymilesWifi.shcommand and do:$ cd /home/admin/MagicMirror/modules/MMM-Hoymiles-Wifi $ pm2 start HoymilesWifi.sh $ pm2 save $ pm2 status HoymilesWifi $ pm2 logs HoymilesWifi --lines 10If everything is okay, the enable the module again:
$ vi ~/MagicMirror/config/config.js module: "MMM-Hoymiles-Wifi", disabled: false, $ pm2 restart MagicMirror -
RE: MMM-Hoymiles-Wifi
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]