solarpowerlog trunk
/home/tobi/workspace/solarpowerlog/src/Inverters/Capabilites.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define CAPA_CAPAS_UPDATED   "CapabilityList Updated"
#define CAPA_CAPAS_UPDATED_TYPE   IValue::bool_type
#define CAPA_CAPAS_REMOVEALL   "CapabilityList Please Unsubscribe"
#define CAPA_CAPAS_REMOVEALL_TYPE   IValue::bool_type
#define CAPA_INVERTER_DATASTATE   "Data Validity"
#define CAPA_INVERTER_DATASTATE_TYPE   IValue::bool_type
#define CAPA_INVERTER_QUERYINTERVAL   "Data Query Interval"
#define CAPA_INVERTER_QUERYINTERVAL_TYPE   IValue::float_type
#define CAPA_INVERTER_MANUFACTOR_NAME   "Inverter Manufactor"
#define CAPA_INVERTER_MANUFACTOR_TYPE   IValue::string_type
#define CAPA_INVERTER_MODEL   "Inverter Model"
#define CAPA_INVERTER_MODEL_TYPE   IValue::string_type
#define CAPA_INVERTER_CONFIGNAME   "Inverter Name"
#define CAPA_INVERTER_CONFIGNAME_TYPE   IValue::string_type
#define CAPA_INVERTER_FIRMWARE   "Firmware Version"
#define CAPA_INVERTER_FIRMWARE_TYPE   IValue::string_type
#define CAPA_INVERTER_ACPOWER_TOTAL   "Current Grid Feeding Power"
#define CAPA_INVERTER_ACPOWER_TOTAL_TYPE   IValue::float_type
#define CAPA_INVERTER_PON_HOURS   "Inverter Power On Hours"
#define CAPA_INVERTER_PON_HOURS_TYPE   IValue::float_type
#define CAPA_INVERTER_KWH_Y2D   "Energy produced this year (kWh)"
#define CAPA_INVERTER_KWH_Y2D_TYPE   IValue::float_type
#define CAPA_INVERTER_KWH_M2D   "Energy produced this month (kWh)"
#define CAPA_INVERTER_KWH_M2D_TYPE   IValue::float_type
#define CAPA_INVERTER_KWH_2D   "Energy produced today (kWh)"
#define CAPA_INVERTER_KWH_2D_TYPE   IValue::float_type
#define CAPA_INVERTER_KWH_TOTAL_NAME   "Energy produced accumulated all time (kWh)"
#define CAPA_INVERTER_KWH_TOTAL_TYPE   IValue::float_type
#define CAPA_INVERTER_INSTALLEDPOWER_NAME   "Installed solar power (Wp)"
#define CAPA_INVERTER_INSTALLEDPOWER_TYPE   IValue::float_type
#define CAPA_INVERTER_NET_FREQUENCY_NAME   "Net frequency (Hz)"
#define CAPA_INVERTER_NET_FREQUENCY_TYPE   IValue::float_type
#define CAPA_INVERTER_RELPOWER_NAME   "relative Power (%)"
#define CAPA_INVERTER_RELPOWER_TYPE   IValue::float_type
#define CAPA_INVERTER_INPUT_DC_VOLTAGE_NAME   "DC voltage in (V)"
#define CAPA_INVERTER_INPUT_DC_VOLTAGE_TYPE   IValue::float_type
#define CAPA_INVERTER_INPUT_DC_CURRENT_NAME   "DC current in (A)"
#define CAPA_INVERTER_INPUT_DC_CURRENT_TYPE   IValue::float_type
#define CAPA_INVERTER_GRID_AC_VOLTAGE_NAME   "AC grid voltage (V)"
#define CAPA_INVERTER_GRID_AC_VOLTAGE_TYPE   IValue::float_type
#define CAPA_INVERTER_GRID_AC_CURRENT_NAME   "AC grid feeding current (A)"
#define CAPA_INVERTER_GRID_AC_CURRENT_TYPE   IValue::float_type
#define CAPA_INVERTER_TEMPERATURE_NAME   "Inverter Temperature (C)"
#define CAPA_INVERTER_TEMPERATURE_TYPE   IValue::float_type
#define CAPA_INVERTER_STATUS_NAME   "Inverter Overall Status (int)"
#define CAPA_INVERTER_STATUS_TYPE   IValue::int_type
#define CAPA_INVERTER_STATUS_READABLE_NAME   "Inverter Overall Status"
#define CAPA_INVERTER_STATUS_READABLE_TYPE   IValue::string_type
#define CAPA_CSVDUMPER_FILENAME   "CSVDumper::Filename"
#define CAPA_CSVDUMPER_FILENAME_TYPE   IValue::string_type
#define CAPA_CSVDUMPER_LOGGEDCAPABILITES   "CSVDumper::LoggedCaps"
#define CAPA_CSVDUMPER_LOGGEDCAPABILITES_TYPE   IValue::string_type

