[myStrom] Add energy consumption since last API call channel for MyStrom Plug (#15294)
* added missing Ws value for MyStrom Plug Signed-off-by: Tom Müller <tompetermueller01@gmail.com>
This commit is contained in:
parent
edc7761cd6
commit
27d784a4b1
|
@ -50,18 +50,19 @@ Disabling/enabling the thing can be used to update the properties.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
| Channel ID | Item Type | Read only | Description | Thing types supporting this channel |
|
| Channel ID | Item Type | Read only | Description | Thing types supporting this channel |
|
||||||
| ---------------- | -------------------- | --------- | --------------------------------------------------------------------- |-------------------------------------|
|
|---------------------------------|--------------------|-----------|---------------------------------------------------------------------------------------------------|------------------------------------|
|
||||||
| switch | Switch | false | Turn the device on or off | mystromplug, mystrombulb |
|
| switch | Switch | false | Turn the device on or off | mystromplug, mystrombulb |
|
||||||
| power | Number:Power | true | The currently delivered power | mystromplug, mystrombulb |
|
| power | Number:Power | true | The currently delivered power | mystromplug, mystrombulb |
|
||||||
| temperature | Number:Temperature | true | The temperature at the plug | mystromplug, mystrompir |
|
| energy-consumed-since-last-call | Number:Energy | true | The watt seconds / Energy consumed since last call. Useful for accurate data logging and analysis | mystromplug |
|
||||||
| color | Color | false | The color we set the bulb to (mode 'hsv') | mystrombulb |
|
| temperature | Number:Temperature | true | The temperature at the plug | mystromplug, mystrompir |
|
||||||
| colorTemperature | Dimmer | false | The color temperature of the bulb in mode 'mono' (percentage) | mystrombulb |
|
| color | Color | false | The color we set the bulb to (mode 'hsv') | mystrombulb |
|
||||||
| brightness | Dimmer | false | The brightness of the bulb in mode 'mono' | mystrombulb |
|
| colorTemperature | Dimmer | false | The color temperature of the bulb in mode 'mono' (percentage) | mystrombulb |
|
||||||
| ramp | Number:Time | false | Transition time from the light’s current state to the new state. [ms] | mystrombulb |
|
| brightness | Dimmer | false | The brightness of the bulb in mode 'mono' | mystrombulb |
|
||||||
| mode | String | false | The color mode we want the Bulb to set to (rgb, hsv or mono) | mystrombulb |
|
| ramp | Number:Time | false | Transition time from the light’s current state to the new state. [ms] | mystrombulb |
|
||||||
| light | Dimmer | true | The brightness of the Room. | mystrompir |
|
| mode | String | false | The color mode we want the Bulb to set to (rgb, hsv or mono) | mystrombulb |
|
||||||
| motion | Switch | true | Motionstatus of the sensor | mystrompir |
|
| light | Dimmer | true | The brightness of the Room. | mystrompir |
|
||||||
|
| motion | Switch | true | Motionstatus of the sensor | mystrompir |
|
||||||
|
|
||||||
## Full Example
|
## Full Example
|
||||||
|
|
||||||
|
@ -74,12 +75,13 @@ Thing mystrom:mystromplug:d6217a31 "Plug" [hostname="hostname|ip"]
|
||||||
### Item Configuration
|
### Item Configuration
|
||||||
|
|
||||||
```java
|
```java
|
||||||
Switch PlugSwitch "Plug" {channel="mystrom:mystromplug:d6217a31:switch"}
|
Switch PlugSwitch "Plug" {channel="mystrom:mystromplug:d6217a31:switch"}
|
||||||
Number:Temperature PlugTemperature "Temperature: [%.1f °C]" {channel="mystrom:mystromplug:d6217a31:temperature"}
|
Number:Temperature PlugTemperature "Temperature: [%.1f °C]" {channel="mystrom:mystromplug:d6217a31:temperature"}
|
||||||
Number:Power PlugPower "Power: [%.1f W]" {channel="mystrom:mystromplug:d6217a31:power"}
|
Number:Power PlugPower "Power: [%.1f W]" {channel="mystrom:mystromplug:d6217a31:power"}
|
||||||
|
Number:Energy PlugEnergyConsumedSinceLastCall "Ws: [%.1f Ws]" {channel="mystrom:mystromplug:d6217a31:energy-consumed-since-last-call"}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Sitemap Configuration
|
### Sitemap Configuration
|
||||||
|
|
||||||
```perl
|
```perl
|
||||||
|
|
|
@ -38,6 +38,7 @@ public class MyStromBindingConstants {
|
||||||
// List of all Channel ids
|
// List of all Channel ids
|
||||||
public static final String CHANNEL_SWITCH = "switch";
|
public static final String CHANNEL_SWITCH = "switch";
|
||||||
public static final String CHANNEL_POWER = "power";
|
public static final String CHANNEL_POWER = "power";
|
||||||
|
public static final String CHANNEL_ENERGY_CONSUMED_SINCE_LAST_CALL = "energy-consumed-since-last-call";
|
||||||
public static final String CHANNEL_TEMPERATURE = "temperature";
|
public static final String CHANNEL_TEMPERATURE = "temperature";
|
||||||
public static final String CHANNEL_COLOR = "color";
|
public static final String CHANNEL_COLOR = "color";
|
||||||
public static final String CHANNEL_RAMP = "ramp";
|
public static final String CHANNEL_RAMP = "ramp";
|
||||||
|
|
|
@ -12,11 +12,13 @@
|
||||||
*/
|
*/
|
||||||
package org.openhab.binding.mystrom.internal;
|
package org.openhab.binding.mystrom.internal;
|
||||||
|
|
||||||
|
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_ENERGY_CONSUMED_SINCE_LAST_CALL;
|
||||||
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_POWER;
|
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_POWER;
|
||||||
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_SWITCH;
|
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_SWITCH;
|
||||||
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_TEMPERATURE;
|
import static org.openhab.binding.mystrom.internal.MyStromBindingConstants.CHANNEL_TEMPERATURE;
|
||||||
import static org.openhab.core.library.unit.SIUnits.CELSIUS;
|
import static org.openhab.core.library.unit.SIUnits.CELSIUS;
|
||||||
import static org.openhab.core.library.unit.Units.WATT;
|
import static org.openhab.core.library.unit.Units.WATT;
|
||||||
|
import static org.openhab.core.library.unit.Units.WATT_SECOND;
|
||||||
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -50,6 +52,7 @@ public class MyStromPlugHandler extends AbstractMyStromHandler {
|
||||||
private static class MyStromReport {
|
private static class MyStromReport {
|
||||||
|
|
||||||
public float power;
|
public float power;
|
||||||
|
public float Ws;
|
||||||
public boolean relay;
|
public boolean relay;
|
||||||
public float temperature;
|
public float temperature;
|
||||||
}
|
}
|
||||||
|
@ -96,6 +99,7 @@ public class MyStromPlugHandler extends AbstractMyStromHandler {
|
||||||
if (report != null) {
|
if (report != null) {
|
||||||
updateState(CHANNEL_SWITCH, report.relay ? OnOffType.ON : OnOffType.OFF);
|
updateState(CHANNEL_SWITCH, report.relay ? OnOffType.ON : OnOffType.OFF);
|
||||||
updateState(CHANNEL_POWER, QuantityType.valueOf(report.power, WATT));
|
updateState(CHANNEL_POWER, QuantityType.valueOf(report.power, WATT));
|
||||||
|
updateState(CHANNEL_ENERGY_CONSUMED_SINCE_LAST_CALL, QuantityType.valueOf(report.Ws, WATT_SECOND));
|
||||||
updateState(CHANNEL_TEMPERATURE, QuantityType.valueOf(report.temperature, CELSIUS));
|
updateState(CHANNEL_TEMPERATURE, QuantityType.valueOf(report.temperature, CELSIUS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,8 @@ thing-type.config.mystrom.mystromplug.refresh.description = Specifies the refres
|
||||||
|
|
||||||
# channel types
|
# channel types
|
||||||
|
|
||||||
|
channel-type.mystrom.energy-consumed-since-last-call-channel.label = Energy Consumption
|
||||||
|
channel-type.mystrom.energy-consumed-since-last-call-channel.description = Energy consumed since last API call
|
||||||
channel-type.mystrom.mode-channel.label = Mode
|
channel-type.mystrom.mode-channel.label = Mode
|
||||||
channel-type.mystrom.mode-channel.description = The color mode we want the Bulb to set to
|
channel-type.mystrom.mode-channel.description = The color mode we want the Bulb to set to
|
||||||
channel-type.mystrom.mode-channel.command.option.rgb = RGB
|
channel-type.mystrom.mode-channel.command.option.rgb = RGB
|
||||||
|
@ -49,3 +51,4 @@ channel-type.mystrom.ramp-channel.label = Ramp
|
||||||
channel-type.mystrom.ramp-channel.description = Transition time from the light’s current state to the new state.
|
channel-type.mystrom.ramp-channel.description = Transition time from the light’s current state to the new state.
|
||||||
channel-type.mystrom.temperature-channel.label = Temperature
|
channel-type.mystrom.temperature-channel.label = Temperature
|
||||||
channel-type.mystrom.temperature-channel.description = The current temperature at the plug
|
channel-type.mystrom.temperature-channel.description = The current temperature at the plug
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
<channels>
|
<channels>
|
||||||
<channel id="switch" typeId="system.power"/>
|
<channel id="switch" typeId="system.power"/>
|
||||||
<channel id="power" typeId="power-channel"/>
|
<channel id="power" typeId="power-channel"/>
|
||||||
|
<channel id="energy-consumed-since-last-call" typeId="energy-consumed-since-last-call-channel"/>
|
||||||
<channel id="temperature" typeId="temperature-channel"/>
|
<channel id="temperature" typeId="temperature-channel"/>
|
||||||
</channels>
|
</channels>
|
||||||
|
|
||||||
|
@ -25,6 +26,7 @@
|
||||||
<property name="dns"/>
|
<property name="dns"/>
|
||||||
<property name="static"/>
|
<property name="static"/>
|
||||||
<property name="connected"/>
|
<property name="connected"/>
|
||||||
|
<property name="thingTypeVersion">1</property>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<representation-property>mac</representation-property>
|
<representation-property>mac</representation-property>
|
||||||
|
@ -157,6 +159,14 @@
|
||||||
<state pattern="%.3f %unit%" readOnly="true"/>
|
<state pattern="%.3f %unit%" readOnly="true"/>
|
||||||
</channel-type>
|
</channel-type>
|
||||||
|
|
||||||
|
<channel-type id="energy-consumed-since-last-call-channel">
|
||||||
|
<item-type>Number:Energy</item-type>
|
||||||
|
<label>Energy Consumption</label>
|
||||||
|
<description>Energy consumed since last API call</description>
|
||||||
|
<state pattern="%.2f %unit%" readOnly="true"/>
|
||||||
|
</channel-type>
|
||||||
|
|
||||||
|
|
||||||
<channel-type id="temperature-channel">
|
<channel-type id="temperature-channel">
|
||||||
<item-type>Number:Temperature</item-type>
|
<item-type>Number:Temperature</item-type>
|
||||||
<label>Temperature</label>
|
<label>Temperature</label>
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<update:update-descriptions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:update="https://openhab.org/schemas/update-description/v1.0.0"
|
||||||
|
xsi:schemaLocation="https://openhab.org/schemas/update-description/v1.0.0 https://openhab.org/schemas/update-description-1.0.0.xsd">
|
||||||
|
|
||||||
|
<thing-type uid="mystrom:mystromplug">
|
||||||
|
<instruction-set targetVersion="1">
|
||||||
|
<add-channel id="energy-consumed-since-last-call">
|
||||||
|
<type>mystrom:energy-consumed-since-last-call-channel</type>
|
||||||
|
<label>Energy Consumption</label>
|
||||||
|
</add-channel>
|
||||||
|
</instruction-set>
|
||||||
|
</thing-type>
|
||||||
|
|
||||||
|
</update:update-descriptions>
|
Loading…
Reference in New Issue