Coder Social home page Coder Social logo

jeanmarc77 / 123solar Goto Github PK

View Code? Open in Web Editor NEW
36.0 5.0 12.0 540 KB

123Solar is a lightweight set of PHP/JS files that makes a web logger to monitor your photovoltaic inverter(s). It just need a web server and PHP, no databases are even needed. The philosophy is: To keep it simple, fast, with a low foot print to run on cheap and low powered devices.

License: GNU General Public License v3.0

PHP 97.54% HTML 0.62% CSS 1.62% Hack 0.23%
solar-energy solar logger inverter inverter-graphs

123solar's People

Contributors

basti122303 avatar blechkopp avatar dr-ni avatar jeanmarc77 avatar nethawk2 avatar soe135 avatar svavassori avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

123solar's Issues

123solar freezing taking readings, but web and admin interfaces available

I've had about 4 instances in the past month where 123solar doesn't appear to be receiving any data. I notice as the previous days readings are missing and the live guage is on zero when there is sun outside!

When it was frozen an hour ago I tried the enhanced comms tester which said it wasn't connected.

I rebooted the Raspberry PI and it started working fine again. Toggling 123solar on/off from the admin doesn't work.

I wonder if a Linux update is having the USB port drop out or power off to save energy (complete guess at my end?)

Maybe a better systemd service unit

I had the problem that after a upgrade of serveral php-packages the 123solar daemon was not started properly.
Paths and depensies should be edited.

# /etc/systemd/system/123solar.service
[Unit]
Description=123Solar
Requires=network.target
After=network.target nginx.service php-fpm.service
StartLimitIntervalSec=60
StartLimitBurst=5

[Service]
Type=simple
WorkingDirectory=/var/www/html/solar/scripts/
ExecStart=/usr/bin/php 123solar.php
# force PIDFILE see 'man systemd.service'
ExecStartPost=/bin/sh -c 'systemctl show -p MainPID --value 123solar.service > /var/www/html/solar/scripts/123solar.pid'
ExecStopPost=/usr/bin/rm -f /var/www/html/solar/scripts/123solar.pid
User=www-data
Group=www-data
Restart=always
RestartSec=2s

[Install]
WantedBy=default.target

wrong yAxis Maximum for multiple inverters

Settings:
Inverter 1: yAxis Maximum 600 W
Inverter 2: yAxis Maximum 600 W

Index page yAxis Maximum is 1200 W but should be 600 W because logging curves never reach more than 600 W

Deye Hybrid Inverter

Hello,
I try to implement a Deye Hybrid Inverter and have a question about KWHT.
The inverter supply the following values:

  • Day_PV_Power in Wh
  • Total PV_power in Wh

How can KWHT be calculatated?
The values from the inverter has not enough precision.

Wrong read on three Phases

Hi, i have two aurora pvi10 and when the energy is less than 1 kwh the read is very wrong. This problem also make wrong statistics with the consume meter

2024 not being populated

since the beginning of the year the system, although it reads data from the inverter:

image

it seems not showing nor storing the data correctly:
image

image

it's not populating the 2024 data.

image

I tried downloading a fresh version from github and reinstall, but howthing changed.

what shall i do?

high load on raspberry

Hello,
I run 123solar on a raspberry 2 Mod. B with nginx and php-fpm.

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
634 www-data 20 0 7768 5900 4748 S 18.1 0.6 0:09.89 nginx

In the nginx log I every secound somethink like:
[09/Jun/2023:11:30:01 +0200] "GET /solar/programs/programlive.php?invtnum=1 HTTP/1.0"

Why does it poll so often?
what is it for?
and how can i do it more efficient?

Best regards

logger stopped with this error

PHP Fatal error: Uncaught ValueError: fread(): Argument #2 ($length) must be greater than 0 in /srv/http/123solar/scripts/123solar.php:650
Stack trace:
#0 /srv/http/123solar/scripts/123solar.php(650): fread()
#1 {main}
thrown in /srv/http/123solar/scripts/123solar.php on line 650

Its been running since Janaury with no issues and nothing has been updated, it just stopped on Saturday

Question - different peak values in different pages

Hi!. I am courious to understand why i see a peak value on the home page from the one into the dashboard:

image

image