Enumerations

enum  InverterStatusCodes {
  OFFLINE, STATUS_UNAVAILABLE, NOT_FEEDING_OK, NOT_FEEDING_EXTEVENT,
  NOT_FEEDING_ERROR, FEEDING_WARNING, FEEDING, FEEDING_MPP,
  FEEDING_MAXPOWER
}

Detailed Description

This file declares the cpabilites, a inverter might have. (Of course also the ones a inverter "have to have") The names defined are to be used for generation and lookup.

The strings are for "human information"

Created on: May 22, 2009 Author: tobi

Definition in file Capabilites.h.


Define Documentation

#define CAPA_CAPAS_REMOVEALL   "CapabilityList Please Unsubscribe"

Some Capabilites are now void and the observers have to unsubscribe.

This "pseudo" capabilites can be used to tell observers, that the data provider detected a situation, where the Capbailities List have to be recreated.

For this to happen safely, every Subscriber must remove itself from the subscription list on every capability -- except on the remove and add pseudo capability.

Note:
The associated concrete value is unused.

Common situation swhere this will be used:

  • Configuration reload

Program termination

In case of a reload, a "CAPA_CAPAS_UPDATED" will follow.

See also:
The pseudo cap "force unsubsribe" is related.

THIS CAPABILITY IS REQUIRED -- EVERY INVERTER HAS THIS ONE.

Definition at line 89 of file Capabilites.h.

#define CAPA_CAPAS_REMOVEALL_TYPE   IValue::bool_type

Definition at line 90 of file Capabilites.h.

#define CAPA_CAPAS_UPDATED   "CapabilityList Updated"

The Capabilites list has been updated. This "pseudo" capabilites can be used to tell observers, that the data provider might have detected new capabilites and therefore check the presence of new interesting data.

A common use is, if the InverterBase-client can do autodetection of capabilities during runtime, or as a result of auto-detecting the excact model of a Inverter Family.

Every Observer should subscribe to this one.

Note:
The associated concrete value is unused.
See also:
The pseudo cap "force unsubsribe" is related.

THIS CAPABILITY IS REQUIRED -- EVERY INVERTER HAS THIS ONE.

Definition at line 64 of file Capabilites.h.

#define CAPA_CAPAS_UPDATED_TYPE   IValue::bool_type

Definition at line 65 of file Capabilites.h.

#define CAPA_CSVDUMPER_FILENAME   "CSVDumper::Filename"

Definition at line 413 of file Capabilites.h.

#define CAPA_CSVDUMPER_FILENAME_TYPE   IValue::string_type

Definition at line 414 of file Capabilites.h.

#define CAPA_CSVDUMPER_LOGGEDCAPABILITES   "CSVDumper::LoggedCaps"

Definition at line 421 of file Capabilites.h.

#define CAPA_CSVDUMPER_LOGGEDCAPABILITES_TYPE   IValue::string_type

Definition at line 422 of file Capabilites.h.

#define CAPA_INVERTER_ACPOWER_TOTAL   "Current Grid Feeding Power"

Total power feeding

On inverters which feeds more than one phase, this is the sum of all phases.

Type: float

Recommended for every inverter, but still optional

Definition at line 168 of file Capabilites.h.

#define CAPA_INVERTER_ACPOWER_TOTAL_TYPE   IValue::float_type

Definition at line 169 of file Capabilites.h.

#define CAPA_INVERTER_CONFIGNAME   "Inverter Name"

Basic information again -- how is the inverter named in the config file Note: This has to be added by the concrete inverter class.

Definition at line 139 of file Capabilites.h.

#define CAPA_INVERTER_CONFIGNAME_TYPE   IValue::string_type

Definition at line 140 of file Capabilites.h.

#define CAPA_INVERTER_DATASTATE   "Data Validity"

Is data the provided by the inverter valid? If the inverter is "power down" (like the Sputnik at night), this is the master switch telling that all data is now invalid. (if the associated value is false)

THIS IS A MUST CAPABILITY -- EVERY INVERTER HAS THIS ONE.

Definition at line 99 of file Capabilites.h.

#define CAPA_INVERTER_DATASTATE_TYPE   IValue::bool_type

Definition at line 100 of file Capabilites.h.

