Guest User

Untitled

a guest
Nov 14th, 2019
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. public double getPowerConsumption() throws Exception
  2. {
  3. DatagramPacket packet = sendCmdPkt(new CmdPayload() {
  4.  
  5. @Override
  6. public byte getCommand() {
  7. return 0x6a;
  8. }
  9.  
  10. @Override
  11. public Payload getPayload()
  12. {
  13. return new Payload()
  14. {
  15.  
  16. @Override
  17. public byte[] getData()
  18. {
  19. byte[] packet = {8, 0, -2, 1, 5, 1, 0, 0, 0, 45};
  20. return packet;
  21. }
  22.  
  23. };
  24. }
  25.  
  26. });
  27.  
  28. byte[] data = packet.getData();
  29.  
  30. log.debug("SP2 get consumption received encrypted bytes: " + DatatypeConverter.printHexBinary(data));
  31.  
  32. int err = data[0x22] | (data[0x23] << 8);
  33.  
  34. if (err != 0)
  35. {
  36. log.warn("SP2 get consumption received returned err: " + Integer.toHexString(err) + " / " + err);
  37. throw new Exception("Could not get power consumption");
  38. }
  39. else
  40. {
  41. byte[] payload = decryptFromDeviceMessage(data);
  42. double energy = 0.0;
  43. energy = Double.parseDouble(Integer.toHexString((payload[0x07]&0xFF)*256+(payload[0x06]&0xFF))+(Integer.parseInt(Integer.toHexString(payload[0x05]&0xFF))/100.0d+"").substring(1));
  44. return energy;
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment