Documentation ¶
Index ¶
- type BandObj
- type BandwidthAllowanceMonitorObj
- type CarrierObj
- type CellTowerObj
- type Client
- type GobiObj
- type MEIDObj
- type ModemObj
- type Option
- type RatObj
- type RemoteSIMObj
- type RoamingObj
- type SIMGroupObj
- type SIMObj
- type Signal
- type SignalObj
- type SpeedFusionConnect5gLTE
- type WanStatus
- type WifiInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BandObj ¶
type BandObj struct { Name string `json:"name"` // Band Name Signal SignalObj `json:"signal"` // Signal information }
BandObj represents cellular band information.
type CarrierObj ¶
type CarrierObj struct { Name string `json:"name"` // Carrier name Country string `json:"country"` // Carrier country (field does not appear if lite = yes) }
CarrierObj represents carrier information.
type CellTowerObj ¶
type CellTowerObj struct { CellID int `json:"cellId"` CellPlmn int `json:"cellPlmn"` CellUtranID int `json:"cellUtranId"` Tac int `json:"tac"` }
CellTowerObj represents cell tower information.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client for the https://www.peplink.com/ic2-api-doc
func NewClient ¶
NewClient creates a new Peplink Client and authenticates against the API Runs token update process in the background
func (*Client) FirmwareVersion ¶
Returns the firmware version of the device
type GobiObj ¶
type GobiObj struct { RoamingStatus RoamingObj `json:"roamingStatus"` // Roaming status information Network string `json:"network"` // Network name (deprecated in fw8.0.1) MobileType string `json:"mobileType"` // Network name (use "mobileType" in fw8.0.1 or later) ModulePowerOn bool `json:"modulePowerOn"` // TODO: doc SIM []SIMGroupObj `json:"-"` // SIM information. Extracted not from JSON because contains order field RemoteSIM RemoteSIMObj `json:"remoteSim,omitempty"` // Remote SIM information (only when remote SIM is enabled) SpeedFusionConnect5gLTE SpeedFusionConnect5gLTE `json:"speedfusionConnect5gLte"` // TODO: doc Carrier CarrierObj `json:"carrier"` // Carrier information CarrierAggregation bool `json:"carrierAggregation"` // TODO: doc SignalLevel int `json:"signalLevel"` // Signal Level [0,5] RAT []RatObj `json:"rat"` // Radio Access Technology (RAT) information IMEI string `json:"imei"` // International Mobile Equipment Identity (IMEI) MEID MEIDObj `json:"meid"` // Hex and Dec value of Mobile Equipment Identifier (MEID) ESN string `json:"esn"` // Electronic Serial Number (ESN) DataTechnology string `json:"dataTechnology"` // Data Technology MCC string `json:"mcc"` // Mobile Country Code (MCC) MNC string `json:"mnc"` // Mobile Network Code (MNC) CellTower CellTowerObj `json:"cellTower"` // Cell Tower information Model string `json:"model"` Firmware string `json:"firmware"` }
GobiObj represents Gobi network information.
type MEIDObj ¶
type MEIDObj struct { Hex string `json:"hex"` // MEID value in HEX Dec string `json:"dec"` // MEID value in DEC }
MEIDObj represents Mobile Equipment Identifier (MEID) information.
type ModemObj ¶
type ModemObj struct { Name string `json:"name"` // Modem adaptor name VendorID int `json:"vendorId"` // Modem adaptor vendor ID ProductID int `json:"productId"` // Modem adaptor product ID Manufacturer string `json:"manufacturer"` // Modem adaptor manufacturer Carrier CarrierObj `json:"carrier"` // Carrier Information SignalLevel int `json:"signalLevel"` // Signal level [0,5] Network string `json:"network"` // Network name (deprecated in fw8.0.1) MobileType string `json:"mobileType"` // Network name (use "mobileType" in fw8.0.1 or later) IMSIStr string `json:"imsi,omitempty"` // International Mobile Subscriber Identity (IMSI) ICCID []string `json:"iccid,omitempty"` // Integrated Circuit Card Identity (ICCID) ESN []string `json:"esn,omitempty"` // Electronic Serial Number (ESN) MTN []string `json:"mtn,omitempty"` // Mobile Telecommunications Network (MTN) APN string `json:"apn,omitempty"` // APN Username string `json:"username,omitempty"` // Username for APN Password string `json:"password,omitempty"` // Password for APN DialNumber string `json:"dialNumber,omitempty"` // Dial number for APN Band []BandObj `json:"band"` // Cellular band information Gobi GobiObj `json:"gobi"` // Gobi network information }
ModemObj represents modem adaptor information.
type Option ¶
type Option func(*options) error
func WithHTTPBasicClientID ¶
func WithHTTPBasicURL ¶
func WithSNMPAddress ¶
func WithSNMPCommunity ¶
func WithTimeout ¶
type RatObj ¶
type RatObj struct { Name string `json:"name"` // RAT Name Band []BandObj `json:"band"` // Band information }
RatObj represents Radio Access Technology (RAT) information.
type RemoteSIMObj ¶
type RemoteSIMObj struct { IMSI string `json:"imsi"` // IMSI SerialNumber string `json:"serialNumber"` // Serial Number Slot int `json:"slot"` // Number of slot AutoApp bool `json:"autoApp,omitempty"` // Indicates if APN, Username, and Password fields are auto-detect APN string `json:"apn,omitempty"` // APN (only available in fw8.1.1 or later) Username string `json:"username,omitempty"` // Username for APN (only available in fw8.1.1 or later) Password string `json:"password,omitempty"` // Password for APN (only available in fw8.1.1 or later) }
RemoteSIMObj represents remote SIM information.
type RoamingObj ¶
type RoamingObj struct { Code int `json:"code"` // Roaming Status Code {0, 1, 2} Message string `json:"message"` // Readable Roaming Status Code and message relation }
RoamingObj represents roaming status information.
type SIMGroupObj ¶
type SIMGroupObj struct { Active bool `json:"active"` SimCardDetected bool `json:"simCardDetected"` Imsi string `json:"imsi"` Iccid string `json:"iccid"` AutoApn bool `json:"autoApn"` Apn string `json:"apn"` BandwidthAllowanceMonitor BandwidthAllowanceMonitorObj `json:"bandwidthAllowanceMonitor"` }
SIMGroupObj represents a group of SIM cards.
type SIMObj ¶
type SIMObj struct { Status string `json:"status"` // SIM card status {In Use, SIM Card Detected, No SIM Card Detected} Active bool `json:"active"` // SIM card active status APN string `json:"apn,omitempty"` // APN Username string `json:"username,omitempty"` // Username for APN Password string `json:"password,omitempty"` // Password for APN IMSI string `json:"imsi,omitempty"` // International Mobile Subscriber Identity (IMSI) ICCID string `json:"iccid,omitempty"` // Integrated Circuit Card Identity (ICCID) MTN string `json:"mtn,omitempty"` // Mobile Telecommunications Network (MTN) }
SIMObj represents SIM card information.
type Signal ¶
type Signal struct { RSSI int `json:"rssi,omitempty"` // Received Signal Strength Indicator (RSSI), only appear in Gobi and Modem SINR float64 `json:"sinr,omitempty"` // Signal to Interference plus Noise Ratio (SINR), only appear in Gobi and Modem SNR float64 `json:"snr,omitempty"` // Signal-to-noise ratio (SNR), only appear in Gobi and has value ECIO float64 `json:"ecio,omitempty"` // Energy to Interference Ratio (Ec/Io), only appear in Gobi and has value RSRP float64 `json:"rsrp,omitempty"` // Reference Signal Received Power (RSRP), only appear in Gobi and Modem RSRQ float64 `json:"rsrq,omitempty"` // Reference Signal Received Quality (RSRQ), only appear in Gobi Strength float64 `json:"strength,omitempty"` // Wi-Fi signal strength, only appear in Wifi }
Signal represents the signal information.
type SignalObj ¶
type SignalObj struct { RSSI int `json:"rssi,omitempty"` // Received Signal Strength Indicator (RSSI) SINR float64 `json:"sinr,omitempty"` // Signal to Interference plus Noise Ratio (SINR) SNR float64 `json:"snr,omitempty"` // Signal-to-noise ratio (SNR) ECIO float64 `json:"ecio,omitempty"` // Energy to Interference Ratio (Ec/Io) RSRP float64 `json:"rsrp,omitempty"` // Reference Signal Received Power (RSRP) RSRQ float64 `json:"rsrq,omitempty"` // Reference Signal Received Quality (RSRQ) Strength float64 `json:"strength,omitempty"` // Wi-Fi signal strength }
SignalObj represents signal information.
type SpeedFusionConnect5gLTE ¶
TODO: doc
type WanStatus ¶
type WanStatus struct { // Name of the WAN connection Name string `json:"name"` // LED color for UI { empty, gray, red, yellow, green, flash } StatusLed string `json:"statusLed"` // WAN port is performing WAN as LAN or not AsLan bool `json:"asLan"` //WAN is enabled or not Enable bool `json:"enable"` // WAN is locked or not Locked bool `json:"locked"` // Only appear if Connection is scheduled and currently off ScheduledOff bool `json:"scheduledOff"` // WAN status message Message string `json:"message"` // WAN connection uptime in seconds Uptime int `json:"uptime"` // WAN connection type // For cellular WAN // In fw8.0.1 or later, it will return “cellular”. // Before fw8.0.1, it will return “gobi” // { modem, wireless, gobi, cellular, ipsec, adsl, ethernet } Type string `json:"type"` // For cellular WAN // In fw8.0.1 or later, it will return “cellular”. // Before fw8.0.1, it will return “gobi” // { modem, wireless, gobi, cellular, ipsec, adsl, ethernet } VirtualType string `json:"virtualType"` // Priority of the WAN. The field will not appear if the WAN is disabled Priority int `json:"priority"` //Group set of the WAN connection Groupset int `json:"groupset"` // IP address Ip string `json:"ip"` // Subnet mask. The field will not appear if ip is not exist or lite=yes Mask int `json:"mask"` // Gateway. The field will not appear if ip is not exist or lite=yes Gateway string `json:"gateway"` // Connection method, DHCP or Static IP. The field will not appear if lite=yes //{ dhcp static } Method string `json:"method"` // Connection mode. The field will not appear if lite=yes // { NAT, IP Forwarding } Mode string `json:"mode"` // DNS Server list. The field will not appear if lite=yes Dns []string `json:"dns"` // Additional IP address list. The field will not appear if lite=yes AditionalIp []string `json:"aditionalIp"` // MTU value. The field will not appear if auto or lite=yes // [576, 9000] MTU int `json:"mtu"` // MSS value. The field will not appear if auto or lite=yes // [536, 8960] MSS int `json:"mss"` // MAC address. The field will not appear if lite=yes Mac string `json:"mac"` // WAN connection detail for wireless. The field will only appear if type is wifi Wireless WifiInfo `json:"wireless"` // WAN connection detail for modem. The field will only appear if type is modem Modem ModemObj `json:"modem"` // WAN connection detail for gobi. The field will only appear if type is cellular Cellular GobiObj `json:"cellular"` //WAN connection detail for gobi. The field will only appear if type is gob NOTE: This object is deprecated in firmware 8.0.1. Gobi GobiObj `json:"gobi"` }
type WifiInfo ¶
type WifiInfo struct { SSID string `json:"ssid"` // SSID of the Wifi. The field will not appear if lite=yes BSSID string `json:"bssid"` // BSSID. The field will not appear if lite=yes Signal Signal `json:"signal"` // Signal information }
WifiInfo represents information about Wi-Fi networks.