[APP][Pro] StecaGrid - Get your data from your inverter right into Homey

We WILL get there :slight_smile:

1 Like

Finally some time to test again, now in daylight.
Unfortunately not working correct, same behaviour (greyed out). See report 61d5ffc1-6032-415f-b008-78f14e4caec0

Some more findings:

  • power is reported correctly :facepunch:
  • voltage is reported as zero, which is not correct

Some feature requests:

  • remove temperature from capabilities for this device, because it isn’t reported
  • add current (A)
  • add option in device capabilities to remove this device from energy dashboard
  • add energy (kWh) (can be found on different page, see my homeyscript example
  • add possibility to select capabilities (at least power) as status indicator (now only error status can be selected)

Hi, first of all - please remove your device and add again. It should not be greyed out, maybe restart the app as well. Chaning capabilities is not handled very “friendly”.

I will look into your feedback later.

Removed /added 3 times it stays grey. Restarted app as well.

@Jeroen_Tebbens you were using my homeyscript solution if I remember it correctly, I think you should try the 4200 device….

I even removed the app and installed it again and added device again…. Still inverter device is greyed out (like in @Jeroen_Tebbens image)

I tried that one has problems too. My inverter is 8 years old so probably not compatible with the version you guys have.


Well, mine is 8 years old also. Don’t be scared by the bugs at this moment, Kim just started developing this app, it’s still in it’s early stages.

Did you get the 6003 version to work as well? It looks like it if I see your screenshot’s.

http://< ip >/measurements.xml => 6003
http:///gen.measurements.table.js/ => 4200
Do both the url’s work for your inverter? What model do you have?

To be honest, I don’t have a stecagrid, but a solar frontier SF-WR-4200, it’s a rebranded stecagrid coolcept 4200. Maybe the difference is because of that, not the age of the inverter

1 Like

Got the Solar Frontier Turbo 1P and yes both entries work but the .xml holds more info (internal temp). Bugs, yeah I know, I am the Homewizard app owner so know the drill. Maybe have a look at this code myself.

@Jeroen_Tebbens can you please provide samples of responses for me to analyze?
Your voltage looks out of control as well :slight_smile:

PS: My inverter has been working for 5years now, not the latest model as well.

Sure when I can.
Voltage is from the panels not the output if the inverter just to be clear.

Here is my Solar Frontier Turbo 1P (xml)

<root>
<Device Name="Turbo 1P" Type="Inverter" Serial="754415AF005664xxxx" BusAddress="1" NetBiosName="INV005664000021" IpAddress="192.168.1.104" DateTime="2023-12-29T12:57:57">
<Measurements>
<Measurement Value="239.098" Unit="V" Type="AC_Voltage"/>
<Measurement Value="1.526" Unit="A" Type="AC_Current"/>
<Measurement Value="347.530" Unit="W" Type="AC_Power"/>
<Measurement Value="49.996" Unit="Hz" Type="AC_Frequency"/>
<Measurement Value="575.640" Unit="V" Type="DC_Voltage"/>
<Measurement Value="0.614" Unit="A" Type="DC_Current"/>
<Measurement Value="354.020" Unit="W" Type="DC_Power"/>
<Measurement Value="30.000" Unit="°C" Type="Temp"/>
</Measurements>
</Device>
</root>

Here is the gen.measurements.js:

document.write("<table class='invisible'><tr class='invisible'><th class='invisible'><h3>Inverter</h3></th><th class='invisible'><h3></h3></th></tr><tr class='invisible'><td class='invisible' valign='top' align='center'><table><tr><th>Name</th><th>Value</th><th>Unit</th></tr><tr><td>P DC</td><td align='right'> 381.01</td><td>W</td></tr><tr><td>U DC</td><td align='right'> 581.04</td><td>V</td></tr><tr><td>I DC</td><td align='right'>   0.65</td><td>A</td></tr><tr><td>U AC</td><td align='right'> 240.21</td><td>V</td></tr><tr><td>I AC</td><td align='right'>   1.63</td><td>A</td></tr><tr><td>F AC</td><td align='right'>  50.01</td><td>Hz</td></tr><tr><td>P AC</td><td align='right'> 375.00</td><td>W</td></tr></table></td><td class='invisible' valign='top' align='center'></table></td></tr></table>");

Another good one is this gen.yield.day.chart.js

See line for overall day generation kWh->

document.getElementById("labelValueId").innerHTML = "   1.325kWh 29.12.2023";

Full

var chartData =
{
"labels":
[
"00:00", "", "", "", "", "",
"01:00", "", "", "", "", "",
"02:00", "", "", "", "", "",
"03:00", "", "", "", "", "",
"04:00", "", "", "", "", "",
"05:00", "", "", "", "", "",
"06:00", "", "", "", "", "",
"07:00", "", "", "", "", "",
"08:00", "", "", "", "", "",
"09:00", "", "", "", "", "",
"10:00", "", "", "", "", "",
"11:00", "", "", "", "", "",
"12:00", "", "", "", "", "",
"13:00", "", "", "", "", "",
"14:00", "", "", "", "", "",
"15:00", "", "", "", "", "",
"16:00", "", "", "", "", "",
"17:00", "", "", "", "", "",
"18:00", "", "", "", "", "",
"19:00", "", "", "", "", "",
"20:00", "", "", "", "", "",
"21:00", "", "", "", "", "",
"22:00", "", "", "", "", "",
"23:00", "", "", "", "", ""
],
"datasets":
[
{
"strokeColor":" rgba(64,178,83,1.0)",
"data": [
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,6,0,18,60,
60,84,108,168,138,150,228,330,222,480,540,378,330,414,528,
528,402,360,378,624,480,444,408,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0]
}
]
}
var max = 4000;
var steps = 16;
var input = document.getElementById("inputId");
input.setAttribute("min",   "2023-11-29");
input.setAttribute("max",   "2023-12-29");
input.setAttribute("value", "2023-12-29");
document.getElementById("labelValueId").innerHTML = "   1.325kWh 29.12.2023";
document.getElementById("buttonPrevId").disabled  = false;
document.getElementById("buttonNextId").disabled  = true;
var myLine = new Chart(document.getElementById("canvasId")
.getContext("2d"))
.Line(chartData,
{
"pointDot": false,
"datasetFill": false,
"scaleOverride": true,
"scaleLabel": "<%=value%> W",
"scaleSteps": steps,
"scaleStartValue": 0,
"scaleStepWidth": Math.ceil(max / steps),
"scaleLineColor":" rgba(170,170,170,1.0)",
"scaleFontColor":" rgba(170,170,170,1.0)",
"scaleGridLineColor":" rgba(68,68,68,1.0)"});

Also found http://x.x.x.x/all.xml which is a combo of measurements, events and some software and module information from the invertor

1 Like

The All.xml is working for my setup as well - nice discovery!

1 Like

For my setup this isn’t working, page can be found, but is empty. Just like x.x.x.x/measurement.xml. :thinking:

That is side affect for several browsers. Try chrome it will show data.

Hi @Jeroen_Tebbens, what is the current state. Do you already have app support for your inverter or would you like me to add your device/model to the app?

My flavor of inverter seems to “work” with StecaGrid6003 you have.
The only downside is the overall day production is not included.
On the other hand I do still get “error” readings when there is no production at all like now.
I get a yellow marker for a minute and then it goes away, so not really “great”.
The only thing I like is the internal temperature the inverter has, so when it is getting warm (summer) the temperature rises internally and it spins up the casing fans.

Next time the error occurs, can you please tell the reading of: “Error read”.
It is probaly because of “Error read” the app is acting like this. Maybe in the same period, you can read the data via your script - to compare.

For now, via the mobile version, you can change the error-state settings. Long press the device and settings…

I would love to support daily production. Unfortunately I dont have the ‘gen.yield.day.chart.js’ resource available. I dont know if the reading can be found in the all.xml file - for the versions who support this.

Another idea I came up with, is changing http to ModBus. I can’t seem to connect to my device. With ModBus maybe the protocols are more similar than different http-resources. Damn.

It is error read yes (its red).