Skip to content

Commit

Permalink
Read metering Inlet temperature (#1823)
Browse files Browse the repository at this point in the history
* Enable polling InletTempPolling inlet temperature
* prevent readAttribute on FakeEp
  • Loading branch information
pipiche38 authored Jan 12, 2025
1 parent 5fdab1c commit fbaf2c4
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
5 changes: 4 additions & 1 deletion Modules/heartbeat.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
ReadAttributeRequest_0402,
ReadAttributeRequest_0405,
ReadAttributeRequest_0702_0000,
ReadAttributeRequest_0702_0017,
ReadAttributeRequest_0702_PC321,
ReadAttributeRequest_0702_ZLinky_TIC,
ReadAttributeRequest_ff66,
Expand Down Expand Up @@ -344,7 +345,9 @@ def pollingManufSpecificDevices(self, NwkId, HB):
"HumiPollingFreq": ReadAttributeRequest_0405,
"BattPollingFreq": ReadAttributeRequest_0001,
"ZLinkyIndexes": ReadAttributeReq_Scheduled_ZLinky, # Based on a specific time
"ZLinkyPollingPTEC": ReadAttributeReq_Scheduled_ZLinky # Every 15' by default
"ZLinkyPollingPTEC": ReadAttributeReq_Scheduled_ZLinky, # Every 15' by default
"InletTempPolling": ReadAttributeRequest_0702_0017, # Retreive Inlet Temperature

}

if "Param" not in self.ListOfDevices[NwkId]:
Expand Down
10 changes: 10 additions & 0 deletions Modules/readAttributes.py
Original file line number Diff line number Diff line change
Expand Up @@ -1333,6 +1333,16 @@ def ReadAttributeRequest_0702_0000(self, key):
self.log.logging("ReadAttributes", "Debug", "Request Summation on 0x0702 cluster: " + key + " EPout = " + EPout, nwkid=key)
ReadAttributeReq(self, key, ZIGATE_EP, EPout, "0702", listAttributes, ackIsDisabled=is_ack_tobe_disabled(self, key))


def ReadAttributeRequest_0702_0017(self, key):
# Cluster 0x0702 Metering / Specific 0x0017 (Device Temperature)
ListOfEp = getListOfEpForCluster(self, key, "0702")
for EPout in ListOfEp:
listAttributes = [0x0017]
self.log.logging("ReadAttributes", "Debug", "Request InletTemperature on 0x0702 cluster: " + key + " EPout = " + EPout, nwkid=key)
ReadAttributeReq(self, key, ZIGATE_EP, EPout, "0702", listAttributes, ackIsDisabled=is_ack_tobe_disabled(self, key))


def ReadAttributeRequest_0702_multiplier_divisor(self, key):
ListOfEp = getListOfEpForCluster(self, key, "0702")
for EPout in ListOfEp:
Expand Down
4 changes: 4 additions & 0 deletions Modules/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ def getListOfEpForCluster(self, NwkId, SearchCluster):

oldFashion = ( "ClusterType" in self.ListOfDevices[NwkId] and self.ListOfDevices[NwkId]["ClusterType"] not in ({}, "") )
for Ep in list(self.ListOfDevices[NwkId]["Ep"].keys()):
# check that is not a Fake Ep
if is_fake_ep(self, NwkId, Ep):
continue

if SearchCluster not in self.ListOfDevices[NwkId]["Ep"][Ep]:
continue

Expand Down

0 comments on commit fbaf2c4

Please sign in to comment.