\w{3,4}
]]>die(“invalid response”) unless $V_MSG =~ m/^\|64:(\w{3})=([0-9A-F]+)\|([0-9A-F]{4})}$/;
# TODO: check checksum
die(“wrong response”) unless $1 eq $P_COMMAND->{‘name’};
Checks the length of the returned values and expect a 3 letter code to identify the returned value. But, we are getting back a 4 letter identification code. I can change the w{3} to w{4} but than it fails for all the other queries.
Here is a query and response from the converter getting CUD02 from one of them (I have two):
Query: {FB;D6;27|64:UD02;UGD;UI1;UI2;UI3|08B4}
Response: {D6;FB;3C|64:UD02=1251;UGD=D28;UI1=F45;UI2=F45;UI3=F4E|0D86}
How can I change the piece of code to also accept both 3 and 4 letter commands?
Thanks in advance.
]]>Regards,
Chris
I don’t think anyone can help you here. This topic is about data communication with the inverter. If I understand you correctly the inverter is not working at all.
]]>