Coder Social home page Coder Social logo

inverter-data-logger's Introduction

Inverter Data Logger

Inverter Data Logger is a small script for uploading data from a Omnik, Hosola, Goodwe, Solax, Ginlong, Samil, Sofar or Power-One Solar inverter, equipped with a wifi module or connected to a Wi-Fi data logger from iGEN tech, to a database, Domoticz and/or to PVoutput.org.

This script is designed to be run as a cronjob (or scheduled tasks on Windows) every minute. Every time this script is run the data from the inverter(s) will be send to the enabled plugin(s). And with a five minute interval the data will also be uploaded to PVoutput.org as a live status when enabled.

As an alternative a server script can be run which listens for incomming connections from the logger.

Origin

This is based on the original work of Wouter van der Zwan and includes some improvements made by others.

Supported inverters

  • Users reported that this script works for wifi kits with a s/n starting with 602xxxxxx to 606xxxxxx.
  • Also tested with a Wifi kit in a Hosola inverter in the 611xxxxx/617xxxxx range.
  • Also works for newer 1601xxxxxx WiFi kit as used in the Omnik TL2 inverters.
  • Also works with iGEN Wi-Fi external loggers with s/n starting with 504xxxxxx

With wifi kits in the range 601xxxxxx it is not possible to get the data directly from the inverter. So sniffing the data send to the Omnik portal is required, see OmnikMQTT by wouterbaake .

Owners of a Wifi kit starting with s/n 402xxxxxxx should checkout Omnikol-PV-Logger by t3kpunk.

Installation and Setup

  • Install Python (tested with python-2.7.14 and python-3.6.4)
  • Git clone the source with git clone https://github.com/XtheOne/Inverter-Data-Logger.git
  • Install python libs: pip install six and if you use MQTT install pip install paho-mqtt for PVoutput add: pip install pytz
  • Copy the config-org.cfg to config.cfg
  • Change the settings in config.cfg (See 'Configuration')
  • Test your settings with python LiveStats.py, when successful you should see data from your inverter.
  • Run the script with python InverterExport.py or better set a scheduled task or cronjob. (See 'Setting cronjob')
  • Or run the server script with python InverterServer.py

Configuration

open config.cfg

There a few settings that you have to change to get a minimal working script:

set a fixed IP for one or more inverters like the example, or let the script do a auto-scan:

[logger]
# ip,sn,ip,sn,ip,sn or auto
# IP address of your inverter(s) data logger and S/N of the wifi kit(s)
#gateways = 192.168.1.10,602123456, 192.168.1.11,602987654
# Automatically detect logger(s) on the local network
gateways = auto
# Default for the Wifi module/logger/gateway
port = 8899
# time to wait for inverter logger response
timeout = 3

Besure that you have the S/N ready from the inverterm in case that you user the manual input. You can find it in the webpage of your inverter or on the inverter case.

Setup Domoticz support

To enable Domoticz support, enable the DomoticzOutput plugin in the config file. Then Create the following new hardware:

  • Name: Inverter Virtual
  • Type: Dummy (Does nothing, use for virtual switches only)
  • Data Timeout: Disabled

Now Create the following Virtual Sensors:

Identifier Sensor Type Name
Electric_meter_idx Electric (Instant + Counter) Actual Output Power (after creation, set 'Type:' to 'Return' and 'Energy read:' to 'From device')
PV1_voltage_idx Voltage DC Voltage PV1
PV2_voltage_idx Voltage DC Voltage PV2
PV1_current_idx Ampere (1 Phase) DC Current PV1
PV2_current_idx Ampere (1 Phase) DC Current PV2
AC1_voltage_idx Voltage AC Output Voltage
AC1_current_idx Ampere (1 Phase) AC Output Current
AC1_power_idx Usage (Electric) AC Output Power
AC1_frequency_idx Custom Sensor (Hertz) AC Frequency
--- Optional sensors ---
Temp_idx Temperature Temperature
H_total_idx Custom Sensor (Hours) Total run Hours
PV123_voltage_idx Ampere (3 Phase) DC Voltage PV1/2/3 (No 3 phase voltage device exists...)
PV123_current_idx Ampere (3 Phase) DC Current PV1/2/3
AC123_voltage_idx Ampere (3 Phase) AC 1/2/3 Output Voltage (No 3 phase voltage device exists...)
AC123_current_idx Ampere (3 Phase) AC 1/2/3 Output Current
AC123_power_idx Usage (Electric) AC Output Power (total for 3 phase inverter)
E_today_idx Custom Sensor (kWh) Energy today
E_total_idx Custom Sensor (kWh) Total Energy
E_total_c_idx Counter Energy production (after creation, set Type to 'Energy Generated')

Now go to Devices and fill the Idx of these virtual sensors into the config file. This is for a single phase inverter with 2 PV strings and basic values, more virtual sensors can be added for other identifiers.

Server config

To use the Server script configure the listen IP and port and use these in the Wi-Fi-logger. Configure Remote Server B or C in the Wi-Fi- logger to point to the InverterServer IP and Port using TCP protocol.

Setting cronjob

For Linux/Unix

This crontab line with these options this will execute the script every minute.

  • crontab -e
  • Add row: * * * * * /usr/bin/python /home/username/Inverter-Data-Logger/InverterExport.py

For Windows

This scheduled task with these options this will execute the script every minute.

  • Start (or My Computer) -> Control Panel -> Scheduled Tasks -> Add Scheduled Task ->
    or
  • Start -> All Programs -> Administrative Tools -> Task Scheduler -> Action -> New Task ->
    • General (tab) ->
      • Name: InverterExport
      • Description: Attempt to fire up the solar inverter exporter.
      • Select 'Run whether user is logged on or not' and 'Do not store password.'
      • Select 'Run with highest privileges.'
    • Triggers (tab) -> New ->
      • Begin the task: 'On a schedule'
      • Settings: 'Daily' '00:00:00 AM'. Recur every: 1 days.
      • Repeat task every: '1 minutes' for a duration of: '1 day' (or 'Indefinitely')
      • 'Enabled'
      • -> OK.
    • Actions (tab) -> New ->
      • Action: 'Start a program'
      • Program/script: C:\Inverter-Data-Logger\InverterExport.py
      • -> OK.
    • Conditions (tab) ->
      • choose your own options.
    • Settings (tab) ->
      • 'Allow task to be run on demand'
      • 'Stop the task if it runs longer than: '2 days'
      • If the task is already running, then the following rule applies: 'Do not start a new instance'
      • -> OK

NOTE: If you need to kill the process manually: open Task Manager > Processes > Tick 'Show Processes from all users' > right click 'python.exe' > select 'End Process'.

Why copy config-org.cfg, can't I edit it directly?

Yes you can edit config-org.cfg directly. However, if you want to update the script your settings will be overwritten with the default values. By creating config.cfg, you can preserve your settings when upgrading.

Development

To help with development when no sun is present a small simulator script can be found in the folder Development. This script works by reading values from to database used by the MysqlOutput, but with the time shifted 6 hours back. To use the simulator, you should use the MysqlOutput to fill the database and configure database settings in de sim-config.cfg file.

