mirror of
https://bitbucket.org/myhomie/mycorerepository.git
synced 2025-12-06 01:31:19 +00:00
MC Raw request MQTT
This commit is contained in:
parent
c694f4a9aa
commit
63ae265446
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user