is it because the dashboard one is got by the 123solar in its 5min measures of the day and the other one in the home page is the peak of peaks it has measured ?

also i don't see the same "peak" value in the graphs:
image

Peak power and Ileak in dasboard page

Cannot say if it is a real issue but on the dashboard page there are values that remain zero
Using 123solar on raspberry pi zero w with sbfspot 3.9.7 working great.

Values are ileak and peak power. Ok for ileak (sunny explorer says 5ma) but what about peak power?

What is temperature booster (alias booster temperatura in italian)? What it means?

image

Same value in the main page is ok

image

123solar cant run (suddenly after a few months)

suddenly is maybe not fully true - I upgraded to newer debian - with php 8.2 - maybe that's the issue?

If I start 123solar on th e admin page (with the big button) most of the time it doesnt start. When I start at command line it starts, but it also stops somehow. I cant see or read why. even with debug on.

whenb running it has thje correct readings, and displays the value on the gauge.
but afetrer ! minute or so it stops...

Is ther eanywhere where I can see what is going wrong?
meterN is running fine.

link to my site

Last 20 Days Changed

Something changed with viewing the last 20 days graph, yesterday it was the normal vertical bars, today its a line graph.
123solar1

abbuno protocol - debug output filling

I use 123solar with the abbuno protocol for reading the inverter.

123solar works regularly, but if I enable debugging it fills up with abbuno readings, like these:

