Hi,
I want to read only these two OBIS codes in the 48 association:
This is my input:
sampleclient.main([
'main.py',
'-S', self.S,
'-c', '48',
'-a', 'High',
'-P', self.HLS,
'-C', 'AuthenticationEncryption',
'-T', '54333435',
'-A', self.A,
'-B', self.B,
'-D', self.HLSHX,
'-g', '1.0.0.2.0.255:2; 0.0.96.1.0.255:2'
])
Currently, it takes 20 to 24 seconds to execute getAssociationView(). How can I read the required OBIS codes directly without using getAssociationView()?
my code
reader = GXDLMSReader(settings.client, settings.media, settings.trace, settings.invocationCounter)
settings.media.open()
if settings.readObjects:
read = False
try:
reader.initializeConnection()
except Exception as ex:
msgbox.showwarning("Error", str(ex))
if reader:
reader.close()
finally:
pass
if settings.outputFile and os.path.exists(settings.outputFile):
try:
c = GXDLMSObjectCollection.load(settings.outputFile)
settings.client.objects.extend(c)
if settings.client.objects:
read = True
except Exception:
read = False
if not read:
reader.getAssociationView()
for k, v in settings.readObjects:
obj = settings.client.objects.findByLN(ObjectType.NONE, k)
if obj is None:
raise Exception("Unknown logical name:" + k)
if k == "1.0.0.2.0.255" :
val = reader.read(obj, v)
print_to_log("firmware :",val)
if k == "0.0.96.1.0.255":
val = reader.read(obj, v)
print_to_log("Serial No.:",val)
RTC = GXDLMSClock("0.0.1.0.0.255")
rtc_val = reader.read(RTC, 2)
rtc_str = str(rtc_val)
rtc forcing codes
Hi, You can save the…
Hi,
You can save the association using -o argument, or remove the association reading and add COSEM object manually as you have already done.
RTC = GXDLMSClock("0.0.1.0.0.255")
rtc_val = reader.read(RTC, 2)
rtc_str = str(rtc_val)
Hi, Thanks for the reply. I…
Hi,
Thanks for the reply. I used the -o argument, and it is working fine.
How can I use COSEM objects to read other OBIS codes like voltage, billing count, and serial number?
Hi, You need to check the…
Hi,
You need to check the object type and OBIS code e.g. with GXDLMSDirector.
When you know that you can add those objects to the code or add logical name command line arguments.
BR,
Mikko