/// <inheritdoc cref="SensorBase.ProcessMessage(MqttMessage)"/> public new void ProcessMessage(MqttMessage mqttMessage) { Log.Info($"[ProcessMessage] Processing topic [{mqttMessage.GetRawTopic()}]: {mqttMessage.message}"); var topic = mqttMessage.GetTopicWithoutDeviceId(); // If we receive a message for our unload topic, call sensorHost.Dispose to start the process if (mqttMessage.GetTopicWithoutDeviceId() == "example3/unload_example_script" && mqttMessage.message == "unload") { Log.Info("Disposing of myself in 5 seconds.."); System.Threading.Thread.Sleep(5000); sensorHost.Dispose(); } }
public new void ProcessMessage(MqttMessage mqttMessage) { Log.Debug($"[{GetSensorIdentifier()}] Processing topic [{mqttMessage.GetRawTopic()}]"); if (mqttMessage.GetTopicWithoutDeviceId() == "uptime/get") { Log.Info("Received uptime request"); if (!sensorHost.Publish(new MqttMessageBuilder().PublishMessage.AddDeviceIdToTopic.AddTopic("/uptime/current").SetMessage(GetUpTime().TotalMilliseconds.ToString()).DoNotRetain.Build())) { Log.Info("Failed to publish to /example1/status"); } } else if (mqttMessage.GetTopicWithoutDeviceId() == "uptime/current") { //Log.Info("Received uptime message: " + mqttMessage.message + "ms"); Log.Info("Uptime received: " + HumanReadableTimeSpan(double.Parse(mqttMessage.message))); } }
public new void ProcessMessage(MqttMessage mqttMessage) { var topic = mqttMessage.GetTopicWithoutDeviceId().Split('/'); if (topic == null || topic.Length <= 3) { return; } var t = string.Join('/', topic[0..2]);
private static void Client_MessageReceivedString(MqttMessage mqttMessage) { Boolean isAscii = mqttMessage.GetRawMessage().All(b => b >= 32 && b <= 127); if (!isAscii & (mqttMessage.GetRawMessage() != null || mqttMessage.GetRawMessage().Length != 0)) { Log.Verbose($"Message received for [{mqttMessage.GetTopicWithoutDeviceId()}]: RAW Bytes: {mqttMessage.rawMessage.Length}"); } else { Log.Verbose($"Message received for [{mqttMessage.GetTopicWithoutDeviceId()}]: {mqttMessage.message}"); } if (sensorManager == null) { Log.Verbose($"SensorManager not initialized yet, adding to overflow.."); overflow.Add(mqttMessage); } else { sensorManager.ProcessMessage(mqttMessage); } }
public new void ProcessMessage(MqttMessage mqttMessage) { Log.Info($"[ProcessMessage] Processing topic [{mqttMessage.GetRawTopic()}]: {mqttMessage.message}"); var topic = mqttMessage.GetTopicWithoutDeviceId().Split('/'); if (topic == null || topic.Length <= 1) { return; } if (topic[0] == "computer") { HandleCommand(topic, mqttMessage.message); } else { Log.Info($"[ProcessMessage] Unknown topic [{mqttMessage.GetRawTopic()}]"); } }