#define CAPA_INVERTER_FIRMWARE   "Firmware Version"

Firmware version information.

If available, can contain a human-readable info about the inverters firmware

type: string

Optional.

Definition at line 155 of file Capabilites.h.

#define CAPA_INVERTER_FIRMWARE_TYPE   IValue::string_type

Definition at line 156 of file Capabilites.h.

#define CAPA_INVERTER_GRID_AC_CURRENT_NAME   "AC grid feeding current (A)"

AC Grid Current

For single-phase inverters: Grid voltage of the (single) phase.

Type: Float

Optional.

Definition at line 318 of file Capabilites.h.

#define CAPA_INVERTER_GRID_AC_CURRENT_TYPE   IValue::float_type

Definition at line 319 of file Capabilites.h.

#define CAPA_INVERTER_GRID_AC_VOLTAGE_NAME   "AC grid voltage (V)"

AC Grid Voltage

For single-phase inverters: Grid voltage of the (single) phase.

Type: Float

Optional.

Definition at line 306 of file Capabilites.h.

#define CAPA_INVERTER_GRID_AC_VOLTAGE_TYPE   IValue::float_type

Definition at line 307 of file Capabilites.h.

#define CAPA_INVERTER_INPUT_DC_CURRENT_NAME   "DC current in (A)"

DC Input Current

Input voltage from the generator.

Type: Float

Optional.

Definition at line 293 of file Capabilites.h.

#define CAPA_INVERTER_INPUT_DC_CURRENT_TYPE   IValue::float_type

Definition at line 294 of file Capabilites.h.

#define CAPA_INVERTER_INPUT_DC_VOLTAGE_NAME   "DC voltage in (V)"

DC Input Voltage

Input voltage from the generator.

Type: Float

Optional.

Definition at line 281 of file Capabilites.h.

#define CAPA_INVERTER_INPUT_DC_VOLTAGE_TYPE   IValue::float_type

Definition at line 282 of file Capabilites.h.

#define CAPA_INVERTER_INSTALLEDPOWER_NAME   "Installed solar power (Wp)"

Installed Power

How much power has beein installed?

At least on the Sputnik, this can be configured and read by a query.

Others can set this by e.g configuration options.

Type: Float

Optional.

Definition at line 242 of file Capabilites.h.

#define CAPA_INVERTER_INSTALLEDPOWER_TYPE   IValue::float_type

Definition at line 243 of file Capabilites.h.

#define CAPA_INVERTER_KWH_2D   "Energy produced today (kWh)"

Feeded Energy Today

Today the inverter has produced this amount of energy. (kWh)

Type: float

Optional.

Definition at line 215 of file Capabilites.h.

#define CAPA_INVERTER_KWH_2D_TYPE   IValue::float_type

Definition at line 216 of file Capabilites.h.

#define CAPA_INVERTER_KWH_M2D   "Energy produced this month (kWh)"

Feeded Energy M2D

This month the inverter has produced this amount of energy. (kWh)

Type: float

Optional.

Definition at line 204 of file Capabilites.h.

#define CAPA_INVERTER_KWH_M2D_TYPE   IValue::float_type

Definition at line 205 of file Capabilites.h.

#define CAPA_INVERTER_KWH_TOTAL_NAME   "Energy produced accumulated all time (kWh)"

Feeded Energy Total

Today the inverter has produced this amount of energy. (kWh)

Type: float

Optional.

Definition at line 226 of file Capabilites.h.

#define CAPA_INVERTER_KWH_TOTAL_TYPE   IValue::float_type

Definition at line 227 of file Capabilites.h.

#define CAPA_INVERTER_KWH_Y2D   "Energy produced this year (kWh)"

Feeded Energy Y2D

This year the inverter has produced this amount of energy. (kWh)

Type: float

Optional.

Definition at line 192 of file Capabilites.h.

#define CAPA_INVERTER_KWH_Y2D_TYPE   IValue::float_type

Definition at line 193 of file Capabilites.h.

#define CAPA_INVERTER_MANUFACTOR_NAME   "Inverter Manufactor"

Basic information for the user -- these information are usually not updated. But, as a exception to this, a inverter class might do runtime detection of these parameters, if the inverter supports them.

This one is the "human readable" manufactor of the Inverter.

Definition at line 122 of file Capabilites.h.

#define CAPA_INVERTER_MANUFACTOR_TYPE   IValue::string_type

Definition at line 123 of file Capabilites.h.

#define CAPA_INVERTER_MODEL   "Inverter Model"

Basic information for the user -- these information are usually not updated. But, as a exception to this, a inverter class might do runtime detection of these parameters, if the inverter supports them.

This one is the "human readable" model of the Inverter.

Definition at line 133 of file Capabilites.h.

#define CAPA_INVERTER_MODEL_TYPE   IValue::string_type

Definition at line 134 of file Capabilites.h.

#define CAPA_INVERTER_NET_FREQUENCY_NAME   "Net frequency (Hz)"

Current AC Power Frequency

Type: Float

Optional.

Definition at line 253 of file Capabilites.h.

#define CAPA_INVERTER_NET_FREQUENCY_TYPE   IValue::float_type

Definition at line 254 of file Capabilites.h.

#define CAPA_INVERTER_PON_HOURS   "Inverter Power On Hours"

Power On Hours

Counts the hours a inverter was powered.

Type: float

Optional.

Definition at line 179 of file Capabilites.h.

#define CAPA_INVERTER_PON_HOURS_TYPE   IValue::float_type

Definition at line 180 of file Capabilites.h.

#define CAPA_INVERTER_QUERYINTERVAL   "Data Query Interval"

How often are the datas queried

How often are the datas queried, if done cyclic. Unit is seconds.

Type: float

optional

Definition at line 110 of file Capabilites.h.

#define CAPA_INVERTER_QUERYINTERVAL_TYPE   IValue::float_type

Definition at line 111 of file Capabilites.h.

#define CAPA_INVERTER_RELPOWER_NAME   "relative Power (%)"

relative power

The Sputnik offers what is called "relative Power". TODO: Check whats relative about that.

(However, this reading is somwhat vague, so it is probably better calculated by PAC and PIN or PDC*IDC and PIN)

Type: Float

Optional.

Definition at line 269 of file Capabilites.h.

#define CAPA_INVERTER_RELPOWER_TYPE   IValue::float_type

Definition at line 270 of file Capabilites.h.

#define CAPA_INVERTER_STATUS_NAME   "Inverter Overall Status (int)"

Inverter Overall status

for the values, see the enum InverterStatusCodes.

Definition at line 386 of file Capabilites.h.

#define CAPA_INVERTER_STATUS_READABLE_NAME   "Inverter Overall Status"

Inverter Overall status -- human readable version

This contains the status of the inverter, but parsed for humans. This also should contain information, why the inverter is in that state, if available.

If available, one might give also the manufactor's statuscode

Examples: NOT FEEDING -- Solar radiation insufficient NOT FEEDING -- Inverter Starting up WARNING -- FAN MALFUNCTION DETECTED. USER ATTENTION REQUIRED. LIMITED FEEDING! FEEDING -- Searching MPP FEEDING -- at MPP FEEDING -- MAXIMUM POWER

Definition at line 407 of file Capabilites.h.

#define CAPA_INVERTER_STATUS_READABLE_TYPE   IValue::string_type

Definition at line 408 of file Capabilites.h.

#define CAPA_INVERTER_STATUS_TYPE   IValue::int_type

Definition at line 387 of file Capabilites.h.

#define CAPA_INVERTER_TEMPERATURE_NAME   "Inverter Temperature (C)"

Inverter internal temperature

if supported, this shows the temp of the inverter. (and one some models, if the fan is on.)

(Note: If you prefer °F, you can program a filter to transform it...)

Type: Float

Optional.

Definition at line 334 of file Capabilites.h.

#define CAPA_INVERTER_TEMPERATURE_TYPE   IValue::float_type

Definition at line 335 of file Capabilites.h.


Enumeration Type Documentation

Inverter Status Codes

Enumerator:
OFFLINE 

offline -- the inverter is not responsing to queries (e.g night) That status will be set automatically by the Inverter-Class logic, if the capability has been registered and the connection is lost to the inverter.

STATUS_UNAVAILABLE 

status unavailable -- whatever reason. Could be that we just don't know that status code

NOT_FEEDING_OK 

warning -- a non-fatal situation, like "solar radiance too low"

NOT_FEEDING_EXTEVENT 

not feeding -- because some external event prevents feeding (like grid power loss, frequency too low....) error -- the inverter is inoperable, as it have deteced some error

NOT_FEEDING_ERROR 
FEEDING_WARNING 

warning -- user action required or limited operation (the inverter sensed a problem, but can operate, but maybe at a lower power settings)

FEEDING 

operating -- basically green, but not in the optimun (yet)

FEEDING_MPP 

perfect -- everything fine. Operating in MPP

FEEDING_MAXPOWER 

the inveter is feeding at its limit. Note: If this is due a problem, use FEEDING_WARNING

Definition at line 341 of file Capabilites.h.