rtl433  UNKNOWN
RTL-433 utility
efergy_optical.c File Reference

Efergy IR Optical energy consumption meter. More...

Functions

static int efergy_optical_callback (r_device *decoder, bitbuffer_t *bitbuffer)
 Efergy IR is a devices that periodically reports current energy consumption on frequency ~433.55 MHz. More...
 

Variables

static char * output_fields []
 
r_device efergy_optical
 

Detailed Description

Efergy IR Optical energy consumption meter.

Copyright (C) 2016 Adrian Stevenson adria.nosp@m.n_st.nosp@m.evens.nosp@m.on20.nosp@m.02@ya.nosp@m.hoo..nosp@m.com

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Function Documentation

◆ efergy_optical_callback()

static int efergy_optical_callback ( r_device decoder,
bitbuffer_t bitbuffer 
)
static

Efergy IR is a devices that periodically reports current energy consumption on frequency ~433.55 MHz.

The data that is transmitted consists of 8 bytes:

  • Byte 1-4: Start bits (0000), then static data (probably device id)
  • Byte 5-7: all zeros
  • Byte 8: Pulse Count
  • Byte 9: sample frequency (15 seconds)
  • Byte 10: seconds
  • Byte 11: bytes0-10 crc16 xmodem XOR with FF
  • Byte 12: ?crc16 xmodem

if pulse count <3 then energy =(( pulsecount/impulse-perkwh) * (3600/seconds)) else energy= ((pulsecount/n_imp) * (3600/seconds))

References bitbuffer::bb, bitbuffer_printf(), bitbuffer::bits_per_row, crc16(), DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, decoder_output_data(), and r_device::verbose.

Variable Documentation

◆ efergy_optical

r_device efergy_optical
Initial value:
= {
.name = "Efergy Optical",
.modulation = FSK_PULSE_PWM,
.short_width = 64,
.long_width = 136,
.sync_width = 500,
.reset_limit = 400,
.decode_fn = &efergy_optical_callback,
.disabled = 0,
.fields = output_fields,
}
FSK, Pulse Width Modulation. Short pulses = 1, Long = 0.
Definition: r_device.h:20
static int efergy_optical_callback(r_device *decoder, bitbuffer_t *bitbuffer)
Efergy IR is a devices that periodically reports current energy consumption on frequency ~433...
Definition: efergy_optical.c:31
static char * output_fields[]
Definition: efergy_optical.c:123

◆ output_fields

char* output_fields[]
static
Initial value:
= {
"model",
"pulses",
"energy",
NULL,
}