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.