Giter VIP home page Giter VIP logo

fronius-json-tools's Introduction

fronius-json-tools

Python tools to work with the json data of the Fronius Solar API.

These are miscellaneous scripts I wrote while working with the Solar API. They mostly lack documentation right now and are sometimes incomplete. Nevertheless my goal is to continously work on them until they fit my needs.

Goals

  • Understand and document the Solar API
  • Python cron script that fetches all available live data of the datalogger and saves it into a sqlite db
  • Python script that import the datalogger archive data into the sqlite db
  • Generate relevant graphs from db
  • iOS app and today widget that shows live data from datalogger

TODOs

  • document setup/getting started

Relevant Graphs

  • Battery Charge throughout the day
  • Overview
    • P_Load (area)
    • P_Grid (line)
    • P (line)
    • SOC (line)

API Links

Notes on Data

  • ActiveDeviceInfo: Dependent on the hardware, should never change
  • InverterInfo: Mostly dependend on Hardware, Configuration, should seldome change, except status and error code
  • InverterRealtimeData: All data also available from PowerFlowRealtimeData.
    • PAC = abs(P_Load + P_Grid)
  • LoggerInfo: Mostly dependend on Hardware, Configuration, should seldom change
  • LoggerLEDInfo: Some minor status infos, should seldom change
  • MeterRealimeData: Interesting Data is here
  • PowerFlowRealtimeData: Summary of most important data. Faster then all other endpoints (fcgi)
    • If Inverter is in Standby P_Akku and P_PV is "null", if only the Battery is in Standby but the Inverter is providing PV power then P_Akku is "0"
  • StorageRealtimeData: Interesting stuff about the battery

API Changes

1.2.3-1 -> 1.3.2-3

  • GetActiveDeviceInfo.json
    • Body.Data.Ohmpilot added
  • GetMeterRealtimeData.json
    • Body.Data.0.Details.Model: "Fronius Smart Meter 63A" change to "Smart Meter 63A"
    • Body.Data.0.PowerApparent_S_Phase_1 added
    • Body.Data.0.PowerApparent_S_Phase_2 added
    • Body.Data.0.PowerApparent_S_Phase_3 added
  • GetPowerFlowRealtimeData.json
    • Body.Data.Inverters.1.E_Day added
    • Body.Data.Inverters.1.E_Total added
    • Body.Data.Inverters.1.E_Year added
    • Body.Data.Site.rel_Autonomy added
    • Body.Data.Site.rel_SelfConsumption added
  • GetStorageRealtimeData.json
    • Body.Data.0.Controller.DesignedCapacity removed
      • also in Body.Data.0.Modules removed
    • Body.Data.0.Controller.Capacity_Maximum added
      • also in Body.Data.0.Modules removed

1.3.2-3 -> 1.4.1-11

  • GetInverterRealtimeData.json
    • Head.RequestArguments.DataCollection removed
  • GetPowerFlowRealtimeData.json
    • Body.Data.Site.BatteryStandby added
  • GetStorageRealtimeData.json
    • Body.Data.0.Controller.Details.Menufacturer: "Sony" changed to "Fronius International"
    • Body.Data.0.Controller.Details.Model: "C5" changed to "Fronius Solar Battery"
  • Float values now have a lot more digits

1.4.1-11 -> 1.6.1-6

  • GetStorageRealtimeData.json
    • Body.Data.0.Controller.DesignedCapacity added, sum of all battery modules DesignedCapacity
    • Body.Data.0.Modules.DesignedCapacity added, displays capacity of one battery module
    • Body.Data.0.Modules.Details.Model now shows "unknown" instead of "P49936860R" for my Sony Battery

fronius-json-tools's People

Contributors

akleber avatar

Watchers

James Cloos avatar  avatar

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.