MC Raw request MQTT

This commit is contained in:
Thomas Fransolet 2021-03-24 18:18:09 +01:00
parent c694f4a9aa
commit 63ae265446
2 changed files with 16 additions and 6 deletions

View File

@ -125,6 +125,11 @@ namespace MyCore.Interfaces.Models
public ActionType Type { get; set; }
}
public class RawRequestMQTT{
public string topic { get; set; }
public string message { get; set; }
}
public class State
{
public string Name { get; set; } // example : state

View File

@ -122,9 +122,15 @@ namespace MyCore.Services.Devices
// Check state of first device of a group
actionDeviceToTest = _DeviceDatabaseService.GetByGroup(zigbeeGroupAction.Id).FirstOrDefault(); // TODO : Send error if no device found !
break;
case ActionType.MQTT: // Correct way ?
// TODO
//requestType = Interfaces.Models.Type.MQTT;
case ActionType.MQTT:
// take raw request and send it !
RawRequestMQTT rawRequestMQTT = JsonConvert.DeserializeObject<RawRequestMQTT>(action.RawRequest);
if (rawRequestMQTT!= null) {
// SEND REQUEST
System.Console.WriteLine($"Send raw request mqtt! topic:{rawRequestMQTT.topic} - message: {rawRequestMQTT.message}");
MqttClientService.PublishMessage(rawRequestMQTT.topic, rawRequestMQTT.message);
}
break;
case ActionType.HTTP: // Correct way ?
// TODO
@ -134,7 +140,7 @@ namespace MyCore.Services.Devices
var providerAction = _ProviderDatabaseService.GetById(userId, action.ProviderId);
// Check if device exist
if (actionDeviceToTest != null)
if (actionDeviceToTest != null && providerAction != null)
{
switch (providerAction.Type)
{
@ -216,7 +222,7 @@ namespace MyCore.Services.Devices
var lamp = YeelightService.devices.Where(d => d.Hostname == actionDeviceToTest.IpAddress).FirstOrDefault();
if (lamp != null)
{
System.Console.WriteLine($"yellight type !");
System.Console.WriteLine($"Yeelight type !");
// Get device last state
var dic = new List<State>();
@ -227,7 +233,6 @@ namespace MyCore.Services.Devices
try
{
switch (actionDeviceToTest.Type)
{
case DeviceType.Light: