04/07/2020 01:42 (*.194.218.35)

I have updated from the concept software


1. json configuration


  need 'envoy.json' in executable folder, it is a configuration file


  It includes

      Envoy Location / ID / Passowrd

      FTP Folder for upload 'index.html' and 'panel.png'

      Battery Back (just optional for myself, if needed)

      Home Graphic Layout

      Panel Layout

      Panel Information (Groups, Location, Orientation, Serial Number, etcs)


2. FTP upload for web interface


  need 'template.html' in executable folder, it will be updated to 'index.html'

      It will showing METER readings

      and Micro-inverter information

      and House Layout



it is just concept how can be monitor Envoy IQ

and Generate Web page, and uploading using FTP


I will not publish the code on this website,

It is the last code for public,

I will just developt for myself only.


In fact, I can not keep going this programming, because I didn't got PTO yet.

and, My solar project has stuck by COVID-19.










03/18/2020 17:15 (*.194.218.35)


        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"


03/16/2020 18:44 (*.194.218.35)

Simple JSON Parser for Visual Basic in Class




        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)




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