inverter-data-logger's People

Contributors

aiolos avatar alco28 avatar infern1 avatar novapax avatar phyxion avatar woutrrr avatar xtheone avatar zr40 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

inverter-data-logger's Issues

No section 'general'

Hello,

just tried t install the script. but i get this message:

/Inverter-Data-Logger# python LiveStats.py Traceback (most recent call last): File "LiveStats.py", line 14, in <module> 'ConsoleOutput') File "/root/Inverter-Data-Logger/InverterExport.py", line 202, in override_config self.config.set(section, option, value) File "/usr/lib/python2.7/ConfigParser.py", line 396, in set raise NoSectionError(section) ConfigParser.NoSectionError: No section: 'general'

My config file is competely original except for the IP address form my inverter.

Sofar 3680 LTM with Wifi SN051860****

Just trying to work out if this repo could work for this wifi module - numbers very different to any in the README but would love not to have to take the wifi module off and start combating with the RS whatever module underneath like I've had to do for my GoodWe (https://github.com/jantenhove/GoodWeLogger)

More than happy to do debugging etc and help if I can - just trying to get info from sofar/solarman etc is difficult! Already have an API key from them but to be honest I'd rather they didn't have my data at all :)

New inverter + wifi module stops the script from working

I had a faulty inverter and received a new one including a new wifi module. The wifi module number starts with 0637, I am not seeing this one in your supported list.
I updated the script with the new inverter and when I run the script it actually finds the wifi module and then everytime the script runs it times out and doesn't find any data.
Do you know what I can do about it?

solis 3 phase and datalogger EN2-8M

Hello

I have the Solis 3p5k-4g (it is 3 phase) inverter.
Equipped with datalogger EN2-8M.
I configured your project and tested.
Sometimes I got this message:
2021-03-21 09:35:33,138 DEBUG Importing output plugin ConsoleOutput
2021-03-21 09:35:33,139 INFO Connecting to logger with IP: 192.168.1.8 and SN 722549719
2021-03-21 09:35:33,139 INFO connecting to 192.168.1.8 port 8899
2021-03-21 09:35:33,169 DEBUG RAW sent Packet (len=16): 68:02:41:b1:d7:3b:11:2b:d7:3b:11:2b:01:00:91:16 hA;+;+
2021-03-21 09:35:53,190 ERROR Timeout connecting to logger with IP: 192.168.1.8 and SN 722549719, trying next logger.

But sometimes I got some replay:
2021-03-21 09:34:44,668 DEBUG Importing output plugin ConsoleOutput
2021-03-21 09:34:44,669 INFO Connecting to logger with IP: 192.168.1.8 and SN 722549719
2021-03-21 09:34:44,672 INFO connecting to 192.168.1.8 port 8899
2021-03-21 09:34:44,767 DEBUG RAW sent Packet (len=16): 68:02:41:b1:d7:3b:11:2b:d7:3b:11:2b:01:00:91:16 hA;+;+
2021-03-21 09:35:01,771 DEBUG RAW received Packet (len=14): a5:01:00:10:47:d9:8a:d7:3b:11:2b:00:09:15 G;+
2021-03-21 09:35:01,772 DEBUG DATA len=1:
2021-03-21 09:35:01,773 INFO Inverter ID:
Traceback (most recent call last):
File "LiveStats.py", line 17, in
inverter_exporter.run()
File "/home/atryda22/Inverter-Data-Logger/InverterExport.py", line 157, in run
self.logger.info("RUN State: {0}".format(msg.run_state))
File "/home/atryda22/Inverter-Data-Logger/InverterMsg.py", line 138, in run_state
return int(self.__get_short(offset[14], 1))
File "/home/atryda22/Inverter-Data-Logger/InverterMsg.py", line 78, in __get_short
num = struct.unpack('!H', self.raw_msg[begin:begin + 2])[0]

Is it because of bad configuration or my DL is not supported?

regards
atryda

ERROR no listen address defined in configuration file, exiting.

August 2020 i changed my PV setup. Replaced 1.5-TL(1 mppt) for a 3-TL2 (2 mppt) and added extra panels on an other roof. I used the script from Woutrrr https://github.com/Woutrrr/Omnik-Data-Logger) with Domoticz for about 3 years with pleasure. I changed some things to use the 2nd PV and then I found this "new" script. It has more info about the 2 mppt trackers and also gives more info about Voltage, current, frequency, Day Total Power, hours use,. etc.
My 1.5-tl serial was 601xxxxxx
My 3-tl2 serial is 603xxxxxx wich works with the Woutrrr script, so should also work with this (see InverterExport.py)

I got the script working up to python InverterExport.py wich gives this output:


2020-08-19 09:46:11,301 DEBUG Importing output plugin ConsoleOutput
2020-08-19 09:46:11,307 INFO Connecting to logger with IP: 192.168.178.210 and SN 63237xxxx
2020-08-19 09:46:11,310 INFO connecting to 192.168.178.210 port 8899
2020-08-19 09:46:11,325 DEBUG RAW sent Packet (len=16): 68:02:41:b1:4e:54:b1:25:4e:54:b1:25:01:00:e5:16 hANT%NT%
2020-08-19 09:46:11,956 DEBUG RAW received Packet (len=183): 68:a9:41:b0:4e:54:b1:25:4e:54:b1:25:81:02:01:4e:4c:42:4e:33:30:32:30:31:38:31:43:35:30:35:39:01:1b:07:a6:07:e4:00:00:00:10:00:15:00:00:00:1e:00:00:00:00:09:1a:00:00:00:00:13:88:02:9e:00:00:00:00:00:00:00:00:00:b3:00:00:03:09:00:00:00:c4:00:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:86:16 hANT%NT%NLBN3020181C5059
2020-08-19 09:46:11,959 DEBUG DATA len=169:
2020-08-19 09:46:11,963 INFO Inverter ID: NLBN3020181Cxxxx
2020-08-19 09:46:11,965 INFO Inverter main firmware version:
2020-08-19 09:46:11,967 INFO Inverter slave firmware version:
2020-08-19 09:46:11,969 INFO RUN State: 1
2020-08-19 09:46:11,971 DEBUG Run pluginConsoleOutput
Inverter ID: NLBN3020181Cxxxx
E Today : 1.79 Total: 77.79
H Total : 196 Temp : 28.3
errorMsg: 0
PV1 V: 195.8 I: 1.6
PV2 V: 202.0 I: 2.1
PV3 V: 0.0 I: 0.0
L1 P: 670 V: 233.0 I: 3.0 F: 50.0
L2 P: 0 V: 0.0 I: 0.0 F: 0.0
L3 P: 0 V: 0.0 I: 0.0 F: 0.0
2020-08-19 09:46:11,986 DEBUG RAW received Packet (len=99): 68:11:41:f0:4e:54:b1:25:4e:54:b1:25:44:41:54:41:20:53:45:4e:44:20:49:53:20:4f:4b:0d:0a:23:16:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff hANT%NT%DATA SEND IS OK#
2020-08-19 09:46:11,988 DEBUG DATA len=17:
2020-08-19 09:46:11,991 DEBUG Exit Status: DATA SEND IS OK


when I run python InverterServer.py, I get next error (and no output to Domoticz)
2020-08-18 22:59:55,925 DEBUG Importing output plugin ConsoleOutput
2020-08-18 22:59:55,931 ERROR no listen address defined in configuration file, exiting.

My internal network is 172.16.x.x
The Inverter has 192.x.178.210 (connected to DMZ between Firewall and Ziggo Router)
i have a route in firewall from intern (172.10.x.x) to Inverter (192.x.178.210), wich can read the Inverter with the new script (see InverterExport.py) I can access the inverter website from internal network, I also could read the inverter to Domoticz with the Woutrrr script.

I have no programming skills :-( , can somebody help me to overcome the last step ... :-)

config.cfg is attached

config-cfg.txt
McGyver

LSW5 logger

Hello,

anyone can fetch data from logger LSW5 (sn: 350xxxxxxx) ?
Will some network dump help for debugging this logger?

Thanks for any answer.

S/n

Hi, I noticed this one a few weeks ago. I have a Solax inverter, now with WiFi module. Changed it for this module actually, coming from ethernet dongle.

However, when i look up the s/n of the WiFi dongle it reads: SWFXxxxx. This, plus the ip of the module will not connect. I get an error when runnung the ‘test’ script that says it cannot connect. When i use the auto discover option it says it has not found any dongle.

Could you perhaps help me out with this?

Multiple loggers support

Add support for multiple loggers on the network.
Parse defined IP's and query each logger for attached inverter(s)

Options in config file:
[logger]
gateway = auto
gateway = [ip],[sn]
gateway = [ip],[sn],[ip],[sn],[ip],[sn]

old settings not used anymore:
ip =
wifi_sn =

if set to auto, use ScanLoggers detection method to find all loggers on the network.

LSW-3 SN 177xxxxxxx

Hi to all,

Has anyone got it working ?

I can discover the logger but not able to get any data from it:

root@NAS01:/volume1/@appstore/domoticz/var/scripts/Inverter-Data-Logger# python LiveStats.py
2021-08-31 09:36:01,738 DEBUG Importing output plugin ConsoleOutput
2021-08-31 09:36:04,750 INFO Loggers found on the network: ['192.168.100.230', '1774324593'].
2021-08-31 09:36:04,750 INFO Connecting to logger with IP: 192.168.100.230 and SN 1774324593
2021-08-31 09:36:04,750 INFO connecting to 192.168.100.230 port 8899
2021-08-31 09:36:04,754 DEBUG RAW sent Packet (len=16): 68:02:41:b1:71:0b:c2:69:71:0b:c2:69:01:00:43:16 hAqiqiC
2021-08-31 09:36:14,762 ERROR Timeout connecting to logger with IP: 192.168.100.230 and SN 1774324593, trying next logger.

Can anyone help ?

Need to import the data to my Domoticz HA.

BR
Mikolaj

Any support for GivEnergy/JMHING/Lantrun?

Hi all,
I've got a solar inverter from GivEnergy, which seems to be made by JMHING, also available as Lantrun and Prime Energy by the looks of it.
It's got a wifi dongle, service running on port 8899, but ScanLoggers.py not picking it up.
Serial number is showing as WE191xxx
Solar Man app not seeing it locally, but the iOS 'Lantern Monitor' app see's it locally and give me live stats.
I can see the app doing a mDNS broadcast, and then trying to hit a hardcoded IP 10.10.100.254 on that port 8899
Any ideas if this dongle is something I can use with these scripts to get the live data from? Or anything else to help find out what it is?

Thanks,
Tom

High temp

Sometime's temp "freezes" 250 grd..

Solarman logger LSW-3

Is this logger type supported?

I have Sofar Solar inverter with this logger.

Auto search find my logger ip and serial, send packet but after few seconds i got timeout and no response. Tried to set timeout ~10sec but no help.

Logger Serial is 170xxxxxxx

GoodWe 55000DNS the target machine actively refused it

2019-06-15 11:24:03,779 ERROR Could not open socket
2019-06-15 11:24:03,779 ERROR [Errno 10061] No connection could be made because the target machine actively refused it
2019-06-15 11:24:03,780 ERROR Error connecting to logger with IP: 192.168.1.2 and SN , trying next logger.

problem when running as superuser

I installed following the instructions. After a bit of fiddling it works OK, I can see variables in Domoticz changing and the values match my Omnik PV.
One thing remains: I get a lot of messages in /var/,mail/mail and /var/mail/pi.
Turns out it has a problem finding the "six" module.
When I run LiveStats.py from the console, it runs flawless when the command is issued without sudo: "python LiveStats.py". Values show up on the console.
When I run it as "sudo python LiveStats.py", it fails and complains about "six".
So apparently when run from the crontab, it also runs with sudo rights.

I tried removing and re-installing the six package, but no result.
Any ideas? How can I correct this?
For the moment, I log on to my Pi every few days to get rid of the mail files. I could automate this in a cronjob, but it feels wrong.

No connection in Domoticz version 2023.2

Having an issue reading data from my Omnik Inverter for Domoticz version 2023.1 it was OK, 2023.2 Gives next Debug info.

Debug info
023-08-02 12:21:17,517 DEBUG Importing output plugin ConsoleOutput
2023-08-02 12:21:20,722 INFO Loggers found on the network: ['192.168.1.20', '602086444'].
2023-08-02 12:21:20,722 INFO Connecting to logger with IP: 192.168.1.20 and SN 602086444
2023-08-02 12:21:20,723 INFO connecting to 192.168.1.20 port 8899
2023-08-02 12:21:20,725 DEBUG RAW sent Packet (len=16): 68:02:41:b1:2c:1c:e3:23:2c:1c:e3:23:01:00:91:16 hA,#,#
2023-08-02 12:21:23,729 ERROR Timeout connecting to logger with IP: 192.168.1.20 and SN 602086444, trying next logger.

Linux raspberrypihome 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux

Using LAN data logger

This is a bit strange problem - I have a set of WIFI stick and LAN stick (looks the same) and wanted to use the LAN sticks for security reasons as it seem like its not possible to turn off the AP on the WIFI sticks.

After some restarts I managed to get one MQTT output from the inverter, but most of the times it fails with this - seem like its possible to get it working, just something that doesnt make sense:

2018-07-17 18:09:07,790 DEBUG Importing output plugin ConsoleOutput
2018-07-17 18:09:07,790 INFO Start listening on IP: 0.0.0.0 and Port 10004
2018-07-17 18:09:07,790 INFO Use CTRL-Break to exit.
2018-07-17 18:09:07,791 DEBUG waiting for a connection.
2018-07-17 18:09:08,257 DEBUG connection from: ('192.168.1.151', 64470)
2018-07-17 18:09:57,793 DEBUG RAW received Packet (len=14): a5:01:00:10:47:6e:08 :95:84:69:71:00:c1:15 Gniq
2018-07-17 18:09:57,794 DEBUG DATA len=1:
2018-07-17 18:09:57,795 INFO Inverter ID:
Traceback (most recent call last):
File "InverterServer.py", line 199, in
inverter_exporter.run()
File "InverterServer.py", line 150, in run
self.logger.info("RUN State: {0}".format(msg.run_state))
File "/home/aleks/Inverter-Data-Logger/InverterMsg.py", line 138, in run_state
return int(self.__get_short(offset[14], 1))
File "/home/aleks/Inverter-Data-Logger/InverterMsg.py", line 78, in __get_shor t
num = struct.unpack('!H', self.raw_msg[begin:begin + 2])[0]
struct.error: unpack requires a buffer of 2 bytes

Any idea how to handle an Omnik with SN 640xxxxxx ?

I'm having an OmnikSol 4k-TL3, single fase, 2MPPT with a serial number that starts with 640. I'm able to ping the IP-address of the inverter, but when I run the python script the connection times out. Any idea how to solve this?

Problems with loggin

After install the files in the Subdir /storage/Omnik, and making the config file.
Gave the command $ python LiveStats.py

2018-03-05 15:40:40,278 DEBUG Importing output plugin ConsoleOutput
2018-03-05 15:40:40,278 INFO Connecting to logger with IP: 192.168.178.115 and SN 602538088
2018-03-05 15:40:40,278 INFO connecting to 192.168.178.115 port 8899
2018-03-05 15:40:40,296 DEBUG RAW sent Packet (len=16): 68:02:41:b1:68:00:ea:23:68:00:ea:23:01:00:df:16 hAh#h#
2018-03-05 15:40:40,952 DEBUG RAW received Packet (len=99): 68:55:41:b0:68:00:ea:23:68:00:ea:23:81:02:01:4e:4c:44:4e:32:30:32:30:31:33:32:53:32:30:36:37:01:3d:0b:a5:00:00:ff:ff:00:1c:00:b6:ff:ff:00:1e:ff:ff:ff:ff:08:fc:ff:ff:ff:ff:13:8c:02:c8:ff:ff:ff:ff:ff:ff:ff:ff:02:28:00:01:4b:72:00:00:4d:66:00:01:00:00:00:00:ff:ff:00:00:00:00:00:00:00:00:00:00:2d:16 hUAh#h#NLDN2020132S2067=(KrMf-
2018-03-05 15:40:40,952 DEBUG DATA len=85:
2018-03-05 15:40:40,952 INFO Inverter ID: NLDN2020132S2067
Traceback (most recent call last):
File "LiveStats.py", line 17, in
inverter_exporter.run()
File "/home/han/Downloads/Inverter-Data-Logger-master/InverterExport.py", line 150, in run
self.logger.info("Inverter main firmware version: {0}".format(msg.main_fwver))
File "/home/han/Downloads/Inverter-Data-Logger-master/InverterMsg.py", line 154, in main_fwver
if (self.__get_int(101) == 0): return ""
File "/home/han/Downloads/Inverter-Data-Logger-master/InverterMsg.py", line 33, in __get_int
return int(self.raw_msg[begin:begin+1].encode('hex'), 16)
ValueError: invalid literal for int() with base 16: ''

What do I wrong

Pi bulleyes

Had to reinstall Domoticz and started from Bulleyes version.
Have next errors
python LiveStats.py
Traceback (most recent call last):
File "LiveStats.py", line 7, in
import InverterExport
File "/home/pi/Inverter-Data-Logger/InverterExport.py", line 18, in
from PluginLoader import Plugin
File "/home/pi/Inverter-Data-Logger/PluginLoader.py", line 3, in
from six import add_metaclass
ImportError: No module named six

did install the needed modules, but no success on old version scripts is working fine

Issues Omnik inverter with SN: 80911****

I used to read the data with this script for showing in my Node Red Dashboard. Worked perfect!

After my Omnik inverter died, this week I got a new Omnik2500tl. Unfortunately now it does not work anymore. Any idea how to solve this?

This is the result on LiveStats.py:

python LiveStats.py
2020-03-15 13:15:38,539 DEBUG Importing output plugin ConsoleOutput
2020-03-15 13:15:41,693 INFO Loggers found on the network: ['192.168.0.76', '80 9110293'].
2020-03-15 13:15:41,693 INFO Connecting to logger with IP: 192.168.0.76 and SN 8 0911****
2020-03-15 13:15:41,694 INFO connecting to 192.168.0.76 port 8899
2020-03-15 13:15:41,696 DEBUG RAW sent Packet (len=16): 68:02:41:b1:15:0b:3a:30: 15:0b:3a:30:01:00:09:16 hA:0:0
2020-03-15 13:15:44,699 ERROR Timeout connecting to logger with IP: 192.168.0.76 and SN 80911****, trying next logger.

Error in configuration file

When I run python LiveStats.py I get the following reported. So it can see my inverter and it reports the values.

pi@raspberrypi:~/Inverter-Data-Logger $ python LiveStats.py
2018-03-24 16:50:18,228 DEBUG Importing output plugin ConsoleOutput
2018-03-24 16:50:18,230 INFO Connecting to logger with IP: 192.168.0.120 and SN 616039440
2018-03-24 16:50:18,231 INFO connecting to 192.168.0.120 port 8899
2018-03-24 16:50:18,822 DEBUG DATA len=89:
2018-03-24 16:50:18,823 INFO Inverter ID: S2821590450130
2018-03-24 16:50:18,824 INFO RUN State: 1
2018-03-24 16:50:18,824 DEBUG Run pluginConsoleOutput
Inverter ID: S2821590450130
E Today : 1.8 Total: 2177.7
H Total : 5774 Temp : 18.0
errorMsg: 0
PV1 V: 233.4 I: 0.1
PV2 V: 0.7 I: 1.9
PV3 V: 0.0 I: 0.0
L1 P: 44 V: 238.2 I: 0.3 F: 50.05
L2 P: 0 V: 0.0 I: 0.0 F: 0.0
L3 P: 0 V: 0.0 I: 0.0 F: 0.0
2018-03-24 16:50:18,827 DEBUG DATA len=17:
2018-03-24 16:50:18,828 DEBUG Exit Status: DATA SEND IS OK

If I then manually run python InverterExport.py I get the following reported.
It tells me there is an error in the config file with no section for my inverter ID.

pi@raspberrypi:~/Inverter-Data-Logger $ python InverterExport.py
2018-03-24 16:51:24,503 DEBUG Importing output plugin DomoticzOutput
2018-03-24 16:51:24,553 INFO Connecting to logger with IP: 192.168.0.120 and SN 616039440
2018-03-24 16:51:24,554 INFO connecting to 192.168.0.120 port 8899
2018-03-24 16:51:27,330 DEBUG DATA len=89:
2018-03-24 16:51:27,332 INFO Inverter ID: S2821590450130
2018-03-24 16:51:27,333 INFO RUN State: 1
2018-03-24 16:51:27,333 DEBUG Run pluginDomoticzOutput
2018-03-24 16:51:27,334 ERROR no section in configuration file for inverter with ID: S2821590450130, skipping.
2018-03-24 16:51:27,335 DEBUG DATA len=17:
2018-03-24 16:51:27,336 DEBUG Exit Status: DATA SEND IS OK

Here is my config file.

###############

Settings

################

[general]

General:enabled_plugins

Choose which outputs to use