array(12) {
  [0]=>
  string(55) "modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator"
  [1]=>
  string(39) "Copyright (c) 2002-2021 proconX Pty Ltd"
  [2]=>
  string(66) "Visit https://www.modbusdriver.com for Modbus libraries and tools."
  [3]=>
  string(0) ""
  [4]=>
  string(39) "Protocol configuration: MODBUS/TCP, FC3"
  [5]=>
  string(77) "Slave configuration...: address = 1, start reference = 40094 (PDU), count = 1"
  [6]=>
  string(77) "Communication.........: 192.168.2.22, port 502, t/o 1.00 s, poll rate 1000 ms"
  [7]=>
  string(71) "Data type.............: 32-bit integer, output (holding) register table"
  [8]=>
  string(67) "Word swapping.........: Slave configured as big-endian word machine"
  [9]=>
  string(0) ""
  [10]=>
  string(19) "-- Polling slave..."
  [11]=>
  string(15) "[40094]: 114214"
}
DEBUGGING:
KWHT: 1142.14
I1V : 325.2 
I1A : 6.4 
I1P : 2070 
I2V : 0 
I2A : 0 
I2P : 0 
G1V : 242.6  
G2V :   
G3V :   
G1A : 8.2  
G2A :   
G3A :   
G1P : 2010  
G2P :   
G3P :   
FRQ : 50 
INVT: 26.9
BOOT: 32.9
EFF:  97.1 
array(37) {
  [0]=>
  string(55) "modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator"
  [1]=>
  string(39) "Copyright (c) 2002-2021 proconX Pty Ltd"
  [2]=>
  string(66) "Visit https://www.modbusdriver.com for Modbus libraries and tools."
  [3]=>
  string(0) ""
  [4]=>
  string(39) "Protocol configuration: MODBUS/TCP, FC3"
  [5]=>
  string(78) "Slave configuration...: address = 1, start reference = 41123 (PDU), count = 26"
  [6]=>
  string(77) "Communication.........: 192.168.2.22, port 502, t/o 1.00 s, poll rate 1000 ms"
  [7]=>
  string(72) "Data type.............: 16-bit register, output (holding) register table"
  [8]=>
  string(67) "Word swapping.........: Slave configured as big-endian word machine"
  [9]=>
  string(0) ""
  [10]=>
  string(19) "-- Polling slave..."
  [11]=>
  string(11) "[41123]: 64"
  [12]=>
  string(13) "[41124]: 3252"
  [13]=>
  string(12) "[41125]: 207"
  [14]=>
  string(10) "[41126]: 0"
  [15]=>
  string(10) "[41127]: 0"
  [16]=>
  string(11) "[41128]: -1"
  [17]=>
  string(11) "[41129]: -1"
  [18]=>
  string(15) "[41130]: -32768"
  [19]=>
  string(10) "[41131]: 4"
  [20]=>
  string(10) "[41132]: 0"
  [21]=>
  string(10) "[41133]: 0"
  [22]=>
  string(13) "[41134]: -306"
  [23]=>
  string(10) "[41135]: 1"
  [24]=>
  string(10) "[41136]: 0"
  [25]=>
  string(13) "[41137]: -304"
  [26]=>
  string(11) "[41138]: 20"
  [27]=>
  string(10) "[41139]: 0"
  [28]=>
  string(10) "[41140]: 0"
  [29]=>
  string(10) "[41141]: 0"
  [30]=>
  string(10) "[41142]: 0"
  [31]=>
  string(10) "[41143]: 0"
  [32]=>
  string(10) "[41144]: 0"
  [33]=>
  string(10) "[41145]: 0"
  [34]=>
  string(11) "[41146]: -1"
  [35]=>
  string(10) "[41147]: 0"
  [36]=>
  string(10) "[41148]: 0"
}
array(61) {
  [0]=>
  string(55) "modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator"
  [1]=>
  string(39) "Copyright (c) 2002-2021 proconX Pty Ltd"
  [2]=>
  string(66) "Visit https://www.modbusdriver.com for Modbus libraries and tools."
  [3]=>
  string(0) ""
  [4]=>
  string(39) "Protocol configuration: MODBUS/TCP, FC3"
  [5]=>
  string(78) "Slave configuration...: address = 1, start reference = 40072 (PDU), count = 50"
  [6]=>
  string(77) "Communication.........: 192.168.2.22, port 502, t/o 1.00 s, poll rate 1000 ms"
  [7]=>
  string(72) "Data type.............: 16-bit register, output (holding) register table"
  [8]=>
  string(67) "Word swapping.........: Slave configured as big-endian word machine"
  [9]=>
  string(0) ""
  [10]=>
  string(19) "-- Polling slave..."
  [11]=>
  string(11) "[40072]: 82"
  [12]=>
  string(11) "[40073]: 82"
  [13]=>
  string(11) "[40074]: -1"
  [14]=>
  string(11) "[40075]: -1"
  [15]=>
  string(11) "[40076]: -1"
  [16]=>
  string(11) "[40077]: -1"
  [17]=>
  string(11) "[40078]: -1"
  [18]=>
  string(11) "[40079]: -1"
  [19]=>
  string(13) "[40080]: 2426"
  [20]=>
  string(11) "[40081]: -1"
  [21]=>
  string(11) "[40082]: -1"
  [22]=>
  string(11) "[40083]: -1"
  [23]=>
  string(12) "[40084]: 201"
  [24]=>
  string(10) "[40085]: 1"
  [25]=>
  string(13) "[40086]: 5000"
  [26]=>
  string(11) "[40087]: -2"
  [27]=>
  string(12) "[40088]: 201"
  [28]=>
  string(10) "[40089]: 1"
  [29]=>
  string(10) "[40090]: 0"
  [30]=>
  string(10) "[40091]: 1"
  [31]=>
  string(14) "[40092]: -9999"
  [32]=>
  string(11) "[40093]: -4"
  [33]=>
  string(10) "[40094]: 1"
  [34]=>
  string(15) "[40095]: -16858"
  [35]=>
  string(10) "[40096]: 1"
  [36]=>
  string(11) "[40097]: 64"
  [37]=>
  string(11) "[40098]: -1"
  [38]=>
  string(11) "[40099]: -1"
  [39]=>
  string(15) "[40100]: -32768"
  [40]=>
  string(12) "[40101]: 207"
  [41]=>
  string(10) "[40102]: 1"
  [42]=>
  string(12) "[40103]: 269"
  [43]=>
  string(12) "[40104]: 354"
  [44]=>
  string(15) "[40105]: -32768"
  [45]=>
  string(12) "[40106]: 329"
  [46]=>
  string(11) "[40107]: -1"
  [47]=>
  string(10) "[40108]: 4"
  [48]=>
  string(10) "[40109]: 6"
  [49]=>
  string(10) "[40110]: 0"
  [50]=>
  string(10) "[40111]: 0"
  [51]=>
  string(10) "[40112]: 0"
  [52]=>
  string(10) "[40113]: 0"
  [53]=>
  string(10) "[40114]: 0"
  [54]=>
  string(10) "[40115]: 0"
  [55]=>
  string(10) "[40116]: 0"
  [56]=>
  string(10) "[40117]: 0"
  [57]=>
  string(10) "[40118]: 0"
  [58]=>
  string(10) "[40119]: 0"
  [59]=>
  string(10) "[40120]: 0"
  [60]=>
  string(10) "[40121]: 0"
}

is 123solar-website forced to port 80 ?

Hi Jeanmarc,
I tried to change my 123solar-http-site from port 80 to port 123 via apache2's ports.conf/123solar.conf/000-default.conf, but I won't get it working.

Before searching at the wrong side:
are there some limitations from 123solar that force the webserver to use port 80 ?

thanx for your great work !
best wishes
Michael

Feature request. Add notification when there is no current on the array.

After loosing over 10 months of solar production because fuses on my array were blown last year,I installed 123solar. I was hoping that 123solar would help notify me when something bad happens to my solar array. Unfortunately this was not so. 123Solar helped make me aware by luck today that my solar production is much lower than expected. Looking back at the graph, I notice 6 weeks ago one of the array shows 0 current and again I found bad fuse.

Would it be possible to add a notification when an array went to 0 amp? this would help tell when the fuses went bad. thanks!!

Time out: can't retreive https://123solar.org/latest_version.php

from 123Solar Administration, select 123solar 1.8.4.3, update, results in the above error. I see 1.8.4.4 as the latest, on github.
In addition, last week, a transformer exploded in the area, lost power, after sometime power was restored, all internet was good, reestablished interconnection, via openbsd, wg-quick, no issues, there were no issues with connection to internet, via linux, win10, or android devices, all was normal, with the exception of 123solar. From a linux box to web of 123solar/, produced absolutely zero results, the main web site would load and display, no graphs, no historical data, other web pages displayed relevant info, however extremely slow to load,on the order of 10-15 minutes to load a single page, a refresh or reload required 10-15 minutes to load.
From an android device to the webservice of 123solar, I experienced zero issues, no lag on reload, or refresh, it showed current and relevant information. I experienced this issue using firefox, dolphin, konqueror on linux, and win10. I booted from a usb device, using
Q4os, same issue, no data displayed
systemctl restart php7.4-fpm.service nginx did not solve the issue.
No errors in nginx logs, or access logs.
What DID resolve the error, was to reconnect to the VPN provider, 123solar loaded very quickly, displays and updates the website.
So what outside connections does 123solar REQUIRE?
Thanks

git clone

git clone of this missing files.
missing some /24 images sign-check for one
didn't have the start stop button
configs would not save
download from your website works, web pages load with errors:
[error] 640#640: *4 FastCGI sent in stderr: "PHP message: PHP Warning: chmod():
still troubleshooting
thanks

Error by pressing "On/Off" Button

Since a few weeks, I get an Error "Fehler Verbindung unterbrochen",wenn I press the Button "On/Off"-Button.
I log in as admin and get to admin.php, the On button is activated. If I try to disable it I get an error page that the connection was lost. When I press the "Back" button, the page flickers briefly and I end up back in "Admin.php". What information is required for targeted troubleshooting?
RaspberryPi 3, Debian Bulleseye, Apache 2.4, php 7.4

Thanks a lot for help.

Diferences about reported free memory between distros

Hello,

First of all, I'd like to thank you for creating this project, I found it very useful.

About free memory reporting, I have found some differences with respect to the used distros, even if the equivalent command and value is available, for instance the commands for free memory are:

on debian ARM: free -m| grep 'buffers/cache' | awk '{print $3}'
on raspbian ARM: free -m | grep 'Mem' | awk '{print $4}'
on ubuntu x86: free -t -m | grep 'Total' | awk '{print $4}'

So on debian is used buffers/cache (actually on my debian (amd64) and raspbian (ARM) is listed as buff/cache and is a column, not a row) while on raspbian is selected the free column and on ubuntu is selected the free column but with the total value.

On all these distros there is the total free memory available, so this command will work on all them and, more importantly, it will report the same semantic value:

free -t -m | grep 'Total' | awk '{print $4}'

Another suggestion is to use the available memory field that represents the amount of memory that can be used to launch application without swapping, and that probably is the value the user is more interested in:

free -m | awk '/Mem:/ {print $7}'

