╔═════════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ - 123Solar Web Logger - ║ ║ PHP/JS Monitoring for Solar Inverters ║ ║ ║ ║ Version : 1.8.4.3 ║ ║ Made by : Louviaux Jean-Marc ║ ║ Last Update : 21/08/20 ║ ║ ║ ╚═════════════════════════════════════════════════════════════════════════════╝ What can 123Solar do for you ? ─────────────────────────────────────────────── 123Solar is a set of PHP/JS files that make a web logger to monitor your photovoltaic inverter(s). Prerequisites ──────────────────────────────────────────────────────────────── 123Solar rely on communication(s) application(s) which are not included in this package. As it is running on top of a webserver, you must grant the access to your communication(s) application(s) as well as your communication port(s) to the 'http' user. Json, Calendar and Curl extensions have to be enable in php. Your webserver must allow HTTP authentication. Warning ────────────────────────────────────────────────────────────────────── Do not open inverter enclosure when under load. High-voltage can cause death or serious injuries ! Both AC and DC power must always be disconnected. Even though, this will not be still 100% safe as internal capacitors may remain charged after disconnecting all sources of power. Installation ───────────────────────────────────────────────────────────────── - Install and test the communication application(s) for your inverter(s) and make sure it is reliable ! - Put the archive on your web server's folder then extract. (tar -xzvf 123solar*.tar.gz) - Go then in your browser for configuration http://yourIP/123solar/admin/ Support, Update & Contact ──────────────────────────────────────────────────── Check first the 'Help and debugger' section in the administration. It usually respond to most common(s) issue(s). To get support, updates or contact please go to http://www.123solar.org License & External copyrights ──────────────────────────────────────────────── 123Solar is released under the GNU GPLv3 license (General Public License). This license allows you to freely integrate this library in your applications, modify the code and redistribute it in bundled packages as long as your application is also distributed with the GPL license. The GPLv3 license description can be found at http://www.gnu.org/licenses/gpl.html Highcharts, the javascript charting library is free for non-commercial use only. (http://highcharts.com) Small-n-flat icons CC0 1.0 Universal (http://paomedia.github.io/small-n-flat/)
123Solar is a set of PHP/JS files that make a web logger to monitor your photovoltaic inverter(s)
Overview
Comments
-
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
question -
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
enhancementpi@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
-
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" }
-
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
invalid question -
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
-
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.
question -
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
question -
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
-
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
invalid -
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
Best regards, soe135
enhancement -
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
-
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!!
enhancement
Releases(1.8.4.4)
-
1.8.4.4(Jan 5, 2022)
update through github
Source code(tar.gz)
Source code(zip)
123solar1.8.4.4.tar.gz(280.69 KB)
Slim-Logger - A stand-alone logger class for use with the Slim Framework
Slim-Logger - A stand-alone logger class for use with the Slim Framework
Simple PHP Logger. Composer package
Basic PHP Logger ?? Simple logger. Composer package.
ChromePhp - a PHP library for the Chrome Logger Google Chrome extension
ChromePhp - a PHP library for the Chrome Logger Google Chrome extension
Capture and monitor detailed error logs with nice dashboard and UI
Capture and monitor detailed error logs with nice dashboard and UI Requirements Check Laravel 6 requirements Check Laravel 7 requirements Installation
A simple database logger for all outgoing emails sent by Laravel website.
Laravel Email Database Log A simple database logger for all outgoing emails sent by Laravel website.
Test Doubles for the PSR-3 Logger Interface
PSR Log Test Doubles Test Doubles for the PSR-3 Logger Interface Motivation In PHP world, most people create Test Doubles via PHPUnits mocking framewo
temperature-pi: a simple Raspberry Pi based temperature logger using a DS18B20 1-Wire digital temperature sensor, & a local sqlite database
temperature-pi temperature-pi is a simple Raspberry Pi based temperature logger using a DS18B20 1-Wire digital temperature sensor, & a local sqlite da
📑 Laravel HTTP Logger
Logging incoming HTTP requests
Allows you to process logs using any PSR-3 compatible logger such as Monolog
Yii 2 PSR Log Target Allows you to process logs using any PSR-3 compatible logger such as Monolog
Robust, composite logger with filtering, formatting, and PSR-3 support
laminas-log ???? Русским гражданам Мы, участники Laminas, родились и живем в разных странах. У многих из нас есть друзья, родственники и коллеги как в
Sends your logs to files, sockets, inboxes, databases and various web services
Monolog - Logging for PHP Monolog sends your logs to files, sockets, inboxes, databases and various web services. See the complete list of handlers be
Sends your logs to files, sockets, inboxes, databases and various web services
Monolog - Logging for PHP ⚠ This is the documentation for Monolog 3.x, if you are using older releases see the documentation for Monolog 2.x or Monolo
AcLog is a simple, zero-dependency PHP package to log activity to files
AcLog is a simple, zero-dependency PHP package to log activity to files. This is not meant for logging errors, this is can be used for logging c
High-performance API performing logging for PHP applications into files or SysLog
Logging API Table of contents: About Configuration Binding Points Logging Installation Unit Tests Reference Guide Specifications How Are Log Lines For
DatabaseLog CakePHP plugin to log into DB instead of files. Better to filter and search.
CakePHP DatabaseLog Plugin DatabaseLog engine for CakePHP applications. This branch is for CakePHP 4.0+. See version map for details. Features Easy se
Amazon Web Services CloudWatch Logs Handler for Monolog library
AWS CloudWatch Logs Handler for Monolog Handler for PHP logging library Monolog for sending log entries to AWS CloudWatch Logs service. Before using t
Keep your laravel logs small and tidy.
Logs can get quite out of hand. This package helps save server space and keep your Laravel log files small.
Clear all your logs in [linux/windows] servers 🛡️
Log-killer Log Killer is tool for [Linux/Windows] Servers This tool will delete all your logs just download the tool and run it on the server if your
A Simple Logging Class For PHP
KLogger: Simple Logging for PHP A project written by Kenny Katzgrau and Dan Horrigan. About KLogger is an easy-to-use PSR-3 compliant logging class fo