Possible options: MysqlOutput,PostgreSQLOutput,PVoutputOutput,ConsoleOutput,CSVOutput,CSVOutput2File,DomoticzOutput,MQTTOutput

enabled_plugins = DomoticzOutput

choose one of these

use temperature of inverter for output to pvoutput/mqtt

use_temperature = false

do not use temperature of inverter for output to pvoutput/mqtt

#use_temperature = false

Minimum Temperature for exporting. (a max. of 300 degrees is hardcoded)

Set to -32768 to always sent the temperature value.

Or set to a value so that the inverter internal temperature is only exported if equal or above this value.

min_temp = 5

Minimum Voltage of any sensor for exporting.

Set to 0 to always sent the sensor's voltage value.

Or set to a value so that the sensor voltage data is only exported if equal or above this value.

min_voltage = 0

Minimum grid Frequency for exporting.

Set to 0 to always sent the sensor's frequency value.

Or set to a value so that the grid Frequency is only exported if equal or above this value.

min_freq = 30

[logger]

ip,sn,ip,sn,ip,sn or auto

IP address of your inverter(s) data logger and S/N of the wifi kit(s)

gateways = 192.168.0.120,616039440

Automatically detect logger(s) on the local network

#gateways = auto

Default for the Wifi module/logger/gateway

port = 8899

time to wait for inverter logger response

timeout = 3

repeat this for every inverter ID that must be logged to pvoutput

The apikey(s) and sysid(s) can be found at http://pvoutput.org/account.jsp

[pvout]
#use apikey- in the apikey name
#apikey-NLBN1234567A1234 = NOTAREALAPIKEY86e2258d4e29169fb79cf18b00
#use sysid- in the sysid name
#sysid-NLBN1234567A1234 = 12345

use domoticz- as section name

repeat this section for every inverter ID that must be logged to domoticz

Replace 'idx' with the Idx number of the corresponding virtual sensor device as defined in domoticz

comment out values which can or must be skipped

[domoticz-S2821590450130]
host = 192.168.0.100
port = 8080
path = /json.htm

Replace 'idx' with the Idx number of the corresponding virtual sensor device as defined in domoticz

Electric_meter_idx =4

comment out below values which are not needed

#Temp_idx = idx
#E_today_idx = idx
#E_total_idx = idx
#E_total_c_idx = idx
#H_total_idx = idx

DC input

PV1_voltage_idx =5
PV1_current_idx =6
#use below when you have multiple PVs on your inverter
#PV2_voltage_idx = idx
#PV2_current_idx = idx
#PV3_voltage_idx = idx
#PV3_current_idx = idx
#PV123_voltage_idx = idx
#PV123_current_idx = idx

AC output

AC1_voltage_idx =7
AC1_current_idx =8
AC1_power_idx =9
AC1_frequency_idx =10
#use below when you have a 3-phase inverter
#AC2_voltage_idx = idx
#AC2_current_idx = idx
#AC2_power_idx = idx
#AC2_frequency_idx = idx
#AC3_voltage_idx = idx
#AC3_current_idx = idx
[mysql]

Host where the mysql server is active

host = 127.0.0.1
user =
pass =
database =

[postgresql]
connstr = host=10.0.0.1 dbname=inverter user=inverter password=example

[mqtt]

Host where the mqtt server is, including user/pass authentication

host = 127.0.0.1
port = 1883
user = username
pass = password

[csv]
daily_file = false
disable_header = false
csv_file_name = filename.csv

[log]

Log:Output

Possible options: none,console,file (combinations are possible)

Use none to disable logging

type = console

Log:level

Possible options: critical, error, warning, info, debug, notset

level = debug

Log:filename

Output file for file logger

filename = inverter-export.log

I don't see what is wrong so could someone please point me in the right direction.
I feel I'm so close, but just don't understand the scripts.

Anonymous MQTT

I currently have a setup where i have enabled anonymous login to my MQTT server, how should I configure the username/password in the config for MQTT settings?

user = 
pass = 

No errors come from the above but also no data are received on my MQTT server?
Have also tried

user = ''
pass = ''

and

user = ""
pass = ""

But with no luck

PVOutput plugin does not work with low frequency updates

I am using InverterServer.py as an endpoint for my Omnik inverter. The inverter pushes data once every 5 minutes. The PVOutput plugin has a condition that it only sends the data to when the current minute is divisible by 5. So if my inverter pushes the data any other minute, it will not be reported.

I propose to make this configurable. For inverters that report more frequently, or when using polling, the update can be postponed until the 5th minute, for other inverters the update can be sent immediately.

TypeError: an integer is required

I am trying to run the LiveStats.py script (running Python 3) and it returns the following

2018-01-11 14:24:21,781 DEBUG Importing output plugin ConsoleOutput
2018-01-11 14:24:21,783 INFO Connecting to logger with IP: 10.0.0.35 and SN 604087423
2018-01-11 14:24:21,787 INFO connecting to 10.0.0.35 port 8899
Traceback (most recent call last):
File "LiveStats.py", line 17, in
inverter_exporter.run()
File "C:\Git\Inverter-Data-Logger\InverterExport.py", line 116, in run
data = InverterLib.createV4RequestFrame(int(sn))
File "C:\Git\Inverter-Data-Logger\InverterLib.py", line 33, in createV4Request
Frame
tar = bytearray([binascii.hexlify(serial_hex[i:i + 2]) for i in reversed(ran
ge(0, len(serial_hex), 2))])
TypeError: an integer is required

when parameter use_temperature = false , no export due error.

There is a error when I set the use_temperature configuration on FALSE. the check if the temperature is in the designated range isn't excluded when the use_temperature is set to false.

relevant part of the config:

# choose one of these
# use temperature of inverter for output to pvoutput/mqtt
#use_temperature = true
# do not use temperature of inverter for output to pvoutput/mqtt
use_temperature = false

min_temp = -32768

error on command line:

/var/www/Inverter-Data-Logger# python InverterExport.py
Inverter ID: ****************ABC********
E Today :  1.05   Total: 4310.95
H Total :     0   Temp : 25.1
errorMsg:     0
PV1   V: 177.6   I:  0.3
PV2   V:   0.0   I:  0.1
PV3   V:   0.0   I:  0.0
L1    P:    43   V: 231.2   I:  0.5   F: 50.01
L2    P:     0   V:   0.0   I:  0.0   F:   0.0
L3    P:     0   V:   0.0   I:  0.0   F:   0.0
2018-12-27 14:56:27,371 ERROR temperature out of range: 25.1

Also I want to suggest that there could be a list of PIP installs in the readme.md file.
like : pip install paho-mqtt for MQTT plugin and pip install six for console output.

Add Listen Server

Add a server script so that a 2nd server can be defined in the logger itself.

Add Version 5 protocol support

Implement support for V5 protocol as used in new embedded ethernet loggers.
Needs documentation from Omnik and or iGEN / Solarman.

This is requested.
Also a firmware update file is requested.

Add-on crashes on receiving data

I just installed this add-on onto my HA instance and I get the following error after which the add-on stops
I am using a LAN data logger and the inverter is a Solis 5G 6kw Hybrid
I am using the Solarman-Ethernet protocol:
image

