Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ACKNotification ¶
type ACKNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` Acknowledged bool `json:"acknowledged"` FCnt uint32 `json:"fCnt"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
ACKNotification defines the payload sent to the application on an ACK event.
type DataDownPayload ¶
type DataDownPayload struct { ApplicationID int64 `json:"applicationID,string"` DevEUI lorawan.EUI64 `json:"devEUI"` Confirmed bool `json:"confirmed"` FPort uint8 `json:"fPort"` Data []byte `json:"data"` Object json.RawMessage `json:"object"` }
DataDownPayload represents a data-down payload.
type DataUpPayload ¶
type DataUpPayload struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DeviceProfileName string `json:"deviceProfileName"` DeviceProfileID string `json:"deviceProfileID"` DevEUI lorawan.EUI64 `json:"devEUI"` RXInfo []RXInfo `json:"rxInfo,omitempty"` TXInfo TXInfo `json:"txInfo"` ADR bool `json:"adr"` FCnt uint32 `json:"fCnt"` FPort uint8 `json:"fPort"` Data []byte `json:"data"` Object interface{} `json:"object,omitempty"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
DataUpPayload represents a data-up payload.
type ErrorNotification ¶
type ErrorNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` Type string `json:"type"` Error string `json:"error"` FCnt uint32 `json:"fCnt,omitempty"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
ErrorNotification defines the payload sent to the application on an error event.
type Integration ¶
type Integration interface { HandleUplinkEvent(ctx context.Context, vars map[string]string, pl integration.UplinkEvent) error HandleJoinEvent(ctx context.Context, vars map[string]string, pl integration.JoinEvent) error HandleAckEvent(ctx context.Context, vars map[string]string, pl integration.AckEvent) error HandleErrorEvent(ctx context.Context, vars map[string]string, pl integration.ErrorEvent) error HandleStatusEvent(ctx context.Context, vars map[string]string, pl integration.StatusEvent) error HandleLocationEvent(ctx context.Context, vars map[string]string, pl integration.LocationEvent) error HandleTxAckEvent(ctx context.Context, vars map[string]string, pl integration.TxAckEvent) error HandleIntegrationEvent(ctx context.Context, vars map[string]string, pl integration.IntegrationEvent) error DataDownChan() chan DataDownPayload }
Integration defines the integration interface.
type IntegrationHandler ¶
type IntegrationHandler interface { HandleUplinkEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.UplinkEvent) error HandleJoinEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.JoinEvent) error HandleAckEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.AckEvent) error HandleErrorEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.ErrorEvent) error HandleStatusEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.StatusEvent) error HandleLocationEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.LocationEvent) error HandleTxAckEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.TxAckEvent) error HandleIntegrationEvent(ctx context.Context, i Integration, vars map[string]string, pl integration.IntegrationEvent) error DataDownChan() chan DataDownPayload Close() error }
IntegrationHandler defines the integration handler interface. This is different from Integration as one of the arguments is the Integration interface. This makes it possible for an IntegrationHandler to generate a new event. E.g. a HandleUplinkEvent method could call HandleLocationEvent, which then will be handled by all integrations.
type IntegrationNotification ¶
type IntegrationNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` Tags map[string]string `json:"tags,omitempty"` Object interface{} `json:"object"` }
IntegrationNotification defines the payload for the integration event.
type JoinNotification ¶
type JoinNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` DevAddr lorawan.DevAddr `json:"devAddr"` RXInfo []RXInfo `json:"rxInfo,omitempty"` TXInfo TXInfo `json:"txInfo"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
JoinNotification defines the payload sent to the application on a JoinNotificationType event.
type Location ¶
type Location struct { Latitude float64 `json:"latitude"` Longitude float64 `json:"longitude"` Altitude float64 `json:"altitude"` }
Location details.
type LocationNotification ¶
type LocationNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` Location Location `json:"location"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
LocationNotification defines the payload sent to the application after the device location has been resolved by a geolocation-server.
type RXInfo ¶
type RXInfo struct { GatewayID lorawan.EUI64 `json:"gatewayID"` UplinkID uuid.UUID `json:"uplinkID"` Name string `json:"name"` Time *time.Time `json:"time,omitempty"` RSSI int `json:"rssi"` LoRaSNR float64 `json:"loRaSNR"` Location *Location `json:"location"` }
RXInfo contains the RX information.
type StatusNotification ¶
type StatusNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` Margin int `json:"margin"` ExternalPowerSource bool `json:"externalPowerSource"` BatteryLevel float32 `json:"batteryLevel"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
StatusNotification defines the payload sent to the application on a device-status reporting.
type TxAckNotification ¶
type TxAckNotification struct { ApplicationID int64 `json:"applicationID,string"` ApplicationName string `json:"applicationName"` DeviceName string `json:"deviceName"` DevEUI lorawan.EUI64 `json:"devEUI"` FCnt uint32 `json:"fCnt"` Tags map[string]string `json:"tags,omitempty"` Variables map[string]string `json:"-"` }
TxAckNotification defines the payload sent to the application after receiving a tx ack from the network-server.