mirror of
https://bitbucket.org/myhomie/mycorerepository.git
synced 2025-12-06 09:41: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 ActionType Type { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class RawRequestMQTT{
|
||||||
|
public string topic { get; set; }
|
||||||
|
public string message { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public class State
|
public class State
|
||||||
{
|
{
|
||||||
public string Name { get; set; } // example : state
|
public string Name { get; set; } // example : state
|
||||||
|
|||||||
@ -122,9 +122,15 @@ namespace MyCore.Services.Devices
|
|||||||
// Check state of first device of a group
|
// Check state of first device of a group
|
||||||
actionDeviceToTest = _DeviceDatabaseService.GetByGroup(zigbeeGroupAction.Id).FirstOrDefault(); // TODO : Send error if no device found !
|
actionDeviceToTest = _DeviceDatabaseService.GetByGroup(zigbeeGroupAction.Id).FirstOrDefault(); // TODO : Send error if no device found !
|
||||||
break;
|
break;
|
||||||
case ActionType.MQTT: // Correct way ?
|
case ActionType.MQTT:
|
||||||
// TODO
|
// take raw request and send it !
|
||||||
//requestType = Interfaces.Models.Type.MQTT;
|
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;
|
break;
|
||||||
case ActionType.HTTP: // Correct way ?
|
case ActionType.HTTP: // Correct way ?
|
||||||
// TODO
|
// TODO
|
||||||
@ -134,7 +140,7 @@ namespace MyCore.Services.Devices
|
|||||||
var providerAction = _ProviderDatabaseService.GetById(userId, action.ProviderId);
|
var providerAction = _ProviderDatabaseService.GetById(userId, action.ProviderId);
|
||||||
|
|
||||||
// Check if device exist
|
// Check if device exist
|
||||||
if (actionDeviceToTest != null)
|
if (actionDeviceToTest != null && providerAction != null)
|
||||||
{
|
{
|
||||||
switch (providerAction.Type)
|
switch (providerAction.Type)
|
||||||
{
|
{
|
||||||
@ -216,7 +222,7 @@ namespace MyCore.Services.Devices
|
|||||||
var lamp = YeelightService.devices.Where(d => d.Hostname == actionDeviceToTest.IpAddress).FirstOrDefault();
|
var lamp = YeelightService.devices.Where(d => d.Hostname == actionDeviceToTest.IpAddress).FirstOrDefault();
|
||||||
if (lamp != null)
|
if (lamp != null)
|
||||||
{
|
{
|
||||||
System.Console.WriteLine($"yellight type !");
|
System.Console.WriteLine($"Yeelight type !");
|
||||||
|
|
||||||
// Get device last state
|
// Get device last state
|
||||||
var dic = new List<State>();
|
var dic = new List<State>();
|
||||||
@ -227,7 +233,6 @@ namespace MyCore.Services.Devices
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (actionDeviceToTest.Type)
|
switch (actionDeviceToTest.Type)
|
||||||
{
|
{
|
||||||
case DeviceType.Light:
|
case DeviceType.Light:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user