2021-05-02 10:41:38,610 INFO Start listening on IP: 0.0.0.0 and Port 10004 2021-05-02 10:41:38,611 INFO Use CTRL-Break to exit. 2021-05-02 10:41:40,354 INFO Inverter ID: º4└╠ì�(�
2021-05-02 10:41:40,355 INFO Inverter main firmware version:
2021-05-02 10:41:40,355 INFO Inverter slave firmware version:
2021-05-02 10:41:40,356 INFO RUN State: 160
2021-05-02 10:41:40,634 INFO Inverter ID: º4└╠ì�)� 2021-05-02 10:41:40,635 INFO RUN State: 2 Inverter ID: º4└╠ì�(�
2021-05-02 10:41:59,894 INFO Inverter ID:
E Today : 1.36 Total: 32794598.459999997
H Total : 7603200 Temp : 4.9
errorMsg: 0
PV1 V: 1387.2 I: 1259.3
PV2 V: 1797.4 I: 1234.3
PV3 V: 1285.0 I: 1233.6
L1 P: 0 V: 389.1 I: 1464.7 F: 1.7
L2 P: 16 V: 314.2 I: 830.2 F: 0.0
L3 P: 0 V: 4.3 I: 42.9 F: 23.04
Inverter ID: º4└╠ì�)� E Today : 0.0 Total: 25.5 H Total : 4294939392 Temp : 4.8 errorMsg: 169449881 PV1 V: 1233.7 I: 1336.0 PV2 V: 1464.0 I: 1362.3 PV3 V: 1361.7 I: 1463.7 L1 P: 0 V: 819.3 I: 1233.6 F: 0.0 L2 P: -1 V: 2073.6 I: 1254.4 F: 2.55 L3 P: 0 V: 0.0 I: 52.1 F: -279.04 Traceback (most recent call last): File "InverterServer.py", line 199, in <module> inverter_exporter.run() File "InverterServer.py", line 150, in run self.logger.info("RUN State: {0}".format(msg.run_state)) File "/Inverter-Data-Logger/InverterMsg.py", line 138, in run_state return int(self.__get_short(offset[14], 1)) File "/Inverter-Data-Logger/InverterMsg.py", line 78, in __get_short num = struct.unpack('!H', self.raw_msg[begin:begin + 2])[0] struct.error: unpack requires a buffer of 2 bytes [cmd] ./run.sh exited 1 [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] waiting for services. [s6-finish] sending all processes the TERM signal.

Usage of CSV file with jsunnyreports

Hi!