PHP Fatal error: Uncaught ValueError

I noticed my long running 123solar wasn't up, everytime I restarted it, it died quickly.

Turning on debug shows the following:

#* 31/10/2022 12:03:08 Starting 123Solar debug (1461)

PHP Fatal error: Uncaught ValueError: fread(): Argument #2 ($length) must be greater than 0 in /srv/http/123solar/scripts/123solar.php:650
Stack trace:
#0 /srv/http/123solar/scripts/123solar.php(650): fread()
#1 {main}
thrown in /srv/http/123solar/scripts/123solar.php on line 650

Sofar solar (Alias zucchetti) 1100tl-3300tl G1 rs485 modbus protocol implementation

Hi, just a question: protocol php file for the above inverter is almost completed (when completed i can post it). The only issues i have is on the variable

$KWHT is the total counter (a Wh precision is needed)

well... modbus register give me only total produce KWH precision (not watt):

image

without watt/hours precision the main production page is empty (maybe i'm wrong).

Any suggestions?

Change values

Hello
Is it possible to have "Change daily value(s)" like in Metern, or at least the monthly ones?

Error in $nowUTC

There is some error in $nowUTC calculations as it seems the sunset and sunrise times comparison with $nowUTC doesn't reflect actual time and the aurora failed to start.

Feature request: automatic startup

Would it be possible to have an option to automatically startup 123solar? I know there is a script but in my setup it is not working (I have 123solar running in a docker container and nginx web server running in another container). I would like to avoid adding a cron script at every startup to start 123solar.

123solar don't start after reboot

Hi Jeanmarc,
my 123solar won't start (anymore) automatically after rebooting my RaspPi :-(

I've updated already to the newest version, 123solar.service-file is in /etc/systems/system and service is enabled.

When I reboot and do systemctl status 123solar.service, i'll get

โ— 123solar.service - 123Solar
   Loaded: loaded (/etc/systemd/system/123solar.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2023-06-06 19:15:15 CEST; 2min 51s ago
  Process: 627 ExecStartPre=/bin/sleep 60 (code=exited, status=0/SUCCESS)
  Process: 986 ExecStart=/usr/bin/curl http://localhost/123solar/scripts/boot123s.php (code=exited, status=0/SUCC
 Main PID: 986 (code=exited, status=0/SUCCESS)

Jun 06 19:15:15 RPi4Wozi curl[986]: <html><head>
Jun 06 19:15:15 RPi4Wozi curl[986]: <title>404 Not Found</title>
Jun 06 19:15:15 RPi4Wozi curl[986]: </head><body>
Jun 06 19:15:15 RPi4Wozi curl[986]: <h1>Not Found</h1>
Jun 06 19:15:15 RPi4Wozi curl[986]: <p>The requested URL was not found on this server.</p>
Jun 06 19:15:15 RPi4Wozi curl[986]: <hr>
Jun 06 19:15:15 RPi4Wozi curl[986]: <address>Apache/2.4.38 (Raspbian) Server at localhost Port 80</address>
Jun 06 19:15:15 RPi4Wozi curl[986]: </body></html>
Jun 06 19:15:15 RPi4Wozi systemd[1]: 123solar.service: Succeeded.
Jun 06 19:15:15 RPi4Wozi systemd[1]: Started 123Solar.

So it looks like 123solar has been started.

Going to my browser however, I'm guided directly to the admin-site and there's the button on top coloured in red and saying "off" ??!

I can turn it to "on" and it all works fine... til the next reboot...

Have you already had that problem ? And eventually any solution for me ??

Thanx,
Michael

123solar-main Errors

Installed 123solar-main, works for a little while, then stops with errors:
Permission denied in /srv/123solar-main/scripts/123solar.php on line 350 PHP Warning: file_put_contents(/srv/123solar-main/data/invt1/csv/20240404.csv): Failed to open stream: Permission denied in /srv/123solar-main/scripts/123solar.php on line 350 PHP Warning: file_put_contents(/srv/123solar-main/data/invt1/csv/20240404.csv): Failed to open stream: Permission denied in /srv/123solar-main/scripts/123solar.php on line 350 PHP Warning: file_put_contents(/srv/123solar-main/data/invt1/csv/20240404.csv): Failed to open stream: Permission denied in /srv/123solar-main/scripts/123solar.php on line 350 PHP Warning: file_put_contents(/srv/123solar-main/data/invt1/csv/20240404.csv): Failed to open stream: Permission denied in /srv/123solar-main/scripts/123solar.php on line 350

Using SBFspot V3.9.9
This has worked fine on 123solar 1.8.4.3

additional logging curve for consumed energy (from grid)

It would be great if an additional curve for the consumed energy could be visualized (same as now with a predefined php-protocol) for fetching the data from the meter - for example by reading the tasmota (https://tasmota.github.io/docs/Smart-Meter-Interface/) smart-meter IR-head:

pi@rp4:~ $ curl -s http://<host>/cm?cmnd=STATUS+8 | jq
{
  "StatusSNS": {
    "Time": "2022-06-14T19:35:25",
    "E320": {
      "Total_out": xxxxxx kWh,
      "Total_in": yyyyyy kWh,
      "Actual_Power": 347 W,
      "Meter_Number": "zzzzzz"
    }
  }
}

Test Communication works, but 123Solar not logging any data

I had 123Solar working nicely on my QNAP NAS. On Feb 22 it seemed to stop working (may have been related to reboot of NAS). The ttyUSB0 has not changed, and when I use the Test Communication button in the Admin area, it returns correct data from the Aurora Inverter (I see this update in realtime when I refresh the page). However when I run the 123Solar service, the web pages are stuck on Feb 22 and do not show any live data.

What do I need to do to get the main data to work?

Inverter Won't Connect

So looks like my NAS did an update the other night and rebooted. The Serial drivers did not restart, so the USB to RS485 adaptor did not connect back up.

I have restarted it all today, however 123Solar is not showing data from the inverter. If I do a test communications it shows relevant data.

Is there some init string or something required to get it to start reading data from the inverter? And is there any way to download the data from the inverter that I have lost from the last couple of days? The old Aurora Communicator software used to be able to do this.

Debug mode makes it look like the inverter is asleep (I have checked Timezone etc and it's all correct)

Memory (/dev/shm/123s_MEMORY.json):
Array ( [awake] => [First1] => 0 [pmotd1] => 0 [pmotdt1] => 1680406247 [pmotdmulti] => 0 [pmotdtmulti] => 0 [status] => 123Solar ZzzZ [invtstat1] => [5minflag1] => 1 [msgq1] => 0 [AWt1] => 1680406247 [AWriso1] => 0 [AWileak1] => 0 [peakotd1] => 0 [peakoat1] => 0 )
Live memory (/dev/shm/123s_LIVEMEMORY.json)
Array ( [SDTE1] => 1680407087 [I1V1] => 0 [I1A1] => 0 [I1P1] => 0 [I2V1] => 0 [I2A1] => 0 [I2P1] => 0 [I3V1] => 0 [I3A1] => 0 [I3P1] => 0 [I4V1] => 0 [I4A1] => 0 [I4P1] => 0 [G1V1] => 0 [G1A1] => 0 [G1P1] => 0 [G2V1] => 0 [G2A1] => 0 [G2P1] => 0 [G3V1] => 0 [G3A1] => 0 [G3P1] => 0 [FRQ1] => 0 [EFF1] => 0 [INVT1] => 0 [BOOT1] => 0 [SSR1] => 0 )

Also to note - on the main page. the Sunrise, Sunset and Transit times are wrong (17:35, 23:21, 05:07 respectively)

Thanks

PHP8.0 Compatibility

Hi,
Is this code compatible with PHP8.0.
I am getting lots of error with PHP8.0 where is was working fine with PHP7.2

Problems with more than one Bosswerk MI-600 inverter in the same grid

Hello all,
I'm using more than one MI-600 inverter in the same grid with 123solar. As I have found out so far is that the recent code in /scripts/protocols/mi600-webif.php is only working correctly with one inverter. In addition, there were often problems in reading the values from the webif of the inverter. So I had many 'jumping' power-values (spikes) in the 'index-chart' of the 123Solar logger. That's why I have adapted and rewritten some parts of the file mi600-webif.php. Now the code is working for me without any problems since a week and I decided to publish the changes for other users. If you find my changes helpful please feel free to implement these into your repository. I have attached my modified file under the following link

mi600-webif.zip

Best regards, soe135

Communication error only in 123solar, terminal works

see screenshot. so the communication doenstn work in webpage, but it does on terminal.
I'm trying to migrate my installation from debian_arm to debian_x64 to have a better server for all the other stuff I do
Screenshot_20230910_110647

sdmc120c-pool protocol

Hello everyone,
I would like to use sdm120c-pool as the protocol for reading data from the inverter.
The reading test is OK,
Immagine 2024-03-06 153745
Immagine 2024-03-06 153809
Immagine 2024-03-06 153831
Immagine 2024-03-06 153856

but I can't get 123solar to start; the debug report shows this error:

G1V = 239, G1A = 6.789, G1P = 3123, FRQ = 50, EFF = 0, KWHT = 87477PHP Fatal error: Cannot redeclare is_valid() (previously declared in /var/www/123solar/scripts/protocols/sdm120c-pool.php:20) in /var/www/123solar/scripts/protocols/sdm120c-pool.php on line 20

What can I do?

bosswerk mi600

I've made a simple bash interface for the Bosswerk Inverter mi600
Can you add a scripts/protocol.php for it?
These values are available:
webdata_now_p
webdata_today_e
webdata_total_e

Examples bash calls

pi@rp4:~ $ mi600 solariv admin myPasswd webdata_now_p
421 W
pi@rp4:~ $ mi600 solariv admin myPasswd webdata_today_e
2.83 kWh
pi@rp4:~ $ mi600 solariv admin myPasswd webdata_total_e
237.8 kWh

Feature request: is possible to have an API for todays production

Hi,

I use 123solar from 2014 and I'm very happy with it.
I'm trying to integrate it with OpenHab (my current domotic solution) and I've managed to integrate quite everything so far.

I'm just missing the todays production value. Unfortunatelly it is transmitted to the frontend as string (in programday.php as title) and I was not able to find another endpoint for the value.

Side question: I'm currently running version 1.5.5. Do you know any upgrade issues moving from that version to the current?

123solar go OFF himself

Hi JeanMarc,

I find a problem with buster, updated to january 2022.
With last version of 123solar (but also with old ones, other users reported same issue) 123solar go OFF exactly 1 hour after his morning awake.

After that:

  • if I put manually ON, all work as before;
  • if I reboot the the raspberry pi (3b+ in my case) all work as before, I find 123 solar ON and no problem till the next day

nothing on debug or nothing that have problem in the system, also meterN work properly.
Thanks for some support

fatal error in php

fatal error in php (and program stop) when in /data/invtX/msgqueue/ has file with 0 size
line 650 in 123solar.php file
$contents=fread($handle,filesize($filename));
need to check file size <>0 before

Fronius data receive problem

I noticed that fronius inverters sporadically do not deliver correct data (empty JSON datasctructure).
This leads to strange spikes in 123solar logging.

Therefor I updated fronius script (fronius.php) at line 25:
if ((json_last_error() == JSON_ERROR_NONE) and ($dataarray['Body']['Data']['TOTAL_ENERGY'])) {
This validates, if structure ist not empty (existence of Body/Data/TOTAL_ENERGY) and solved my problem.

Could you pls. add this to actual codebase?

Must PH1800 aka PNI PC1800 support

Hi! I just managed to integrate @aquarat's MonoInverter to 123solar and things look pretty nice.
@aquarat's software puts out a json of about 180 parameters from the inverter and it was quite easy to write a ph1800*.php for 123s. I'm only a hobbyist without much experience on github so, should I fork 123s, add my ph1800*.php then do a pull request? Or just leave the fork be?

Also, I've yet to find any battery related monitoring. Where would be the best place to add battery I/V/P?

PHP errors

123Solar 1.8.4.4
PHP Notice: Trying to access array offset on value of type null in /srv/123solar/config/pvoutput/extended/extended1.php on line 4
PHP Notice: Undefined variable: array2 in /srv/123solar/config/pvoutput/extended/extended1.php on line 5
PHP Notice: Trying to access array offset on value of type null in /srv/123solar/config/pvoutput/extended/extended1.php on line 5
Web page is stuck on 13/05/2022, will not refresh.
I was going to roll back to a previous version, but I have no previous version and am unable to locate one.
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.