mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[ferroamp] Binding for ferroamp 20241125
Changes done in: ferroamp.properties FerroampConfiguration.java FerroampHandler.java FerroampMqttCommunication.java README.md thing-types.xml Signed-off-by: Örjan Backsell <orjan.backsell@gmail.com>
This commit is contained in:
parent
c95df50776
commit
e8ee223cb7
@ -5,7 +5,7 @@ The Ferroamp binding is used to get live data from Ferroamp EnergyHub
|
||||
The Ferroamp binding is compatible with EnergyHub Wall and EnergyHub XL, and connects to your local EnergyHub via LAN.
|
||||
Data and commands are received/sent using MQTT where the user connects to the MQTT broker residing on the EnergyHub.
|
||||
The communication with the broker might take some minute to establish, so Please just be patient. The Thing will be
|
||||
in state INITIALIZATION during this time and then change to state ONLINE once connection is established.
|
||||
in state INITIALIZATION and UNKNOWN during this time and then change to state ONLINE once connection is established.
|
||||
|
||||
*note* Contact Ferroamp support to enable MQTT in the EnergyHub and to get the Username and Password:
|
||||
|
||||
@ -37,8 +37,6 @@ The following configuration parameters are available.
|
||||
| userName | text | Username to access the device | N/A | yes | no |
|
||||
| password | text | Password to access the device | N/A | yes | no |
|
||||
| hasBattery | boolean | Has the system a battery connected? | N/A | no | yes |
|
||||
| eso | boolean | Has the system an Eso unit connected? | N/A | no | no |
|
||||
| esm | boolean | Has the system an Esm unit connected? | N/A | no | no |
|
||||
|
||||
## Channels
|
||||
|
||||
@ -126,8 +124,8 @@ The following configuration parameters are available.
|
||||
| timestamp | DateTime | R | Time Stamp | Time stamp when message was published |
|
||||
| battery-energy-produced | Number:Energy | R | Battery Energy Produced | Only sent when system has batteries |
|
||||
| battery-energy-consumed | Number:Energy | R | Battery Energy Consumed | Only sent when system has batteries |
|
||||
| soc | Number:Percentage | R | System State of Check | State of the system |
|
||||
| soh | Number:Percentage | R | System State of Health | |
|
||||
| soc | Number:Dimensionless | R | System State of Check | State of the system |
|
||||
| soh | Number:Dimensionless | R | System State of Health | |
|
||||
| power-battery | Number:Power | R | Battery Power | Only sent when system has batteries |
|
||||
| total-capacity-batteries | Number:Energy | R | Total Capacity Batteries | Total rated capacity of all batteries |
|
||||
|
||||
@ -176,7 +174,7 @@ The following configuration parameters are available.
|
||||
| eso-current-battery | Number:ElectricCurrent | R | Eso Current on Battery Side | Measured on battery side |
|
||||
| eso-battery-energy-produced | Number:Energy | R | Eso Battery Energy Produced | Total energy produced by ESO, i.e total energy charged |
|
||||
| eso-battery-energy-consumed | Number:Energy | R | Eso Battery Energy Consumed | Total energy consumed by ESO, i.e total energy discharged |
|
||||
| eso-soc | Number:Percentage | R | Eso State of Charge | State of Charge for ESO |
|
||||
| eso-soc | Number:Dimensionless | R | Eso State of Charge | State of Charge for ESO |
|
||||
| eso-relay-status | Contact | R | Eso Relay Status | 0 = relay closed, 1 = relay open |
|
||||
| eso-temperature | Number:Temperature | R | Eso Temperature on PCB | Measured inside ESO |
|
||||
| eso-fault-code | String | R | Eso FaultCode | See section 4.1.3.1 in Ferroamp-External-API-specifikation |
|
||||
@ -186,8 +184,8 @@ The following configuration parameters are available.
|
||||
|
||||
|
||||
| esm-id | String | R | Esm Unique Identifier | Unique identifier of battery. If available, this will be the unique id that the battery reports |
|
||||
| esm-soh | Number:Percentage | R | Esm System State of Health | State of Health for ESM |
|
||||
| esm-soc | Number:Percentage | R | Esm System State of Charge | State of Charge for ESM |
|
||||
| esm-soh | Number:Dimensionless | R | Esm System State of Health | State of Health for ESM |
|
||||
| esm-soc | Number:Dimensionless | R | Esm System State of Charge | State of Charge for ESM |
|
||||
| esm-total-capacity | Number:Energy | R | Esm Rated Capacity | Rated capacity of all batteries |
|
||||
| esm-power-battery | Number:Power | R | Esm Rated Power of Battery | Rated power of battery |
|
||||
| esm-status | String | R | Esm Status | Dependent on battery manufacturer |
|
||||
|
@ -27,6 +27,4 @@ public class FerroampConfiguration {
|
||||
public String userName = "";
|
||||
public String password = "";
|
||||
public boolean hasBattery = false;
|
||||
public boolean eso = false;
|
||||
public boolean esm = false;
|
||||
}
|
||||
|
@ -44,9 +44,9 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
private final static Logger logger = LoggerFactory.getLogger(FerroampHandler.class);
|
||||
private @Nullable static MqttBrokerConnection ferroampConnection;
|
||||
FerroampMqttCommunication ferroampMqttCommunication = new FerroampMqttCommunication(thing);
|
||||
final FerroampConfiguration ferroampConfig = getConfigAs(FerroampConfiguration.class);
|
||||
private @Nullable FerroampConfiguration ferroampConfig;
|
||||
|
||||
private List<FerroampChannelConfiguration> channelConfigEhub = new ArrayList<>();
|
||||
private static List<FerroampChannelConfiguration> channelConfigEhub = new ArrayList<>();
|
||||
private static List<FerroampChannelConfiguration> channelConfigSsoS1 = new ArrayList<>();
|
||||
private static List<FerroampChannelConfiguration> channelConfigSsoS2 = new ArrayList<>();
|
||||
private static List<FerroampChannelConfiguration> channelConfigSsoS3 = new ArrayList<>();
|
||||
@ -55,8 +55,6 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
private static List<FerroampChannelConfiguration> channelConfigEsm = new ArrayList<>();
|
||||
|
||||
long refreshInterval = 30;
|
||||
static boolean isEsoAvailable = false;
|
||||
static boolean isEsmAvailable = false;
|
||||
|
||||
public FerroampHandler(Thing thing) {
|
||||
super(thing);
|
||||
@ -84,6 +82,8 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
// Set configuration parameters
|
||||
ferroampConfig = getConfigAs(FerroampConfiguration.class);
|
||||
// Set channel configuration parameters
|
||||
channelConfigEhub = FerroampChannelConfiguration.getChannelConfigurationEhub();
|
||||
channelConfigSsoS1 = FerroampChannelConfiguration.getChannelConfigurationSsoS1();
|
||||
@ -93,32 +93,39 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
channelConfigEso = FerroampChannelConfiguration.getChannelConfigurationEso();
|
||||
channelConfigEsm = FerroampChannelConfiguration.getChannelConfigurationEsm();
|
||||
|
||||
if (ferroampConfig != null && channelConfigEhub != null && channelConfigSsoS1 != null
|
||||
&& channelConfigSsoS2 != null && channelConfigSsoS3 != null && channelConfigSsoS4 != null
|
||||
&& channelConfigEso != null && channelConfigEsm != null) {
|
||||
|
||||
final MqttBrokerConnection ferroampConnection = new MqttBrokerConnection(ferroampConfig.hostName,
|
||||
FerroampBindingConstants.BROKER_PORT, false, false, ferroampConfig.userName);
|
||||
|
||||
scheduler.scheduleWithFixedDelay(this::pollTask, 60, refreshInterval, TimeUnit.SECONDS);
|
||||
this.setFerroampConnection(ferroampConnection);
|
||||
updateStatus(ThingStatus.UNKNOWN);
|
||||
} else {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR);
|
||||
logger.debug("Configuration problems");
|
||||
}
|
||||
}
|
||||
|
||||
private void pollTask() {
|
||||
try {
|
||||
startMqttConnection();
|
||||
} catch (InterruptedException e) {
|
||||
logger.debug("Problems with startMqttConnection()");
|
||||
logger.debug("Not connected to the MqttBroker");
|
||||
return;
|
||||
}
|
||||
|
||||
Objects.requireNonNull(ferroampConnection, "MqttBrokerConnection ferroampConnection cannot be null");
|
||||
if (ferroampConnection.connectionState().toString().equals("DISCONNECTED")) {
|
||||
MqttBrokerConnection ferroampConnection = FerroampHandler.ferroampConnection;
|
||||
|
||||
if (ferroampConnection == null || ferroampConnection.connectionState().toString().equals("DISCONNECTED")) {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR);
|
||||
logger.debug("Problem connection to MqttBroker");
|
||||
}
|
||||
|
||||
Objects.requireNonNull(ferroampConnection, "MqttBrokerConnection ferroampConnection cannot be null, ");
|
||||
if (ferroampConnection.connectionState().toString().equals("CONNECTED")) {
|
||||
} else if (ferroampConnection.connectionState().toString().equals("CONNECTED")) {
|
||||
updateStatus(ThingStatus.ONLINE);
|
||||
try {
|
||||
channelUpdate();
|
||||
updateStatus(ThingStatus.ONLINE);
|
||||
|
||||
} catch (RuntimeException scheduleWithFixedDelayException) {
|
||||
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR,
|
||||
scheduleWithFixedDelayException.getClass().getName() + ":"
|
||||
@ -128,6 +135,7 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
}
|
||||
|
||||
private void startMqttConnection() throws InterruptedException {
|
||||
|
||||
MqttBrokerConnection localSubscribeConnection = FerroampHandler.getFerroampConnection();
|
||||
|
||||
Objects.requireNonNull(localSubscribeConnection,
|
||||
@ -201,10 +209,11 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
}
|
||||
}
|
||||
|
||||
if (ferroampConfig.eso == true) {
|
||||
String[] esoUpdateChannels;
|
||||
String[] esoUpdateChannels = new String[11];
|
||||
esoUpdateChannels = FerroampMqttCommunication.getEsoChannelUpdateValues();
|
||||
if (esoUpdateChannels.length > 0) {
|
||||
int channelValuesCounterEso = 0;
|
||||
if (esoUpdateChannels.length <= 9) {
|
||||
for (FerroampChannelConfiguration cConfig : channelConfigEso) {
|
||||
String esoChannel = cConfig.id;
|
||||
State esoState = StringType.valueOf(esoUpdateChannels[channelValuesCounterEso]);
|
||||
@ -212,11 +221,13 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
channelValuesCounterEso++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ferroampConfig.esm == true) {
|
||||
String[] esmUpdateChannels;
|
||||
String[] esmUpdateChannels = new String[7];
|
||||
esmUpdateChannels = FerroampMqttCommunication.getEsmChannelUpdateValues();
|
||||
if (esmUpdateChannels.length > 0) {
|
||||
int channelValuesCounterEsm = 0;
|
||||
if (esmUpdateChannels.length <= 9) {
|
||||
for (FerroampChannelConfiguration cConfig : channelConfigEsm) {
|
||||
String esmChannel = cConfig.id;
|
||||
State esmState = StringType.valueOf(esmUpdateChannels[channelValuesCounterEsm]);
|
||||
@ -225,6 +236,7 @@ public class FerroampHandler extends BaseThingHandler implements MqttMessageSubs
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Capture actual Json-topic message
|
||||
@Override
|
||||
|
@ -51,9 +51,6 @@ public class FerroampMqttCommunication implements MqttMessageSubscriber {
|
||||
static String ssoS3IdCheck = "";
|
||||
static String ssoS4IdCheck = "";
|
||||
|
||||
static boolean isEsoAvailable = false;
|
||||
static boolean isEsmAvailable = false;
|
||||
|
||||
private final static Logger logger = LoggerFactory.getLogger(FerroampMqttCommunication.class);
|
||||
|
||||
public FerroampMqttCommunication(Thing thing) {
|
||||
@ -690,7 +687,7 @@ public class FerroampMqttCommunication implements MqttMessageSubscriber {
|
||||
|
||||
// Prepare actual Json-topic Eso-message and update values for channels
|
||||
void processIncomingJsonMessageEso(String topic, String messageJsonEso) {
|
||||
String[] esoChannelPostsValue = new String[10]; // Array for ESO, Energy Storage Optimizer ) Posts
|
||||
String[] esoChannelPostsValue = new String[11]; // Array for ESO, Energy Storage Optimizer ) Posts
|
||||
JsonObject jsonElementsObjectEso = new Gson().fromJson(new Gson().fromJson(messageJsonEso, JsonObject.class),
|
||||
JsonObject.class);
|
||||
|
||||
@ -699,61 +696,75 @@ public class FerroampMqttCommunication implements MqttMessageSubscriber {
|
||||
String jsonElementsStringTemp = "";
|
||||
Gson gson = new Gson();
|
||||
|
||||
// faultcode
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(0)).toString();
|
||||
|
||||
GetGeneralValues faultcode = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[0] = faultcode.getVal();
|
||||
|
||||
if (!jsonElementsObjectEso.isEmpty()) {
|
||||
// id
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(1)).toString();
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(0)).toString();
|
||||
GetGeneralValues id = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[1] = id.getVal();
|
||||
esoChannelPostsValue[0] = id.getVal();
|
||||
|
||||
// ubat
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(1)).toString();
|
||||
GetGeneralValues ubat = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[1] = ubat.getVal();
|
||||
|
||||
// ibat
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(2)).toString();
|
||||
GetGeneralValues ibat = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
GetGeneralValues ibat = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[2] = ibat.getVal();
|
||||
|
||||
// ubat
|
||||
// wbatprod
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(3)).toString();
|
||||
GetGeneralValues ubat = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[3] = ubat.getVal();
|
||||
|
||||
// relaystatus
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(4)).toString();
|
||||
GetGeneralValues relaystatus = checkNullGeneralValues(
|
||||
GetGeneralValues wbatprod = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[4] = relaystatus.getVal();
|
||||
esoChannelPostsValue[3] = mJTokWh(jsonStripOneLiners(wbatprod.getVal()));
|
||||
|
||||
// wbatcons
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(4)).toString();
|
||||
GetGeneralValues wbatcons = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[4] = mJTokWh(jsonStripOneLiners(wbatcons.getVal()));
|
||||
|
||||
// soc
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(5)).toString();
|
||||
GetGeneralValues soc = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
GetGeneralValues soc = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[5] = soc.getVal();
|
||||
|
||||
// temp
|
||||
// relaystatus
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(6)).toString();
|
||||
GetGeneralValues temp = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[6] = temp.getVal();
|
||||
|
||||
// wbatprod
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(7)).toString();
|
||||
GetGeneralValues wbatprod = checkNullGeneralValues(
|
||||
GetGeneralValues relaystatus = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[7] = mJTokWh(jsonStripOneLiners(wbatprod.getVal()));
|
||||
esoChannelPostsValue[6] = relaystatus.getVal();
|
||||
|
||||
// temp
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(7)).toString();
|
||||
GetGeneralValues temp = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[7] = temp.getVal();
|
||||
|
||||
// faultcode
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(8)).toString();
|
||||
GetGeneralValues faultcode = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[8] = faultcode.getVal();
|
||||
|
||||
// udc
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(8)).toString();
|
||||
GetGeneralValues udc = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[8] = udc.getVal();
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(9)).toString();
|
||||
GetGeneralValues udc = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[9] = udc.getVal();
|
||||
|
||||
// ts
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(9)).toString();
|
||||
jsonElementsStringTemp = jsonElementsObjectEso.get(EsoJsonElements.getJsonElementsEso().get(10)).toString();
|
||||
GetGeneralValues ts = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esoChannelPostsValue[9] = ts.getVal();
|
||||
esoChannelPostsValue[10] = ts.getVal();
|
||||
|
||||
esoChannelsUpdateValues = esoChannelPostsValue;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Prepare actual Json-topic Esm-message and update values for channels
|
||||
@ -767,26 +778,29 @@ public class FerroampMqttCommunication implements MqttMessageSubscriber {
|
||||
String jsonElementsStringTemp = "";
|
||||
Gson gson = new Gson();
|
||||
|
||||
// soc
|
||||
if (!jsonElementsObjectEsm.isEmpty()) {
|
||||
// id
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(0)).toString();
|
||||
GetGeneralValues soc = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[0] = soc.getVal();
|
||||
GetGeneralValues id = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[0] = id.getVal();
|
||||
|
||||
// soh
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(1)).toString();
|
||||
GetGeneralValues soh = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
GetGeneralValues soh = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[1] = soh.getVal();
|
||||
|
||||
// ratedcapacity
|
||||
// soc
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(2)).toString();
|
||||
GetGeneralValues soc = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[2] = soc.getVal();
|
||||
|
||||
// ratedcapacity
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(3)).toString();
|
||||
GetGeneralValues ratedcapacity = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[2] = ratedcapacity.getVal();
|
||||
|
||||
// id
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(3)).toString();
|
||||
GetGeneralValues id = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[3] = id.getVal();
|
||||
esmChannelPostsValue[3] = ratedcapacity.getVal();
|
||||
|
||||
// ratedpower
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(4)).toString();
|
||||
@ -796,7 +810,8 @@ public class FerroampMqttCommunication implements MqttMessageSubscriber {
|
||||
|
||||
// status
|
||||
jsonElementsStringTemp = jsonElementsObjectEsm.get(EsmJsonElements.getJsonElementsEsm().get(5)).toString();
|
||||
GetGeneralValues status = checkNullGeneralValues(gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
GetGeneralValues status = checkNullGeneralValues(
|
||||
gson.fromJson(jsonElementsStringTemp, GetGeneralValues.class));
|
||||
esmChannelPostsValue[5] = status.getVal();
|
||||
|
||||
// ts
|
||||
@ -805,6 +820,9 @@ public class FerroampMqttCommunication implements MqttMessageSubscriber {
|
||||
esmChannelPostsValue[6] = ts.getVal();
|
||||
|
||||
esmChannelsUpdateValues = esmChannelPostsValue;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public @Nullable static String[] getEhubChannelUpdateValues() {
|
||||
|
@ -153,10 +153,6 @@ thing-type.ferroamp.energyhub.channel.total-solar-energy.label = Total Solar Ene
|
||||
|
||||
# thing types config
|
||||
|
||||
thing-type.config.ferroamp.energyhub.esm.label = ESM Module Available
|
||||
thing-type.config.ferroamp.energyhub.esm.description = Has the system an Esm unit connected?
|
||||
thing-type.config.ferroamp.energyhub.eso.label = ESO Module Available
|
||||
thing-type.config.ferroamp.energyhub.eso.description = Has the system an Eso unit connected?
|
||||
thing-type.config.ferroamp.energyhub.hasBattery.label = Battery Available
|
||||
thing-type.config.ferroamp.energyhub.hasBattery.description = Has the system a battery connected?
|
||||
thing-type.config.ferroamp.energyhub.hostName.label = Hostname
|
||||
@ -180,340 +176,3 @@ channel-type.ferroamp.request.label = String
|
||||
channel-type.ferroamp.request.description = Used for control of system
|
||||
channel-type.ferroamp.string.label = String
|
||||
channel-type.ferroamp.temperature.label = Temperature
|
||||
|
||||
# thing types
|
||||
|
||||
thing-type.ferroamp.energyhub.channel.grid-current-active-l1.label = Grid Current Active L1
|
||||
thing-type.ferroamp.energyhub.channel.grid-current-active-l2.label = Grid Current Active L2
|
||||
thing-type.ferroamp.energyhub.channel.grid-current-active-l3.label = Grid Current Active L3
|
||||
thing-type.ferroamp.energyhub.channel.grid-current-reactive-l1.label = Grid Reactive Current L1
|
||||
thing-type.ferroamp.energyhub.channel.grid-current-reactive-l2.label = Grid Reactive Current L2
|
||||
thing-type.ferroamp.energyhub.channel.grid-current-reactive-l3.label = Grid Reactive Current L3
|
||||
thing-type.ferroamp.energyhub.channel.inverter-current-active-l1.label = Inverter Active Current L1
|
||||
thing-type.ferroamp.energyhub.channel.inverter-current-active-l2.label = Inverter Active Current L2
|
||||
thing-type.ferroamp.energyhub.channel.inverter-current-active-l3.label = Inverter Active Current L3
|
||||
thing-type.ferroamp.energyhub.channel.inverter-current-reactive-l1.label = Inverter Reactive Current L1
|
||||
thing-type.ferroamp.energyhub.channel.inverter-current-reactive-l2.label = Inverter Reactive Current L2
|
||||
thing-type.ferroamp.energyhub.channel.inverter-current-reactive-l3.label = Inverter Reactive Current L3
|
||||
thing-type.ferroamp.energyhub.channel.inverter-load-l1.label = Inverter Load L1
|
||||
thing-type.ferroamp.energyhub.channel.inverter-load-l2.label = Inverter Load L2
|
||||
thing-type.ferroamp.energyhub.channel.inverter-load-l3.label = Inverter Load L3
|
||||
thing-type.ferroamp.energyhub.channel.s0-dc-link-voltage.label = S0 DC Link Voltage
|
||||
thing-type.ferroamp.energyhub.channel.s0-fault-code.label = S0 FaultCode
|
||||
thing-type.ferroamp.energyhub.channel.s0-id.label = S0 ID
|
||||
thing-type.ferroamp.energyhub.channel.s0-pv-current.label = S0 Measured Current on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s0-pv-voltage.label = S0 Measured Voltage on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s0-relay-status.label = S0 RelayStatus
|
||||
thing-type.ferroamp.energyhub.channel.s0-temperature.label = S0 Temperature Measured on PCB
|
||||
thing-type.ferroamp.energyhub.channel.s0-timestamp.label = S0 Time Stamp When Message was Published
|
||||
thing-type.ferroamp.energyhub.channel.s0-total-solar-energy.label = S0 Total Solar Energy
|
||||
|
||||
# thing types config
|
||||
|
||||
thing-type.config.ferroamp.energyhub.ssoS0.label = SSO String S0 Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS0.description = First SSO Unit Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS1.label = SSO String S1 Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS1.description = Second SSO Unit Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS2.label = SSO String S2 Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS2.description = Third SSO Unit Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS3.label = SSO String S3 Available
|
||||
thing-type.config.ferroamp.energyhub.ssoS3.description = Fourth SSO Unit Available
|
||||
|
||||
# channel types
|
||||
|
||||
channel-type.ferroamp.dimensionless.label = Dimensionless
|
||||
|
||||
# thing types
|
||||
|
||||
thing-type.ferroamp.energyhub.channel.esm-rated-power-battery.label = Esm Rated Power of Battery
|
||||
thing-type.ferroamp.energyhub.channel.esm-total-rated-capacity-all-batteries.label = Esm Rated Capacity
|
||||
thing-type.ferroamp.energyhub.channel.esm-unique-identifier.label = Esm Unique Identifier
|
||||
thing-type.ferroamp.energyhub.channel.eso-unique-identifier.label = Eso Unique Identifier
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-consumed-3p.label = External Energy Consumed 3p
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-consumed-l1.label = External Energy Consumed L1
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-consumed-l2.label = External Energy Consumed L2
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-consumed-l3.label = External Energy Consumed L3
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-produced-3p.label = External Energy Produced 3p
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-produced-l1.label = External Energy Produced L1
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-produced-l2.label = External Energy Produced L2
|
||||
thing-type.ferroamp.energyhub.channel.external-energy-produced-l3.label = External Energy Produced L3
|
||||
thing-type.ferroamp.energyhub.channel.inverter-energy-consumed-3p.label = Inverter Energy Consumed 3p
|
||||
thing-type.ferroamp.energyhub.channel.inverter-energy-produced-3p.label = Inverter Energy Produced 3p
|
||||
thing-type.ferroamp.energyhub.channel.load-energy-consumed-3p.label = Load Energy Consumed 3p
|
||||
thing-type.ferroamp.energyhub.channel.load-energy-produced-3p.label = Load Energy Produced 3p
|
||||
thing-type.ferroamp.energyhub.channel.measured-current-battery.label = Eso Current Measured on Battery Side
|
||||
thing-type.ferroamp.energyhub.channel.measured-voltage-battery.label = Eso Voltage Measured on Battery Side
|
||||
thing-type.ferroamp.energyhub.channel.s0-measured-current-pv-string.label = S0 Measured Current on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s0-measured-voltage-pv-string.label = S0 Measured Voltage on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s1-measured-current-pv-string.label = S1 Measured Current on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s1-measured-voltage-pv-string.label = S1 Measured Voltage on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s2-measured-current-pv-string.label = S2 Measured Current on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s2-measured-voltage-pv-string.label = S2 Measured Voltage on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s3-measured-current-pv-string.label = S3 Measured Current on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.s3-measured-voltage-pv-string.label = S3 Measured Voltage on PV String Side
|
||||
thing-type.ferroamp.energyhub.channel.total-rated-capacity-all-batteries.label = Total Rated Capacity of All Batteries
|
||||
|
||||
# channel group types
|
||||
|
||||
channel-group-type.ferroamp.date-time.label = Date Time
|
||||
channel-group-type.ferroamp.dimensionless.label = Dimensionless
|
||||
channel-group-type.ferroamp.electric-current.label = Electric Current
|
||||
channel-group-type.ferroamp.electric-potential.label = Electrical Potential
|
||||
channel-group-type.ferroamp.energy.label = Energy
|
||||
channel-group-type.ferroamp.frequency.label = Frequency
|
||||
channel-group-type.ferroamp.power.label = Power
|
||||
channel-group-type.ferroamp.string.label = String
|
||||
channel-group-type.ferroamp.temperature.label = Temperature
|
||||
|
||||
# channel types
|
||||
|
||||
channel-type.ferroamp.ehub-gridfreq.label = EHUB, Estimated Grid Frequency
|
||||
channel-type.ferroamp.ehub-gridfreq.description = Estimated grid frequency
|
||||
channel-type.ferroamp.ehub-iace-l1.label = EHUB, ACE Equalization L1
|
||||
channel-type.ferroamp.ehub-iace-l1.description = ACE equalization l1
|
||||
channel-type.ferroamp.ehub-iace-l2.label = EHUB, ACE Equalization L2
|
||||
channel-type.ferroamp.ehub-iace-l2.description = ACE equalization l2
|
||||
channel-type.ferroamp.ehub-iace-l3.label = EHUB, ACE Equalization L3
|
||||
channel-type.ferroamp.ehub-iace-l3.description = ACE equalization l3
|
||||
channel-type.ferroamp.ehub-iext-l1.label = EHUB, External/Grid RMS Current L1
|
||||
channel-type.ferroamp.ehub-iext-l1.description = External/Grid rms current l1
|
||||
channel-type.ferroamp.ehub-iext-l2.label = EHUB, External/Grid RMS Current L2
|
||||
channel-type.ferroamp.ehub-iext-l2.description = External/Grid rms current l2
|
||||
channel-type.ferroamp.ehub-iext-l3.label = EHUB, External/Grid RMS Current L3
|
||||
channel-type.ferroamp.ehub-iext-l3.description = External/Grid rms current l3
|
||||
channel-type.ferroamp.ehub-iextd-l1.label = EHUB, External/Grid Reactive Current L1
|
||||
channel-type.ferroamp.ehub-iextd-l1.description = External/Grid reactive current l1
|
||||
channel-type.ferroamp.ehub-iextd-l2.label = EHUB, External/Grid Reactive Current L2
|
||||
channel-type.ferroamp.ehub-iextd-l2.description = External/Grid reactive current l2
|
||||
channel-type.ferroamp.ehub-iextd-l3.label = EHUB, External/Grid Reactive Current L3
|
||||
channel-type.ferroamp.ehub-iextd-l3.description = External/Grid reactive current l3
|
||||
channel-type.ferroamp.ehub-iextq-l1.label = EHUB, External/Grid Active Current L1
|
||||
channel-type.ferroamp.ehub-iextq-l1.description = External/Grid active current l1
|
||||
channel-type.ferroamp.ehub-iextq-l2.label = EHUB, External/Grid Active Current L2
|
||||
channel-type.ferroamp.ehub-iextq-l2.description = External/Grid active current l2
|
||||
channel-type.ferroamp.ehub-iextq-l3.label = EHUB, External/Grid Active Current L3
|
||||
channel-type.ferroamp.ehub-iextq-l3.description = External/Grid active current l3
|
||||
channel-type.ferroamp.ehub-il-l1.label = EHUB, Inverter RMS Current L1
|
||||
channel-type.ferroamp.ehub-il-l1.description = Inverter rms current l1
|
||||
channel-type.ferroamp.ehub-il-l2.label = EHUB, Inverter RMS Current L2
|
||||
channel-type.ferroamp.ehub-il-l2.description = Inverter rms current l2
|
||||
channel-type.ferroamp.ehub-il-l3.label = EHUB, Inverter RMS Current L3
|
||||
channel-type.ferroamp.ehub-il-l3.description = Inverter rms current l3
|
||||
channel-type.ferroamp.ehub-ild-l1.label = EHUB, Inverter Reactive Current L1
|
||||
channel-type.ferroamp.ehub-ild-l1.description = Inverter reactive current l1
|
||||
channel-type.ferroamp.ehub-ild-l2.label = EHUB, Inverter Reactive Current L2
|
||||
channel-type.ferroamp.ehub-ild-l2.description = Inverter reactive current l2
|
||||
channel-type.ferroamp.ehub-ild-l3.label = EHUB, Inverter Reactive Current L3
|
||||
channel-type.ferroamp.ehub-ild-l3.description = Inverter reactive current l3
|
||||
channel-type.ferroamp.ehub-iloadd-l1.label = EHUB, ILoadd L1
|
||||
channel-type.ferroamp.ehub-iloadd-l2.label = EHUB, ILoadd L2
|
||||
channel-type.ferroamp.ehub-iloadd-l3.label = EHUB, ILoadd L3
|
||||
channel-type.ferroamp.ehub-iloadq-l1.label = EHUB, ILoadq L1
|
||||
channel-type.ferroamp.ehub-iloadq-l2.label = EHUB, ILoadq L2
|
||||
channel-type.ferroamp.ehub-iloadq-l3.label = EHUB, ILoadq L3
|
||||
channel-type.ferroamp.ehub-ilq-l1.label = EHUB, Inverter Active Current L1
|
||||
channel-type.ferroamp.ehub-ilq-l1.description = Inverter active current l1
|
||||
channel-type.ferroamp.ehub-ilq-l2.label = EHUB, Inverter Active Current L2
|
||||
channel-type.ferroamp.ehub-ilq-l2.description = Inverter active current l2
|
||||
channel-type.ferroamp.ehub-ilq-l3.label = EHUB, Inverter Active Current L3
|
||||
channel-type.ferroamp.ehub-ilq-l3.description = Inverter active current l3
|
||||
channel-type.ferroamp.ehub-pbat.label = EHUB, Power Batteries
|
||||
channel-type.ferroamp.ehub-pbat.description = Only sent when system has batteries
|
||||
channel-type.ferroamp.ehub-pext-l1.label = EHUB, External/Grid Power, Active L1
|
||||
channel-type.ferroamp.ehub-pext-l1.description = External/Grid power, active l1
|
||||
channel-type.ferroamp.ehub-pext-l2.label = EHUB, External/Grid Power, Active L2
|
||||
channel-type.ferroamp.ehub-pext-l2.description = External/Grid power, active l2
|
||||
channel-type.ferroamp.ehub-pext-l3.label = EHUB, External/Grid Power, Active L3
|
||||
channel-type.ferroamp.ehub-pext-l3.description = External/Grid power, active l3
|
||||
channel-type.ferroamp.ehub-pextreactive-l1.label = EHUB, External/Grid Power, Reactive L1
|
||||
channel-type.ferroamp.ehub-pextreactive-l1.description = External/Grid power, reactive l1
|
||||
channel-type.ferroamp.ehub-pextreactive-l2.label = EHUB, External/Grid Power, Reactive L2
|
||||
channel-type.ferroamp.ehub-pextreactive-l2.description = External/Grid power, reactive l2
|
||||
channel-type.ferroamp.ehub-pextreactive-l3.label = EHUB, External/Grid Power, Reactive L3
|
||||
channel-type.ferroamp.ehub-pextreactive-l3.description = External/Grid power, reactive l3
|
||||
channel-type.ferroamp.ehub-pinv-l1.label = EHUB, Inverter Power, Active L1
|
||||
channel-type.ferroamp.ehub-pinv-l1.description = Inverter power, active l1
|
||||
channel-type.ferroamp.ehub-pinv-l2.label = EHUB, Inverter Power, Active L2
|
||||
channel-type.ferroamp.ehub-pinv-l2.description = Inverter power, active l2
|
||||
channel-type.ferroamp.ehub-pinv-l3.label = EHUB, Inverter Power, Active L3
|
||||
channel-type.ferroamp.ehub-pinv-l3.description = Inverter power, active l3
|
||||
channel-type.ferroamp.ehub-pinvreactive-l1.label = EHUB, Inverter Power, Reactive L1
|
||||
channel-type.ferroamp.ehub-pinvreactive-l1.description = Inverter power, reactive l1
|
||||
channel-type.ferroamp.ehub-pinvreactive-l2.label = EHUB, Inverter Power, Reactive L2
|
||||
channel-type.ferroamp.ehub-pinvreactive-l2.description = Inverter power, reactive l2
|
||||
channel-type.ferroamp.ehub-pinvreactive-l3.label = EHUB, Inverter Power, Reactive L3
|
||||
channel-type.ferroamp.ehub-pinvreactive-l3.description = Inverter power, reactive l3
|
||||
channel-type.ferroamp.ehub-pload-l1.label = EHUB, PLoad L1
|
||||
channel-type.ferroamp.ehub-pload-l2.label = EHUB, PLoad L2
|
||||
channel-type.ferroamp.ehub-pload-l3.label = EHUB, PLoad L3
|
||||
channel-type.ferroamp.ehub-ploadreactive-l1.label = EHUB, PLoadReactive L1
|
||||
channel-type.ferroamp.ehub-ploadreactive-l2.label = EHUB, PLoadReactive L2
|
||||
channel-type.ferroamp.ehub-ploadreactive-l3.label = EHUB, PLoadReactive L3
|
||||
channel-type.ferroamp.ehub-ppv.label = EHUB, Power PV
|
||||
channel-type.ferroamp.ehub-ppv.description = Only sent when system has pv
|
||||
channel-type.ferroamp.ehub-ratedcap.label = EHUB, Total Rated Capacity Batteries
|
||||
channel-type.ferroamp.ehub-ratedcap.description = Total rated capacity of all batteries in the system
|
||||
channel-type.ferroamp.ehub-sext.label = EHUB, Apparent Power
|
||||
channel-type.ferroamp.ehub-sext.description = Apparent power
|
||||
channel-type.ferroamp.ehub-soc.label = EHUB, Soc
|
||||
channel-type.ferroamp.ehub-soc.description = State of charge for the EHUB
|
||||
channel-type.ferroamp.ehub-soh.label = EHUB, Soh
|
||||
channel-type.ferroamp.ehub-soh.description = State of health for the EHUB
|
||||
channel-type.ferroamp.ehub-state.label = EHUB, State Of The System
|
||||
channel-type.ferroamp.ehub-state.description = State of the system
|
||||
channel-type.ferroamp.ehub-ts.label = EHUB, Time Stamp
|
||||
channel-type.ferroamp.ehub-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.ehub-udcneg.label = EHUB, Negativ DC Link Voltage
|
||||
channel-type.ferroamp.ehub-udcneg.description = Negativ dc link voltage
|
||||
channel-type.ferroamp.ehub-udcpos.label = EHUB, Positiv DC Link Voltage
|
||||
channel-type.ferroamp.ehub-udcpos.description = Positiv dc link voltage
|
||||
channel-type.ferroamp.ehub-ul-l1.label = EHUB, External Voltage L1
|
||||
channel-type.ferroamp.ehub-ul-l1.description = External voltage l1
|
||||
channel-type.ferroamp.ehub-ul-l2.label = EHUB, External Voltage L2
|
||||
channel-type.ferroamp.ehub-ul-l2.description = External voltage l2
|
||||
channel-type.ferroamp.ehub-ul-l3.label = EHUB, External Voltage L3
|
||||
channel-type.ferroamp.ehub-ul-l3.description = External voltage l3
|
||||
channel-type.ferroamp.ehub-wbatprod.label = EHUB, Produced Power Batteries
|
||||
channel-type.ferroamp.ehub-wbatprod.description = Only sent when system has batteries
|
||||
channel-type.ferroamp.ehub-wextconsq-l1.label = EHUB, WExtConsq L1
|
||||
channel-type.ferroamp.ehub-wextconsq-l2.label = EHUB, WExtConsq L2
|
||||
channel-type.ferroamp.ehub-wextconsq-l3.label = EHUB, WExtConsq L3
|
||||
channel-type.ferroamp.ehub-wextconsq_3p.label = EHUB, WExtConsq_3p
|
||||
channel-type.ferroamp.ehub-wextprodq-l1.label = EHUB, WExtProdq L1
|
||||
channel-type.ferroamp.ehub-wextprodq-l2.label = EHUB, WExtProdq L2
|
||||
channel-type.ferroamp.ehub-wextprodq-l3.label = EHUB, WExtProdq L3
|
||||
channel-type.ferroamp.ehub-wextprodq_3p.label = EHUB, WExtProdq_3p
|
||||
channel-type.ferroamp.ehub-winvconsq-l1.label = EHUB, WInvConsq L1
|
||||
channel-type.ferroamp.ehub-winvconsq-l2.label = EHUB, WInvConsq L2
|
||||
channel-type.ferroamp.ehub-winvconsq-l3.label = EHUB, WInvConsq L3
|
||||
channel-type.ferroamp.ehub-winvconsq_3p.label = EHUB, WInvConsq_3p
|
||||
channel-type.ferroamp.ehub-winvprodq-l1.label = EHUB, WInvProdq L1
|
||||
channel-type.ferroamp.ehub-winvprodq-l2.label = EHUB, WInvProdq L2
|
||||
channel-type.ferroamp.ehub-winvprodq-l3.label = EHUB, WInvProdq L3
|
||||
channel-type.ferroamp.ehub-winvprodq_3p.label = EHUB, WInvProdq_3p
|
||||
channel-type.ferroamp.ehub-wloadconsq-l1.label = EHUB, WLoadConsq L1
|
||||
channel-type.ferroamp.ehub-wloadconsq-l2.label = EHUB, WLoadConsq L2
|
||||
channel-type.ferroamp.ehub-wloadconsq-l3.label = EHUB, WLoadConsq L3
|
||||
channel-type.ferroamp.ehub-wloadconsq_3p.label = EHUB, WLoadConsq_3p
|
||||
channel-type.ferroamp.ehub-wloadprodq-l1.label = EHUB, WLoadProdq L1
|
||||
channel-type.ferroamp.ehub-wloadprodq-l2.label = EHUB, WLoadProdq L2
|
||||
channel-type.ferroamp.ehub-wloadprodq-l3.label = EHUB, WLoadProdq L3
|
||||
channel-type.ferroamp.ehub-wloadprodq_3p.label = EHUB, WLoadProdq_3p
|
||||
channel-type.ferroamp.ehub-wpbatcons.label = EHUB, Consumed Power Batteries
|
||||
channel-type.ferroamp.ehub-wpbatcons.description = Only sent when system has batteries
|
||||
channel-type.ferroamp.ehub-wpv.label = EHUB, PV Power
|
||||
channel-type.ferroamp.ehub-wpv.description = Only sent when system has pv
|
||||
channel-type.ferroamp.esm-id.label = ESM, Unique Identifier Of Battery.
|
||||
channel-type.ferroamp.esm-id.description = Unique identifier of battery. If available, this will be the unique id that the battery reports.
|
||||
channel-type.ferroamp.esm-rated-capacity.label = ESM, Rated Capacity Of Battery
|
||||
channel-type.ferroamp.esm-rated-capacity.description = Rated capacity of battery
|
||||
channel-type.ferroamp.esm-rated-power.label = ESM, Rated Power Of Battery
|
||||
channel-type.ferroamp.esm-rated-power.description = Rated power of battery
|
||||
channel-type.ferroamp.esm-soc.label = ESM, Soc
|
||||
channel-type.ferroamp.esm-soc.description = State of charge for the ESM
|
||||
channel-type.ferroamp.esm-soh.label = ESM, Soh
|
||||
channel-type.ferroamp.esm-soh.description = State of health for the ESM
|
||||
channel-type.ferroamp.esm-status.label = ESM, Battery Status
|
||||
channel-type.ferroamp.esm-status.description = Dependent on battery manufacturer
|
||||
channel-type.ferroamp.esm-ts.label = ESM, Time Stamp
|
||||
channel-type.ferroamp.esm-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.eso-faultcode.label = ESO, Fault Code
|
||||
channel-type.ferroamp.eso-faultcode.description = See section 4.1.3.1 below for further explanation of fault codes
|
||||
channel-type.ferroamp.eso-ibat.label = ESO, Current On Battery Side
|
||||
channel-type.ferroamp.eso-ibat.description = Measured on battery side
|
||||
channel-type.ferroamp.eso-id.label = ESO, Unique Identifier
|
||||
channel-type.ferroamp.eso-id.description = Unique identifier
|
||||
channel-type.ferroamp.eso-relaystatus.label = ESO, Relay Status
|
||||
channel-type.ferroamp.eso-relaystatus.description = 0 = relay closed, 1 = relay open
|
||||
channel-type.ferroamp.eso-soc.label = ESO, Soc
|
||||
channel-type.ferroamp.eso-soc.description = State of charge for ESO
|
||||
channel-type.ferroamp.eso-temp.label = ESO, Temperature
|
||||
channel-type.ferroamp.eso-temp.description = Temperature measured inside ESO
|
||||
channel-type.ferroamp.eso-ts.label = ESO, Time stamp
|
||||
channel-type.ferroamp.eso-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.eso-ubat.label = ESO, Voltage On Battery Side
|
||||
channel-type.ferroamp.eso-ubat.description = Measured on battery side
|
||||
channel-type.ferroamp.eso-udc.label = ESO, DC Link Voltage
|
||||
channel-type.ferroamp.eso-udc.description = Dc link voltage as measured by ESO
|
||||
channel-type.ferroamp.eso-wbatprod.label = ESO, Total Energy Produced
|
||||
channel-type.ferroamp.eso-wbatprod.description = Total energy produced by ESO, i.e total energy discharged
|
||||
channel-type.ferroamp.eso-wpbatcons.label = ESO, Total Energy Consumed
|
||||
channel-type.ferroamp.eso-wpbatcons.description = Total energy consumed by ESO, i.e total energy charged
|
||||
channel-type.ferroamp.request-auto.label = Configure Auto Power
|
||||
channel-type.ferroamp.request-auto.description = Set auto power
|
||||
channel-type.ferroamp.request-charge.label = Configure Charge Power
|
||||
channel-type.ferroamp.request-charge.description = Charge power in watt
|
||||
channel-type.ferroamp.request-discharge.label = Configure Discharge Power
|
||||
channel-type.ferroamp.request-discharge.description = Discharge power in watt
|
||||
channel-type.ferroamp.ssos0-faultcode.label = SSO, String-0, Fault Code
|
||||
channel-type.ferroamp.ssos0-faultcode.description = 0x00 = OK, For all other values please contact Ferroamp support
|
||||
channel-type.ferroamp.ssos0-id.label = SSO, String-0, Unique Identifier
|
||||
channel-type.ferroamp.ssos0-id.description = Unique identifier of SSO
|
||||
channel-type.ferroamp.ssos0-ipv.label = SSO, String-0, Current On PV String Side
|
||||
channel-type.ferroamp.ssos0-ipv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos0-relaystatus.label = SSO, String-0, Relay Status
|
||||
channel-type.ferroamp.ssos0-relaystatus.description = 0 = relay closed (i.e running power), 1 = relay open/disconnected, 2 = precharge
|
||||
channel-type.ferroamp.ssos0-temp.label = SSO, String-0, Temperature
|
||||
channel-type.ferroamp.ssos0-temp.description = Temperature measured on pcb of SSO
|
||||
channel-type.ferroamp.ssos0-ts.label = SSO, String-0, Time Stamp
|
||||
channel-type.ferroamp.ssos0-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.ssos0-udc.label = SSO, String-0, DC Link Voltage
|
||||
channel-type.ferroamp.ssos0-udc.description = Dc link voltage as measured by SSO
|
||||
channel-type.ferroamp.ssos0-upv.label = SSO, String-0, Voltage On PV String Side
|
||||
channel-type.ferroamp.ssos0-upv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos0-wpv.label = SSO, String-0, Total Energy Produced
|
||||
channel-type.ferroamp.ssos0-wpv.description = Total energy produced by SSO
|
||||
channel-type.ferroamp.ssos1-faultcode.label = SSO, String-1, Fault Code
|
||||
channel-type.ferroamp.ssos1-faultcode.description = 0x00 = OK, For all other values please contact Ferroamp support
|
||||
channel-type.ferroamp.ssos1-id.label = SSO, String-1, Unique Identifier
|
||||
channel-type.ferroamp.ssos1-id.description = Unique identifier of SSO
|
||||
channel-type.ferroamp.ssos1-ipv.label = SSO, String-1, Current On PV String Side
|
||||
channel-type.ferroamp.ssos1-ipv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos1-relaystatus.label = SSO, String-1, Relay Status
|
||||
channel-type.ferroamp.ssos1-relaystatus.description = 0 = relay closed (i.e running power), 1 = relay open/disconnected, 2 = precharge
|
||||
channel-type.ferroamp.ssos1-temp.label = SSO, String-1, Temperature
|
||||
channel-type.ferroamp.ssos1-temp.description = Temperature measured on pcb of SSO
|
||||
channel-type.ferroamp.ssos1-ts.label = SSO, String-1, Time Stamp
|
||||
channel-type.ferroamp.ssos1-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.ssos1-udc.label = SSO, String-1, DC Link Voltage
|
||||
channel-type.ferroamp.ssos1-udc.description = Dc link voltage as measured by SSO
|
||||
channel-type.ferroamp.ssos1-upv.label = SSO, String-1, Voltage On PV String Side
|
||||
channel-type.ferroamp.ssos1-upv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos1-wpv.label = SSO, String-1, Total Energy Produced
|
||||
channel-type.ferroamp.ssos1-wpv.description = Total energy produced by SSO
|
||||
channel-type.ferroamp.ssos2-faultcode.label = SSO, String-2, Fault Code
|
||||
channel-type.ferroamp.ssos2-faultcode.description = 0x00 = OK, For all other values please contact Ferroamp support
|
||||
channel-type.ferroamp.ssos2-id.label = SSO, String-2, Unique Identifier
|
||||
channel-type.ferroamp.ssos2-id.description = Unique identifier of SSO
|
||||
channel-type.ferroamp.ssos2-ipv.label = SSO, String-2, Current On PV String Side
|
||||
channel-type.ferroamp.ssos2-ipv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos2-relaystatus.label = SSO, String-2, Relay Status
|
||||
channel-type.ferroamp.ssos2-relaystatus.description = 0 = relay closed (i.e running power), 1 = relay open/disconnected, 2 = precharge
|
||||
channel-type.ferroamp.ssos2-temp.label = SSO, String-2, Temperature
|
||||
channel-type.ferroamp.ssos2-temp.description = Temperature measured on pcb of SSO
|
||||
channel-type.ferroamp.ssos2-ts.label = SSO, String-2, Time Stamp
|
||||
channel-type.ferroamp.ssos2-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.ssos2-udc.label = SSO, String-2, DC Link Voltage
|
||||
channel-type.ferroamp.ssos2-udc.description = Dc link voltage as measured by SSO
|
||||
channel-type.ferroamp.ssos2-upv.label = SSO, String-2, Voltage On PV String Side
|
||||
channel-type.ferroamp.ssos2-upv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos2-wpv.label = SSO, String-2, Total Energy Produced
|
||||
channel-type.ferroamp.ssos2-wpv.description = Total energy produced by SSO
|
||||
channel-type.ferroamp.ssos3-faultcode.label = SSO, String-3, Fault Code
|
||||
channel-type.ferroamp.ssos3-faultcode.description = 0x00 = OK, For all other values please contact Ferroamp support
|
||||
channel-type.ferroamp.ssos3-id.label = SSO, String-3, Unique Identifier
|
||||
channel-type.ferroamp.ssos3-id.description = Unique identifier of SSO
|
||||
channel-type.ferroamp.ssos3-ipv.label = SSO, String-3, Current On PV String Side
|
||||
channel-type.ferroamp.ssos3-ipv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos3-relaystatus.label = SSO, String-3, Relay Status
|
||||
channel-type.ferroamp.ssos3-relaystatus.description = 0 = relay closed (i.e running power), 1 = relay open/disconnected, 2 = precharge
|
||||
channel-type.ferroamp.ssos3-temp.label = SSO, String-3, Temperature
|
||||
channel-type.ferroamp.ssos3-temp.description = Temperature measured on pcb of SSO
|
||||
channel-type.ferroamp.ssos3-ts.label = SSO, String-3, Time Stamp
|
||||
channel-type.ferroamp.ssos3-ts.description = Time stamp when message was published
|
||||
channel-type.ferroamp.ssos3-udc.label = SSO, String-3, DC Link Voltage
|
||||
channel-type.ferroamp.ssos3-udc.description = Dc link voltage as measured by SSO
|
||||
channel-type.ferroamp.ssos3-upv.label = SSO, String-3, Voltage On PV String Side
|
||||
channel-type.ferroamp.ssos3-upv.description = Measured on pv string side
|
||||
channel-type.ferroamp.ssos3-wpv.label = SSO, String-3, Total Energy Produced
|
||||
channel-type.ferroamp.ssos3-wpv.description = Total energy produced by SSO
|
||||
|
@ -461,16 +461,6 @@
|
||||
<description>Has the system a battery connected?</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
<parameter name="eso" type="boolean" required="false">
|
||||
<label>ESO Module Available</label>
|
||||
<description>Has the system an Eso unit connected?</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
<parameter name="esm" type="boolean" required="false">
|
||||
<label>ESM Module Available</label>
|
||||
<description>Has the system an Esm unit connected?</description>
|
||||
<default>false</default>
|
||||
</parameter>
|
||||
</config-description>
|
||||
</thing-type>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user