I'm successfully using your application to pull data from my Omnik and store the CSV output in a unique file every 1 minute. But I'm unable to load the CSV files into jsunnyreports (http://www.jsunnyreports.com/). Problem is, I don't know what values jsunnyreports is expecting at what position in the file... Perhaps you have experience with this?

I also contacted the creator of jsunnyreports and awaiting response. Perhaps more people have issues with this so this issue would perhaps also help other people once we figure this out and post results here.

Thank you.
Ralf.

Cant get it installed

Copied file to rpi but when i try to run it i've got this

LibreELEC:~/Omnik # python LiveStats.py
Traceback (most recent call last):
File "LiveStats.py", line 7, in
import InverterExport
File "/storage/Omnik/InverterExport.py", line 18, in
from PluginLoader import Plugin
File "/storage/Omnik/PluginLoader.py", line 3, in
from six import add_metaclass
ImportError: No module named six

DomoticzOutput Fails

Using Domoticz 4.9700 I try to get the values from my Omnik 3000TL inverter
Console output seems to work
But writing the values to Domoticz fails
Tried in both ways with the same result python InverterExport.py or python InverterServer.py
Raspi with Python 2.9.7

What I am missing????

config.cfg
################

Settings

################

[general]

General:enabled_plugins

Choose which outputs to use

Possible options: MysqlOutput,PostgreSQLOutput,PVoutputOutput,ConsoleOutput,CSVOutput,CSVOutput2File,DomoticzOutput,MQTTOutput

enabled_plugins = DomoticzOutput, ConsoleOutput

choose one of these

use temperature of inverter for output to pvoutput/mqtt

use_temperature = true

do not use temperature of inverter for output to pvoutput/mqtt

#use_temperature = false

Minimum Temperature for exporting. (a max. of 300 degrees is hardcoded)

Set to -32768 to always sent the temperature value.

Or set to a value so that the inverter internal temperature is only exported if equal or above this value.

min_temp = 5

Minimum Voltage of any sensor for exporting.

Set to 0 to always sent the sensor's voltage value.

Or set to a value so that the sensor voltage data is only exported if equal or above this value.

min_voltage = 0

Minimum grid Frequency for exporting.

Set to 0 to always sent the sensor's frequency value.

Or set to a value so that the grid Frequency is only exported if equal or above this value.

min_freq = 30

[server]

InverterServer parameters

listen_address = 192.168.100.45
listen_port = 10004

[logger]

ip,sn,ip,sn,ip,sn or auto

IP address of your inverter(s) data logger and S/N of the wifi kit(s)

gateways = 192.168.100.21,603158013

Automatically detect logger(s) on the local network

#gateways = auto

Default for the Wifi module/logger/gateway

port = 8899

time to wait for inverter logger response

timeout = 3

repeat this for every inverter ID that must be logged to pvoutput

The apikey(s) and sysid(s) can be found at http://pvoutput.org/account.jsp

[pvout]
#use apikey- in the apikey name
apikey-NLBN1234567A1234 = NOTAREALAPIKEY86e2258d4e29169fb79cf18b00
#use sysid- in the sysid name
sysid-NLBN1234567A1234 = 12345

use domoticz- as section name

repeat this section for every inverter ID that must be logged to domoticz

Replace 'idx' with the Idx number of the corresponding virtual sensor device as defined in domoticz

comment out values which can or must be skipped

[domoticz-NLDN3020135H6180]
host = 192.168.100.45
port = 8080
path = /json.htm

Replace 'idx' with the Idx number of the corresponding virtual sensor device as defined in domoticz

Electric_meter_idx = 00082006

comment out below values which are not needed

Temp_idx = 0001405F
E_today_idx = 00082017
E_total_idx = 00082018
E_total_c_idx = 00082020
#H_total_idx = idx

DC input

PV1 = 00082007
PV1_current_idx = 00082009
#use below when you have multiple PVs on your inverter
PV2_voltage_idx = 00082008
PV2_current_idx = 00082010
#PV3_voltage_idx = idx
#PV3_current_idx = idx
#PV123_voltage_idx = idx
#PV123_current_idx = idx

AC output

AC1_voltage_idx = 00082011
AC1_current_idx = 00082012
AC1_power_idx = 00082013
AC1_frequency_idx = 00082014
#use below when you have a 3-phase inverter
#AC2_voltage_idx = idx
#AC2_current_idx = idx
#AC2_power_idx = idx
#AC2_frequency_idx = idx
#AC3_voltage_idx = idx
#AC3_current_idx = idx
#AC3_power_idx = idx
#AC3_frequency_idx = idx
#AC123_voltage_idx = idx
#AC123_current_idx = idx
#AC123_power_idx = idx

[mysql]

Host where the mysql server is active

host = 127.0.0.1
user =
pass =
database =

[postgresql]
connstr = host=10.0.0.1 dbname=inverter user=inverter password=example

[mqtt]

Host where the mqtt server is, including user/pass authentication

host = 127.0.0.1
port = 1883
user = username
pass = password
topic = omnik/solar

[csv]
daily_file = false
disable_header = false
csv_file_name = filename.csv

[log]

Log:Output

Possible options: none,console,file (combinations are possible)

Use none to disable logging

type = console,file

Log:level

Possible options: critical, error, warning, info, debug, notset

level = debug

Log:filename

Output file for file logger

filename = inverter-export.log

2018-10-16 09:53:05,668 DEBUG connection from: ('192.168.100.21', 31856)
2018-10-16 09:53:06,497 DEBUG RAW received Packet (len=139): 68:7d:41:b0:fd:75:f3:23:fd:75:f3:23:81:02:01:4e:4c:44:4e:33:30:32:30:31:33:35:48:36:31:38:30:01:0d:0c:26:0c:28:ff:ff:00:0a:00:09:ff:ff:00:13:ff:ff:ff:ff:09:42:ff:ff:ff:ff:13:8e:01:dd:ff:ff:ff:ff:ff:ff:ff:ff:00:13:00:02:18:ea:00:00:52:96:00:01:00:00:00:00:ff:ff:00:00:00:00:00:00:00:00:00:00:4e:4c:31:2d:56:31:2e:30:2d:30:30:35:38:2d:34:00:00:00:00:00:56:32:2e:30:2d:30:30:32:34:00:00:00:00:00:00:00:00:00:00:00:02:16 h}Au#u#NLDN3020135H6180&(BRNL1-V1.0-0058-4V2.0-0024
2018-10-16 09:53:06,498 DEBUG DATA len=125:
2018-10-16 09:53:06,499 INFO Inverter ID: NLDN3020135H6180
2018-10-16 09:53:06,499 INFO RUN State: 1
2018-10-16 09:53:06,500 DEBUG Run pluginDomoticzOutput
2018-10-16 09:53:06,501 INFO Uploading data from inverter with ID: NLDN3020135H6180 to Domoticz
2018-10-16 09:53:06,502 DEBUG url: http://192.168.100.45:8080/json.htm
2018-10-16 09:53:06,503 DEBUG Temperature : 26.9 degrees celcius
2018-10-16 09:53:06,504 DEBUG PV1 voltage : 311.0 Volt
2018-10-16 09:53:06,504 DEBUG AC1 voltage : 237.0 Volt
2018-10-16 09:53:06,505 DEBUG AC total power: 477 Watt
2018-10-16 09:53:06,506 DEBUG e_today : 0.19 kWh
2018-10-16 09:53:06,506 DEBUG msg.e_total : 13745.0 kWh
2018-10-16 09:53:06,507 DEBUG e_total : 13745.09 kWh
2018-10-16 09:53:06,508 DEBUG H_total not defined: 21142 hours
2018-10-16 09:53:06,509 DEBUG PV3 current out of range, or not defined: -0.1 Ampere
2018-10-16 09:53:06,510 DEBUG PV1/2/3 current not defined: 1.0/0.9/-0.1 Ampere
2018-10-16 09:53:06,511 DEBUG PV1 voltage out of range, or not defined: 311.0 Volts
2018-10-16 09:53:06,512 DEBUG PV3 voltage out of range, or not defined: -0.1 Volts
2018-10-16 09:53:06,513 DEBUG PV1/2/3 voltage not defined: 311.0/311.2/-0.1 Volts
2018-10-16 09:53:06,514 DEBUG AC2 current out of range, or not defined: -0.1 Ampere
2018-10-16 09:53:06,515 DEBUG AC3 current out of range, or not defined: -0.1 Ampere
2018-10-16 09:53:06,516 DEBUG AC1/2/3 current not defined: 1.9/-0.1/-0.1 Ampere
2018-10-16 09:53:06,517 DEBUG AC2 voltage out of range, or not defined: -0.1 Volt
2018-10-16 09:53:06,517 DEBUG AC3 voltage out of range, or not defined: -0.1 Volt
2018-10-16 09:53:06,518 DEBUG AC1/2/3 voltage not defined: 237.0/-0.1/-0.1 Volts
2018-10-16 09:53:06,519 DEBUG AC2 power out of range, or not defined: -1 Watt
2018-10-16 09:53:06,520 DEBUG AC3 power out of range, or not defined: -1 Watt
2018-10-16 09:53:06,521 DEBUG AC123 power not defined: 477 Watt
2018-10-16 09:53:06,522 DEBUG AC2 frequency out of range, or not defined: -0.01 Hertz
2018-10-16 09:53:06,523 DEBUG AC3 frequency out of range, or not defined: -0.01 Hertz
2018-10-16 09:53:06,523 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=26.9&idx=0001405F&param=udevice&nvalue=0
2018-10-16 09:53:06,528 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,529 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=13745.09&idx=00082018&param=udevice&nvalue=0
2018-10-16 09:53:06,533 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,534 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=237.0&idx=00082011&param=udevice&nvalue=0
2018-10-16 09:53:06,539 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,540 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=0.9&idx=00082010&param=udevice&nvalue=0
2018-10-16 09:53:06,544 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,546 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=477&idx=00082013&param=udevice&nvalue=0
2018-10-16 09:53:06,550 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,551 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=1.9&idx=00082012&param=udevice&nvalue=0
2018-10-16 09:53:06,556 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,557 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=13745090.0&idx=00082020&param=udevice&nvalue=0
2018-10-16 09:53:06,561 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,563 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=0.19&idx=00082017&param=udevice&nvalue=0
2018-10-16 09:53:06,567 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,568 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=50.06&idx=00082014&param=udevice&nvalue=0
2018-10-16 09:53:06,573 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,574 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=477%3B13745090.0&idx=00082006&param=udevice&nvalue=0
2018-10-16 09:53:06,578 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,579 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=311.2&idx=00082008&param=udevice&nvalue=0
2018-10-16 09:53:06,584 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,585 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=1.0&idx=00082009&param=udevice&nvalue=0
2018-10-16 09:53:06,589 DEBUG {
"status" : "ERR"
}

2018-10-16 09:53:06,591 DEBUG Run pluginConsoleOutput
Inverter ID: NLDN3020135H6180
E Today : 0.19 Total: 13745.09
H Total : 21142 Temp : 26.9
errorMsg: 0
PV1 V: 311.0 I: 1.0
PV2 V: 311.2 I: 0.9
PV3 V: -0.1 I: -0.1
L1 P: 477 V: 237.0 I: 1.9 F: 50.06
L2 P: -1 V: -0.1 I: -0.1 F: -0.01
L3 P: -1 V: -0.1 I: -0.1 F: -0.01
2018-10-16 09:53:06,592 DEBUG RAW received Packet (len=31): 68:11:41:f0:fd:75:f3:23:fd:75:f3:23:44:41:54:41:20:53:45:4e:44:20:49:53:20:4f:4b:0d:0a:91:16 hAu#u#DATA SEND IS OK
2018-10-16 09:53:06,593 DEBUG DATA len=17:
2018-10-16 09:53:06,593 DEBUG Exit Status: DATA SEND IS OK

