Read Inverter Json and show value

Moderator: leecollings

Post Reply
User avatar
mgerhard74
Posts: 48
Joined: Friday 28 July 2017 18:28
Target OS: Raspberry Pi / ODroid
Domoticz version: 2024.7
Location: Austria, Upperaustria
Contact:

Read Inverter Json and show value

Post by mgerhard74 »

Hallo,
i am just a beginner and i have read hours of wiki and so on - but i still have a problem reading a json and show a value on a "utility".
I added a utlity named "PV" from Dummy , Type P1 Smart Meter.

In Events i created a LUA Script name "PVAktLeistung":

Code: Select all

json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()

local config=assert(io.popen('curl "http://10.0.0.241/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData"'))
local productie = config:read('*all')
config:close()
local jsonProductie = json:decode(productie)
PVakt = jsonProductie.Body.Data.PAC.Value
commandArray['PV'] = tostring(uservariables['PVakt'])
Json Data looks like this:

Code: Select all

{
	"Head" : {
		"RequestArguments" : {
			"DataCollection" : "CommonInverterData",
			"DeviceClass" : "Inverter",
			"DeviceId" : "1",
			"Scope" : "Device"
		},
		"Status" : {
			"Code" : 0,
			"Reason" : "",
			"UserMessage" : ""
		},
		"Timestamp" : "2017-07-28T15:45:00+02:00"
	},
	"Body" : {
		"Data" : {
			"DAY_ENERGY" : {
				"Value" : 9619,
				"Unit" : "Wh"
			},
			"FAC" : {
				"Value" : 49.99,
				"Unit" : "Hz"
			},
			"IAC" : {
				"Value" : 7.14,
				"Unit" : "A"
			},
			"IDC" : {
				"Value" : 2.83,
				"Unit" : "A"
			},
			"PAC" : {
				"Value" : 1666,
				"Unit" : "W"
			},
			"TOTAL_ENERGY" : {
				"Value" : 1445973,
				"Unit" : "Wh"
			},
			"UAC" : {
				"Value" : 233.9,
				"Unit" : "V"
			},
			"UDC" : {
				"Value" : 597.3,
				"Unit" : "V"
			},
			"YEAR_ENERGY" : {
				"Value" : 1445973.88,
				"Unit" : "Wh"
			},
			"DeviceStatus" : {
				"StatusCode" : 7,
				"MgmtTimerRemainingTime" : -1,
				"ErrorCode" : 0,
				"LEDColor" : 2,
				"LEDState" : 0,
				"StateToReset" : false
			}
		}
	}
}
In Logfile i got this error:

2017-07-28 18:36:51.285 Error: EventSystem: in PVAktLeistung: /home/pi/domoticz/scripts/lua/JSON.lua:660: html passed to JSON:decode():
Access Error: Unauthorized

when trying to obtain Access to this document requires a User ID

The inverter is a Fronius Symo.
Domoticz improves my photovoltaik ownconsumption (Rpi3, wifi plugs) - PV 6,5kWp (Fronius Symo inverter) - 10kWh PV batterie - Nissan Leaf2 (40kWh) and Kia eNiro (64kWh)
freijn
Posts: 536
Joined: Friday 23 December 2016 16:40
Target OS: Raspberry Pi / ODroid
Domoticz version: Stable
Location: Netherlands Purmerend
Contact:

Re: Read Inverter Json and show value

Post by freijn »

Can you SSH into your system and do :

>ls -la /home/pi/domoticz/scripts/lua

And past the output here?

You will find something like this :

drwxr-xr-x 2 pi pi 4096 Oct 23 2016 .
drwxr-xr-x 7 pi pi 4096 Jan 3 2017 ..
-rw-r--r-- 1 pi pi 50533 Oct 23 2016 JSON.lua
-rw-r--r-- 1 pi pi 1870 Oct 19 2016 script_device_demo.lua
-rw-r--r-- 1 pi pi 1932 Oct 19 2016 script_time_demo.lua


I guess your script is not pi pi owner.

chown pi:pi /home/pi/domoticz/scripts/lua/JSON.lua

will probably solve your problem....
User avatar
mgerhard74
Posts: 48
Joined: Friday 28 July 2017 18:28
Target OS: Raspberry Pi / ODroid
Domoticz version: 2024.7
Location: Austria, Upperaustria
Contact:

Re: Read Inverter Json and show value

Post by mgerhard74 »

Sorry no change:

pi@domoticz:~ $ ls -la /home/pi/domoticz/scripts/lua
insgesamt 68
drwxr-xr-x 2 pi pi 4096 Nov 14 2016 .
drwxr-xr-x 8 pi pi 4096 Apr 16 15:05 ..
-rw-r--r-- 1 pi pi 50533 Nov 14 2016 JSON.lua
-rw-r--r-- 1 pi pi 1870 Nov 14 2016 script_device_demo.lua
-rw-r--r-- 1 pi pi 1932 Nov 14 2016 script_time_demo.lua
pi@domoticz:~ $ chown pi:pi /home/pi/domoticz/scripts/lua/JSON.lua
pi@domoticz:~ $ ls -la /home/pi/domoticz/scripts/lua
insgesamt 68
drwxr-xr-x 2 pi pi 4096 Nov 14 2016 .
drwxr-xr-x 8 pi pi 4096 Apr 16 15:05 ..
-rw-r--r-- 1 pi pi 50533 Nov 14 2016 JSON.lua
-rw-r--r-- 1 pi pi 1870 Nov 14 2016 script_device_demo.lua
-rw-r--r-- 1 pi pi 1932 Nov 14 2016 script_time_demo.lua
pi@domoticz:~ $
Domoticz improves my photovoltaik ownconsumption (Rpi3, wifi plugs) - PV 6,5kWp (Fronius Symo inverter) - 10kWh PV batterie - Nissan Leaf2 (40kWh) and Kia eNiro (64kWh)
User avatar
mgerhard74
Posts: 48
Joined: Friday 28 July 2017 18:28
Target OS: Raspberry Pi / ODroid
Domoticz version: 2024.7
Location: Austria, Upperaustria
Contact:

Re: Read Inverter Json and show value

Post by mgerhard74 »

Sorry, i used a wrong IP of the inverter.
Now I am on the right way - no error in Log, but no value from the inverter .... i will try......
Domoticz improves my photovoltaik ownconsumption (Rpi3, wifi plugs) - PV 6,5kWp (Fronius Symo inverter) - 10kWh PV batterie - Nissan Leaf2 (40kWh) and Kia eNiro (64kWh)
User avatar
mgerhard74
Posts: 48
Joined: Friday 28 July 2017 18:28
Target OS: Raspberry Pi / ODroid
Domoticz version: 2024.7
Location: Austria, Upperaustria
Contact:

SOLVED!!!

Post by mgerhard74 »

Now i use LUA Script from User Meulderg posted here: http://www.domoticz.com/forum/viewtopic.php?t=15037
and it works fine on my raspi.
Domoticz improves my photovoltaik ownconsumption (Rpi3, wifi plugs) - PV 6,5kWp (Fronius Symo inverter) - 10kWh PV batterie - Nissan Leaf2 (40kWh) and Kia eNiro (64kWh)
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest