Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrVersionChange indicates that records with different BaseVersion are present in Pack. ErrVersionChange = errors.New("version change") // ErrUnsupportedFormat indicates the wrong message format (format other than JSON, XML or CBOR). ErrUnsupportedFormat = errors.New("unsupported format") // ErrEmptyName indicates empty record name. ErrEmptyName = errors.New("empty name") // ErrBadChar indicates invalid char or that char is not allowed at the given position. ErrBadChar = errors.New("invalid char") // ErrTooManyValues indicates that there is more than one value field. ErrTooManyValues = errors.New("more than one value in the record") // ErrNoValues indicates that there is no value nor sum field present. ErrNoValues = errors.New("no value or sum field found") )
Functions ¶
Types ¶
type Pack ¶
type Pack struct { XMLName *bool `json:"-" xml:"sensml"` Xmlns string `json:"-" xml:"xmlns,attr"` Records []Record `xml:"senml"` }
Pack consists of SenML records array.
func Decode ¶
Decode takes a SenML message in the given format and parses it and decodes it into the returned SenML record.
func Normalize ¶
Normalize removes all the base values and expands records values with the base items. The base fields apply to the entries in the Record and also to all Records after it up to, but not including, the next Record that has that same base field.
type Record ¶
type Record struct { XMLName *bool `json:"-" xml:"senml" cbor:"-"` Link string `json:"l,omitempty" xml:"l,attr,omitempty" cbor:"-"` BaseName string `json:"bn,omitempty" xml:"bn,attr,omitempty" cbor:"-2,keyasint,omitempty"` BaseTime float64 `json:"bt,omitempty" xml:"bt,attr,omitempty" cbor:"-3,keyasint,omitempty"` BaseUnit string `json:"bu,omitempty" xml:"bu,attr,omitempty" cbor:"-4,keyasint,omitempty"` BaseVersion uint `json:"bver,omitempty" xml:"bver,attr,omitempty" cbor:"-1,keyasint,omitempty"` BaseValue float64 `json:"bv,omitempty" xml:"bv,attr,omitempty" cbor:"-5,keyasint,omitempty"` BaseSum float64 `json:"bs,omitempty" xml:"bs,attr,omitempty" cbor:"-6,keyasint,omitempty"` Name string `json:"n,omitempty" xml:"n,attr,omitempty" cbor:"0,keyasint,omitempty"` Unit string `json:"u,omitempty" xml:"u,attr,omitempty" cbor:"1,keyasint,omitempty"` Time float64 `json:"t,omitempty" xml:"t,attr,omitempty" cbor:"6,keyasint,omitempty"` UpdateTime float64 `json:"ut,omitempty" xml:"ut,attr,omitempty" cbor:"7,keyasint,omitempty"` Value *float64 `json:"v,omitempty" xml:"v,attr,omitempty" cbor:"2,keyasint,omitempty"` StringValue *string `json:"vs,omitempty" xml:"vs,attr,omitempty" cbor:"3,keyasint,omitempty"` DataValue *string `json:"vd,omitempty" xml:"vd,attr,omitempty" cbor:"8,keyasint,omitempty"` BoolValue *bool `json:"vb,omitempty" xml:"vb,attr,omitempty" cbor:"4,keyasint,omitempty"` Sum *float64 `json:"s,omitempty" xml:"s,attr,omitempty" cbor:"5,keyasint,omitempty"` }
Record represents one senML record.
Click to show internal directories.
Click to hide internal directories.