Skip to content
Snippets Groups Projects
Commit 2532225a authored by KERDREUX Jerome's avatar KERDREUX Jerome
Browse files

Fix MQTT API

parent 1547f7d3
No related branches found
No related tags found
No related merge requests found
......@@ -177,7 +177,7 @@ func (dev *PowerRelay) update(payload map[string]interface{}) {
func (dev *PowerRelay) SetProperty(value string) {
body := fmt.Sprintf(`{"%s": "%s"}`, dev.Property, value)
dev.Z2MDevice.Send(body)
dev.Z2MDevice.Set(body)
}
func (dev *PowerRelay) On(xaal.MessageBody) *xaal.MessageBody {
......@@ -243,16 +243,16 @@ func (dev *Lamp) update(payload map[string]interface{}) {
}
func (dev *Lamp) On(xaal.MessageBody) *xaal.MessageBody {
dev.Z2MDevice.Send(`{"state": "ON"}`)
dev.Z2MDevice.Set(`{"state": "ON"}`)
return nil
}
func (dev *Lamp) Off(xaal.MessageBody) *xaal.MessageBody {
dev.Z2MDevice.Send(`{"state": "OFF"}`)
dev.Z2MDevice.Set(`{"state": "OFF"}`)
return nil
}
func (dev *Lamp) Toggle(xaal.MessageBody) *xaal.MessageBody {
dev.Z2MDevice.Send(`{"state": "TOGGLE"}`)
dev.Z2MDevice.Set(`{"state": "TOGGLE"}`)
return nil
}
......@@ -73,7 +73,7 @@ func (zDev *Z2MDevice) SetTopic() string {
return zDev.GetTopic() + "/set"
}
func (zDev *Z2MDevice) Send(payload interface{}) {
func (zDev *Z2MDevice) Set(payload interface{}) {
topic := zDev.SetTopic()
slog.Debug("Sending", "topic", topic, "payload", payload)
client := GetGW().client
......@@ -82,18 +82,21 @@ func (zDev *Z2MDevice) Send(payload interface{}) {
}
}
func (zDev *Z2MDevice) Available() {
func (zDev *Z2MDevice) Publish(topic string, payload interface{}) {
topic = zDev.GetTopic() + "/" + topic
slog.Debug("Sending", "topic", topic, "payload", payload)
client := GetGW().client
if token := client.Publish(zDev.GetTopic()+"/availability", 0, false, `{"state": "online"}`); token.Wait() && token.Error() != nil {
slog.Error("REFRESH Error", ":", token.Error())
if token := client.Publish(topic, 0, false, payload); token.Wait() && token.Error() != nil {
slog.Error("PUBLISH Error", ":", token.Error())
}
}
func (zDev *Z2MDevice) Available() {
zDev.Publish("availability", `{"state": "online"}`)
}
func (zDev *Z2MDevice) Sync() {
client := GetGW().client
if token := client.Publish(zDev.GetTopic()+"/dump", 0, false, "{}"); token.Wait() && token.Error() != nil {
slog.Error("REFRESH Error", ":", token.Error())
}
zDev.Publish("dump", "{}")
}
func (l AccessLevel) String() string {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment