Add local group update

This commit is contained in:
Thomas Fransolet 2021-01-19 17:39:05 +01:00
parent 5b6b3930c9
commit 1b2d7cb87b
3 changed files with 19 additions and 12 deletions

View File

@ -7,7 +7,8 @@ namespace MyCore.Interfaces.Models
{ {
public class AqaraSwitch : AqaraDevice public class AqaraSwitch : AqaraDevice
{ {
public string Click { get; set; } public string Click { get; set; } //single, double, triple, quadruple, long, long_release
public int Duration { get; set; } public int Duration { get; set; }
} }

View File

@ -7,6 +7,7 @@ namespace MyCore.Interfaces.Models
public class Zigbee2MqttRequest public class Zigbee2MqttRequest
{ {
public string state { get; set; } public string state { get; set; }
public int brightness { get; set; } // 0 -> 255 GU10
// TODO // TODO
} }

View File

@ -34,7 +34,7 @@ namespace MyCore.Services.Devices
if (topicSplit[1].Contains("MagicCube0")) if (topicSplit[1].Contains("MagicCube0"))
{ {
var test = JsonConvert.DeserializeObject<AqaraCube>(message); var test = JsonConvert.DeserializeObject<AqaraCube>(message);
if (test.Action == "shake") /*if (test.Action == "shake")
{ {
if (YeelightService.devices.Count <= 0) { if (YeelightService.devices.Count <= 0) {
await YeelightService.GetDevices(); await YeelightService.GetDevices();
@ -43,6 +43,15 @@ namespace MyCore.Services.Devices
if (labLamp != null) { if (labLamp != null) {
Task.Run(async () => { await YeelightService.Toggle(labLamp); }); Task.Run(async () => { await YeelightService.Toggle(labLamp); });
} }
}*/
if (test.Action == "shake")
{
// TODO Check state
Zigbee2MqttRequest zigbee2MqttRequest = new Zigbee2MqttRequest() { state = "OFF", brightness = 0 };
var request = JsonConvert.SerializeObject(zigbee2MqttRequest);
MqttClientService.PublishMessage("zigbee2mqtt/LampeTable/set", request);
} }
if (test.Action == "tap") if (test.Action == "tap")
{ {
@ -109,24 +118,20 @@ namespace MyCore.Services.Devices
} }
if (topicSplit[1].Contains("Motion0")) if (topicSplit[1].Contains("Motion0"))
{ {
var aqaraSwitch = JsonConvert.DeserializeObject<AqaraMotion>(message); var aqaraMotion = JsonConvert.DeserializeObject<AqaraMotion>(message);
if (aqaraSwitch.occupancy) if (aqaraMotion.occupancy)
{ {
Zigbee2MqttRequest zigbee2MqttRequest = new Zigbee2MqttRequest() { state = "ON" }; Zigbee2MqttRequest zigbee2MqttRequest = new Zigbee2MqttRequest() { state = "ON", brightness = 255 };
var request = JsonConvert.SerializeObject(zigbee2MqttRequest); var request = JsonConvert.SerializeObject(zigbee2MqttRequest);
MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau0/set", request); MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau/set", request);
MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau1/set", request);
MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau2/set", request);
} }
else else
{ {
Zigbee2MqttRequest zigbee2MqttRequest = new Zigbee2MqttRequest() { state = "OFF" }; Zigbee2MqttRequest zigbee2MqttRequest = new Zigbee2MqttRequest() { state = "OFF", brightness = 0 };
var request = JsonConvert.SerializeObject(zigbee2MqttRequest); var request = JsonConvert.SerializeObject(zigbee2MqttRequest);
MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau0/set", request); MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau/set", request);
MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau1/set", request);
MqttClientService.PublishMessage("zigbee2mqtt/GU10Bureau2/set", request);
} }
} }
break; break;