Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# domoticz-python-melcloud

To control Mitsubishi airconditions in domoticz (only Air/Air)
25 changes: 18 additions & 7 deletions plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,29 +155,40 @@ def onMessage(self, Connection, Data):

elif(self.melcloud_state == "UNITS_INIT"):
idoffset = 0
Domoticz.Log("Find "+str(len(response))+ " buildings")
NrOfDevices = 0
Domoticz.Log("Found "+str(len(response))+ " buildings")
for building in response:
Domoticz.Log("Find "+str(len(building["Structure"]["Areas"]))+ " areas in building "+building["Name"])
Domoticz.Log("Find "+str(len(building["Structure"]["Floors"]))+ " floors in building "+building["Name"])
Domoticz.Log("Find "+str(len(building["Structure"]["Devices"]))+ " devices in building "+building["Name"])
Domoticz.Log("Found "+str(len(building["Structure"]["Areas"]))+ " areas in building "+building["Name"])
Domoticz.Log("Found "+str(len(building["Structure"]["Floors"]))+ " floors in building "+building["Name"])
#Search in devices
for device in building["Structure"]["Devices"]:
self.melcloud_add_unit(device,idoffset)
idoffset += len(self.list_switchs)
if(device["Type"] == 0):
self.melcloud_add_unit(device,idoffset)
idoffset += len(self.list_switchs)
NrOfDevices = NrOfDevices + 1
Domoticz.Log("Found "+str(NrOfDevices)+ " devices in building "+building["Name"]+ " of the Type 0 (Aircondition)")
NrOfDevices = 0
#Search in areas
for area in building["Structure"]["Areas"]:
for device in area["Devices"]:
self.melcloud_add_unit(device,idoffset)
idoffset += len(self.list_switchs)
NrOfDevices = NrOfDevices + 1
Domoticz.Log("Found "+str(NrOfDevices)+ " devices in areas in "+building["Name"]+ " of the Type 0 (Aircondition)")
NrOfDevices = 0
#Search in floors
for floor in building["Structure"]["Floors"]:
for device in floor["Devices"]:
self.melcloud_add_unit(device,idoffset)
idoffset += len(self.list_switchs)
NrOfDevices = NrOfDevices + 1
for area in floor["Areas"]:
for device in area["Devices"]:
self.melcloud_add_unit(device,idoffset)
idoffset += len(self.list_switchs)
NrOfDevices = NrOfDevices + 1
Domoticz.Log("Found "+str(NrOfDevices)+ " devices in floor in "+building["Name"]+ " of the Type 0 (Aircondition)")
NrOfDevices = 0
self.melcloud_create_units()
elif(self.melcloud_state == "UNIT_INFO"):
for unit in self.list_units:
Expand Down Expand Up @@ -463,4 +474,4 @@ def onDisconnect(Connection):

def onHeartbeat():
global _plugin
_plugin.onHeartbeat()
_plugin.onHeartbeat()