123Solar is a set of PHP/JS files that make a web logger to monitor your photovoltaic inverter(s)

Related tags

Logging 123solar
Overview
 ╔═════════════════════════════════════════════════════════════════════════════╗
 ║                                                                             ║
 ║                           - 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/)

 
Comments
  • 123solar go OFF himself

    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 
    opened by cerebrum2020 29
  • bosswerk mi600

    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
    
    enhancement 
    opened by dr-ni 22
  • abbuno protocol - debug output filling

    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"
    }
    
    opened by flanesi 20
  • Wrong read on three Phases

    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 
    opened by Alexandros89 19
  • PHP Fatal error:  Uncaught ValueError

    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

    opened by kitenski 5
  • Error by pressing

    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 
    opened by DirkAlbi 5
  • fatal error in php

    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 
    opened by andysu 4
  • logger stopped with this error

    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

    opened by M0stie 3
  • Time out: can't retreive https://123solar.org/latest_version.php

    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 
    opened by halfagascan 2
  • Problems with more than one Bosswerk MI-600 inverter in the same grid

    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

    enhancement 
    opened by soe135 2
  • PHP errors

    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

    opened by halfagascan 2
  • Feature request. Add notification when there is no current on the array.

    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 
    opened by hmakmur 5
Releases(1.8.4.4)
Owner
null
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

Josh Lockhart 41 Mar 12, 2022
Simple PHP Logger. Composer package

Basic PHP Logger ?? Simple logger. Composer package.

null 1 Jan 28, 2022
ChromePhp - a PHP library for the Chrome Logger Google Chrome extension

ChromePhp - a PHP library for the Chrome Logger Google Chrome extension

Craig Campbell 1.4k Dec 30, 2022
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

Bugphix 107 Dec 12, 2022
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.

Shvets Group 136 Jan 4, 2023
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

Jeroen De Dauw 2 Oct 7, 2022
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

Ronan Guilloux 23 Dec 27, 2020
📑 Laravel HTTP Logger

Logging incoming HTTP requests

The Dragon Code 28 Nov 29, 2022
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

Alexander Makarov 67 Dec 14, 2022
Robust, composite logger with filtering, formatting, and PSR-3 support

laminas-log ???? Русским гражданам Мы, участники Laminas, родились и живем в разных странах. У многих из нас есть друзья, родственники и коллеги как в

Laminas Project 27 Nov 24, 2022
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

Jordi Boggiano 20.1k Jan 8, 2023
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

Jordi Boggiano 20.1k Jan 7, 2023
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

null 2 Sep 9, 2022
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

Lucian Gabriel Popescu 0 Jan 9, 2022
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

Mark Sch. 41 Jul 29, 2022
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

Maksym Leonov 377 Dec 16, 2022
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.

Accent Interactive 73 Nov 14, 2022
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

Rizer 281 Nov 24, 2022
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

Kenny Katzgrau 964 Dec 11, 2022