Skip to content

Conversation

@timohencken
Copy link

Hi @indykoning ,

Thank you very much for hosting and maintaining this wonderful project.

After using the existing functionality, I wanted to be able to retrieve all data from my NEO 800M-X inverter. So I did some additions, which you might like to integrate into your wonderful project. Feel free to merge this PR (existing functionality will not be harmed, new functionality added) or feel free just to take some tiny bits and pieces if you prefer.

Data was gathered using Android Emulator "BlueStack" and HTTP-Toolkit

Most probably, I will not find much time to do more contributions here, as I decided to try to implement Growatt's official public REST API in a new project (pre-pre-alpha stage): https://github.com/timohencken/GrowattPublicApiPy

Key features:

(Huge) example to retrieve and show all Android App screens (and their data) for NEO inverter

  • show all app screens
  • dump registers
  • change inverter settings

Extended docstrings

  • data types
  • example responses

Type annotations added

  • method parameters and return values

source code PEP-compliant

  • flake8 `growattServer
  • fix issues found

source code formatted using black

  • black -l 120 `growattServer

Additional endpoints

  • login_v2()
    • login endpoint used in Android App 2025-02
  • inverter_energy_chart()
    • Get energy chart data seen in the App at "Plant" -> "Panel Data" -> "Daily performance curve"/"Production"
  • inverter_panel_energy_chart()
    • Get energy chart data seen in the App at "Plant" -> "Panel View" -> "Panel power"/"Panel production"
  • tlx_energy_chart()
    • Get monthly/yearly/total AC-Power values as shown in App->Inverter->"Real time data" chart
    • Note: These values differ from the ones shown in tlx_energy_prod_cons
  • device_detail()
    • Get detailed data from TLX inverter seen in App->Plant->Inverter->All parameters->Important data
  • device_event_logs()
    • Events/alarms logged - seen in App->Plant->Inverter->All parameters->Important data
  • plant_energy_data_v2()
    • Get the energy data used in the 'Dashboard' tab in the Android app
    • Note: like plant_energy_data but with today/month/total profit
  • plant_power_chart()
    • Power data seen in App->Plant->"Power|Energy" chart
  • plant_energy_chart()
    • Energy data seen in App->Dashboard->"Power|Energy" chart
  • plant_energy_chart_comparison()
    • Energy data seen in App->Dashboard->"Power comparison" chart
  • update_device_alias()
    • Change device (inverter) name/alias
  • read_inverter_setting()
    • Read single inverter setting
    • seen in App -> Inverter -> Configure -> select any item -> press "Read" button
    • reads setting by name or register-number
  • weather()
    • retrieve weather data as shown in App

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant