SUPLA / supla-cloud

https://www.supla.org
GNU General Public License v2.0
71 stars 46 forks source link

More data from energy meter channels #802

Open przemyslawzygmunt opened 6 months ago

klew commented 6 months ago

GET-EM-VALUE:userId,deviceId,channelId

Image

In measured_values there is bitmap with info if parameter is set:

#define EM_VAR_FREQ 0x0001
#define EM_VAR_VOLTAGE 0x0002
#define EM_VAR_CURRENT 0x0004
#define EM_VAR_POWER_ACTIVE 0x0008
#define EM_VAR_POWER_REACTIVE 0x0010
#define EM_VAR_POWER_APPARENT 0x0020
#define EM_VAR_POWER_FACTOR 0x0040
#define EM_VAR_PHASE_ANGLE 0x0080
#define EM_VAR_FORWARD_ACTIVE_ENERGY 0x0100
#define EM_VAR_REVERSE_ACTIVE_ENERGY 0x0200
#define EM_VAR_FORWARD_REACTIVE_ENERGY 0x0400
#define EM_VAR_REVERSE_REACTIVE_ENERGY 0x0800
#define EM_VAR_CURRENT_OVER_65A 0x1000
#define EM_VAR_FORWARD_ACTIVE_ENERGY_BALANCED 0x2000
#define EM_VAR_REVERSE_ACTIVE_ENERGY_BALANCED 0x4000

#define EM_VAR_VOLTAGE_PHASE_ANGLE_12 0x10000  // ver. >= 22
#define EM_VAR_VOLTAGE_PHASE_ANGLE_13 0x20000  // ver. >= 22
#define EM_VAR_VOLTAGE_PHASE_SEQUENCE 0x40000  // ver. >= 22
#define EM_VAR_CURRENT_PHASE_SEQUENCE 0x80000  // ver. >= 22

#define EM_VAR_POWER_ACTIVE_KW 0x100000
#define EM_VAR_POWER_REACTIVE_KVAR 0x200000
#define EM_VAR_POWER_APPARENT_KVA 0x400000

Some values are "per channel" (applicable to all phases) and some are per phase. Units:

  // 3 phases
  unsigned _supla_int16_t freq;        // * 0.01 Hz
  unsigned _supla_int16_t voltage[3];  // * 0.01 V
  unsigned _supla_int16_t
      current[3];  // * 0.001A (0.01A WHEN EM_VAR_CURRENT_OVER_65A)
  _supla_int_t
      power_active[3];  // * 0.00001W (0.01kW WHEN EM_VAR_POWER_ACTIVE_KW)
  _supla_int_t power_reactive[3];  // * 0.00001var (0.01kvar WHEN
                                   // EM_VAR_POWER_REACTIVE_KVAR)
  _supla_int_t power_apparent[3];  // * 0.00001VA (0.01kVA WHEN
                                   // EM_VAR_POWER_APPARENT_KVA)
  _supla_int16_t power_factor[3];  // * 0.001
  _supla_int16_t phase_angle[3];   // * 0.1 degree

Current, power(s) unit depend on EM_VAR flag.

Units part 2:

  unsigned _supla_int64_t total_forward_active_energy[3];    // * 0.00001 kWh
  unsigned _supla_int64_t total_reverse_active_energy[3];    // * 0.00001 kWh
  unsigned _supla_int64_t total_forward_reactive_energy[3];  // * 0.00001 kvarh
  unsigned _supla_int64_t total_reverse_reactive_energy[3];  // * 0.00001 kvarh
  unsigned _supla_int64_t
      total_forward_active_energy_balanced;  // * 0.00001 kWh
                                             // Vector phase-to-phase balancing
  unsigned _supla_int64_t
      total_reverse_active_energy_balanced;  // * 0.00001 kWh
                                             // Vector phase-to-phase balancing

  // Voltage phase angle between phase 1 and 2
  unsigned _supla_int16_t voltage_phase_angle_12;  // * 0.1 degree, 0..360
  // Voltage phase angle between phase 1 and 3
  unsigned _supla_int16_t voltage_phase_angle_13;  // * 0.1 degree, 0..360
  unsigned char phase_sequence;  // bit 0x1 - voltage, bit 0x2 current
                                 // EM_PHASE_SEQUENCE_*
                                 // bit value: 0 - 123 (clockwise)
                                 // bit value: 1 - 132 (counter-clockwise)

Parameters should be displayed in "state" box in Cloud: Image

Names, order etc. should be the same as in app: Image Image

All values can be displayed in table (instead of tabs):

1 2 3 Total
Voltage 230 V 231.02 V 223.5 V
Current 0.2 A 0.5 A 10 A 10.7 A