klaasnicolaas / python-omnikinverter

☀️ Asynchronous Python client for the Omnik Inverter
MIT License
8 stars 6 forks source link

Support for latest Ginlong/Solis wifi stick (S3-WIFI-ST) #289

Closed koyote closed 1 year ago

koyote commented 1 year ago

Hi,

I recently got a Solis inverter and it seems to now come with a new Wifi stick (S3-WIFI-ST). Unfortunately the web UI is slightly different here and although it's still a web site with authentication and a status.html page, the page now contains actual HTML instead of the vars expected for the old stick and the HTML is populated via JS:

var inverter = new XMLHttpRequest();
inverter.open("get", "inverter.cgi?t=" + Math.random(), true);
inverter.send();
inverter.onreadystatechange = function() {
  if (inverter.readyState == 4 && inverter.status == 200) {
    var inverterArr = inverter.responseText.split(";");
    set_inner_by_id("webdata_sn", inverterArr[0]);
    set_inner_by_id("webdata_msvn", inverterArr[1]);
    set_inner_by_id("webdata_pv_type", inverterArr[2]);
    set_inner_by_id("webdata_rate_p", inverterArr[3] + "℃");
    set_inner_by_id("webdata_now_p", inverterArr[4] + "W");
    set_inner_by_id("webdata_today_e", inverterArr[5] + "kWh");
    set_inner_by_id("webdata_total_e", inverterArr[6] + "kWh");
    set_inner_by_id("webdata_alarm", inverterArr[7]);
  } else {
    console.log(inverter.status)
  }

Accssing the cgi URL directly gives output such as: 380XXX228080XXX;7800XX;205;44.9;4210;6.300000;d;NO;

Seeing as this is now quite different from the original format and that the project was originally for omnik inverters and not solis, do you see any point in adding support for it as part of this project? I can try whipping up an implementation, otherwise it might be better suited in its own project.

Cheers

MarijnS95 commented 1 year ago

@koyote have you tried other source methods like the "newly added" TCP backend?

koyote commented 1 year ago

Port 8899 was not open when I tried. I did a basic nmap scan and only found port 80 to be open.

Unless there's some other way to confirm the TCP back-end?

github-actions[bot] commented 1 year ago

There hasn't been any activity on this issue recently, so we clean up some of the older and inactive issues. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by leaving a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thanks!