2018-10-16 09:53:06,594 DEBUG waiting for a connection.
2018-10-16 09:58:30,511 DEBUG connection from: ('192.168.100.21', 28723)
2018-10-16 09:58:31,360 DEBUG RAW received Packet (len=139): 68:7d:41:b0:fd:75:f3:23:fd:75:f3:23:81:02:01:4e:4c:44:4e:33:30:32:30:31:33:35:48:36:31:38:30:01:11:0c:18:0c:1b:ff:ff:00:0c:00:0b:ff:ff:00:1a:ff:ff:ff:ff:09:2a:ff:ff:ff:ff:13:8e:02:76:ff:ff:ff:ff:ff:ff:ff:ff:00:18:00:02:18:ea:00:00:52:97:00:01:00:00:00:00:ff:ff:00:00:00:00:00:00:00:00:00:00:4e:4c:31:2d:56:31:2e:30:2d:30:30:35:38:2d:34:00:00:00:00:00:56:32:2e:30:2d:30:30:32:34:00:00:00:00:00:00:00:00:00:00:00:7e:16 h}Au#u#NLDN3020135H6180*vRNL1-V1.0-0058-4V2.0-0024~
2018-10-16 09:58:31,361 DEBUG DATA len=125:
2018-10-16 09:58:31,362 INFO Inverter ID: NLDN3020135H6180
2018-10-16 09:58:31,363 INFO RUN State: 1
2018-10-16 09:58:31,364 DEBUG Run pluginDomoticzOutput
2018-10-16 09:58:31,365 INFO Uploading data from inverter with ID: NLDN3020135H6180 to Domoticz
2018-10-16 09:58:31,366 DEBUG url: http://192.168.100.45:8080/json.htm
2018-10-16 09:58:31,366 DEBUG Temperature : 27.3 degrees celcius
2018-10-16 09:58:31,367 DEBUG PV1 voltage : 309.6 Volt
2018-10-16 09:58:31,368 DEBUG AC1 voltage : 234.6 Volt
2018-10-16 09:58:31,368 DEBUG AC total power: 630 Watt
2018-10-16 09:58:31,369 DEBUG e_today : 0.24 kWh
2018-10-16 09:58:31,370 DEBUG msg.e_total : 13745.0 kWh
2018-10-16 09:58:31,370 DEBUG e_total : 13745.04 kWh
2018-10-16 09:58:31,372 DEBUG H_total not defined: 21143 hours
2018-10-16 09:58:31,373 DEBUG PV3 current out of range, or not defined: -0.1 Ampere
2018-10-16 09:58:31,374 DEBUG PV1/2/3 current not defined: 1.2/1.1/-0.1 Ampere
2018-10-16 09:58:31,375 DEBUG PV1 voltage out of range, or not defined: 309.6 Volts
2018-10-16 09:58:31,376 DEBUG PV3 voltage out of range, or not defined: -0.1 Volts
2018-10-16 09:58:31,376 DEBUG PV1/2/3 voltage not defined: 309.6/309.9/-0.1 Volts
2018-10-16 09:58:31,377 DEBUG AC2 current out of range, or not defined: -0.1 Ampere
2018-10-16 09:58:31,378 DEBUG AC3 current out of range, or not defined: -0.1 Ampere
2018-10-16 09:58:31,379 DEBUG AC1/2/3 current not defined: 2.6/-0.1/-0.1 Ampere
2018-10-16 09:58:31,380 DEBUG AC2 voltage out of range, or not defined: -0.1 Volt
2018-10-16 09:58:31,381 DEBUG AC3 voltage out of range, or not defined: -0.1 Volt
2018-10-16 09:58:31,382 DEBUG AC1/2/3 voltage not defined: 234.6/-0.1/-0.1 Volts
2018-10-16 09:58:31,383 DEBUG AC2 power out of range, or not defined: -1 Watt
2018-10-16 09:58:31,384 DEBUG AC3 power out of range, or not defined: -1 Watt
2018-10-16 09:58:31,384 DEBUG AC123 power not defined: 630 Watt
2018-10-16 09:58:31,385 DEBUG AC2 frequency out of range, or not defined: -0.01 Hertz
2018-10-16 09:58:31,386 DEBUG AC3 frequency out of range, or not defined: -0.01 Hertz
2018-10-16 09:58:31,387 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=27.3&idx=0001405F&param=udevice&nvalue=0
2018-10-16 09:58:31,391 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,393 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=13745.04&idx=00082018&param=udevice&nvalue=0
2018-10-16 09:58:31,397 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,398 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=234.6&idx=00082011&param=udevice&nvalue=0
2018-10-16 09:58:31,403 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,404 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=1.1&idx=00082010&param=udevice&nvalue=0
2018-10-16 09:58:31,408 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,409 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=630&idx=00082013&param=udevice&nvalue=0
2018-10-16 09:58:31,414 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,416 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=2.6&idx=00082012&param=udevice&nvalue=0
2018-10-16 09:58:31,420 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,421 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=13745040.0&idx=00082020&param=udevice&nvalue=0
2018-10-16 09:58:31,426 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,428 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=0.24&idx=00082017&param=udevice&nvalue=0
2018-10-16 09:58:31,432 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,434 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=50.06&idx=00082014&param=udevice&nvalue=0
2018-10-16 09:58:31,438 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,440 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=630%3B13745040.0&idx=00082006&param=udevice&nvalue=0
2018-10-16 09:58:31,445 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,446 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=309.9&idx=00082008&param=udevice&nvalue=0
2018-10-16 09:58:31,450 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,452 DEBUG http://192.168.100.45:8080/json.htm?type=command&svalue=1.2&idx=00082009&param=udevice&nvalue=0
2018-10-16 09:58:31,456 DEBUG {
"status" : "ERR"
}

2018-10-16 09:58:31,458 DEBUG Run pluginConsoleOutput
Inverter ID: NLDN3020135H6180
E Today : 0.24 Total: 13745.04
H Total : 21143 Temp : 27.3
errorMsg: 0
PV1 V: 309.6 I: 1.2
PV2 V: 309.9 I: 1.1
PV3 V: -0.1 I: -0.1
L1 P: 630 V: 234.6 I: 2.6 F: 50.06
L2 P: -1 V: -0.1 I: -0.1 F: -0.01
L3 P: -1 V: -0.1 I: -0.1 F: -0.01
2018-10-16 09:58:31,460 DEBUG RAW received Packet (len=31): 68:11:41:f0:fd:75:f3:23:fd:75:f3:23:44:41:54:41:20:53:45:4e:44:20:49:53:20:4f:4b:0d:0a:7c:16 hAu#u#DATA SEND IS OK|
2018-10-16 09:58:31,461 DEBUG DATA len=17:
2018-10-16 09:58:31,462 DEBUG Exit Status: DATA SEND IS OK

2018-10-16 09:58:31,463 DEBUG waiting for a connection.

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.