AcbSetSleepMode: "/admin/lib/acb_config.json",
        AcbGetSleepModeData: "/admin/lib/acb_config.json",
        AcbCancelSleepMode: "/admin/lib/acb_config.json",
        AgfProfileIndex: "/installer/agf/index.json?simplified=true",
        AgfProfileDetails: "/installer/agf/details.json",
        AgfProfileInverterStatus: "/installer/agf/inverters_status.json",
        AgfProfileSetProfile: "/installer/agf/set_profile.json",
        CellularConfig: "/admin/lib/network_display.json?cellular=1",
        ClearGFIPost: "/admin/lib/admin_dcc_display.json",
        DhcpGetNewIp: "/admin/lib/network_display.json",
        DiagnosticNetworkCheck: "/admin/lib/network_display.json",
        EthernetConfigGet: "/admin/lib/network_display.json",
        EthernetConfigPut: "/admin/lib/network_display.json",
        EventsGet: "/datatab/event_dt.rb",
        GetInfo: "/info.xml",
        GetTimezones: "/admin/lib/date_time_display.json?tzlist=1",
        Home: "/home.json",
        InternalMeterInfo: "/ivp/meters",
        InternalMeterReadings: "/ivp/meters/readings",
        InternalMeterCurrentCTSettings: "/ivp/meters/cts",
        Inventory: "/inventory.json?deleted=1",
        InverterComm: "/installer/pcu_comm_check",
        InverterProduction: "/api/v1/production/inverters",
        InverterDelete: "/prov",
        InverterPut: "/prov",
        NewScanGet: "/ivp/peb/newscan",
        NewScanPD: "/ivp/peb/newscan",
        PowerForcedModeGet: "/ivp/mod/EID/mode/power",
        PowerForcedModePut: "/ivp/mod/EID/mode/power",
        PMUGet: "/admin/lib/admin_pmu_display.json",
        PMUPost: "/admin/lib/admin_pmu_display.json",
        RedeterminePhase: "/ivp/grest/local/gs/redeterminephase",
        ReportSettingsGet: "/ivp/peb/reportsettings",
        ReportSettingsPut: "/ivp/peb/reportsettings",
        SetTimezone: "/admin/lib/date_time_display.json",
        SystemReadingStats: "/production.json?details=1",
        TariffSettingsGet: "/admin/lib/tariff.json",
        TariffSettingsPut: "/admin/lib/tariff.json",
        TunnelStateGet: "/admin/lib/dba.json",
        TunnelStatePut: "/admin/lib/dba.json",
        UpdateMeterConfig: "/ivp/meters/EID",
        UpdateMeterCurrentCTConfig: "/ivp/meters/cts/EID",
        UpdatePassword: "/admin/lib/security_display.json",
        WifiSettings: "/admin/lib/wireless_display.json",
        WifiSettingsJoin: "/admin/lib/wireless_display.json"

 

Simple JSON Parser for Visual Basic in Class

 

Example

 


        Dim JSON As New json


        JSON.Text = System.IO.File.ReadAllText("C:\installer.json").Replace(vbCr, "").Replace(vbLf, "")

        Dim p() As String = New String() {"0", "devices", "0"}

        Dim v As json_value = JSON.Value(p, True)

        Console.WriteLine(JSON.Count.ToString

 

 

json_type in json_value

     null = 0

     bool, numeric, text  in json_value.VALUE

     array  in json_value.VALUES

 

' Read all values

Dim v() as json_value = JSON.Value()

 

' Read specific value

' Path should be list of ID in level, array ID is 0 ~ nn

Dim v1 as json_value = JSON.Value(path() as string)

 

' Read specific value, ignore case of ID while compare

Dim v1 as json_value = JSON.Value(path() as string, True)

 

if can not find a data using IDs, it will return nothing.

if found a data, check json_value.type, and handle the data

This is a good article to read who want to make a remote access

 

https://thecomputerperson.wordpress.com/2016/08/28/reverse-engineering-the-enphase-installer-toolkit/

 

Thank to the app developer