Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public double getPowerConsumption() throws Exception
- {
- DatagramPacket packet = sendCmdPkt(new CmdPayload() {
- @Override
- public byte getCommand() {
- return 0x6a;
- }
- @Override
- public Payload getPayload()
- {
- return new Payload()
- {
- @Override
- public byte[] getData()
- {
- byte[] packet = {8, 0, -2, 1, 5, 1, 0, 0, 0, 45};
- return packet;
- }
- };
- }
- });
- byte[] data = packet.getData();
- log.debug("SP2 get consumption received encrypted bytes: " + DatatypeConverter.printHexBinary(data));
- int err = data[0x22] | (data[0x23] << 8);
- if (err != 0)
- {
- log.warn("SP2 get consumption received returned err: " + Integer.toHexString(err) + " / " + err);
- throw new Exception("Could not get power consumption");
- }
- else
- {
- byte[] payload = decryptFromDeviceMessage(data);
- double energy = 0.0;
- energy = Double.parseDouble(Integer.toHexString((payload[0x07]&0xFF)*256+(payload[0x06]&0xFF))+(Integer.parseInt(Integer.toHexString(payload[0x05]&0xFF))/100.0d+"").substring(1));
- return energy;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment