3using System.Threading.Tasks;
20 private byte nrDecimals;
40 this.nrDecimals = NrDecimals;
54 this.nrDecimals = NrDecimals;
55 this.Timestamp = DateTime.UtcNow;
83 this.value, this.nrDecimals,
string.Empty,
FieldType.Momentary,
FieldQoS.AutomaticReadout));
85 return Task.CompletedTask;
101 (n) => Task.FromResult<
double?>(
this.value),
105 this.Topic.MqttClient.PUBLISH(this.Topic.FullTopic, this.QoS, this.Retain, Encoding.UTF8.GetBytes(CommonTypes.Encode(v, this.nrDecimals)));
106 return Task.CompletedTask;
Helps with parsing of commong data types.
static bool TryParse(string s, out double Value)
Tries to decode a string encoded double.
Information about content received from the MQTT server.
string DataString
String representation of UTF-8 encoded binary data.
MqttHeader Header
MQTT Header
Contains information about a language.
Task< string > GetStringAsync(Type Type, int Id, string Default)
Gets the string value of a string ID. If no such string exists, a string is created with the default ...
Abstract base class for control parameters.
Double control parameter.
Represents an MQTT topic with Floating-point data.
override Task StartReadout(ThingReference ThingReference, ISensorReadout Request, string Prefix, bool Last)
Starts a readout of the data.
override bool IsControllable
TODO
FloatingPointData(MqttTopic Topic, double Value, byte NrDecimals)
Represents an MQTT topic with Floating-point data.
override Task< DataProcessingResult > DataReported(MqttTopic Topic, MqttContent Content)
Called when new data has been published.
override IMqttData CreateNew(MqttTopic Topic, MqttContent Content)
Creates a new instance of the data.
override Grade DefaultSupport
Default support.
override Task< string > GetTypeName(Language Language)
Type name representing data.
FloatingPointData()
Represents an MQTT topic with Floating-point data.
override void SnifferOutput(ICommunicationLayer Output)
Outputs the parsed data to the sniffer.
override ControlParameter[] GetControlParameters()
TODO
Abstract base class for MQTT data encapsulations.
void Information(ICommunicationLayer Output, string Info)
Outputs information to sniffer.
MqttTopic Topic
Topic used
DateTime Timestamp
Timestamp of data reception.
string Append(string Prefix, string Name)
Appends a name to a topic name.
A Metering node representing an MQTT topic
Represents a physical quantity value.
Contains a reference to a thing
Interface for observable classes implementing communication protocols.
Interface for classes managing sensor data readouts.
Task ReportFields(bool Done, params Field[] Fields)
Report read fields to the client.
Interface for MQTT Data encapsulations
Task< DataProcessingResult > DataReported(MqttTopic Topic, MqttContent Content)
Called when new data has been published.
DataProcessingResult
Results from processing an incoming message.
FieldQoS
Field Quality of Service flags
FieldType
Field Type flags