Documentation
¶
Overview ¶
MIT License
Copyright (c) 2019 David Suarez ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
MIT License ¶
Copyright (c) 2019 David Suarez ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommonMeter ¶
type CommonMeter struct {
C_SunSpec_DID uint16
C_SunSpec_Length uint16
C_Manufacturer []byte
C_Model []byte
C_Option []byte
C_Version []byte // Version defined in SunSpec implementation note as String(16) however is incorrect
C_SerialNumber []byte
C_DeviceAddress uint16
}
func NewCommonMeter ¶
func NewCommonMeter(data []byte) (CommonMeter, error)
type CommonModel ¶
type CommonModel struct {
C_SunSpec_ID uint32
C_SunSpec_DID uint16
C_SunSpec_Length uint16
C_Manufacturer []byte
C_Model []byte
C_Version []byte // Version defined in SunSpec implementation note as String(16) however is incorrect
C_SerialNumber []byte
C_DeviceAddress uint16
}
CommonModel holds the SolarEdge SunSpec Implementation for Common parameters from the implementation technical note: https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf
func NewCommonModel ¶
func NewCommonModel(data []byte) (CommonModel, error)
NewCommonModel takes block of data read from the Modbus TCP connection and returns a new populated struct
type InverterModel ¶
type InverterModel struct {
SunSpec_DID uint16
SunSpec_Length uint16
AC_Current uint16
AC_CurrentA uint16
AC_CurrentB uint16
AC_CurrentC uint16
AC_Current_SF int16
AC_VoltageAB uint16
AC_VoltageBC uint16
AC_VoltageCA uint16
AC_VoltageAN uint16
AC_VoltageBN uint16
AC_VoltageCN uint16
AC_Voltage_SF int16
AC_Power int16
AC_Power_SF int16
AC_Frequency uint16
AC_Frequency_SF int16
AC_VA int16
AC_VA_SF int16
AC_VAR int16
AC_VAR_SF int16
AC_PF int16
AC_PF_SF int16
AC_Energy_WH int32
AC_Energy_WH_SF uint16
DC_Current uint16
DC_Current_SF int16
DC_Voltage uint16
DC_Voltage_SF int16
DC_Power int16
DC_Power_SF int16
Temp_Sink int16
Temp_SF int16
Status uint16
Status_Vendor uint16
}
InverterModel holds the SolarEdge SunSpec Implementation for Inverter parameters from the implementation technical note: https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf
func NewInverterModel ¶
func NewInverterModel(data []byte) (InverterModel, error)
NewCommonModel takes block of data read from the Modbus TCP connection and returns a new populated struct
type MeterModel ¶
type MeterModel struct {
SunSpec_DID uint16
SunSpec_Length uint16
M_AC_Current uint16
M_AC_CurrentA uint16
M_AC_CurrentB uint16
M_AC_CurrentC uint16
M_AC_Current_SF int16
M_AC_VoltageLN uint16
M_AC_VoltageAN uint16
M_AC_VoltageBN uint16
M_AC_VoltageCN uint16
M_AC_VoltageLL uint16
M_AC_VoltageAB uint16
M_AC_VoltageBC uint16
M_AC_VoltageCA uint16
M_AC_Voltage_SF int16
M_AC_Frequency uint16
M_AC_Frequency_SF int16
M_AC_Power int16
M_AC_Power_A int16
M_AC_Power_B int16
M_AC_Power_C int16
M_AC_Power_SF int16
M_AC_VA uint16
M_AC_VA_A uint16
M_AC_VA_B uint16
M_AC_VA_C uint16
M_AC_VA_SF int16
M_AC_VAR uint16
M_AC_VAR_A uint16
M_AC_VAR_B uint16
M_AC_VAR_C uint16
M_AC_VAR_SF int16
M_AC_PF uint16
M_AC_PF_A uint16
M_AC_PF_B uint16
M_AC_PF_C uint16
M_AC_PF_SF int16
M_Exported uint32
M_Exported_A uint32
M_Exported_B uint32
M_Exported_C uint32
M_Imported uint32
M_Imported_A uint32
M_Imported_B uint32
M_Imported_C uint32
M_Energy_W_SF int16
}
func NewMeterModel ¶
func NewMeterModel(data []byte) (MeterModel, error)