[shelly] TRV+Motion2 support, various fixes & enhancements (#12325)
* TRV support, various fixes & enhancements Signed-off-by: markus7017 <markus7017@gmail.com> Signed-off-by: Markus Michels <markus7017@gmail.com> * #12236 fixed Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017) Signed-off-by: markus7017 <markus7017@gmail.com> Signed-off-by: Markus Michels <markus7017@gmail.com> * TRV support competed Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017) Signed-off-by: markus7017 <markus7017@gmail.com> Signed-off-by: Markus Michels <markus7017@gmail.com> * Complete TRV support Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017) Signed-off-by: markus7017 <markus7017@gmail.com> Signed-off-by: Markus Michels <markus7017@gmail.com> * - TRV polling optimized Signed-off-by: markus7017 <markus7017@gmail.com> Signed-off-by: Markus Michels <markus7017@gmail.com> * # WARNING: head commit changed in the meantime - Shelly Motion 2 support - TRV polling optimized - channel creatiom of ledStatusLed fixed if no ledPowerLed was created - Handling of sensor.status_error fixed when = no error (0/"0") - channel timerActive was missing for Dimmer 1/2 - Motion timestamp channels were 1h off - exception with data format while initializing a bulb fixed - README updated Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017) Signed-off-by: markus7017 <markus7017@gmail.com> Signed-off-by: Markus Michels <markus7017@gmail.com> * - added new TRV value boost minute, polling remnoved on valve position changes (req. latest firmware) - fix: don't create accu channels for roller - fix: fix Id for some status messages Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017) Signed-off-by: Markus Michels <markus7017@gmail.com> * log types revised Signed-off-by: Markus Michels <markus7017@gmail.com> (github: markus7017) Signed-off-by: Markus Michels <markus7017@gmail.com>
This commit is contained in:
@@ -67,8 +67,10 @@ public class ShellyBindingConstants {
|
||||
public static final String THING_TYPE_SHELLYDOORWIN2_STR = "shellydw2";
|
||||
public static final String THING_TYPE_SHELLYEYE_STR = "shellyseye";
|
||||
public static final String THING_TYPE_SHELLYSENSE_STR = "shellysense";
|
||||
public static final String THING_TYPE_SHELLYTRV_STR = "shellytrv";
|
||||
public static final String THING_TYPE_SHELLYMOTION_STR = "shellymotion";
|
||||
public static final String THING_TYPE_SHELLYBUTTON1_STR = "shellybutton1";
|
||||
public static final String THING_TYPE_SHELLYBUTTON2_STR = "shellybutton2";
|
||||
public static final String THING_TYPE_SHELLYUNI_STR = "shellyuni";
|
||||
public static final String THING_TYPE_SHELLYPROTECTED_STR = "shellydevice";
|
||||
public static final String THING_TYPE_SHELLYUNKNOWN_STR = "shellyunknown";
|
||||
@@ -90,6 +92,7 @@ public class ShellyBindingConstants {
|
||||
public static final String SHELLYDT_DW2 = "SHDW-2";
|
||||
public static final String SHELLYDT_SENSE = "SHSEN-1";
|
||||
public static final String SHELLYDT_MOTION = "SHMOS-01";
|
||||
public static final String SHELLYDT_MOTION2 = "SHMOS-02";
|
||||
public static final String SHELLYDT_GAS = "SHGS-1";
|
||||
public static final String SHELLYDT_DIMMER = "SHDM-1";
|
||||
public static final String SHELLYDT_DIMMER2 = "SHDM-2";
|
||||
@@ -100,7 +103,9 @@ public class ShellyBindingConstants {
|
||||
public static final String SHELLYDT_VINTAGE = "SHVIN-1";
|
||||
public static final String SHELLYDT_RGBW2 = "SHRGBW2";
|
||||
public static final String SHELLYDT_BUTTON1 = "SHBTN-1";
|
||||
public static final String SHELLYDT_BUTTON2 = "SHBTN-2";
|
||||
public static final String SHELLYDT_UNI = "SHUNI-1";
|
||||
public static final String SHELLYDT_TRV = "SHTRV-01";
|
||||
|
||||
// List of all Thing Type UIDs
|
||||
public static final ThingTypeUID THING_TYPE_SHELLY1 = new ThingTypeUID(BINDING_ID, THING_TYPE_SHELLY1_STR);
|
||||
@@ -142,8 +147,11 @@ public class ShellyBindingConstants {
|
||||
THING_TYPE_SHELLYDOORWIN_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLYDOORWIN2 = new ThingTypeUID(BINDING_ID,
|
||||
THING_TYPE_SHELLYDOORWIN2_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLYTRV = new ThingTypeUID(BINDING_ID, THING_TYPE_SHELLYTRV_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLYBUTTON1 = new ThingTypeUID(BINDING_ID,
|
||||
THING_TYPE_SHELLYBUTTON1_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLYBUTTON2 = new ThingTypeUID(BINDING_ID,
|
||||
THING_TYPE_SHELLYBUTTON2_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLYEYE = new ThingTypeUID(BINDING_ID, THING_TYPE_SHELLYEYE_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLMOTION = new ThingTypeUID(BINDING_ID, THING_TYPE_SHELLYMOTION_STR);
|
||||
public static final ThingTypeUID THING_TYPE_SHELLYRGBW2_COLOR = new ThingTypeUID(BINDING_ID,
|
||||
@@ -162,9 +170,10 @@ public class ShellyBindingConstants {
|
||||
THING_TYPE_SHELLYPLUGS, THING_TYPE_SHELLYPLUGU1, THING_TYPE_SHELLYUNI, THING_TYPE_SHELLYDIMMER,
|
||||
THING_TYPE_SHELLYDIMMER2, THING_TYPE_SHELLYIX3, THING_TYPE_SHELLYBULB, THING_TYPE_SHELLYDUO,
|
||||
THING_TYPE_SHELLYVINTAGE, THING_TYPE_SHELLYDUORGBW, THING_TYPE_SHELLYRGBW2_COLOR,
|
||||
THING_TYPE_SHELLYRGBW2_WHITE, THING_TYPE_SHELLYHT, THING_TYPE_SHELLYSENSE, THING_TYPE_SHELLYEYE,
|
||||
THING_TYPE_SHELLYSMOKE, THING_TYPE_SHELLYGAS, THING_TYPE_SHELLYFLOOD, THING_TYPE_SHELLYDOORWIN,
|
||||
THING_TYPE_SHELLYDOORWIN2, THING_TYPE_SHELLYBUTTON1, THING_TYPE_SHELLMOTION,
|
||||
THING_TYPE_SHELLYRGBW2_WHITE, THING_TYPE_SHELLYHT, THING_TYPE_SHELLYTRV, THING_TYPE_SHELLYSENSE,
|
||||
THING_TYPE_SHELLYEYE, THING_TYPE_SHELLYSMOKE, THING_TYPE_SHELLYGAS, THING_TYPE_SHELLYFLOOD,
|
||||
THING_TYPE_SHELLYDOORWIN, THING_TYPE_SHELLYDOORWIN2, THING_TYPE_SHELLYBUTTON1,
|
||||
THING_TYPE_SHELLYBUTTON2, THING_TYPE_SHELLMOTION, THING_TYPE_SHELLMOTION,
|
||||
THING_TYPE_SHELLYPROTECTED, THING_TYPE_SHELLYUNKNOWN).collect(Collectors.toSet()));
|
||||
|
||||
// Thing Configuration Properties
|
||||
@@ -242,23 +251,30 @@ public class ShellyBindingConstants {
|
||||
public static final String CHANNEL_SENSOR_TILT = "tilt";
|
||||
public static final String CHANNEL_SENSOR_FLOOD = "flood";
|
||||
public static final String CHANNEL_SENSOR_SMOKE = "smoke";
|
||||
public static final String CHANNEL_SENSOR_CONTACT = "state";
|
||||
public static final String CHANNEL_SENSOR_STATE = "state";
|
||||
public static final String CHANNEL_SENSOR_VALVE = "valve";
|
||||
public static final String CHANNEL_SENSOR_SSTATE = "status"; // Shelly Gas
|
||||
public static final String CHANNEL_SENSOR_ALARM_STATE = "alarmState";
|
||||
public static final String CHANNEL_SENSOR_MOTION_ACT = "motionActive";
|
||||
public static final String CHANNEL_SENSOR_MOTION = "motion";
|
||||
public static final String CHANNEL_SENSOR_MOTION_TS = "motionTimestamp";
|
||||
public static final String CHANNEL_SENSOR_SLEEPTIME = "sensorSleepTime";
|
||||
public static final String CHANNEL_SENSOR_ALARM_STATE = "alarmState";
|
||||
public static final String CHANNEL_SENSOR_ERROR = "lastError";
|
||||
|
||||
public static final String CHANNEL_CONTROL_SETTEMP = "targetTemp"; // Shelly TRV: target temp
|
||||
public static final String CHANNEL_CONTROL_POSITION = "position"; // Shelly TRV: Valve position
|
||||
public static final String CHANNEL_CONTROL_MODE = "mode"; // Shelly TRV
|
||||
public static final String CHANNEL_CONTROL_PROFILE = "profile"; // Shelly TRV
|
||||
public static final String CHANNEL_CONTROL_BCONTROL = "boost"; // Shelly TRV
|
||||
public static final String CHANNEL_CONTROL_BTIMER = "boostTimer"; // Shelly TRV
|
||||
|
||||
// External sensors for Shelly1/1PM
|
||||
public static final String CHANNEL_ESENDOR_TEMP1 = CHANNEL_SENSOR_TEMP + "1";
|
||||
public static final String CHANNEL_ESENDOR_TEMP2 = CHANNEL_SENSOR_TEMP + "2";
|
||||
public static final String CHANNEL_ESENDOR_TEMP3 = CHANNEL_SENSOR_TEMP + "3";
|
||||
public static final String CHANNEL_ESENDOR_HUMIDITY = CHANNEL_SENSOR_HUM;
|
||||
|
||||
public static final String CHANNEL_GROUP_SENSE_CONTROL = "control";
|
||||
public static final String CHANNEL_GROUP_CONTROL = "control";
|
||||
public static final String CHANNEL_SENSE_KEY = "key";
|
||||
|
||||
public static final String CHANNEL_GROUP_BATTERY = "battery";
|
||||
@@ -302,6 +318,8 @@ public class ShellyBindingConstants {
|
||||
public static final String CHANNEL_DEVST_UPDATE = "updateAvailable";
|
||||
public static final String CHANNEL_DEVST_SELFTTEST = "selfTest";
|
||||
public static final String CHANNEL_DEVST_VOLTAGE = "supplyVoltage";
|
||||
public static final String CHANNEL_DEVST_CALIBRATED = "calibrated";
|
||||
public static final String CHANNEL_DEVST_SCHEDULE = "schedule";
|
||||
|
||||
public static final String CHANNEL_LED_STATUS_DISABLE = "statusLed";
|
||||
public static final String CHANNEL_LED_POWER_DISABLE = "powerLed";
|
||||
@@ -336,6 +354,7 @@ public class ShellyBindingConstants {
|
||||
public static final String ALARM_TYPE_LOADERR = "LOAD_ERROR";
|
||||
public static final String ALARM_TYPE_SENSOR_ERROR = "SENSOR_ERROR";
|
||||
public static final String ALARM_TYPE_LOW_BATTERY = "LOW_BATTERY";
|
||||
public static final String ALARM_TYPE_VALVE_ERROR = "VALVE_ERROR";
|
||||
public static final String EVENT_TYPE_VIBRATION = "VIBRATION";
|
||||
|
||||
// Event types
|
||||
@@ -358,7 +377,7 @@ public class ShellyBindingConstants {
|
||||
public static final int DIGITS_LUX = 0;
|
||||
public static final int DIGITS_PERCENT = 1;
|
||||
|
||||
public static final int SHELLY_API_TIMEOUT_MS = 5000;
|
||||
public static final int SHELLY_API_TIMEOUT_MS = 15000;
|
||||
public static final int UPDATE_STATUS_INTERVAL_SECONDS = 3; // check for updates every x sec
|
||||
public static final int UPDATE_SKIP_COUNT = 20; // update every x triggers or when a key was pressed
|
||||
public static final int UPDATE_MIN_DELAY = 15;// update every x triggers or when a key was pressed
|
||||
|
||||
@@ -101,6 +101,9 @@ public class ShellyHandlerFactory extends BaseThingHandlerFactory {
|
||||
logger.debug("Using OH HTTP port {}", httpPort);
|
||||
|
||||
this.coapServer = new ShellyCoapServer();
|
||||
|
||||
// Promote Shelly Manager usage
|
||||
logger.info("{}", messages.get("status.managerstarted", localIP, httpPort));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -55,6 +55,13 @@ public class ShellyApiJsonDTO {
|
||||
|
||||
public static final String SHELLY_URL_SETTINGS_DIMMER = "/settings/light";
|
||||
|
||||
// Wakeup reasons
|
||||
public static final String SHELLY_WAKEUPT_SENSOR = "SENSOR"; // new sensordata
|
||||
public static final String SHELLY_WAKEUPT_PERIODIC = "PERIODIC"; // periodic wakeup
|
||||
public static final String SHELLY_WAKEUPT_BUTTON = "BUTTON"; // button pressed
|
||||
public static final String SHELLY_WAKEUPT_POWERON = "POWERON"; // device powered up
|
||||
public static final String SHELLY_WAKEUPT_UNKNOWN = "UNKNOWN"; // other event
|
||||
|
||||
//
|
||||
// Action URLs according to the device type
|
||||
//
|
||||
@@ -230,6 +237,13 @@ public class ShellyApiJsonDTO {
|
||||
// Motion
|
||||
public static final int SHELLY_MOTION_SLEEPTIME_OFFSET = 3; // we need to substract and offset
|
||||
|
||||
// TRV
|
||||
public static final int SHELLY_TRV_MIN_TEMP = 5; // < 5: means: lowest (valve fully closed)
|
||||
public static final int SHELLY_TRV_MAX_TEMP = 30; // > 30: means: highest (valve fully open)
|
||||
|
||||
public static final String SHELLY_TRV_MODE_MANUAL = "manual";
|
||||
public static final String SHELLY_TRV_MODE_AUTO = "automatic";
|
||||
|
||||
// CoIoT Multicast setting
|
||||
public static final String SHELLY_COIOT_MCAST = "mcast";
|
||||
|
||||
@@ -574,6 +588,7 @@ public class ShellyApiJsonDTO {
|
||||
public String mode;
|
||||
@SerializedName("max_power")
|
||||
public Double maxPower;
|
||||
public Boolean calibrated;
|
||||
|
||||
public ArrayList<ShellySettingsRelay> relays;
|
||||
public Double voltage; // AC voltage for Shelly 2.5
|
||||
@@ -584,6 +599,8 @@ public class ShellyApiJsonDTO {
|
||||
public ArrayList<ShellySettingsEMeter> emeters;
|
||||
public ArrayList<ShellySettingsInput> inputs; // ix3
|
||||
|
||||
public ArrayList<ShellyThermnostat> thermostats; // TRV
|
||||
|
||||
@SerializedName("temperature_units")
|
||||
public String temperatureUnits; // Either'C'or'F'
|
||||
|
||||
@@ -699,6 +716,10 @@ public class ShellyApiJsonDTO {
|
||||
public Boolean loaderror;
|
||||
public Boolean overload;
|
||||
|
||||
// Shelly TRV
|
||||
public Boolean calibrated;
|
||||
public ArrayList<ShellyThermnostat> thermostats;
|
||||
|
||||
public ShellySettingsUpdate update;
|
||||
@SerializedName("ram_total")
|
||||
public Long ramTotal;
|
||||
@@ -754,6 +775,9 @@ public class ShellyApiJsonDTO {
|
||||
public Boolean ison; // Whether output channel is on or off
|
||||
public String mode; // color or white - valid only for Bulb and RGBW2 even Dimmer returns it also
|
||||
public Integer brightness; // brightness: 0.100%
|
||||
|
||||
@SerializedName("has_timer")
|
||||
public Boolean hasTimer;
|
||||
}
|
||||
|
||||
public static class ShellyStatusRelay {
|
||||
@@ -828,6 +852,34 @@ public class ShellyApiJsonDTO {
|
||||
public String unit;
|
||||
}
|
||||
|
||||
// Shelly TRV
|
||||
public class ShellyThermnostat {
|
||||
public class ShellyThermTargetTemp {
|
||||
public Boolean enabled;
|
||||
public Double value;
|
||||
public String unit;
|
||||
}
|
||||
|
||||
public class ShellyThermTemp {
|
||||
public Double value;
|
||||
public String units;
|
||||
@SerializedName("is_valid")
|
||||
public Boolean isValid;
|
||||
}
|
||||
|
||||
public Double pos;
|
||||
@SerializedName("target_t")
|
||||
public ShellyThermTargetTemp targetTemp;
|
||||
public Boolean schedule;
|
||||
@SerializedName("schedule_profile")
|
||||
public Integer profile;
|
||||
@SerializedName("schedule_profile_names")
|
||||
public String[] profileNames;
|
||||
public ShellyThermTemp tmp;
|
||||
@SerializedName("boost_minutes")
|
||||
public Integer boostMinutes;
|
||||
}
|
||||
|
||||
public static class ShellyStatusSensor {
|
||||
// https://shelly-api-docs.shelly.cloud/#h-amp-t-settings
|
||||
public static class ShellySensorTmp {
|
||||
@@ -931,7 +983,7 @@ public class ShellyApiJsonDTO {
|
||||
public Boolean rainSensor; // Shelly Flood: true=in rain mode
|
||||
|
||||
public Boolean motion; // Shelly Sense: true=motion detected
|
||||
public Boolean charger; // Shelly Sense: true=charger connected
|
||||
public Boolean charger; // Shelly Sense, TRV: true=charger connected
|
||||
|
||||
@SerializedName("act_reasons")
|
||||
public List<Object> actReasons; // HT/Smoke/Flood: list of reasons which woke up the device
|
||||
@@ -953,6 +1005,10 @@ public class ShellyApiJsonDTO {
|
||||
|
||||
// Shelly UNI FW 1.9+
|
||||
public ArrayList<ShellyADC> adcs;
|
||||
|
||||
// Shelly TRV
|
||||
public Boolean calibrated;
|
||||
public ArrayList<ShellyThermnostat> thermostats;
|
||||
}
|
||||
|
||||
public static class ShellySettingsSmoke {
|
||||
|
||||
@@ -93,6 +93,7 @@ public class ShellyDeviceProfile {
|
||||
public boolean isDW = false; // true for Door Window sensor
|
||||
public boolean isButton = false; // true for a Shelly Button 1
|
||||
public boolean isIX3 = false; // true for a Shelly IX
|
||||
public boolean isTRV = false; // true for a Shelly TRV
|
||||
|
||||
public int minTemp = 0; // Bulb/Duo: Min Light Temp
|
||||
public int maxTemp = 0; // Bulb/Duo: Max Light Temp
|
||||
@@ -154,7 +155,7 @@ public class ShellyDeviceProfile {
|
||||
updatePeriod = getString(settings.sleepMode.unit).equalsIgnoreCase("m") ? settings.sleepMode.period * 60 // minutes
|
||||
: settings.sleepMode.period * 3600; // hours
|
||||
updatePeriod += 60; // give 1min extra
|
||||
} else if ((settings.coiot != null) && (settings.coiot.updatePeriod != null)) {
|
||||
} else if ((settings.coiot != null) && settings.coiot.updatePeriod != null && !isTRV) {
|
||||
// Derive from CoAP update interval, usually 2*15+10s=40sec -> 70sec
|
||||
updatePeriod = Math.max(UPDATE_SETTINGS_INTERVAL_SECONDS, 2 * getInteger(settings.coiot.updatePeriod)) + 10;
|
||||
} else {
|
||||
@@ -204,9 +205,10 @@ public class ShellyDeviceProfile {
|
||||
isMotion = thingType.startsWith(THING_TYPE_SHELLYMOTION_STR);
|
||||
isSense = thingType.equals(THING_TYPE_SHELLYSENSE_STR);
|
||||
isIX3 = thingType.equals(THING_TYPE_SHELLYIX3_STR);
|
||||
isButton = thingType.equals(THING_TYPE_SHELLYBUTTON1_STR);
|
||||
isSensor = isHT || isFlood || isDW || isSmoke || isGas || isButton || isUNI || isMotion || isSense;
|
||||
hasBattery = isHT || isFlood || isDW || isSmoke || isButton || isMotion;
|
||||
isButton = thingType.equals(THING_TYPE_SHELLYBUTTON1_STR) || thingType.equals(THING_TYPE_SHELLYBUTTON2_STR);
|
||||
isSensor = isHT || isFlood || isDW || isSmoke || isGas || isButton || isUNI || isMotion || isSense || isTRV;
|
||||
hasBattery = isHT || isFlood || isDW || isSmoke || isButton || isMotion || isTRV;
|
||||
isTRV = thingType.equals(THING_TYPE_SHELLYTRV_STR);
|
||||
|
||||
alwaysOn = !hasBattery || isMotion || isSense; // true means: device is reachable all the time (no sleep mode)
|
||||
}
|
||||
|
||||
@@ -199,8 +199,8 @@ public class ShellyHttpApi {
|
||||
status.tmp.tC = status.tmp.units.equals(SHELLY_TEMP_CELSIUS) ? status.tmp.value
|
||||
: ImperialUnits.FAHRENHEIT.getConverterTo(SIUnits.CELSIUS).convert(getDouble(status.tmp.value))
|
||||
.doubleValue();
|
||||
double f = SIUnits.CELSIUS.getConverterTo(ImperialUnits.FAHRENHEIT).convert(getDouble(status.tmp.value))
|
||||
.doubleValue();
|
||||
double f = (double) SIUnits.CELSIUS.getConverterTo(ImperialUnits.FAHRENHEIT)
|
||||
.convert(getDouble(status.tmp.value));
|
||||
status.tmp.tF = status.tmp.units.equals(SHELLY_TEMP_FAHRENHEIT) ? status.tmp.value : f;
|
||||
}
|
||||
if ((status.charger == null) && (profile.settings.externalPower != null)) {
|
||||
@@ -225,6 +225,36 @@ public class ShellyHttpApi {
|
||||
request(SHELLY_URL_SETTINGS + "?sleep_time=" + value);
|
||||
}
|
||||
|
||||
public void setTemperature(int valveId, int value) throws ShellyApiException {
|
||||
request("/thermostat/" + valveId + "?target_t_enabled=1&target_t=" + value);
|
||||
}
|
||||
|
||||
public void setValveMode(int valveId, boolean auto) throws ShellyApiException {
|
||||
String uri = "/settings/thermostat/" + valveId + "?target_t_enabled=" + (auto ? "1" : "0");
|
||||
if (auto) {
|
||||
uri = uri + "&target_t=" + getDouble(profile.settings.thermostats.get(0).targetTemp.value);
|
||||
}
|
||||
request(uri); // percentage to open the valve
|
||||
}
|
||||
|
||||
public void setProfile(int valveId, int value) throws ShellyApiException {
|
||||
String uri = "/settings/thermostat/" + valveId + "?";
|
||||
request(uri + (value == 0 ? "schedule=0" : "schedule=1&schedule_profile=" + value));
|
||||
}
|
||||
|
||||
public void setValvePosition(int valveId, double value) throws ShellyApiException {
|
||||
request("/thermostat/" + valveId + "?pos=" + value); // percentage to open the valve
|
||||
}
|
||||
|
||||
public void setBoostTime(int valveId, int value) throws ShellyApiException {
|
||||
request("/settings/thermostat/" + valveId + "?boost_minutes=" + value);
|
||||
}
|
||||
|
||||
public void startBoost(int valveId, int value) throws ShellyApiException {
|
||||
int minutes = value != -1 ? value : getInteger(profile.settings.thermostats.get(0).boostMinutes);
|
||||
request("/thermostat/" + valveId + "?boost_minutes=" + minutes);
|
||||
}
|
||||
|
||||
public void setLedStatus(String ledName, Boolean value) throws ShellyApiException {
|
||||
request(SHELLY_URL_SETTINGS + "?" + ledName + "=" + (value ? SHELLY_API_TRUE : SHELLY_API_FALSE));
|
||||
}
|
||||
|
||||
@@ -127,6 +127,8 @@ public class ShellyCoIoTProtocol {
|
||||
s.value == 1 ? OnOffType.ON : OnOffType.OFF);
|
||||
break;
|
||||
case "vibration": // DW with FW1.6.5+
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_VIBRATION,
|
||||
s.value == 1 ? OnOffType.ON : OnOffType.OFF);
|
||||
if (s.value == 1) {
|
||||
thingHandler.triggerChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_ALARM_STATE,
|
||||
EVENT_TYPE_VIBRATION);
|
||||
@@ -166,7 +168,8 @@ public class ShellyCoIoTProtocol {
|
||||
ShellyColorUtils.toPercent((int) s.value, SHELLY_MIN_GAIN, SHELLY_MAX_GAIN));
|
||||
break;
|
||||
case "sensorerror":
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_ERROR, getStringType(s.valueStr));
|
||||
String sensorError = s.valueStr != null ? getString(s.valueStr) : "" + s.value;
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_ERROR, getStringType(sensorError));
|
||||
break;
|
||||
default:
|
||||
// Unknown
|
||||
@@ -280,10 +283,10 @@ public class ShellyCoIoTProtocol {
|
||||
} else if (profile.isSensor) {
|
||||
// Sensor state
|
||||
if (profile.isDW) { // Door Window has item type Contact
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_CONTACT,
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE,
|
||||
s.value != 0 ? OpenClosedType.OPEN : OpenClosedType.CLOSED);
|
||||
} else {
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_CONTACT,
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE,
|
||||
s.value == 1 ? OnOffType.ON : OnOffType.OFF);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ import org.openhab.core.library.types.OpenClosedType;
|
||||
import org.openhab.core.library.unit.SIUnits;
|
||||
import org.openhab.core.library.unit.Units;
|
||||
import org.openhab.core.types.State;
|
||||
import org.openhab.core.types.UnDefType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -86,8 +87,53 @@ public class ShellyCoIoTVersion2 extends ShellyCoIoTProtocol implements ShellyCo
|
||||
boolean processed = true;
|
||||
double value = getDouble(s.value);
|
||||
String reason = "";
|
||||
|
||||
if (profile.isTRV) {
|
||||
// Special handling for TRV, because it uses duplicate ID values with different meanings
|
||||
switch (sen.id) {
|
||||
case "3101": // current temp
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_TEMP,
|
||||
toQuantityType(value, DIGITS_TEMP, SIUnits.CELSIUS));
|
||||
break;
|
||||
case "3103": // target temp in C. 4/31, 999=unknown
|
||||
updateChannel(updates, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_SETTEMP,
|
||||
toQuantityType(value, DIGITS_TEMP, SIUnits.CELSIUS));
|
||||
break;
|
||||
case "3116": // S, valveError, 0/1
|
||||
if (s.value == 1) {
|
||||
thingHandler.postEvent(ALARM_TYPE_VALVE_ERROR, false);
|
||||
}
|
||||
break;
|
||||
case "3117": // S, mode, 0-5 (0=disabled)
|
||||
value = getDouble(s.value).intValue();
|
||||
updateChannel(updates, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_PROFILE, getDecimal(value));
|
||||
updateChannel(updates, CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_SCHEDULE, getOnOff(value > 0));
|
||||
break;
|
||||
case "3118": // Valve state
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE,
|
||||
value != 0 ? OpenClosedType.OPEN : OpenClosedType.CLOSED);
|
||||
break;
|
||||
case "3121": // valvePos, Type=S, Range=0/100;
|
||||
updateChannel(updates, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_POSITION,
|
||||
s.value != -1 ? toQuantityType(getDouble(s.value), 0, Units.PERCENT) : UnDefType.UNDEF);
|
||||
break;
|
||||
case "3122": // boostMinutes
|
||||
updateChannel(updates, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_BTIMER,
|
||||
s.value != -1 ? toQuantityType(s.value, DIGITS_NONE, Units.MINUTE) : UnDefType.UNDEF);
|
||||
break;
|
||||
default:
|
||||
processed = false;
|
||||
}
|
||||
} else {
|
||||
processed = false;
|
||||
}
|
||||
|
||||
if (processed) {
|
||||
return true;
|
||||
}
|
||||
|
||||
processed = true;
|
||||
switch (sen.id) {
|
||||
case "3103": // H, humidity, 0-100 percent, unknown 999
|
||||
case "3106": // L, luminosity, lux, U32, -1
|
||||
case "3110": // S, luminosityLevel, dark/twilight/bright, "unknown"=unknown
|
||||
case "3111": // B, battery, 0-100%, unknown -1
|
||||
@@ -121,7 +167,7 @@ public class ShellyCoIoTVersion2 extends ShellyCoIoTProtocol implements ShellyCo
|
||||
updateChannel(updates, CHANNEL_GROUP_ROL_CONTROL, CHANNEL_ROL_CONTROL_POS,
|
||||
toQuantityType((double) pos, Units.PERCENT));
|
||||
break;
|
||||
case "1105": // S, valvle, closed/opened/not_connected/failure/closing/opening/checking or unbknown
|
||||
case "1105": // Gas: S, valve, closed/opened/not_connected/failure/closing/opening/checking or unknown
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_VALVE, getStringType(s.valueStr));
|
||||
break;
|
||||
|
||||
@@ -150,13 +196,20 @@ public class ShellyCoIoTVersion2 extends ShellyCoIoTProtocol implements ShellyCo
|
||||
if (idx >= 0) {
|
||||
// H&T, Fllod, DW only have 1 channel, 1/1PM with Addon have up to to 3 sensors
|
||||
String channel = profile.isSensor ? CHANNEL_SENSOR_TEMP : CHANNEL_SENSOR_TEMP + idx;
|
||||
// Some devices report values = -999 or 99 during fw update
|
||||
boolean valid = value > -50 && value < 90;
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, channel,
|
||||
toQuantityType(value, DIGITS_TEMP, SIUnits.CELSIUS));
|
||||
valid ? toQuantityType(value, DIGITS_TEMP, SIUnits.CELSIUS) : UnDefType.UNDEF);
|
||||
} else {
|
||||
logger.debug("{}: Unable to get extSensorId {} from {}/{}", thingName, sen.id, sen.type, sen.desc);
|
||||
}
|
||||
break;
|
||||
case "3104": // T, deviceTemp, Celsius -40/300; 999=unknown
|
||||
if ("targetTemp".equalsIgnoreCase(sen.desc)) {
|
||||
|
||||
break; // target temp in F-> ignore
|
||||
}
|
||||
// sensor_0: T, internalTemp, F, 39/88, unknown 999
|
||||
updateChannel(updates, CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_ITEMP,
|
||||
toQuantityType(value, DIGITS_NONE, SIUnits.CELSIUS));
|
||||
break;
|
||||
@@ -172,7 +225,7 @@ public class ShellyCoIoTVersion2 extends ShellyCoIoTProtocol implements ShellyCo
|
||||
break;
|
||||
case "3108": // DW: S, dwIsOpened, 0/1, -1=unknown
|
||||
if (value != -1) {
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_CONTACT,
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE,
|
||||
value != 0 ? OpenClosedType.OPEN : OpenClosedType.CLOSED);
|
||||
} else {
|
||||
logger.debug("{}: Sensor error reported, check device, battery and installation", thingName);
|
||||
@@ -302,29 +355,27 @@ public class ShellyCoIoTVersion2 extends ShellyCoIoTProtocol implements ShellyCo
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_MOTION,
|
||||
value == 1 ? OnOffType.ON : OnOffType.OFF);
|
||||
break;
|
||||
case "3119": // Motion timestamp
|
||||
case "3119": // Motion timestamp (timestamp os GMT, not adapted to the adapted timezone)
|
||||
// {"I":3119,"T":"S","D":"timestamp","U":"s","R":["U32","-1"],"L":1},
|
||||
if (s.value != 0) {
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_MOTION_TS,
|
||||
getTimestamp(getString(profile.settings.timezone), (long) s.value));
|
||||
getTimestamp(getString("GMT"), (long) s.value));
|
||||
}
|
||||
break;
|
||||
case "3120": // motionActive
|
||||
case "3120": // motionActive (timestamp os GMT, not adapted to the adapted timezone)
|
||||
// {"I":3120,"T":"S","D":"motionActive","R":["0/1","-1"],"L":1},
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_MOTION_ACT,
|
||||
getTimestamp(getString(profile.settings.timezone), (long) s.value));
|
||||
getTimestamp("GMT", (long) s.value));
|
||||
break;
|
||||
|
||||
case "6108": // A, gas, none/mild/heavy/test or unknown
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_ALARM_STATE, getStringType(s.valueStr));
|
||||
break;
|
||||
case "6110": // A, vibration, 0/1, -1=unknown
|
||||
if (profile.isMotion) {
|
||||
// handle as status
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_VIBRATION,
|
||||
s.value == 1 ? OnOffType.ON : OnOffType.OFF);
|
||||
} else if (s.value == 1) {
|
||||
// handle as event
|
||||
updateChannel(updates, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_VIBRATION,
|
||||
s.value == 1 ? OnOffType.ON : OnOffType.OFF);
|
||||
if (s.value == 1) {
|
||||
// post event
|
||||
thingHandler.triggerChannel(CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_ALARM, EVENT_TYPE_VIBRATION);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -525,7 +525,7 @@ public class ShellyCoapHandler implements ShellyCoapListener {
|
||||
// Old firmware release are lacking various status values, which are not updated using CoIoT.
|
||||
// In this case we keep a refresh so it gets polled using REST. Beginning with Firmware 1.6 most
|
||||
// of the values are available
|
||||
if ((!thingHandler.autoCoIoT && (thingHandler.scheduledUpdates <= 1))
|
||||
if ((!thingHandler.autoCoIoT && (thingHandler.scheduledUpdates < 1))
|
||||
|| (thingHandler.autoCoIoT && !profile.isLight && !profile.hasBattery)) {
|
||||
thingHandler.requestUpdates(1, false);
|
||||
}
|
||||
|
||||
@@ -53,7 +53,13 @@ public class ShellyBindingConfiguration {
|
||||
localIP = (String) e.getValue();
|
||||
break;
|
||||
case CONFIG_AUTOCOIOT:
|
||||
autoCoIoT = (boolean) e.getValue();
|
||||
Object value = e.getValue();
|
||||
if (value instanceof String) {
|
||||
// support config through shelly.cfg
|
||||
autoCoIoT = ((String) value).equalsIgnoreCase("true");
|
||||
} else {
|
||||
autoCoIoT = (boolean) value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,8 +51,11 @@ public class ShellyThingCreator {
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_DIMMER2, THING_TYPE_SHELLYDIMMER2_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_IX3, THING_TYPE_SHELLYIX3_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_BUTTON1, THING_TYPE_SHELLYBUTTON1_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_BUTTON2, THING_TYPE_SHELLYBUTTON2_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_UNI, THING_TYPE_SHELLYUNI_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_HT, THING_TYPE_SHELLYHT_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_TRV, THING_TYPE_SHELLYTRV_STR);
|
||||
THING_TYPE_MAPPING.put(SHELLYDT_MOTION, THING_TYPE_SHELLYMOTION_STR);
|
||||
|
||||
// mapping by thing type
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLY1_STR, THING_TYPE_SHELLY1_STR);
|
||||
@@ -73,11 +76,13 @@ public class ShellyThingCreator {
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYSMOKE_STR, THING_TYPE_SHELLYSMOKE_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYGAS_STR, THING_TYPE_SHELLYGAS_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYFLOOD_STR, THING_TYPE_SHELLYFLOOD_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYTRV_STR, THING_TYPE_SHELLYTRV_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYDOORWIN_STR, THING_TYPE_SHELLYDOORWIN_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYDOORWIN2_STR, THING_TYPE_SHELLYDOORWIN2_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYSENSE_STR, THING_TYPE_SHELLYSENSE_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYEYE_STR, THING_TYPE_SHELLYEYE_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYBUTTON1_STR, THING_TYPE_SHELLYBUTTON1_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYBUTTON2_STR, THING_TYPE_SHELLYBUTTON2_STR);
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYUNI_STR, THING_TYPE_SHELLYUNI_STR);
|
||||
|
||||
THING_TYPE_MAPPING.put(THING_TYPE_SHELLYPROTECTED_STR, THING_TYPE_SHELLYPROTECTED_STR);
|
||||
|
||||
@@ -270,7 +270,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
api.setCoIoTPeer(ourpeer);
|
||||
logger.info("{}: CoIoT peer updated to {}", thingName, ourpeer);
|
||||
} catch (ShellyApiException e) {
|
||||
logger.debug("{}: Unable to set CoIoT peer: {}", thingName, e.toString());
|
||||
logger.warn("{}: Unable to set CoIoT peer: {}", thingName, e.toString());
|
||||
}
|
||||
} else if (!devpeer.isEmpty() && !devpeer.equals(ourpeer)) {
|
||||
logger.warn("{}: CoIoT peer in device settings does not point this to this host", thingName);
|
||||
@@ -344,11 +344,40 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
|
||||
case CHANNEL_SENSOR_SLEEPTIME:
|
||||
logger.debug("{}: Set sensor sleep time to {}", thingName, command);
|
||||
int value = ((DecimalType) command).intValue();
|
||||
int value = (int) getNumber(command);
|
||||
value = value > 0 ? Math.max(SHELLY_MOTION_SLEEPTIME_OFFSET, value - SHELLY_MOTION_SLEEPTIME_OFFSET)
|
||||
: 0;
|
||||
api.setSleepTime(value);
|
||||
break;
|
||||
case CHANNEL_CONTROL_PROFILE:
|
||||
logger.debug("{}: Select profile {}", thingName, command);
|
||||
int profile = (int) getNumber(command);
|
||||
if (profile < 0 || profile > 5) {
|
||||
logger.warn("{}: Invalid profile Id {} requested", thingName, profile);
|
||||
break;
|
||||
}
|
||||
api.setProfile(0, profile);
|
||||
break;
|
||||
case CHANNEL_CONTROL_MODE:
|
||||
logger.debug("{}: Set mode to {}", thingName, command);
|
||||
api.setValveMode(0, SHELLY_TRV_MODE_AUTO.equalsIgnoreCase(command.toString()));
|
||||
break;
|
||||
case CHANNEL_CONTROL_SETTEMP:
|
||||
logger.debug("{}: Set temperature to {}", thingName, command);
|
||||
api.setTemperature(0, (int) getNumber(command));
|
||||
break;
|
||||
case CHANNEL_CONTROL_POSITION:
|
||||
logger.debug("{}: Set position to {}", thingName, command);
|
||||
api.setValvePosition(0, getNumber(command));
|
||||
break;
|
||||
case CHANNEL_CONTROL_BCONTROL:
|
||||
logger.debug("{}: Set boost mode to {}", thingName, command);
|
||||
api.startBoost(0, command == OnOffType.ON ? -1 : 0);
|
||||
break;
|
||||
case CHANNEL_CONTROL_BTIMER:
|
||||
logger.debug("{}: Set boost timer to {}", thingName, command);
|
||||
api.setBoostTime(0, (int) getNumber(command));
|
||||
break;
|
||||
|
||||
default:
|
||||
update = handleDeviceCommand(channelUID, command);
|
||||
@@ -356,7 +385,8 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
}
|
||||
|
||||
restartWatchdog();
|
||||
if (update && !autoCoIoT) {
|
||||
if (update && !autoCoIoT && !isUpdateScheduled()) {
|
||||
logger.debug("{}: Command process, request status update", thingName);
|
||||
requestUpdates(1, false);
|
||||
}
|
||||
} catch (ShellyApiException e) {
|
||||
@@ -375,6 +405,19 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
}
|
||||
}
|
||||
|
||||
private double getNumber(Command command) {
|
||||
if (command instanceof QuantityType) {
|
||||
return ((QuantityType<?>) command).doubleValue();
|
||||
}
|
||||
if (command instanceof DecimalType) {
|
||||
return ((DecimalType) command).doubleValue();
|
||||
}
|
||||
if (command instanceof Number) {
|
||||
return ((Number) command).doubleValue();
|
||||
}
|
||||
throw new IllegalArgumentException("Invalid Number type for conversion: " + command);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update device status and channels
|
||||
*/
|
||||
@@ -397,7 +440,8 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
initializeThing(); // may fire an exception if initialization failed
|
||||
}
|
||||
// Get profile, if refreshSettings == true reload settings from device
|
||||
logger.trace("{}: Updating status (refreshSettings={})", thingName, refreshSettings);
|
||||
logger.trace("{}: Updating status (scheduledUpdates={}, refreshSettings={})", thingName,
|
||||
scheduledUpdates, refreshSettings);
|
||||
ShellySettingsStatus status = api.getStatus();
|
||||
boolean restarted = checkRestarted(status);
|
||||
profile = getProfile(refreshSettings || restarted);
|
||||
@@ -486,6 +530,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
updateStatus(ThingStatus.ONLINE);
|
||||
|
||||
// request 3 updates in a row (during the first 2+3*3 sec)
|
||||
logger.debug("{}: Thing went online, request status update", thingName);
|
||||
requestUpdates(profile.alwaysOn ? 3 : 1, !channelsCreated);
|
||||
}
|
||||
restartWatchdog();
|
||||
@@ -494,7 +539,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
@Override
|
||||
public void setThingOffline(ThingStatusDetail detail, String messageKey) {
|
||||
if (!isThingOffline()) {
|
||||
logger.info("{}: Thing goes OFFLINE: {}", thingName, messages.get(messageKey));
|
||||
logger.debug("{}: Thing goes OFFLINE: {}", thingName, messages.get(messageKey));
|
||||
updateStatus(ThingStatus.OFFLINE, detail, "@text/" + messageKey);
|
||||
watchdog = 0;
|
||||
channelsCreated = false; // check for new channels after devices gets re-initialized (e.g. new
|
||||
@@ -591,22 +636,31 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
*
|
||||
* @param alarm Alarm Message
|
||||
*/
|
||||
public void postEvent(String alarm, boolean force) {
|
||||
public void postEvent(String event, boolean force) {
|
||||
String channelId = mkChannelId(CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_ALARM);
|
||||
State value = cache.getValue(channelId);
|
||||
String lastAlarm = value != UnDefType.NULL ? value.toString() : "";
|
||||
|
||||
if (force || !lastAlarm.equals(alarm)
|
||||
|| (lastAlarm.equals(alarm) && now() > stats.lastAlarmTs + HEALTH_CHECK_INTERVAL_SEC)) {
|
||||
if (alarm.isEmpty() || alarm.equals(ALARM_TYPE_NONE)) {
|
||||
cache.updateChannel(channelId, getStringType(alarm));
|
||||
} else {
|
||||
logger.info("{}: {}", thingName, messages.get("event.triggered", alarm));
|
||||
triggerChannel(channelId, alarm);
|
||||
cache.updateChannel(channelId, getStringType(alarm));
|
||||
stats.lastAlarm = alarm;
|
||||
stats.lastAlarmTs = now();
|
||||
stats.alarms++;
|
||||
if (force || !lastAlarm.equals(event)
|
||||
|| (lastAlarm.equals(event) && now() > stats.lastAlarmTs + HEALTH_CHECK_INTERVAL_SEC)) {
|
||||
switch (event) {
|
||||
case "0": // DW2 1.8
|
||||
case SHELLY_WAKEUPT_SENSOR:
|
||||
case SHELLY_WAKEUPT_PERIODIC:
|
||||
case SHELLY_WAKEUPT_BUTTON:
|
||||
case SHELLY_WAKEUPT_POWERON:
|
||||
case SHELLY_WAKEUPT_UNKNOWN:
|
||||
logger.debug("{}: {}", thingName, messages.get("event.filtered", event));
|
||||
case "":
|
||||
case ALARM_TYPE_NONE:
|
||||
break;
|
||||
default:
|
||||
logger.debug("{}: {}", thingName, messages.get("event.triggered", event));
|
||||
triggerChannel(channelId, event);
|
||||
cache.updateChannel(channelId, getStringType(event));
|
||||
stats.lastAlarm = event;
|
||||
stats.lastAlarmTs = now();
|
||||
stats.alarms++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -699,7 +753,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
|
||||
case SHELLY_EVENT_CLOSE: // DW 1.7
|
||||
case SHELLY_EVENT_OPEN: // DW 1.7
|
||||
updateChannel(group, CHANNEL_SENSOR_CONTACT,
|
||||
updateChannel(group, CHANNEL_SENSOR_STATE,
|
||||
event.equalsIgnoreCase(SHELLY_API_DWSTATE_OPEN) ? OpenClosedType.OPEN
|
||||
: OpenClosedType.CLOSED);
|
||||
break;
|
||||
@@ -755,7 +809,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
|
||||
config = getConfigAs(ShellyThingConfiguration.class);
|
||||
if (config.deviceIp.isEmpty()) {
|
||||
logger.info("{}: IP address for the device must not be empty", thingName); // may not set in .things file
|
||||
logger.warn("{}: IP address for the device must not be empty", thingName); // may not set in .things file
|
||||
return;
|
||||
}
|
||||
try {
|
||||
@@ -813,7 +867,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
if (bindingConfig.autoCoIoT && ((version.compare(prf.fwVersion, SHELLY_API_MIN_FWCOIOT)) >= 0)
|
||||
|| (prf.fwVersion.equalsIgnoreCase("production_test"))) {
|
||||
if (!config.eventsCoIoT) {
|
||||
logger.info("{}: {}", thingName, messages.get("versioncheck.autocoiot"));
|
||||
logger.debug("{}: {}", thingName, messages.get("versioncheck.autocoiot"));
|
||||
}
|
||||
autoCoIoT = true;
|
||||
}
|
||||
@@ -837,7 +891,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
private boolean isAuthorizationFailed(ShellyApiResult result) {
|
||||
if (result.isHttpAccessUnauthorized()) {
|
||||
// If the device is password protected the API doesn't provide settings to the device settings
|
||||
logger.info("{}: {}", thingName, messages.get("init.protected"));
|
||||
logger.warn("{}: {}", thingName, messages.get("init.protected"));
|
||||
setThingOffline(ThingStatusDetail.CONFIGURATION_ERROR, "offline.conf-error-access-denied");
|
||||
changeThingType(THING_TYPE_SHELLYPROTECTED_STR, "");
|
||||
return true;
|
||||
@@ -908,6 +962,10 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isUpdateScheduled() {
|
||||
return scheduledUpdates > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Map input states to channels
|
||||
*
|
||||
@@ -984,6 +1042,7 @@ public class ShellyBaseHandler extends BaseThingHandler implements ShellyDeviceL
|
||||
String id = channelId.contains("$") ? substringBefore(channelId, "$") : channelId;
|
||||
if (!stopping && isLinked(id)) {
|
||||
updateState(id, value);
|
||||
logger.debug("{}: Channel {} updated with {} (type {}).", thingName, channelId, value, value.getClass());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,12 +17,14 @@ import static org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.*;
|
||||
import static org.openhab.binding.shelly.internal.util.ShellyUtils.*;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiException;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsEMeter;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsMeter;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsStatus;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyStatusSensor;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyStatusSensor.ShellyADC;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyThermnostat;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyDeviceProfile;
|
||||
import org.openhab.binding.shelly.internal.provider.ShellyChannelDefinitions;
|
||||
import org.openhab.core.library.types.OnOffType;
|
||||
@@ -69,6 +71,12 @@ public class ShellyComponents {
|
||||
|
||||
thingHandler.updateChannel(CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_UPDATE, getOnOff(status.hasUpdate));
|
||||
|
||||
ShellyDeviceProfile profile = thingHandler.getProfile();
|
||||
if (profile.settings.calibrated != null) {
|
||||
thingHandler.updateChannel(CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_CALIBRATED,
|
||||
getOnOff(profile.settings.calibrated));
|
||||
}
|
||||
|
||||
return false; // device status never triggers update
|
||||
}
|
||||
|
||||
@@ -269,15 +277,16 @@ public class ShellyComponents {
|
||||
|
||||
if ((sdata.sensor != null) && sdata.sensor.isValid) {
|
||||
// Shelly DW: “sensor”:{“state”:“open”, “is_valid”:true},
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_CONTACT,
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE,
|
||||
getString(sdata.sensor.state).equalsIgnoreCase(SHELLY_API_DWSTATE_OPEN) ? OpenClosedType.OPEN
|
||||
: OpenClosedType.CLOSED);
|
||||
String sensorError = sdata.sensorError;
|
||||
boolean changed = thingHandler.updateChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_ERROR,
|
||||
getStringType(sdata.sensorError));
|
||||
if (changed) {
|
||||
getStringType(sensorError));
|
||||
if (!"0".equals(sensorError) && changed) {
|
||||
thingHandler.postEvent(getString(sdata.sensorError), true);
|
||||
updated |= changed;
|
||||
}
|
||||
updated |= changed;
|
||||
}
|
||||
if ((sdata.tmp != null) && getBool(sdata.tmp.isValid)) {
|
||||
thingHandler.logger.trace("{}: Updating temperature", thingHandler.thingName);
|
||||
@@ -288,8 +297,41 @@ public class ShellyComponents {
|
||||
// convert Fahrenheit to Celsius
|
||||
temp = ImperialUnits.FAHRENHEIT.getConverterTo(SIUnits.CELSIUS).convert(temp).doubleValue();
|
||||
}
|
||||
temp = convertToC(temp, getString(sdata.tmp.units));
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_TEMP,
|
||||
toQuantityType(temp.doubleValue(), DIGITS_TEMP, SIUnits.CELSIUS));
|
||||
} else if (status.thermostats != null && status.thermostats.size() > 0) {
|
||||
// Shelly TRV
|
||||
ShellyThermnostat t = status.thermostats.get(0);
|
||||
ShellyThermnostat ps = profile.settings.thermostats.get(0);
|
||||
int bminutes = getInteger(t.boostMinutes) > 0 ? getInteger(t.boostMinutes)
|
||||
: getInteger(ps.boostMinutes);
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_BCONTROL,
|
||||
getOnOff(getInteger(t.boostMinutes) > 0));
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_BTIMER,
|
||||
toQuantityType((double) bminutes, DIGITS_NONE, Units.MINUTE));
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_MODE,
|
||||
getStringType(getBool(t.targetTemp.enabled) ? SHELLY_TRV_MODE_AUTO : SHELLY_TRV_MODE_MANUAL));
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_PROFILE,
|
||||
getDecimal(getBool(t.schedule) ? t.profile : 0));
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_SCHEDULE,
|
||||
getOnOff(t.schedule));
|
||||
if (t.tmp != null) {
|
||||
Double temp = convertToC(t.tmp.value, getString(t.tmp.units));
|
||||
// Some devices report values = -999 or 99 during fw update
|
||||
boolean valid = temp.intValue() > -50 && temp.intValue() < 90;
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_TEMP,
|
||||
toQuantityType(temp.doubleValue(), DIGITS_TEMP, SIUnits.CELSIUS));
|
||||
temp = convertToC(t.targetTemp.value, getString(t.targetTemp.unit));
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_SETTEMP,
|
||||
toQuantityType(t.targetTemp.value, DIGITS_TEMP, SIUnits.CELSIUS));
|
||||
}
|
||||
if (t.pos != null) {
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_POSITION,
|
||||
t.pos != -1 ? toQuantityType(t.pos, DIGITS_NONE, Units.PERCENT) : UnDefType.UNDEF);
|
||||
updated |= thingHandler.updateChannel(CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE,
|
||||
getDouble(t.pos) > 0 ? OpenClosedType.OPEN : OpenClosedType.CLOSED);
|
||||
}
|
||||
}
|
||||
if (sdata.hum != null) {
|
||||
thingHandler.logger.trace("{}: Updating humidity", thingHandler.thingName);
|
||||
@@ -382,4 +424,15 @@ public class ShellyComponents {
|
||||
}
|
||||
return updated;
|
||||
}
|
||||
|
||||
private static Double convertToC(@Nullable Double temp, String unit) {
|
||||
if (temp == null) {
|
||||
return 0.0;
|
||||
}
|
||||
if (SHELLY_TEMP_FAHRENHEIT.equalsIgnoreCase(unit)) {
|
||||
// convert Fahrenheit to Celsius
|
||||
return ImperialUnits.FAHRENHEIT.getConverterTo(SIUnits.CELSIUS).convert(temp).doubleValue();
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -374,7 +374,7 @@ public class ShellyLightHandler extends ShellyBaseHandler {
|
||||
updated |= updateChannel(colorGroup, CHANNEL_COLOR_BLUE, col.percentBlue);
|
||||
updated |= updateChannel(colorGroup, CHANNEL_COLOR_WHITE, col.percentWhite);
|
||||
updated |= updateChannel(colorGroup, CHANNEL_COLOR_GAIN, col.percentGain);
|
||||
updated |= updateChannel(colorGroup, CHANNEL_COLOR_EFFECT, new DecimalType(col.effect));
|
||||
updated |= updateChannel(colorGroup, CHANNEL_COLOR_EFFECT, getDecimal(col.effect));
|
||||
setFullColor(colorGroup, col);
|
||||
|
||||
logger.trace("{}: update {}.color picker", thingName, colorGroup);
|
||||
|
||||
@@ -35,6 +35,8 @@ import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsMe
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsRelay;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsRgbwLight;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellySettingsStatus;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyShortLightStatus;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyShortStatusRelay;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyStatusLightChannel;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyStatusRelay;
|
||||
import org.openhab.binding.shelly.internal.api.ShellyApiJsonDTO.ShellyStatusSensor;
|
||||
@@ -89,6 +91,7 @@ public class ShellyChannelDefinitions {
|
||||
private static final String CHGR_STATUS = CHANNEL_GROUP_STATUS;
|
||||
private static final String CHGR_METER = CHANNEL_GROUP_METER;
|
||||
private static final String CHGR_SENSOR = CHANNEL_GROUP_SENSOR;
|
||||
private static final String CHGR_CONTROL = CHANNEL_GROUP_CONTROL;
|
||||
private static final String CHGR_BAT = CHANNEL_GROUP_BATTERY;
|
||||
|
||||
public static final String PREFIX_GROUP = "group-type." + BINDING_ID + ".";
|
||||
@@ -117,6 +120,8 @@ public class ShellyChannelDefinitions {
|
||||
.add(new ShellyChannel(m, CHGR_DEVST, CHANNEL_DEVST_UPTIME, "uptime", ITEMT_NUMBER))
|
||||
.add(new ShellyChannel(m, CHGR_DEVST, CHANNEL_DEVST_HEARTBEAT, "heartBeat", ITEMT_DATETIME))
|
||||
.add(new ShellyChannel(m, CHGR_DEVST, CHANNEL_DEVST_UPDATE, "updateAvailable", ITEMT_SWITCH))
|
||||
.add(new ShellyChannel(m, CHGR_DEVST, CHANNEL_DEVST_CALIBRATED, "calibrated", ITEMT_SWITCH))
|
||||
.add(new ShellyChannel(m, CHGR_DEVST, CHANNEL_DEVST_SCHEDULE, "deviceSchedule", ITEMT_SWITCH))
|
||||
|
||||
// Relay
|
||||
.add(new ShellyChannel(m, CHGR_RELAY, CHANNEL_OUTPUT_NAME, "outputName", ITEMT_STRING))
|
||||
@@ -174,7 +179,7 @@ public class ShellyChannelDefinitions {
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_LUX, "sensorLux", ITEMT_LUX))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_ILLUM, "sensorIllumination", ITEMT_STRING))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_VOLTAGE, "sensorADC", ITEMT_VOLT))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_CONTACT, "sensorContact", ITEMT_CONTACT))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_STATE, "sensorContact", ITEMT_CONTACT))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_SSTATE, "sensorState", ITEMT_STRING))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_TILT, "sensorTilt", ITEMT_ANGLE))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_MOTION, "sensorMotion", ITEMT_SWITCH))
|
||||
@@ -187,8 +192,9 @@ public class ShellyChannelDefinitions {
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_VALVE, "sensorValve", ITEMT_STRING))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_ALARM_STATE, "alarmState", ITEMT_STRING))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_ERROR, "sensorError", ITEMT_STRING))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_SLEEPTIME, "sensorSleepTime", ITEMT_NUMBER))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_LAST_UPDATE, "lastUpdate", ITEMT_DATETIME))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSOR_SLEEPTIME, "sensorSleepTime", ITEMT_NUMBER))
|
||||
.add(new ShellyChannel(m, CHGR_SENSOR, CHANNEL_SENSE_KEY, "senseKey", ITEMT_STRING)) // Sense
|
||||
|
||||
// Button/ix3
|
||||
.add(new ShellyChannel(m, CHGR_STATUS, CHANNEL_INPUT, "inputState", ITEMT_SWITCH))
|
||||
@@ -205,7 +211,15 @@ public class ShellyChannelDefinitions {
|
||||
|
||||
// Battery
|
||||
.add(new ShellyChannel(m, CHGR_BAT, CHANNEL_SENSOR_BAT_LEVEL, "system:battery-level", ITEMT_PERCENT))
|
||||
.add(new ShellyChannel(m, CHGR_BAT, CHANNEL_SENSOR_BAT_LOW, "system:low-battery", ITEMT_SWITCH));
|
||||
.add(new ShellyChannel(m, CHGR_BAT, CHANNEL_SENSOR_BAT_LOW, "system:low-battery", ITEMT_SWITCH))
|
||||
|
||||
// TRV
|
||||
.add(new ShellyChannel(m, CHGR_CONTROL, CHANNEL_CONTROL_POSITION, "sensorPosition", ITEMT_DIMMER))
|
||||
.add(new ShellyChannel(m, CHGR_CONTROL, CHANNEL_CONTROL_MODE, "controlMode", ITEMT_STRING))
|
||||
.add(new ShellyChannel(m, CHGR_CONTROL, CHANNEL_CONTROL_PROFILE, "controlProfile", ITEMT_NUMBER))
|
||||
.add(new ShellyChannel(m, CHGR_CONTROL, CHANNEL_CONTROL_SETTEMP, "targetTemp", ITEMT_TEMP))
|
||||
.add(new ShellyChannel(m, CHGR_CONTROL, CHANNEL_CONTROL_BCONTROL, "boostControl", ITEMT_SWITCH))
|
||||
.add(new ShellyChannel(m, CHGR_CONTROL, CHANNEL_CONTROL_BTIMER, "boostTimer", ITEMT_TIME));
|
||||
}
|
||||
|
||||
public static @Nullable ShellyChannel getDefinition(String channelName) throws IllegalArgumentException {
|
||||
@@ -255,18 +269,22 @@ public class ShellyChannelDefinitions {
|
||||
addChannel(thing, add, profile.settings.sleepTime != null, CHGR_SENSOR, CHANNEL_SENSOR_SLEEPTIME);
|
||||
|
||||
// If device has more than 1 meter the channel accumulatedWatts receives the accumulated value
|
||||
boolean accuChannel = (((status.meters != null) && (status.meters.size() > 1) && !profile.isRoller
|
||||
&& !profile.isRGBW2) || ((status.emeters != null && status.emeters.size() > 1)));
|
||||
boolean accuChannel = !profile.isRoller && !profile.isRGBW2
|
||||
&& (((status.meters != null) && (status.meters.size() > 1))
|
||||
|| ((status.emeters != null && status.emeters.size() > 1)));
|
||||
addChannel(thing, add, accuChannel, CHGR_DEVST, CHANNEL_DEVST_ACCUWATTS);
|
||||
addChannel(thing, add, accuChannel, CHGR_DEVST, CHANNEL_DEVST_ACCUTOTAL);
|
||||
addChannel(thing, add, accuChannel && (status.emeters != null), CHGR_DEVST, CHANNEL_DEVST_ACCURETURNED);
|
||||
addChannel(thing, add, status.voltage != null || profile.settings.supplyVoltage != null, CHGR_DEVST,
|
||||
CHANNEL_DEVST_VOLTAGE);
|
||||
addChannel(thing, add,
|
||||
!profile.isRoller && !profile.isRGBW2
|
||||
&& (status.voltage != null || profile.settings.supplyVoltage != null),
|
||||
CHGR_DEVST, CHANNEL_DEVST_VOLTAGE);
|
||||
addChannel(thing, add, true, CHGR_DEVST, CHANNEL_DEVST_UPDATE);
|
||||
addChannel(thing, add, true, CHGR_DEVST, CHANNEL_DEVST_UPTIME);
|
||||
addChannel(thing, add, true, CHGR_DEVST, CHANNEL_DEVST_HEARTBEAT);
|
||||
addChannel(thing, add, profile.settings.ledPowerDisable != null, CHGR_DEVST, CHANNEL_LED_POWER_DISABLE);
|
||||
addChannel(thing, add, profile.settings.ledPowerDisable != null, CHGR_DEVST, CHANNEL_LED_STATUS_DISABLE); // WiFi
|
||||
addChannel(thing, add, profile.settings.ledStatusDisable != null, CHGR_DEVST, CHANNEL_LED_STATUS_DISABLE); // WiFi
|
||||
addChannel(thing, add, profile.settings.calibrated != null, CHGR_DEVST, CHANNEL_DEVST_CALIBRATED);
|
||||
|
||||
return add;
|
||||
}
|
||||
@@ -282,11 +300,14 @@ public class ShellyChannelDefinitions {
|
||||
String group = profile.getControlGroup(idx);
|
||||
|
||||
ShellySettingsRelay rs = profile.settings.relays.get(idx);
|
||||
ShellyShortStatusRelay rstatus = relay.relays.get(idx);
|
||||
boolean timer = rs.hasTimer != null || (rstatus != null && rstatus.hasTimer != null); // Dimmer 1/2 have
|
||||
// has_timer under /status
|
||||
addChannel(thing, add, rs.ison != null, group, CHANNEL_OUTPUT);
|
||||
addChannel(thing, add, rs.name != null, group, CHANNEL_OUTPUT_NAME);
|
||||
addChannel(thing, add, rs.autoOn != null, group, CHANNEL_TIMER_AUTOON);
|
||||
addChannel(thing, add, rs.autoOff != null, group, CHANNEL_TIMER_AUTOOFF);
|
||||
addChannel(thing, add, rs.hasTimer != null, group, CHANNEL_TIMER_ACTIVE);
|
||||
addChannel(thing, add, timer, group, CHANNEL_TIMER_ACTIVE);
|
||||
|
||||
// Shelly 1/1PM Addon
|
||||
if (relay.extTemperature != null) {
|
||||
@@ -312,6 +333,9 @@ public class ShellyChannelDefinitions {
|
||||
ShellySettingsDimmer ds = profile.settings.dimmers.get(idx);
|
||||
addChannel(thing, add, ds.autoOn != null, group, CHANNEL_TIMER_AUTOON);
|
||||
addChannel(thing, add, ds.autoOff != null, group, CHANNEL_TIMER_AUTOOFF);
|
||||
|
||||
ShellyShortLightStatus dss = dstatus.dimmers.get(idx);
|
||||
addChannel(thing, add, dss != null && dss.hasTimer != null, group, CHANNEL_TIMER_ACTIVE);
|
||||
return add;
|
||||
}
|
||||
|
||||
@@ -406,7 +430,8 @@ public class ShellyChannelDefinitions {
|
||||
Map<String, Channel> newChannels = new LinkedHashMap<>();
|
||||
|
||||
// Sensor data
|
||||
addChannel(thing, newChannels, sdata.tmp != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_TEMP);
|
||||
addChannel(thing, newChannels, sdata.tmp != null || sdata.thermostats != null, CHANNEL_GROUP_SENSOR,
|
||||
CHANNEL_SENSOR_TEMP);
|
||||
addChannel(thing, newChannels, sdata.hum != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_HUM);
|
||||
addChannel(thing, newChannels, sdata.lux != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_LUX);
|
||||
addChannel(thing, newChannels, sdata.lux != null && sdata.lux.illumination != null, CHANNEL_GROUP_SENSOR,
|
||||
@@ -419,7 +444,7 @@ public class ShellyChannelDefinitions {
|
||||
sdata.motion != null || ((sdata.sensor != null) && (sdata.sensor.motion != null)), CHANNEL_GROUP_SENSOR,
|
||||
CHANNEL_SENSOR_MOTION);
|
||||
if (sdata.sensor != null) { // DW, Sense or Motion
|
||||
addChannel(thing, newChannels, sdata.sensor.state != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_CONTACT); // DW/DW2
|
||||
addChannel(thing, newChannels, sdata.sensor.state != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE); // DW/DW2
|
||||
addChannel(thing, newChannels, sdata.sensor.motionActive != null, CHANNEL_GROUP_SENSOR, // Motion
|
||||
CHANNEL_SENSOR_MOTION_ACT);
|
||||
addChannel(thing, newChannels, sdata.sensor.motionTimestamp != null, CHANNEL_GROUP_SENSOR, // Motion
|
||||
@@ -443,7 +468,23 @@ public class ShellyChannelDefinitions {
|
||||
CHANNEL_SENSOR_ALARM_STATE);
|
||||
}
|
||||
|
||||
addChannel(thing, newChannels, sdata.adcs != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_VOLTAGE); // UNI
|
||||
// Sense
|
||||
addChannel(thing, newChannels, profile.isSense, CHANNEL_GROUP_SENSOR, CHANNEL_SENSE_KEY);
|
||||
|
||||
// UNI
|
||||
addChannel(thing, newChannels, sdata.adcs != null, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_VOLTAGE);
|
||||
|
||||
// TRV
|
||||
if (profile.isTRV) {
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_DEV_STATUS, CHANNEL_DEVST_SCHEDULE);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_SETTEMP);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_BCONTROL);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_BTIMER);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_POSITION);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_MODE);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_CONTROL, CHANNEL_CONTROL_PROFILE);
|
||||
addChannel(thing, newChannels, true, CHANNEL_GROUP_SENSOR, CHANNEL_SENSOR_STATE); // TRV
|
||||
}
|
||||
|
||||
// Battery
|
||||
if (sdata.bat != null) {
|
||||
@@ -539,7 +580,7 @@ public class ShellyChannelDefinitions {
|
||||
}
|
||||
|
||||
public boolean getReadyOnly() {
|
||||
String attr = getChannelAttribute("advanced");
|
||||
String attr = getChannelAttribute("readOnly");
|
||||
return attr.isEmpty() ? false : Boolean.valueOf(attr);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
|
||||
package org.openhab.binding.shelly.internal.util;
|
||||
|
||||
import static org.openhab.binding.shelly.internal.util.ShellyUtils.mkChannelId;
|
||||
@@ -88,8 +87,6 @@ public class ShellyChannelCache {
|
||||
} else {
|
||||
channelData.replace(channelId, newValue);
|
||||
}
|
||||
logger.debug("{}: Channel {} updated with {} (type {}).", thingName, channelId, newValue,
|
||||
newValue.getClass());
|
||||
return true;
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
|
||||
@@ -14,6 +14,7 @@ package org.openhab.binding.shelly.internal.util;
|
||||
|
||||
import static org.openhab.binding.shelly.internal.ShellyBindingConstants.*;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.net.URLEncoder;
|
||||
@@ -88,7 +89,8 @@ public class ShellyUtils {
|
||||
}
|
||||
return obj;
|
||||
} catch (JsonSyntaxException e) {
|
||||
throw new ShellyApiException(PRE + className + "from JSON (syntax/format error): " + json, e);
|
||||
throw new ShellyApiException(
|
||||
PRE + className + "from JSON (syntax/format error: " + e.getMessage() + "): " + json, e);
|
||||
} catch (RuntimeException e) {
|
||||
throw new ShellyApiException(PRE + className + "from JSON: " + json, e);
|
||||
}
|
||||
@@ -270,7 +272,11 @@ public class ShellyUtils {
|
||||
}
|
||||
|
||||
public static String urlEncode(String input) {
|
||||
return URLEncoder.encode(input, StandardCharsets.UTF_8);
|
||||
try {
|
||||
return URLEncoder.encode(input, StandardCharsets.UTF_8.toString());
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
return input;
|
||||
}
|
||||
}
|
||||
|
||||
public static Long now() {
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
|
||||
|
||||
<config-description uri="thing-type:shelly:relay">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -14,11 +19,6 @@
|
||||
<description>Password for HTTP API access.</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="eventsButton" type="boolean" required="false">
|
||||
<label>Enable Button Events</label>
|
||||
<description>True if the binding should register to get the Buttons Events.</description>
|
||||
@@ -53,6 +53,11 @@
|
||||
</config-description>
|
||||
|
||||
<config-description uri="thing-type:shelly:roller">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -72,11 +77,6 @@
|
||||
<description>Which position favorite should be used for DOWN (0=none, favorites are defined in the Shelly App)</description>
|
||||
<default>0</default>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="eventsRoller" type="boolean" required="false">
|
||||
<label>Enable Roller Events (Roller only)</label>
|
||||
<description>True if the binding should register to get Roller Events.</description>
|
||||
@@ -98,6 +98,11 @@
|
||||
</parameter>
|
||||
</config-description>
|
||||
<config-description uri="thing-type:shelly:dimmer">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -107,11 +112,6 @@
|
||||
<description>Password for HTTP API access.</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="brightnessAutoOn" type="boolean" required="false">
|
||||
<label>Brightness Auto-ON</label>
|
||||
<description>true: Turn device ON if brightness above 0 is set; false: don't touch power status when brightness is
|
||||
@@ -152,6 +152,11 @@
|
||||
</config-description>
|
||||
|
||||
<config-description uri="thing-type:shelly:light">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -161,11 +166,6 @@
|
||||
<description>Password for HTTP API access.</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="brightnessAutoOn" type="boolean" required="false">
|
||||
<label>Brightness Auto-ON</label>
|
||||
<description>true: Turn device ON if brightness > 0 is set; false: don't touch power status when brightness is set.</description>
|
||||
@@ -193,6 +193,11 @@
|
||||
</config-description>
|
||||
|
||||
<config-description uri="thing-type:shelly:rgbw2">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -202,11 +207,6 @@
|
||||
<description>Password for HTTP API access.</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="brightnessAutoOn" type="boolean" required="false">
|
||||
<label>Brightness Auto-ON</label>
|
||||
<description>true: Turn device ON if brightness > 0 is set; false: don't touch power status when brightness is set.</description>
|
||||
@@ -229,6 +229,11 @@
|
||||
|
||||
|
||||
<config-description uri="thing-type:shelly:battery">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User ID</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -238,11 +243,6 @@
|
||||
<description>Password for HTTP API access.</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="lowBattery" type="integer" required="false">
|
||||
<label>Low Battery Threshold</label>
|
||||
<description>Threshold for the battery level, alert will be signed when battery level is below. Default: 20%</description>
|
||||
@@ -271,6 +271,11 @@
|
||||
</config-description>
|
||||
|
||||
<config-description uri="thing-type:shelly:basic">
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="userId" type="text" required="false">
|
||||
<label>User ID</label>
|
||||
<description>User ID for HTTP API access.</description>
|
||||
@@ -280,11 +285,6 @@
|
||||
<description>Password for HTTP API access.</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>Device IP Address</label>
|
||||
<description>IP-Address of the Shelly device.</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
<parameter name="eventsSensorReport" type="boolean" required="false">
|
||||
<label>Enable Sensor Events</label>
|
||||
<description>True: Register event URL for sensor updates.</description>
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
# binding
|
||||
binding.shelly.name = Shelly Binding
|
||||
binding.shelly.description = This binding integrates Shelly devices that can be controlled via WiFi.
|
||||
binding.shelly.config.defaultUserId.label = Default UserId
|
||||
binding.shelly.config.defaultUserId.description = This default user id will be used for device access if no one is specified in the thing configuration.
|
||||
binding.shelly.config.defaultPassword.label = Default Password
|
||||
@@ -8,69 +11,747 @@ binding.shelly.config.autoCoIoT.label = Auto-CoIoT
|
||||
binding.shelly.config.autoCoIoT.description = If enabled CoIoT will be automatically used when the devices runs a firmware version 1.6 or newer; false: Use thing configuration to enabled/disable CoIoT events.
|
||||
|
||||
# Config status messages
|
||||
config-status.error.missing-device-ip = IP address of the Shelly device is missing.
|
||||
message.config-status.error.missing-device-ip = IP address of the Shelly device is missing.
|
||||
message.config-status.error.missing-userid = No user ID in the Thing configuration
|
||||
|
||||
# Thing status descriptions
|
||||
offline.conf-error-no-credentials = Device is password protected, but no credentials have been configured.
|
||||
offline.conf-error-access-denied = Access denied, check user id and password.
|
||||
offline.conf-error-wrong-mode = Device is no longer in the configured device mode {0}, required {1}. Delete the thing and re-discover the device.
|
||||
offline.status-error-timeout = Device is not reachable (API timeout).
|
||||
offline.status-error-unexpected-api-result = An unexpected API response. Please verify the logfile to get more detailed information.
|
||||
offline.status-error-watchdog = Device is not responding, seems to be unavailable.
|
||||
offline.status-error-restarted = The device has restarted and will be re-initialized.
|
||||
offline.status-error-fwupgrade = Firmware upgrade in progress
|
||||
message.offline.conf-error-no-credentials = Device is password protected, but no credentials have been configured.
|
||||
message.offline.conf-error-access-denied = Access denied, check user id and password.
|
||||
message.offline.conf-error-wrong-mode = Device is no longer in the configured device mode {0}, required {1}. Delete the thing and re-discover the device.
|
||||
message.offline.status-error-timeout = Device is not reachable (API timeout).
|
||||
message.offline.status-error-unexpected-api-result = An unexpected API response. Please verify the logfile to get more detailed information.
|
||||
message.offline.status-error-watchdog = Device is not responding, seems to be unavailable.
|
||||
message.offline.status-error-restarted = The device has restarted and will be re-initialized.
|
||||
message.offline.status-error-fwupgrade = Firmware upgrade in progress
|
||||
|
||||
# General messages
|
||||
message.versioncheck.failed = Unable to check firmware version: {0}
|
||||
message.versioncheck.beta = Device is running a Beta version: {0}/{1}.
|
||||
message.versioncheck.tooold = WARNING: Firmware might be too old, installed: {0}/{1}, required minimal {3}.
|
||||
message.versioncheck.update = INFO: New firmware available: current version: {0}, new version: {1}
|
||||
message.versioncheck.autocoiot = INFO: Firmware is full-filling the minimum version to auto-enable CoIoT
|
||||
message.roller.calibrating = Device is not calibrated, use Shelly App to perform initial roller calibration.
|
||||
message.init.noipaddress = Unable to detect local IP address. Please make sure that IPv4 is enabled for this interface and check openHAB Network Configuration.
|
||||
message.init.protected = Device is password protected, enter correct credentials in thing configuration.
|
||||
message.command.failed = ERROR: Unable to process command {0} for channel {1}
|
||||
message.command.init = Thing not yet initialized, command {0}Â triggers initialization
|
||||
message.status.unknown.initializing = Initializing or device in sleep mode.
|
||||
message.statusupdate.failed = Unable to update status
|
||||
message.status.managerstarted = Shelly Manager started at http(s)://{0}:{1}/shelly/manager"
|
||||
message.event.triggered = Event triggered: {0}
|
||||
message.event.filtered = Event filtered: {0}
|
||||
message.coap.init.failed = Unable to start CoIoT: {0}
|
||||
message.discovery.disabled = Device is marked as non-discoverable, will be skipped
|
||||
message.discovery.protected = Device {0} reported 'Access defined' (missing userid/password or incorrect).
|
||||
message.discovery.failed = Device discovery of device with IP address {0} failed: {1}
|
||||
message.roller.calibrating = Device is not calibrated, use Shelly App to perform initial roller calibration.
|
||||
message.roller.favmissing = Roller position favorites are not supported by installed firmware or not configured in the Shelly App
|
||||
|
||||
# Device
|
||||
channel-type.shelly.deviceName.label = Device Name
|
||||
channel-type.shelly.deviceName.description = Symbolic Device Name as configured in the Shelly App.
|
||||
channel-type.shelly.sensorSleepTime.label = Sensor Sleep Time
|
||||
channel-type.shelly.sensorSleepTime.description = The sensor will not send notifications and will not perform actions until the specified time expires. (0=disable)
|
||||
# thing types - descriptions only
|
||||
thing-type.shelly.shellydevice.description = A password protected or unknown device
|
||||
thing-type.shelly.shellyunknown.description = This device is currently not supported
|
||||
thing-type.shelly.shelly1.description = Shelly 1 (Single Relay Switch)
|
||||
thing-type.shelly.shelly1l.description = Shelly 1L (Single Relay Switch, no Neutral required)
|
||||
thing-type.shelly.shelly1pm.description = Shelly 1PM (Single Relay Switch with integrated Power Meter)
|
||||
thing-type.shelly.shellyem.description = Shelly EM (with integrated Power Meter)
|
||||
thing-type.shelly.shellyem3.description = Shelly 3EM (with 3 integrated Power Meters and a relay)
|
||||
thing-type.shelly.shelly2-relay.description = Shelly 2 in Relay Mode (Double Relay Switch)
|
||||
thing-type.shelly.shelly2-roller.description = Shelly 2 in Roller Mode (Single Roller Shutter)
|
||||
thing-type.shelly.shelly25-relay.description = Shelly 2.5 in Relay Mode (Double Relay Switch with integrated Power Meter)
|
||||
thing-type.shelly.shelly25-roller.description = Shelly 2.5 in Roller Mode (Single Roller Shutter with integrated Power Meter)
|
||||
thing-type.shelly.shelly4pro.description = Shelly 4 Pro (4x Relay Switch with integrated Power Meters)
|
||||
thing-type.shelly.shellyplug.description = Shelly Plug (Plug with integrated Power Meter)
|
||||
thing-type.shelly.shellyplugu1.description = Shelly Plug-US (Plug (US) with integrated Power Meter (110V))
|
||||
thing-type.shelly.shellyplugs.description = Shelly Plug-S (Plug with integrated Power Meter)
|
||||
thing-type.shelly.shellyuni.description = Shelly UNI (Universal Module)
|
||||
thing-type.shelly.shellydimmer.description = Shelly Dimmer (Dimmer Functionality)
|
||||
thing-type.shelly.shellydimmer2.description = Shelly Dimmer 2 (Dimmer Functionality, 2nd Generation)
|
||||
thing-type.shelly.shellybutton1.description = Shelly Button 1 (battery powered)
|
||||
thing-type.shelly.shellybutton2.description = Shelly Button 2 (battery powered)
|
||||
thing-type.shelly.shellyht.description = Shelly H&T (Humidity & Temperature Sensor)
|
||||
thing-type.shelly.shellydw.description = Shelly Door/Window (Door and Window Sensor with Lux Measurement (battery powered))
|
||||
thing-type.shelly.shellydw2.description = Shelly Door/Window 2 (Door and Window Sensor with Lux Measurement (battery powered), 2nd Generation)
|
||||
thing-type.shelly.shellysmoke.description = Shelly Smoke Sensor (battery powered)
|
||||
thing-type.shelly.shellyflood.description = Shelly Flood Sensor (battery powered)
|
||||
thing-type.shelly.shellysense.description = Shelly Sense (Motion Sensor and Remote IR Controller)
|
||||
thing-type.shelly.shellybulb.description = Shelly Bulb (Dimmable RGB+W Bulb)
|
||||
thing-type.shelly.shellybulbduo.description = Shelly Duo (Dimmable WW/CW Bulb)
|
||||
thing-type.shelly.shellycolorbulb.description = Shelly Color Bulb (Dimmable RGB+W Bulb)
|
||||
thing-type.shelly.shellyvintage.description = Shelly Vintage (Dimmable Vintage Bulb)
|
||||
thing-type.shelly.shellyrgbw2-color.description = Shelly RGBW2 (LED Controller in Color Mode)
|
||||
thing-type.shelly.shellyrgbw2-white.description = Shelly RGBW2 (LED Controller in White Mode, 4 strips)
|
||||
thing-type.shelly.shellymotion.description = Shelly Motion (Motion Detection (battery powered))
|
||||
thing-type.shelly.shellygas.description = Shelly Gas (Gas Sensor - Gas Leak Detection)
|
||||
thing-type.shelly.shellytrv.description = Shelly TRV (Radiator value, battery powered)
|
||||
thing-type.shelly.shellyix3.description = Shelly ix3 (Activation Device with 3 inputs)
|
||||
|
||||
# Relay, external sensors
|
||||
# thing config - shellydevice
|
||||
thing-type.config.shellydevice.userId.label = User ID
|
||||
thing-type.config.shellydevice.userId.description = User ID for API access
|
||||
thing-type.config.shellydevice.password.label = Password
|
||||
thing-type.config.shellydevice.password.description = Password for API access
|
||||
thing-type.config.shellydevice.deviceIp.label = IP Address
|
||||
thing-type.config.shellydevice.deviceIp.description = IP Address of the Shelly device
|
||||
|
||||
# thing config - relay
|
||||
thing-type.config.shelly.relay.userId.label = User ID
|
||||
thing-type.config.shelly.relay.userId.description = User ID for API access
|
||||
thing-type.config.shelly.relay.password.label = Password
|
||||
thing-type.config.shelly.relay.password.description = Password for API access
|
||||
thing-type.config.shelly.relay.deviceIp.label = IP Address
|
||||
thing-type.config.shelly.relay.deviceIp.description = IP Address of the Shelly device
|
||||
thing-type.config.shelly.relay.eventsButton.label = Button Events
|
||||
thing-type.config.shelly.relay.eventsButton.description = Activates the Button Action URLS
|
||||
thing-type.config.shelly.relay.eventsPush.label = Push Events
|
||||
thing-type.config.shelly.relay.eventsPush.description = Activates the Push Button Action URLS
|
||||
thing-type.config.shelly.relay.eventsSwitch.label = Output Events
|
||||
thing-type.config.shelly.relay.eventsSwitch.description = Activates the Output Action URLS
|
||||
thing-type.config.shelly.relay.eventsCoIoT.label = Activate CoIoT
|
||||
thing-type.config.shelly.relay.eventsCoIoT.description = Activates the CoIoT-Protocol (CoAP based)
|
||||
thing-type.config.shelly.relay.updateInterval.label = Status Interval
|
||||
thing-type.config.shelly.relay.updateInterval.description = Interval for the device status update
|
||||
|
||||
# thing config - roller
|
||||
thing-type.config.shelly.roller.userId.label = User ID
|
||||
thing-type.config.shelly.roller.userId.description = User ID for API access
|
||||
thing-type.config.shelly.roller.password.label = Password
|
||||
thing-type.config.shelly.roller.password.description = Password for API access
|
||||
thing-type.config.shelly.roller.favoriteUP.label = Favorite ID for UP
|
||||
thing-type.config.shelly.roller.favoriteUP.description = Specifies the favorite ID that is used during the command UP on the roller#control channel (use the Shelly App to configure favorites)
|
||||
thing-type.config.shelly.roller.favoriteDOWN.label = Favorite ID for DOWN
|
||||
thing-type.config.shelly.roller.favoriteDOWN.description = Specifies the favorite ID that is used during the command DOWN on the roller#control channel (use the Shelly App to configure favorites)
|
||||
thing-type.config.shelly.roller.deviceIp.label = IP Address
|
||||
thing-type.config.shelly.roller.deviceIp.description = IP Address of the Shelly device
|
||||
thing-type.config.shelly.roller.eventsRoller.label = Roller Events
|
||||
thing-type.config.shelly.roller.eventsRoller.description = Activates the Roller Action URLS
|
||||
thing-type.config.shelly.roller.eventsCoIoT.label = Activate CoIoT
|
||||
thing-type.config.shelly.roller.eventsCoIoT.description = Activates the CoIoT-Protocol (CoAP based)
|
||||
thing-type.config.shelly.roller.updateInterval.label = Status Interval
|
||||
thing-type.config.shelly.roller.updateInterval.description = Interval for the device status update
|
||||
|
||||
# thing config - dimmer
|
||||
thing-type.config.shelly.dimmer.userId.label = User ID
|
||||
thing-type.config.shelly.dimmer.userId.description = User ID for API access
|
||||
thing-type.config.shelly.dimmer.password.label = Password
|
||||
thing-type.config.shelly.dimmer.password.description = Password for API access
|
||||
thing-type.config.shelly.dimmer.deviceIp.label = IP Address
|
||||
thing-type.config.shelly.dimmer.deviceIp.description = IP Address of the Shelly device
|
||||
thing-type.config.shelly.dimmer.brightnessAutoOn.label = Brightness Auto-ON
|
||||
thing-type.config.shelly.dimmer.brightnessAutoOn.description = ON: Light is switched on when a brightness value greater than 0 is set; OFF: Brightness is set, but the device is not switched on
|
||||
thing-type.config.shelly.dimmer.eventsButton.label = Button Events
|
||||
thing-type.config.shelly.dimmer.eventsButton.description = Activates the Button Action URLS
|
||||
thing-type.config.shelly.dimmer.eventsPush.label = Push Events
|
||||
thing-type.config.shelly.dimmer.eventsPush.description = Activates the Push Button Action URLS
|
||||
thing-type.config.shelly.dimmer.eventsSwitch.label = Output Events
|
||||
thing-type.config.shelly.dimmer.eventsSwitch.description = Activates the Output Action URLS
|
||||
thing-type.config.shelly.dimmer.eventsCoIoT.label = Activate CoIoT
|
||||
thing-type.config.shelly.dimmer.eventsCoIoT.description = Activates the CoIoT-Protocol (CoAP based)
|
||||
thing-type.config.shelly.dimmer.updateInterval.label = Status Interval
|
||||
thing-type.config.shelly.dimmer.updateInterval.description = Interval for the device status update
|
||||
|
||||
# thing config - light
|
||||
thing-type.config.shelly.light.userId.label = User ID
|
||||
thing-type.config.shelly.light.userId.description = User ID for API access
|
||||
thing-type.config.shelly.light.password.label = Password
|
||||
thing-type.config.shelly.light.password.description = Password for API access
|
||||
thing-type.config.shelly.light.deviceIp.label = IP Address
|
||||
thing-type.config.shelly.light.deviceIp.description = IP Address of the Shelly device
|
||||
thing-type.config.shelly.light.brightnessAutoOn.label = Brightness Auto-ON
|
||||
thing-type.config.shelly.light.brightnessAutoOn.description = ON: Light is switched on when a brightness value greater than 0 is set; OFF: Brightness is set, but the device is not switched on
|
||||
thing-type.config.shelly.light.eventsButton.label = Button Events
|
||||
thing-type.config.shelly.light.eventsButton.description = Activates the Button Action URLS
|
||||
thing-type.config.shelly.light.eventsPush.label = Push Events
|
||||
thing-type.config.shelly.light.eventsPush.description = Activates the Push Button Action URLS
|
||||
thing-type.config.shelly.light.eventsSwitch.label = Output Events
|
||||
thing-type.config.shelly.light.eventsSwitch.description = Activates the Output Action URLS
|
||||
thing-type.config.shelly.light.eventsCoIoT.label = Activate CoIoT
|
||||
thing-type.config.shelly.light.eventsCoIoT.description = Activates the CoIoT-Protocol (CoAP based)
|
||||
thing-type.config.shelly.light.updateInterval.label = Status Interval
|
||||
thing-type.config.shelly.light.updateInterval.description = Interval for the device status update
|
||||
|
||||
# thing config - RGBW2
|
||||
thing-type.config.shelly.rgbw2.userId.label = User ID
|
||||
thing-type.config.shelly.rgbw2.userId.description = User ID for API access
|
||||
thing-type.config.shelly.rgbw2.password.label = Password
|
||||
thing-type.config.shelly.rgbw2.password.description = Password for API access
|
||||
thing-type.config.shelly.rgbw2.deviceIp.label = IP Address
|
||||
thing-type.config.shelly.rgbw2.deviceIp.description = IP Address of the Shelly device
|
||||
thing-type.config.shelly.rgbw2.brightnessAutoOn.label = Brightness Auto-ON
|
||||
thing-type.config.shelly.rgbw2.brightnessAutoOn.description = ON: Light is switched on when a brightness value greater than 0 is set; OFF: Brightness is set, but the device is not switched on
|
||||
thing-type.config.shelly.rgbw2.eventsCoIoT.label = Activate CoIoT
|
||||
thing-type.config.shelly.rgbw2.eventsCoIoT.description = Activates the CoIoT-Protocol (CoAP based)
|
||||
thing-type.config.shelly.rgbw2.updateInterval.label = Status Interval
|
||||
thing-type.config.shelly.rgbw2.updateInterval.description = Interval for the device status update
|
||||
|
||||
# thing config - battery
|
||||
thing-type.config.shelly.battery.userId.label = User ID
|
||||
thing-type.config.shelly.battery.userId.description = User ID for API access
|
||||
thing-type.config.shelly.battery.password.label = Password
|
||||
thing-type.config.shelly.battery.password.description = Password for API access
|
||||
thing-type.config.shelly.battery.deviceIp.label = IP Address
|
||||
thing-type.config.shelly.battery.deviceIp.description = IP Address of the Shelly device
|
||||
thing-type.config.shelly.battery.eventsSensorReport.label = Sensor Events
|
||||
thing-type.config.shelly.battery.eventsSensorReport.description = Activates the Sensor Action URLS
|
||||
thing-type.config.shelly.battery.eventsCoIoT.label = Activate CoIoT
|
||||
thing-type.config.shelly.battery.eventsCoIoT.description = Activates the CoIoT-Protocol (CoAP based)
|
||||
thing-type.config.shelly.battery.lowBattery.label = Low Battery Treshold (%)
|
||||
thing-type.config.shelly.battery.lowBattery.description = An alarm is triggered when the device reports a battery charge lower than this threshold. Default: 20%
|
||||
thing-type.config.shelly.battery.updateInterval.label = Status Interval
|
||||
thing-type.config.shelly.battery.updateInterval.description = Interval for the device status update
|
||||
|
||||
# channel-groups
|
||||
thing-type.shelly.shelly1.group.relay.label = Relay
|
||||
thing-type.shelly.shelly1.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shelly1.group.sensors.label = External Sensors
|
||||
thing-type.shelly.shelly1.group.sensors.description = Values from external sensors connected to the optional Addon
|
||||
thing-type.shelly.shelly1.group.device.label = Device Status
|
||||
thing-type.shelly.shelly1.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly1pm.group.relay.label = Relay
|
||||
thing-type.shelly.shelly1pm.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shelly1pm.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shelly1pm.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shelly1pm.group.sensors.label = External Sensors
|
||||
thing-type.shelly.shelly1pm.group.sensors.description = Values from external sensors connected to the optional Addon
|
||||
thing-type.shelly.shelly1pm.group.device.label = Device Status
|
||||
thing-type.shelly.shelly1pm.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly1l.group.relay.label = Relay
|
||||
thing-type.shelly.shelly1l.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shelly1l.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shelly1l.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shelly1l.group.sensors.label = External Sensors
|
||||
thing-type.shelly.shelly1l.group.sensors.description = Values from external sensors connected to the optional Addon
|
||||
thing-type.shelly.shelly1l.group.device.label = Device Status
|
||||
thing-type.shelly.shelly1l.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyem.group.relay.label = Relay
|
||||
thing-type.shelly.shellyem.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellyem.group.meter1.label = Power Consumption 1
|
||||
thing-type.shelly.shellyem.group.meter1.description = Consumption values and other information
|
||||
thing-type.shelly.shellyem.group.meter2.label = Power Consumption 2
|
||||
thing-type.shelly.shellyem.group.meter2.description = Consumption values and other information
|
||||
thing-type.shelly.shellyem.group.device.label = Device Status
|
||||
thing-type.shelly.shellyem.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyem3.group.relay.label = Relay
|
||||
thing-type.shelly.shellyem3.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellyem3.group.meter1.label = Power Consumption 1
|
||||
thing-type.shelly.shellyem3.group.meter1.description = Consumption values and other information
|
||||
thing-type.shelly.shellyem3.group.meter2.label = Power Consumption 2
|
||||
thing-type.shelly.shellyem3.group.meter2.description = Consumption values and other information
|
||||
thing-type.shelly.shellyem3.group.meter3.label = Power Consumption 3
|
||||
thing-type.shelly.shellyem3.group.meter3.description = Consumption values and other information
|
||||
thing-type.shelly.shellyem3.group.device.label = Device Status
|
||||
thing-type.shelly.shellyem3.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly2-relay.group.relay1.label = Relay 1
|
||||
thing-type.shelly.shelly2-relay.group.relay1.description = Relay input/output and status
|
||||
thing-type.shelly.shelly2-relay.group.relay2.label = Relay 2
|
||||
thing-type.shelly.shelly2-relay.group.relay2.description = Relay input/output and status
|
||||
thing-type.shelly.shelly2-relay.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shelly2-relay.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shelly2-relay.group.device.label = Device Status
|
||||
thing-type.shelly.shelly2-relay.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly2-roller.group.roller.label = Roller shutter
|
||||
thing-type.shelly.shelly2-roller.group.roller.description = Roller shutter control and status
|
||||
thing-type.shelly.shelly2-roller.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shelly2-roller.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shelly2-roller.group.device.label = Device Status
|
||||
thing-type.shelly.shelly2-roller.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly25-relay.group.relay1.label = Relay 1
|
||||
thing-type.shelly.shelly25-relay.group.relay1.description = Relay 1 input/output and status
|
||||
thing-type.shelly.shelly25-relay.group.relay2.label = Relay 2
|
||||
thing-type.shelly.shelly25-relay.group.relay2.description = Relay 2 input/output and status
|
||||
thing-type.shelly.shelly25-relay.group.meter1.label = Power Consumption 1
|
||||
thing-type.shelly.shelly25-relay.group.meter1.description = Consumption values and other information
|
||||
thing-type.shelly.shelly25-relay.group.meter2.label = Power Consumption 2
|
||||
thing-type.shelly.shelly25-relay.group.meter2.description = Consumption values and other information
|
||||
thing-type.shelly.shelly25-relay.group.device.label = Device Status
|
||||
thing-type.shelly.shelly25-relay.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly25-roller.group.roller.label = Roller shutter
|
||||
thing-type.shelly.shelly25-roller.group.roller.description = Roller shutter control and status
|
||||
thing-type.shelly.shelly25-roller.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shelly25-roller.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shelly25-roller.group.device.label = Device Status
|
||||
thing-type.shelly.shelly25-roller.group.device.description = Device Status Information
|
||||
thing-type.shelly.shelly4pro.group.relay1.label = Relay 1
|
||||
thing-type.shelly.shelly4pro.group.relay1.description = Relay input/output and status
|
||||
thing-type.shelly.shelly4pro.group.relay2.label = Relay 2
|
||||
thing-type.shelly.shelly4pro.group.relay2.description = Relay input/output and status
|
||||
thing-type.shelly.shelly4pro.group.relay3.label = Relay 3
|
||||
thing-type.shelly.shelly4pro.group.relay3.description = Relay input/output and status
|
||||
thing-type.shelly.shelly4pro.group.relay4.label = Relay 4
|
||||
thing-type.shelly.shelly4pro.group.relay4.description = Relay input/output and status
|
||||
thing-type.shelly.shelly4pro.group.meter1.label = Power Consumption 1
|
||||
thing-type.shelly.shelly4pro.group.meter1.description = Consumption values and other information
|
||||
thing-type.shelly.shelly4pro.group.meter2.label = Power Consumption 2
|
||||
thing-type.shelly.shelly4pro.group.meter2.description = Consumption values and other information
|
||||
thing-type.shelly.shelly4pro.group.meter3.label = Power Consumption 3
|
||||
thing-type.shelly.shelly4pro.group.meter3.description = Consumption values and other information
|
||||
thing-type.shelly.shelly4pro.group.meter4.label = Power Consumption 4
|
||||
thing-type.shelly.shelly4pro.group.meter4.description = Consumption values and other information
|
||||
thing-type.shelly.shelly4pro.group.device.label = Device Status
|
||||
thing-type.shelly.shelly4pro.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyplug.group.relay.label = Relay
|
||||
thing-type.shelly.shellyplug.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellyplug.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellyplug.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellyplug.group.device.label = Device Status
|
||||
thing-type.shelly.shellyplug.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyplugs.group.relay.label = Relay
|
||||
thing-type.shelly.shellyplugs.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellyplugs.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellyplugs.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellyplugs.group.device.label = Device Status
|
||||
thing-type.shelly.shellyplugs.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyplugu1.group.relay.label = Relay
|
||||
thing-type.shelly.shellyplugu1.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellyplugu1.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellyplugu1.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellyplugu1.group.device.label = Device Status
|
||||
thing-type.shelly.shellyplugu1.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyuni.group.relay1.label = Relay 1
|
||||
thing-type.shelly.shellyuni.group.relay1.description = Relay input/output and status
|
||||
thing-type.shelly.shellyuni.group.relay2.label = Relay 2
|
||||
thing-type.shelly.shellyuni.group.relay2.description = Relay input/output and status
|
||||
thing-type.shelly.shellyuni.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellyuni.group.sensors.description = Data of the connected sensors
|
||||
thing-type.shelly.shellyuni.group.device.label = Device Status
|
||||
thing-type.shelly.shellyuni.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellydimmer.group.relay.label = Relay
|
||||
thing-type.shelly.shellydimmer.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellydimmer.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellydimmer.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellydimmer.group.device.label = Device Status
|
||||
thing-type.shelly.shellydimmer.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellydimmer2.group.relay.label = Relay
|
||||
thing-type.shelly.shellydimmer2.group.relay.description = Relay input/output and status
|
||||
thing-type.shelly.shellydimmer2.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellydimmer2.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellydimmer2.group.device.label = Device Status
|
||||
thing-type.shelly.shellydimmer2.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyix3.group.status1.label = Input 1
|
||||
thing-type.shelly.shellyix3.group.status1.description = Input 1 status
|
||||
thing-type.shelly.shellyix3.group.status2.label = Input 2
|
||||
thing-type.shelly.shellyix3.group.status2.description = Input 2 status
|
||||
thing-type.shelly.shellyix3.group.status3.label = Input 3
|
||||
thing-type.shelly.shellyix3.group.status3.description = Input 3 status
|
||||
thing-type.shelly.shellyix3.group.device.label = Device Status
|
||||
thing-type.shelly.shellyix3.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellybutton1.group.status.label = Button status
|
||||
thing-type.shelly.shellybutton1.group.status.description = Device Status Information
|
||||
thing-type.shelly.shellybutton1.group.battery.label = Battery status
|
||||
thing-type.shelly.shellybutton1.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellybutton1.group.device.label = Device Status
|
||||
thing-type.shelly.shellybutton1.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellybulb.group.control.label = Control
|
||||
thing-type.shelly.shellybulb.group.control.description = Control the Light
|
||||
thing-type.shelly.shellybulb.group.color.label = Color Mode
|
||||
thing-type.shelly.shellybulb.group.color.description = Settings for the Color Mode
|
||||
thing-type.shelly.shellybulb.group.white.label = White Mode
|
||||
thing-type.shelly.shellybulb.group.white.description = Settings for the White Mode
|
||||
thing-type.shelly.shellybulb.group.device.label = Device Status
|
||||
thing-type.shelly.shellybulb.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellybulbduo.group.control.label = Control
|
||||
thing-type.shelly.shellybulbduo.group.control.description = Control the Light
|
||||
thing-type.shelly.shellybulbduo.group.white.label = White Mode
|
||||
thing-type.shelly.shellybulbduo.group.white.description = Settings for the White Mode
|
||||
thing-type.shelly.shellybulbduo.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellybulbduo.group.meter.description = Power Consumption Values
|
||||
thing-type.shelly.shellybulbduo.group.device.label = Device Status
|
||||
thing-type.shelly.shellybulbduo.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellycolorbulb.group.control.label = Control
|
||||
thing-type.shelly.shellycolorbulb.group.control.description = Control the Light
|
||||
thing-type.shelly.shellycolorbulb.group.white.label = White Mode
|
||||
thing-type.shelly.shellycolorbulb.group.white.description = Settings for the White Mode
|
||||
thing-type.shelly.shellycolorbulb.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellycolorbulb.group.meter.description = Power Consumption Values
|
||||
thing-type.shelly.shellycolorbulb.group.device.label = Device Status
|
||||
thing-type.shelly.shellycolorbulb.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyvintage.group.control.label = Control
|
||||
thing-type.shelly.shellyvintage.group.control.description = Control the Light
|
||||
thing-type.shelly.shellyvintage.group.white.label = Control
|
||||
thing-type.shelly.shellyvintage.group.white.description = Device settings
|
||||
thing-type.shelly.shellyvintage.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellyvintage.group.meter.description = Power Consumption Values
|
||||
thing-type.shelly.shellyvintage.group.device.label = Device Status
|
||||
thing-type.shelly.shellyvintage.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyrgbw2-color.group.control.label = Control
|
||||
thing-type.shelly.shellyrgbw2-color.group.control.description = Controller operation
|
||||
thing-type.shelly.shellyrgbw2-color.group.color.label = Colors
|
||||
thing-type.shelly.shellyrgbw2-color.group.color.description = Color values and profiles
|
||||
thing-type.shelly.shellyrgbw2-color.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellyrgbw2-color.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellyrgbw2-color.group.device.label = Device Status
|
||||
thing-type.shelly.shellyrgbw2-color.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyrgbw2-white.group.control.label = Control
|
||||
thing-type.shelly.shellyrgbw2-white.group.control.description = Control the Light
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel1.label = Channel 1
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel1.description = Control for channel 1
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel2.label = Channel 2
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel2.description = Control for channel 2
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel3.label = Channel 3
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel3.description = Control for channel 3
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel4.label = Channel 4
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel4.description = Control for channel 4
|
||||
thing-type.shelly.shellyrgbw2-white.group.meter.label = Power Consumption
|
||||
thing-type.shelly.shellyrgbw2-white.group.meter.description = Consumption values and other information
|
||||
thing-type.shelly.shellyrgbw2-white.group.device.label = Device Status
|
||||
thing-type.shelly.shellyrgbw2-white.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyht.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellyht.group.sensors.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellyht.group.battery.label = Battery Status
|
||||
thing-type.shelly.shellyht.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellyht.group.device.label = Device Status
|
||||
thing-type.shelly.shellyht.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellyflood.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellyflood.group.sensors.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellyflood.group.battery.label = Battery Status
|
||||
thing-type.shelly.shellyflood.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellyflood.group.device.label = Device Status
|
||||
thing-type.shelly.shellyflood.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellydw.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellydw.group.sensors.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellydw.group.battery.label = Battery Status
|
||||
thing-type.shelly.shellydw.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellydw.group.device.label = Device Status
|
||||
thing-type.shelly.shellydw.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellydw2.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellydw2.group.sensors.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellydw2.group.battery.label = Battery Status
|
||||
thing-type.shelly.shellydw2.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellydw2.group.device.label = Device Status
|
||||
thing-type.shelly.shellydw2.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellysmoke.sensors.device.label = Sensor data
|
||||
thing-type.shelly.shellysmoke.sensors.device.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellysmoke.group.battery.label = Battery Status
|
||||
thing-type.shelly.shellysmoke.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellysmoke.group.device.label = Device Status
|
||||
thing-type.shelly.shellysmoke.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellysense.sensors.device.label = Sensor data
|
||||
thing-type.shelly.shellysense.sensors.device.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellysense.group.device.label = Device Status
|
||||
thing-type.shelly.shellysense.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellygas.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellygas.group.sensors.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellygas.group.device.label = Device Status
|
||||
thing-type.shelly.shellygas.group.device.description = Device Status Information
|
||||
thing-type.shelly.shellymotion.group.sensors.label = Sensor data
|
||||
thing-type.shelly.shellymotion.group.sensors.description = Measured values and status of the sensor
|
||||
thing-type.shelly.shellymotion.group.battery.label = Battery Status
|
||||
thing-type.shelly.shellymotion.group.battery.description = Battery Information
|
||||
thing-type.shelly.shellymotion.group.device.label = Device Status
|
||||
thing-type.shelly.shellymotion.group.device.description = Device Status Information
|
||||
|
||||
# channel groups
|
||||
channel-group-type.shelly.sensorData.label = Sensor Data
|
||||
channel-group-type.shelly.sensorData.description = Data from the various sensors
|
||||
channel-group-type.shelly.batteryStatus.label = Battery Status
|
||||
channel-group-type.shelly.batteryStatus.description = Battery Information
|
||||
channel-group-type.shelly.control.label = Control
|
||||
channel-group-type.shelly.control.description = Control the device
|
||||
channel-group-type.shelly.buttonState.label = Button State
|
||||
channel-group-type.shelly.buttonState.description = Status of the Button
|
||||
channel-group-type.shelly.deviceStatus.label = Device Status
|
||||
channel-group-type.shelly.deviceStatus.description = Information about the device status
|
||||
channel-group-type.shelly.bulbControl.label = Light Control
|
||||
channel-group-type.shelly.bulbControl.description = Control your light
|
||||
channel-group-type.shelly.duoControl.label = Light Control
|
||||
channel-group-type.shelly.duoControl.description = Control your light
|
||||
channel-group-type.shelly.rgbw2ColorControl.label = LED Strip Control (RGBW)
|
||||
channel-group-type.shelly.rgbw2ColorControl.description = Control your LED stripes in color mode
|
||||
channel-group-type.shelly.rgbw2WhiteControl.label = LED Strip Control (White)
|
||||
channel-group-type.shelly.rgbw2WhiteControl.description = Control your LED stripes in white mode
|
||||
channel-group-type.shelly.colorSettingsBulb.label = Colors
|
||||
channel-group-type.shelly.colorSettingsBulb.description = Light colors
|
||||
channel-group-type.shelly.colorSettingsRGBW2.label = Colors
|
||||
channel-group-type.shelly.colorSettingsRGBW2.description = Light colors
|
||||
channel-group-type.shelly.whiteSettings.label = White settings
|
||||
channel-group-type.shelly.whiteSettings.description = Adjust colors when device is in white mode
|
||||
channel-group-type.shelly.whiteSettingsSimple.label = White settings
|
||||
channel-group-type.shelly.whiteSettingsSimple.description = Adjust colors when device is in white mode
|
||||
channel-group-type.shelly.rgbw2Channel.label = Control
|
||||
channel-group-type.shelly.rgbw2Channel.description = Switch channel and adjust settings
|
||||
channel-group-type.shelly.relayChannel.label = Relay
|
||||
channel-group-type.shelly.relayChannel.description = A Shelly relay channel
|
||||
channel-group-type.shelly.relayChannelPlug.label = Relay
|
||||
channel-group-type.shelly.relayChannelPlug.description = A Shelly relay channel
|
||||
channel-group-type.shelly.dimmerChannel.label = Dimmer
|
||||
channel-group-type.shelly.dimmerChannel.description = A Shelly Dimmer channel
|
||||
channel-group-type.shelly.ix3Channel.label = Input
|
||||
channel-group-type.shelly.ix3Channel.description = Input Status
|
||||
channel-group-type.shelly.rollerControl.label = Roller Control
|
||||
channel-group-type.shelly.rollerControl.description = Controlling the roller mode
|
||||
channel-group-type.shelly.meter.label = Power Meter
|
||||
channel-group-type.shelly.meter.description = Power consumption for the relay
|
||||
channel-group-type.shelly.externalSensors.label = External Sensors
|
||||
channel-group-type.shelly.externalSensors.description = Temperatures from external sensors connected to the optional Addon
|
||||
|
||||
# channels
|
||||
channel-type.shelly.outputName.label = Output Name
|
||||
channel-type.shelly.outputName.description = Output/Channel Name as configured in the Shelly App.
|
||||
channel-type.shelly.outputName.description = Output/Channel Name as configured in the Shelly App
|
||||
channel-type.shelly.timerAutoOn.label = Auto-ON Timer
|
||||
channel-type.shelly.timerAutoOn.description = When the relay is switched off, it will be switched on automatically after n seconds
|
||||
channel-type.shelly.timerAutoOff.label = Auto-OFF Timer
|
||||
channel-type.shelly.timerAutoOff.description = When the relay is switched on, it will be switched off automatically after n seconds
|
||||
channel-type.shelly.timerActive.label = Auto ON/OFF timer active
|
||||
channel-type.shelly.timerActive.description = ON: A timer is active, OFF: no timer active
|
||||
channel-type.shelly.temperature.label = Temperature
|
||||
channel-type.shelly.temperature.description = Temperature reported by the sensor
|
||||
channel-type.shelly.temperature1.label = Temperature 1
|
||||
channel-type.shelly.temperature1.description = Temperature of external Sensor #1
|
||||
channel-type.shelly.temperature2.label = Temperature 2
|
||||
channel-type.shelly.temperature2.description = Temperature of external Sensor #2
|
||||
channel-type.shelly.temperature3.label = Temperature 3
|
||||
channel-type.shelly.temperature3.description = Temperature of external Sensor #3
|
||||
channel-type.shelly.targetTemp.label = Target Temperature
|
||||
channel-type.shelly.targetTemp.description = Target Temperature in °C to be reached in auto-temperature mode
|
||||
channel-type.shelly.humidity.label = Humidity
|
||||
channel-type.shelly.humidity.description = Relative humidity (0..100%)
|
||||
channel-type.shelly.rollerShutter.label = Roller Control (0=open, 100=closed)
|
||||
channel-type.shelly.rollerShutter.description = Control the Roller Shutter: UP, DOWN, STOP, Position (0=open, 100=closed)
|
||||
channel-type.shelly.rollerPosition.label = Roller Position (100=open, 0=closed)
|
||||
channel-type.shelly.rollerPosition.description = Position the Roller Shutter (100-0 in percent, where 100%=open, 0%=closed)
|
||||
channel-type.shelly.rollerFavorite.label = Position Favorite
|
||||
channel-type.shelly.rollerFavorite.description = Set roller position by selecting favorite 1-4 (needs to be defined in the Shelly App, 0=n/a)
|
||||
channel-type.shelly.rollerState.label = Roller State
|
||||
channel-type.shelly.rollerState.description = State of the roller (open/close/stop)
|
||||
channel-type.shelly.rollerState.state.option.open = opening
|
||||
channel-type.shelly.rollerState.state.option.close = closing
|
||||
channel-type.shelly.rollerState.state.option.stop = stopped
|
||||
channel-type.shelly.rollerStop.label = Roller stop reason
|
||||
channel-type.shelly.rollerStop.description = Last reason for stopping the Roller Shutter (normal, safety switch, obstacle detected)
|
||||
channel-type.shelly.rollerStop.state.option.normal = normal
|
||||
channel-type.shelly.rollerStop.state.option.safety_switch = safety switch
|
||||
channel-type.shelly.rollerStop.state.option.obstacle = obstacle detected
|
||||
channel-type.shelly.rollerDirection.label = Last Roller Direction
|
||||
channel-type.shelly.rollerDirection.description = Last direction: open/close/stopped
|
||||
channel-type.shelly.rollerDirection.state.option.open = open
|
||||
channel-type.shelly.rollerDirection.state.option.close = close
|
||||
channel-type.shelly.rollerDirection.state.option.stop = stopped
|
||||
channel-type.shelly.rollerSafety.label = Safety Switch
|
||||
channel-type.shelly.rollerSafety.description = Status of the safety switch
|
||||
channel-type.shelly.inputState.label = Input
|
||||
channel-type.shelly.inputState.description = Input/Button state
|
||||
channel-type.shelly.inputState1.label = Input #1
|
||||
channel-type.shelly.inputState1.description = Input/Button state #1
|
||||
channel-type.shelly.inputState2.label = Input #2
|
||||
channel-type.shelly.inputState2.description = Input/Button state #2
|
||||
channel-type.shelly.inputState3.label = Input #3
|
||||
channel-type.shelly.inputState3.description = Input/Button state #3
|
||||
channel-type.shelly.dimmerBrightness.label = Brightness
|
||||
channel-type.shelly.dimmerBrightness.description = Light Brightness in percent (0-100%, 0=OFF)
|
||||
channel-type.shelly.whiteBrightness.label = Brightness
|
||||
channel-type.shelly.whiteBrightness.description = Brightness (0-100%, 0=OFF)
|
||||
channel-type.shelly.meterWatts.label = Power Consumption
|
||||
channel-type.shelly.meterWatts.description = Current Power Consumption in Watts
|
||||
channel-type.shelly.meterAccuWatts.label = Accumulated Power Consumption
|
||||
channel-type.shelly.meterAccuWatts.description = Accumulated Power Consumption in Watts of the device (including all meters)
|
||||
channel-type.shelly.meterAccuTotal.label = Accumulated Total Power
|
||||
channel-type.shelly.meterAccuTotal.description = Accumulated Total Power in kW/h of the device (including all meters)
|
||||
channel-type.shelly.meterAccuReturned.label = Accumulated Returned Power
|
||||
channel-type.shelly.meterAccuReturned.description = Accumulated Returned Power in kW/h of the device (including all meters)
|
||||
channel-type.shelly.meterReactive.label = Reactive Energy
|
||||
channel-type.shelly.meterReactive.description = Instantaneous reactive power in Watts (W)
|
||||
channel-type.shelly.lastPower1.label = Last Power #1
|
||||
channel-type.shelly.lastPower1.description = Last power consumption #1 - one rounded minute
|
||||
channel-type.shelly.meterTotal.label = Total Energy Consumption
|
||||
channel-type.shelly.meterTotal.description = Total energy consumption in kW/h since the device powered up (resets on restart)
|
||||
channel-type.shelly.meterReturned.label = Total Returned Energy
|
||||
channel-type.shelly.meterReturned.description = Total returned energy in kW/h
|
||||
channel-type.shelly.meterVoltage.label = Voltage
|
||||
channel-type.shelly.meterVoltage.description = RMS voltage in Volt
|
||||
channel-type.shelly.meterCurrent.label = Current
|
||||
channel-type.shelly.meterCurrent.description = Current in A
|
||||
channel-type.shelly.meterPowerFactor.label = Power Factor
|
||||
channel-type.shelly.meterPowerFactor.description = Power Factor in percent for photovoltaic
|
||||
channel-type.shelly.timestamp.label = Last Update
|
||||
channel-type.shelly.timestamp.description = Timestamp of last measurement
|
||||
channel-type.shelly.ledStatusDisable.label = Disable Status LED
|
||||
channel-type.shelly.ledStatusDisable.description = Disable LED indication for network status
|
||||
channel-type.shelly.ledPowerDisable.label = Disable Power LED
|
||||
channel-type.shelly.ledPowerDisable.description = Disable LED indication for output status
|
||||
channel-type.shelly.colorMode.label = Mode (ON=color, OFF=white)
|
||||
channel-type.shelly.colorMode.description = ON: Device is in color mode, OFF: Device is in White Mode
|
||||
channel-type.shelly.colorFull.label = Full Color
|
||||
channel-type.shelly.colorFull.description = Setting this channel sets the selected color to 255, all others to 0
|
||||
channel-type.shelly.colorFull.state.option.red = Red
|
||||
channel-type.shelly.colorFull.state.option.green = Green
|
||||
channel-type.shelly.colorFull.state.option.blue = Blue
|
||||
channel-type.shelly.colorFull.state.option.yellow = Yellow
|
||||
channel-type.shelly.colorFull.state.option.white = White
|
||||
channel-type.shelly.colorRed.label = Red
|
||||
channel-type.shelly.colorRed.description = Red (0-255), applies only in Color Mode
|
||||
channel-type.shelly.colorGreen.label = Green
|
||||
channel-type.shelly.colorGreen.description = Green (0-255), applies only in Color Mode
|
||||
channel-type.shelly.colorBlue.label = Blue
|
||||
channel-type.shelly.colorBlue.description = Blue (0-255), applies only in Color Mode
|
||||
channel-type.shelly.colorWhite.label = White
|
||||
channel-type.shelly.colorWhite.description = White (0-255), applies only in Color Mode
|
||||
channel-type.shelly.colorGain.label = Gain
|
||||
channel-type.shelly.colorGain.description = Gain for all channels (0-100%), applies only in Color Mode
|
||||
channel-type.shelly.whiteTemp.label = Light Temperature
|
||||
channel-type.shelly.whiteTemp.description = Light Temperature (Bulb/RGBW2: 3000K-6500K; Duo: 2700K-6500K)
|
||||
channel-type.shelly.colorEffectBulb.label = Effect
|
||||
channel-type.shelly.colorEffectBulb.description = Currently applied effect, description: 0: Off, 1: Meteor Shower, 2: Gradual Change, 3: Breath, 4: Flash, 5: On/Off Gradual, 6: Red/Green Change
|
||||
channel-type.shelly.colorEffectBulb.option.0 = Off
|
||||
channel-type.shelly.colorEffectBulb.option.1 = Meteor Shower
|
||||
channel-type.shelly.colorEffectBulb.option.2 = Gradual Change
|
||||
channel-type.shelly.colorEffectBulb.option.3 = Breath
|
||||
channel-type.shelly.colorEffectBulb.option.4 = Flash
|
||||
channel-type.shelly.colorEffectBulb.option.5 = On/Off Gradual
|
||||
channel-type.shelly.colorEffectBulb.option.6 = Red/Green Change
|
||||
channel-type.shelly.colorEffectRGBW2.label = Effect
|
||||
channel-type.shelly.colorEffectRGBW2.description = Currently applied effect, description: 0: Off, 1: Meteor Shower, 2: Gradual Change, 3: Flash
|
||||
channel-type.shelly.colorEffectRGBW2.option.0 = Off
|
||||
channel-type.shelly.colorEffectRGBW2.option.1 = Meteor Shower
|
||||
channel-type.shelly.colorEffectRGBW2.option.2 = Gradual Change
|
||||
channel-type.shelly.colorEffectRGBW2.option.3 = Flash
|
||||
channel-type.shelly.sensorTemp.label = Temperature
|
||||
channel-type.shelly.sensorTemp.description = Temperature from the sensor
|
||||
channel-type.shelly.sensorExtTemp.label = Temperature
|
||||
channel-type.shelly.sensorExtTemp.description = Temperature from the external sensor
|
||||
channel-type.shelly.sensorExtHum.label = Humidity
|
||||
channel-type.shelly.sensorExtHum.description = Relative humidity in percent (0..100%) from external sensor
|
||||
channel-type.shelly.sensorHumidity.label = Humidity
|
||||
channel-type.shelly.sensorHumidity.description = Relative humidity in percent (0..100%)
|
||||
channel-type.shelly.sensorFlood.label = Flood Alarm
|
||||
channel-type.shelly.sensorFlood.description = Indicates flood / water detection when toggled ON
|
||||
channel-type.shelly.sensorSmoke.label = Smoke Alarm
|
||||
channel-type.shelly.sensorSmoke.description = Indicates smoke detection when toggled ON
|
||||
channel-type.shelly.sensorLux.label = Lux
|
||||
channel-type.shelly.sensorLux.description = Brightness from the sensor (Lux)
|
||||
channel-type.shelly.sensorIllumination.label = Illumination
|
||||
channel-type.shelly.sensorIllumination.description = Current illumination (Dark/Twilight/Bright/Unknown)
|
||||
channel-type.shelly.sensorIllumination.state.option.dark = Dark
|
||||
channel-type.shelly.sensorIllumination.state.option.twilight = Twilight
|
||||
channel-type.shelly.sensorIllumination.state.option.bright = Bright
|
||||
channel-type.shelly.sensorIllumination.state.option.unknown = Unknown
|
||||
channel-type.shelly.sensorPPM.label = Gas Concentration
|
||||
channel-type.shelly.sensorPPM.description = Gas concentration in ppm
|
||||
channel-type.shelly.sensorPosition.label = Position
|
||||
channel-type.shelly.sensorPosition.description = Position of the valve
|
||||
channel-type.shelly.sensorADC.label = Voltage (ADC)
|
||||
channel-type.shelly.sensorADC.description = ADC voltage in V
|
||||
channel-type.shelly.sensorTilt.label = Tilt
|
||||
channel-type.shelly.sensorTilt.description = Tilt in degrees (requires calibration)
|
||||
channel-type.shelly.sensorVibration.label = Vibration
|
||||
channel-type.shelly.sensorVibration.description = Vibration detected when toggled ON
|
||||
channel-type.shelly.sensorMotion.label = Motion
|
||||
channel-type.shelly.sensorMotion.description = Motion detected when toggled ON
|
||||
channel-type.shelly.motionActive.label = Motion Active
|
||||
channel-type.shelly.motionActive.description = Indicates if motion sensor is active or within sleep time
|
||||
channel-type.shelly.motionTimestamp.label = Last Motion
|
||||
channel-type.shelly.motionTimestamp.description = Timestamp when last motion was detected.
|
||||
|
||||
# Roller
|
||||
channel-type.shelly.rollerState.label = State
|
||||
channel-type.shelly.rollerState.description = State of the roller (open/closed/stopped).
|
||||
|
||||
|
||||
# LED disable
|
||||
channel-type.shelly.ledPowerDisable.label = Disable Power LED
|
||||
channel-type.shelly.ledPowerDisable.description = ON: The power status LED will be deactivated
|
||||
channel-type.shelly.ledStatusDisable.label = Disable Status LED
|
||||
channel-type.shelly.ledStatusDisable.description = ON: The WiFi status LED will be deactivated
|
||||
channel-type.shelly.motionTimestamp.description = Timestamp when last motion was detected
|
||||
channel-type.shelly.sensorValve.label = Valve
|
||||
channel-type.shelly.sensorValve.description = Current valve status (Closed/Opened/Not connected/Failure/Closing/Opening/Checking)
|
||||
channel-type.shelly.sensorValve.state.option.closed = Closed
|
||||
channel-type.shelly.sensorValve.state.option.opened = Opened
|
||||
channel-type.shelly.sensorValve.state.option.not_connected = Not connected
|
||||
channel-type.shelly.sensorValve.state.option.failure = Failure
|
||||
channel-type.shelly.sensorValve.state.option.closing = Closing
|
||||
channel-type.shelly.sensorValve.state.option.opening = Opening
|
||||
channel-type.shelly.sensorValve.state.option.checking = Checking
|
||||
channel-type.shelly.sensorValve.state.option.UNKNOWN = Unknown
|
||||
channel-type.shelly.sensorCharger.label = Charger Connected
|
||||
channel-type.shelly.sensorCharger.description = ON: External charger is connected
|
||||
channel-type.shelly.sensorContact.label = State
|
||||
channel-type.shelly.sensorContact.description = State of the contact (open/closed)
|
||||
channel-type.shelly.sensorContact.state.option.OPEN = Open
|
||||
channel-type.shelly.sensorContact.state.option.CLOSED = Closed
|
||||
channel-type.shelly.sensorState.label = Sensor State
|
||||
channel-type.shelly.sensorState.description = Sensor State (Warm-Up/Normal/Fault/Unknown)
|
||||
channel-type.shelly.sensorState.state.option.warmup = Warm-Up
|
||||
channel-type.shelly.sensorState.state.option.normal = Normal
|
||||
channel-type.shelly.sensorState.state.option.fault = Fault
|
||||
channel-type.shelly.sensorState.state.option.unknown = Unknown
|
||||
channel-type.shelly.sensorWakeup.label = Wakeup Reason
|
||||
channel-type.shelly.sensorWakeup.description = Last reason which woke up the device (button/battery/perodic/powerdown/sensor/alarm/ext_power)
|
||||
channel-type.shelly.sensorWakeup.state.option.button = Button
|
||||
channel-type.shelly.sensorWakeup.state.option.battery = Battery
|
||||
channel-type.shelly.sensorWakeup.state.option.periodic = Periodic
|
||||
channel-type.shelly.sensorWakeup.state.option.poweron = Power-On
|
||||
channel-type.shelly.sensorWakeup.state.option.sensor = Sensor
|
||||
channel-type.shelly.sensorWakeup.state.option.alarm = Alarm
|
||||
channel-type.shelly.sensorWakeup.state.option.ext_power = Charger connected
|
||||
channel-type.shelly.controlMode.label = Mode
|
||||
channel-type.shelly.controlMode.description = Sensor/Control Mode
|
||||
channel-type.shelly.controlMode.state.option.manual = Manual
|
||||
channel-type.shelly.controlMode.state.option.automatic = Automatic
|
||||
channel-type.shelly.controlProfile.label = Profile
|
||||
channel-type.shelly.controlProfile.description = Selected Profile
|
||||
channel-type.shelly.boostControl.label = Boost Mode
|
||||
channel-type.shelly.boostControl.description = ON: Boost mode is activated (overwrites automatic temperature mode)
|
||||
channel-type.shelly.boostTimer.label = Boost Timer
|
||||
channel-type.shelly.boostTimer.description = Number of minutes to boost maximum power
|
||||
channel-type.shelly.batVoltage.label = Battery Voltage
|
||||
channel-type.shelly.batVoltage.description = Battery voltage (V)
|
||||
channel-type.shelly.charger.label = Charger Connected
|
||||
channel-type.shelly.charger.description = ON: External power is connected
|
||||
channel-type.shelly.calibrated.label = Calibrated
|
||||
channel-type.shelly.calibrated.description = ON: The device/sensor is calibrated
|
||||
channel-type.shelly.externalPower.label = External Power
|
||||
channel-type.shelly.externalPower.description = ON: Device is charging, OFF: No charger connected
|
||||
channel-type.shelly.senseKey.label = IR Key to Send
|
||||
channel-type.shelly.senseKey.description = Send a defined key code
|
||||
channel-type.shelly.deviceName.label = Device Name
|
||||
channel-type.shelly.deviceName.description = Symbolic Device Name as configured in the Shelly App
|
||||
channel-type.shelly.uptime.label = Uptime
|
||||
channel-type.shelly.uptime.description = Number of seconds since the device was powered up
|
||||
channel-type.shelly.heartBeat.label = Last Heartbeat
|
||||
channel-type.shelly.heartBeat.description = Last time we received a signal from the device (API result or sensor report), This indicates that device communication works on the network layer (WiFi + IP)
|
||||
channel-type.shelly.updateAvailable.label = Update available
|
||||
channel-type.shelly.updateAvailable.description = ON: A firmware update is available (use the Shelly App to perform update)
|
||||
channel-type.shelly.deviceTemp.label = Internal Temperature
|
||||
channel-type.shelly.deviceTemp.description = Internal device temperature, helps to detect overheating due to installation issues
|
||||
channel-type.shelly.supplyVoltage.label = Supply Voltage
|
||||
channel-type.shelly.supplyVoltage.description = External voltage supplied to the device
|
||||
channel-type.shelly.lastUpdate.label = Last Update
|
||||
channel-type.shelly.lastUpdate.description = Timestamp of last status update
|
||||
channel-type.shelly.lastEvent.label = Event
|
||||
channel-type.shelly.lastEvent.description = Event Type (S=Short push, SS=Double-Short push, SSS=Triple-Short push, L=Long push, SL=Short-Long push, LS=Long-Short push)
|
||||
channel-type.shelly.lastEvent.state.option.S = Short push
|
||||
channel-type.shelly.lastEvent.state.option.SS = Double-Short push
|
||||
channel-type.shelly.lastEvent.state.option.SSS = Triple-Short push
|
||||
channel-type.shelly.lastEvent.state.option.L = Long push
|
||||
channel-type.shelly.lastEvent.state.option.SL = Short-Long push
|
||||
channel-type.shelly.lastEvent.state.option.LS = Long-Short push
|
||||
channel-type.shelly.eventCount.label = Event Count
|
||||
channel-type.shelly.eventCount.description = Event Count
|
||||
channel-type.shelly.eventTrigger.label = Event
|
||||
channel-type.shelly.eventTrigger.description = Event Trigger (ROLLER_OPEN/ROLLER_CLOSE/ROLLER_STOP)
|
||||
channel-type.shelly.eventTrigger.option.ROLLER_OPEN = Roller is open
|
||||
channel-type.shelly.eventTrigger.option.ROLLER_CLOSE = Roller is closed
|
||||
channel-type.shelly.eventTrigger.option.ROLLER_STOP = Roller has stopped
|
||||
channel-type.shelly.alarmTrigger.label = Alarm
|
||||
channel-type.shelly.alarmTrigger.description = Alarm Trigger, e.g. weak WiFi Signal detected or over heating
|
||||
channel-type.shelly.alarmTrigger.option.NONE = None
|
||||
channel-type.shelly.alarmTrigger.option.WEAK_SIGNAL = Weak WiFi
|
||||
channel-type.shelly.alarmTrigger.option.RESTARTED = Device restarted
|
||||
channel-type.shelly.alarmTrigger.option.OVERTEMP = Device is overheating
|
||||
channel-type.shelly.alarmTrigger.option.OVERLOAD = Device is overloaded
|
||||
channel-type.shelly.alarmTrigger.option.OVERPOWER = Device is over max power
|
||||
channel-type.shelly.alarmTrigger.option.LOAD_ERROR = Load error
|
||||
channel-type.shelly.alarmTrigger.option.LOW_BATTERY = Low battery
|
||||
channel-type.shelly.alarmTrigger.option.BATTERY = Wakeup by battery
|
||||
channel-type.shelly.alarmTrigger.option.POWERON = Device was powered on
|
||||
channel-type.shelly.alarmTrigger.option.BUTTON = Button was pressed
|
||||
channel-type.shelly.alarmTrigger.option.SENSOR = Sensor data updated
|
||||
channel-type.shelly.alarmState.label = Alarm State
|
||||
channel-type.shelly.alarmState.description = Alarm State (Unknown/None/Mild/Heavy/Test)
|
||||
channel-type.shelly.alarmState.state.option.unknown = Unknown
|
||||
channel-type.shelly.alarmState.state.option.none = None
|
||||
channel-type.shelly.alarmState.state.option.mild = Mild
|
||||
channel-type.shelly.alarmState.state.option.heavy = Heavy
|
||||
channel-type.shelly.alarmState.state.option.test = Test
|
||||
channel-type.shelly.selfTest.label = Self Test
|
||||
channel-type.shelly.selfTest.description = Self Test Status/Result
|
||||
channel-type.shelly.selfTest.state.option.not_completed = Not completed
|
||||
channel-type.shelly.selfTest.state.option.completed = Completed
|
||||
channel-type.shelly.selfTest.state.option.running = Running
|
||||
channel-type.shelly.selfTest.state.option.pending = Pending
|
||||
channel-type.shelly.selfTest.state.option.unknown = Unknown
|
||||
channel-type.shelly.sensorError.label = Last Error
|
||||
channel-type.shelly.sensorError.description = Only valid in case of error
|
||||
channel-type.shelly.sensorSleepTime.label = Sensor Sleep Time
|
||||
channel-type.shelly.sensorSleepTime.description = The sensor will not send notifications and will not perform actions until the specified time expires (0=disable)
|
||||
channel-type.shelly.deviceSchedule.label = Schedule active
|
||||
channel-type.shelly.deviceSchedule.description = ON: A scheduled program is active
|
||||
|
||||
# Shelly Manager
|
||||
message.manager.invalid-url = Invalid URL or syntax
|
||||
|
||||
@@ -1,53 +1,505 @@
|
||||
# binding
|
||||
binding.shelly.name = Shelly Binding
|
||||
binding.shelly.description = Dieses Binding integriert Shelly-Komponenten, die über WiFi gesteuert werden können.
|
||||
binding.shelly.config.defaultUserId.label = Standardbenutzerkennung
|
||||
binding.shelly.config.defaultUserId.description = Sofern konfiguriert, wird diese für den Zugriff auf das Gerät verwendet, wenn in der Thing-Konfiguration keine angegeben ist.
|
||||
binding.shelly.config.defaultPassword.label = Passwort
|
||||
binding.shelly.config.defaultPassword.description = Dieses Passwort wird für den Gerätezugriff verwendet, wenn in der Thing-Konfiguration keines gesetzt ist.
|
||||
binding.shelly.config.localIP.label = IP-Adresse
|
||||
binding.shelly.config.localIP.description = Lokale IP-Adresse der Netzwerk-Schnittstelle, welche für Verbindungen genutzt wird (CoIoT Listen und http-Callback). Default\: Voreingestelltes Interface aus der openHAB Netzwerkkonfiguration.
|
||||
binding.shelly.config.defaultUserId.description = Sofern konfiguriert, wird diese für den Zugriff auf das Gerät verwendet, wenn in der Thing-Konfiguration keine angegeben ist.
|
||||
binding.shelly.config.defaultPassword.label = Standardpasswort
|
||||
binding.shelly.config.defaultPassword.description = Dieses Passwort wird für den Gerätezugriff verwendet, wenn in der Thing-Konfiguration keines gesetzt ist.
|
||||
binding.shelly.config.localIP.label = Host Interface IP
|
||||
binding.shelly.config.localIP.description = Lokale IP-Adresse der Netzwerk-Schnittstelle, welche für Verbindungen genutzt wird (CoIoT Listen und http-Callback). Default: Voreingestelltes Interface aus der openHAB Netzwerkkonfiguration.
|
||||
binding.shelly.config.autoCoIoT.label = Auto-CoIoT
|
||||
binding.shelly.config.autoCoIoT.description = Bei aktiviertem Auto-CoIoT wird das Protokoll aktiviert, sobald das Gerät eine Firmwareversion 1.6 oder neuer verwendet. Andernfalls wird dies über die Thing-Konfiguration gesteuert.
|
||||
binding.shelly.config.autoCoIoT.description = Bei aktiviertem Auto-CoIoT wird das Protokoll aktiviert, sobald das Gerät eine Firmwareversion 1.6 oder neuer verwendet. Andernfalls wird dies über die Thing-Konfiguration gesteuert.
|
||||
|
||||
# Config status messages
|
||||
config-status.error.missing-device-ip = Die IP-Adresse des Shelly Gerätes ist nicht konfiguriert.
|
||||
message.config-status.error.missing-device-ip = Die IP-Adresse des Shelly Gerätes ist nicht konfiguriert.
|
||||
message.config-status.error.missing-userid = Keine Benutzerkennung in der Thing Konfiguration
|
||||
|
||||
# Thing status descriptions
|
||||
offline.conf-error-no-credentials = Gerät ist passwortgeschützt, aber es sind keine Anmeldedaten konfiguriert.
|
||||
offline.conf-error-access-denied = Der Zugriff wurde verweigert. überprüfen Sie die konfigurierten Zugangsdaten, oder setzen diese entsprechend (analog zur Shelly App).
|
||||
offline.conf-error-wrong-mode = Das Gerät befindet sich nicht mehr in der konfigurierten Betriebsart {0}, erwartet {1}. Löschen Sie das Gerät und führen Sie eine erneute Geräteerkennung durch.
|
||||
offline.status-error-timeout = Das Gerät ist nicht erreichbar (API Timeout).
|
||||
offline.status-error-unexpected-api-result = Es trat ein unerwartetes Problem beim API-Zugriff auf. Überprüfen Sie die Logdatei für genauere Informationen.
|
||||
offline.status-error-watchdog = Das Gerät antwortet nicht und ist vermutlich nicht mehr verfügbar.
|
||||
offline.status-error-restarted = Das Gerät wurde neu gestartet und wird erneut initialisiert.
|
||||
offline.status-error-fwupgrade = Firmware-Update läuft
|
||||
message.offline.conf-error-no-credentials = Gerät ist passwortgeschützt, aber es sind keine Anmeldedaten konfiguriert.
|
||||
message.offline.conf-error-access-denied = Der Zugriff wurde verweigert. überprüfen Sie die konfigurierten Zugangsdaten, oder setzen diese entsprechend (analog zur Shelly App).
|
||||
message.offline.conf-error-wrong-mode = Das Gerät befindet sich nicht mehr in der erwarteten Betriebsart. Löschen Sie das Gerät und führen Sie eine erneute Geräteerkennung durch.
|
||||
message.offline.status-error-timeout = Das Gerät ist nicht erreichbar (API Timeout).
|
||||
message.offline.status-error-unexpected-api-result = Es trat ein unerwartetes Problem beim API-Zugriff auf. Überprüfen Sie die Logdatei für genauere Informationen.
|
||||
message.offline.status-error-watchdog = Das Gerät antwortet nicht und ist vermutlich nicht mehr verfügbar.
|
||||
message.offline.status-error-restarted = Das Gerät wurde neu gestartet und wird erneut initialisiert.
|
||||
message.offline.status-error-fwupgrade = Gerätesoftware wird aktualisiert
|
||||
|
||||
message.versioncheck.failed = Firmware-Version kann nicht überprüft werden\: {0}
|
||||
message.versioncheck.beta = Gerät verwendet eine Beta-Version\: {0}/{1}.
|
||||
message.versioncheck.tooold = WARNUNG\: Firmware könnte zu alt sein, installiert\: {0}/{1}, Minimum {3} erforderlich.
|
||||
message.versioncheck.update = INFO\: Neue Firmware verfügbar\: aktuelle Version\: {0}, neue Version\: {1}
|
||||
message.versioncheck.autocoiot = INFO\: Die Firmware unterstützt die Anforderung, Auto-CoIoT wurde aktiviert.
|
||||
message.roller.calibrating = Das Gerät ist nicht kalibriert. Es ist eine Kalibrierung mit der Shelly App erforderlich.
|
||||
message.init.noipaddress = Es konnte keine lokale IP-Adresse ermittelt werden. Bitte sicherstellen, dass IPv4 aktiviert ist und das richtige Interface in der openHAB Netzwerk-Konfiguration ausgewählt ist.
|
||||
message.init.protected = Das Gerät ist passwortgeschützt, die Zugangsdaten müssen in der Thing Konfiguration hinterlegt werden.
|
||||
message.command.failed = FEHLER\: Der Befehl {0} für Kanal {1} kann nicht verarbeitet werden
|
||||
message.command.init = Thing aktuell nicht initialisiert, der Befehl {0} führt zur Initialisierung
|
||||
message.status.unknown.initializing = Initialisierung oder Gerät im Schlafmodus.
|
||||
# General messages
|
||||
message.versioncheck.failed = Firmware-Version konnte nicht geprüft werden: {0}
|
||||
message.versioncheck.beta = Es wurde eine Betaversion erkannt: {0}/{1}.
|
||||
message.versioncheck.tooold = ACHTUNG: Eine alte Firmware wurde erkannt: {0}/{1}, minimal erforderlich {2}.
|
||||
message.versioncheck.update = INFO: Eine neue Firmwareversion ist verfügbar, aktuell: {0}, neu: {1}
|
||||
message.versioncheck.autocoiot = INFO: Die Firmware unterstützt die Anforderung, Auto-CoIoT wurde aktiviert.
|
||||
message.init.noipaddress = Es konnte keine lokale IP-Adresse ermittelt werden. Bitte sicherstellen, dass IPv4 aktiviert ist und das richtige Interface in der openHAB Netzwerk-Konfiguration ausgewählt ist.
|
||||
message.init.protected = Das Gerät ist passwortgeschützt, die Zugangsdaten müssen in der Thing Konfiguration hinterlegt werden.
|
||||
message.command.failed = FEHLER: Der Befehl {0} für Kanal {1} kann nicht verarbeitet werden
|
||||
message.command.init = Thing aktuell nicht initialisiert, der Befehl {0} führt zur Initialisierung
|
||||
message.status.unknown.initializing = Initialisierung oder Gerät im Schlafmodus.
|
||||
message.statusupdate.failed = Status konnte nicht aktualisiert werden
|
||||
message.event.triggered = Event erzeugt\: {0}
|
||||
message.coap.init.failed = CoAP/CoIoT konnte nicht gestartet werden\: {0}
|
||||
message.discovery.disabled = Das Gerät ist als "nicht erkennen" markiert und wird nicht übernommen.
|
||||
message.discovery.protected = Das Gerät mit der IP-Adresse {0} ist zugriffsgeschützt und keine Zugangsdaten konfiguriert.
|
||||
message.discovery.failed = Erkennung des Gerätes mit der IP-Adresse {0} ist fehlgeschlagen\: {1}
|
||||
message.roller.favmissing = Positions-Favoriten werden von der installierten Firmwareversion nicht unterstützt (ab 1.9.2), oder sind nicht in der Shelly App konfiguriert.
|
||||
message.status.managerstarted = Shelly Manager wurde gestartet, Aufruf mit http(s)://{0}:{1}/shelly/manager"
|
||||
message.event.triggered = Event erzeugt: {0}
|
||||
message.event.triggered = Event gefiltert: {0}
|
||||
message.coap.init.failed = CoAP/CoIoT konnte nicht gestartet werden: {0}
|
||||
message.discovery.disabled = Das Gerät ist als "nicht erkennen" markiert und wird nicht übernommen.
|
||||
message.discovery.protected = Das Gerät mit der IP-Adresse {0} ist zugriffsgeschützt und keine Zugangsdaten konfiguriert.
|
||||
message.discovery.failed = Erkennung des Gerätes mit der IP-Adresse {0} ist fehlgeschlagen
|
||||
message.roller.calibrating = Das Gerät ist nicht kalibriert. Es ist eine Kalibrierung mit der Shelly App erforderlich.
|
||||
message.roller.favmissing = Positions-Favoriten werden von der installierten Firmwareversion nicht unterstützt (ab 1.9.2), oder sind nicht in der Shelly App konfiguriert.
|
||||
|
||||
# Device
|
||||
channel-type.shelly.deviceName.label = Gerätename
|
||||
channel-type.shelly.deviceName.description = Symbolischer Name des Gerätes (Konfiguration über Shelly App)
|
||||
channel-type.shelly.sensorSleepTime.label = Sensor Standby Timer
|
||||
channel-type.shelly.sensorSleepTime.description = Das Gerät sendet kein Ereignis solange die Zeitspanne nicht abgelaufen ist.
|
||||
# thing types - descriptions only
|
||||
thing-type.shelly.shellydevice.description = Ein passwortgeschütztes oder unbekanntes Gerät
|
||||
thing-type.shelly.shellyunknown.description = Das Gerät wird aktuell nicht unterstützt
|
||||
thing-type.shelly.shelly1.description = Shelly 1 (1x Relais)
|
||||
thing-type.shelly.shelly1l.description = Shelly 1L (1x Relais, kein Neutral notwendig)
|
||||
thing-type.shelly.shelly1pm.description = Shelly 1PM (1x Relais und Strommesser)
|
||||
thing-type.shelly.shellyem.description = Shelly EM zur Energiemessung
|
||||
thing-type.shelly.shellyem3.description = Shelly 3EM zur Energiemessung
|
||||
thing-type.shelly.shelly2-relay.description = Shelly2 im Relais-Modus (2x Relais, Strommesser)
|
||||
thing-type.shelly.shelly2-roller.description = Shelly2 im Rollladen-Modus (1x Rollladen, Strommesser)
|
||||
thing-type.shelly.shelly25-relay.description = Shelly2.5 im Relais-Modus (2x Relais, 2x Strommesser)
|
||||
thing-type.shelly.shelly25-roller.description = Shelly2.5 im Rollladen-Modus (1x Rollladen, Strommesser)
|
||||
thing-type.shelly.shelly4pro.description = Shelly 4 Pro mit 4 Relais und Strommessern
|
||||
thing-type.shelly.shellyplug.description = Shelly Plug als schaltbare Steckdose
|
||||
thing-type.shelly.shellyplugu1.description = Shelly Plug-US als schaltbare Steckdose (110V)
|
||||
thing-type.shelly.shellyplugs.description = Shelly Plug-S als schaltbare Steckdose
|
||||
thing-type.shelly.shellyuni.description = Shelly UNI
|
||||
thing-type.shelly.shellydimmer.description = Shelly mit Dimmer-Funktion
|
||||
thing-type.shelly.shellydimmer2.description = Shelly mit Dimmer-Funktion, 2. Generation
|
||||
thing-type.shelly.shellybutton1.description = Shelly Button 1 (batteriebetrieben)
|
||||
thing-type.shelly.shellybutton2.description = Shelly Button 2 (batteriebetrieben)
|
||||
thing-type.shelly.shellyht.description = Shelly H&T (Luftfeuchtigkeit- und Temperatursensor)
|
||||
thing-type.shelly.shellydw.description = Shelly Tür/Fenstersensor (batteriebetrieben)
|
||||
thing-type.shelly.shellydw2.description = Shelly Tür/Fenstersensor (batteriebetrieben)
|
||||
thing-type.shelly.shellysmoke.description = Shelly Rauchmelder (batteriebetrieben)
|
||||
thing-type.shelly.shellyflood.description = Shelly Wassermelder (batteriebetrieben)
|
||||
thing-type.shelly.shellysense.description = Shelly Bewegungsmelder und IR Sender
|
||||
thing-type.shelly.shellybulb.description = Shelly dimmbare Glühbirne (Farb- und Weißmodus)
|
||||
thing-type.shelly.shellybulbduo.description = Shelly Duo dimmbare Glühbirne (Kalt- und Warmweiß)
|
||||
thing-type.shelly.shellycolorbulb.description = Shelly dimmbare Glühbirne (Farb- und Weißmodus)
|
||||
thing-type.shelly.shellyvintage.description = Shelly dimmbare Vintage Glühbirne
|
||||
thing-type.shelly.shellyrgbw2-color.description = Shelly RGBW-Controller im Farbmodus
|
||||
thing-type.shelly.shellyrgbw2-white.description = Shelly RGBW-Controller im Weiß-Modus, 4 Streifen
|
||||
thing-type.shelly.shellymotion.description = Shelly Motion (Bewegungssensor, batteriebetrieben)
|
||||
thing-type.shelly.shellymtrv.description = Shelly TRV (Heizkörperventiel, batteriebetrieben)
|
||||
thing-type.shelly.shellygas.description = Shelly Gas (Gassensor - Gasleck Erkennung)
|
||||
thing-type.shelly.shellytrv.description = Shelly TRV (Heizungsventil, batteriebetrieben)
|
||||
thing-type.shelly.shellyix3.description = Shelly i3 (3x Eingang, Steuert andere Shelly-Geräte im Netzwerk)
|
||||
|
||||
# Relay, external sensors
|
||||
# thing config - shellydevice
|
||||
thing-type.config.shellydevice.userId.label = Benutzer
|
||||
thing-type.config.shellydevice.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shellydevice.password.label = Passwort
|
||||
thing-type.config.shellydevice.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shellydevice.deviceIp.label = IP Adresse
|
||||
thing-type.config.shellydevice.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
|
||||
# thing config - relay
|
||||
thing-type.config.shelly.relay.userId.label = Benutzer
|
||||
thing-type.config.shelly.relay.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shelly.relay.password.label = Passwort
|
||||
thing-type.config.shelly.relay.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shelly.relay.deviceIp.label = IP Adresse
|
||||
thing-type.config.shelly.relay.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
thing-type.config.shelly.relay.eventsButton.label = Button Events
|
||||
thing-type.config.shelly.relay.eventsButton.description = Aktiviert die Button Action URLS
|
||||
thing-type.config.shelly.relay.eventsPush.label = Push Events
|
||||
thing-type.config.shelly.relay.eventsPush.description = Aktiviert die Push Button Action URLS
|
||||
thing-type.config.shelly.relay.eventsSwitch.label = Output Events
|
||||
thing-type.config.shelly.relay.eventsSwitch.description = Aktiviert die Output Action URLS
|
||||
thing-type.config.shelly.relay.eventsCoIoT.label = CoIoT aktivieren
|
||||
thing-type.config.shelly.relay.eventsCoIoT.description = Aktiviert CoIoT-Protokoll (CoAP-basiert)
|
||||
thing-type.config.shelly.relay.updateInterval.label = Status-Intervall
|
||||
thing-type.config.shelly.relay.updateInterval.description = Intervall für die Hintergundaktualisierung
|
||||
|
||||
# thing config - roller
|
||||
thing-type.config.shelly.roller.userId.label = Benutzer
|
||||
thing-type.config.shelly.roller.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shelly.roller.password.label = Passwort
|
||||
thing-type.config.shelly.roller.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shelly.roller.favoriteUP.label = Favoriten ID für UP
|
||||
thing-type.config.shelly.roller.favoriteUP.description = Gibt die Favoriten ID an, die beim Command UP auf den roller#control channel verwendet wird (Konfiguration in der Shelly App)
|
||||
thing-type.config.shelly.roller.favoriteDOWN.label = Favoriten ID für DOWN
|
||||
thing-type.config.shelly.roller.favoriteDOWN.description = Gibt die Favoriten ID an, die beim Command DOWN auf den roller#control channel verwendet wird (Konfiguration in der Shelly App)
|
||||
thing-type.config.shelly.roller.deviceIp.label = IP Adresse
|
||||
thing-type.config.shelly.roller.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
thing-type.config.shelly.roller.eventsRoller.label = Rollladen-Events
|
||||
thing-type.config.shelly.roller.eventsRoller.description = Aktiviert die Roller Action URLS
|
||||
thing-type.config.shelly.roller.eventsCoIoT.label = CoIoT aktivieren
|
||||
thing-type.config.shelly.roller.eventsCoIoT.description = Aktiviert CoIoT-Protokoll (CoAP-basiert)
|
||||
thing-type.config.shelly.roller.updateInterval.label = Status-Intervall
|
||||
thing-type.config.shelly.roller.updateInterval.description = Intervall für die Hintergundaktualisierung
|
||||
|
||||
# thing config - dimmer
|
||||
thing-type.config.shelly.dimmer.userId.label = Benutzer
|
||||
thing-type.config.shelly.dimmer.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shelly.dimmer.password.label = Passwort
|
||||
thing-type.config.shelly.dimmer.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shelly.dimmer.deviceIp.label = IP Adresse
|
||||
thing-type.config.shelly.dimmer.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
thing-type.config.shelly.dimmer.brightnessAutoOn.label = Helligkeit Auto-EIN
|
||||
thing-type.config.shelly.dimmer.brightnessAutoOn.description = an: Licht wird eingeschaltet, wenn ein Helligkeitswert größer 0 gesetzt wird; aus: Helligkeit wird gesetzt, aber das Gerät nicht eingeschaltet
|
||||
thing-type.config.shelly.dimmer.eventsButton.label = Button Events
|
||||
thing-type.config.shelly.dimmer.eventsButton.description = Aktiviert die Button Action URLS
|
||||
thing-type.config.shelly.dimmer.eventsPush.label = Push Events
|
||||
thing-type.config.shelly.dimmer.eventsPush.description = Aktiviert die Push Button Action URLS
|
||||
thing-type.config.shelly.dimmer.eventsSwitch.label = Output Events
|
||||
thing-type.config.shelly.dimmer.eventsSwitch.description = Aktiviert die Output Action URLS
|
||||
thing-type.config.shelly.dimmer.eventsCoIoT.label = CoIoT aktivieren
|
||||
thing-type.config.shelly.dimmer.eventsCoIoT.description = Aktiviert CoIoT-Protokoll (CoAP-basiert)
|
||||
thing-type.config.shelly.dimmer.updateInterval.label = Status-Intervall
|
||||
thing-type.config.shelly.dimmer.updateInterval.description = Intervall für die Hintergundaktualisierung
|
||||
|
||||
# thing config - light
|
||||
thing-type.config.shelly.light.userId.label = Benutzer
|
||||
thing-type.config.shelly.light.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shelly.light.password.label = Passwort
|
||||
thing-type.config.shelly.light.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shelly.light.deviceIp.label = IP Adresse
|
||||
thing-type.config.shelly.light.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
thing-type.config.shelly.light.brightnessAutoOn.label = Helligkeit Auto-EIN
|
||||
thing-type.config.shelly.light.brightnessAutoOn.description = AN: Setzen einer Helligkeit > 0 schaltet das Gerät automatisch ein; AUS: Gerätestatus wird nicht geändert
|
||||
thing-type.config.shelly.light.eventsButton.label = Button Events
|
||||
thing-type.config.shelly.light.eventsButton.description = Aktiviert die Button Action URLS
|
||||
thing-type.config.shelly.light.eventsPush.label = Push Events
|
||||
thing-type.config.shelly.light.eventsPush.description = Aktiviert die Push Button Action URLS
|
||||
thing-type.config.shelly.light.eventsSwitch.label = Output Events
|
||||
thing-type.config.shelly.light.eventsSwitch.description = Aktiviert die Output Action URLS
|
||||
thing-type.config.shelly.light.eventsCoIoT.label = CoIoT aktivieren
|
||||
thing-type.config.shelly.light.eventsCoIoT.description = Aktiviert CoIoT-Protokoll (CoAP-basiert)
|
||||
thing-type.config.shelly.light.updateInterval.label = Status-Intervall
|
||||
thing-type.config.shelly.light.updateInterval.description = Intervall für die Hintergrundaktualisierung
|
||||
|
||||
# thing config - RGBW2
|
||||
thing-type.config.shelly.rgbw2.userId.label = Benutzer
|
||||
thing-type.config.shelly.rgbw2.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shelly.rgbw2.password.label = Passwort
|
||||
thing-type.config.shelly.rgbw2.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shelly.rgbw2.deviceIp.label = IP Adresse
|
||||
thing-type.config.shelly.rgbw2.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
thing-type.config.shelly.rgbw2.brightnessAutoOn.label = Helligkeit Auto-EIN
|
||||
thing-type.config.shelly.rgbw2.brightnessAutoOn.description = AN: Setzen einer Helligkeit > 0 schaltet das Gerät automatisch ein; AUS: Gerätestatus wird nicht geändert
|
||||
thing-type.config.shelly.rgbw2.eventsCoIoT.label = CoIoT aktivieren
|
||||
thing-type.config.shelly.rgbw2.eventsCoIoT.description = Aktiviert CoIoT-Protokoll (CoAP-basiert)
|
||||
thing-type.config.shelly.rgbw2.updateInterval.label = Status-Intervall
|
||||
thing-type.config.shelly.rgbw2.updateInterval.description = Intervall für die Hintergrundaktualisierung
|
||||
|
||||
# thing config - battery
|
||||
thing-type.config.shelly.battery.userId.label = Benutzer
|
||||
thing-type.config.shelly.battery.userId.description = Benutzerkennung für API-Zugriff
|
||||
thing-type.config.shelly.battery.password.label = Passwort
|
||||
thing-type.config.shelly.battery.password.description = Passwort für API-Zugriff
|
||||
thing-type.config.shelly.battery.deviceIp.label = IP Adresse
|
||||
thing-type.config.shelly.battery.deviceIp.description = IP Adresse der Shelly-Komponente
|
||||
thing-type.config.shelly.battery.eventsSensorReport.label = Sensor Events
|
||||
thing-type.config.shelly.battery.eventsSensorReport.description = Aktiviert die Sensor Action URLS
|
||||
thing-type.config.shelly.battery.eventsCoIoT.label = CoIoT aktivieren
|
||||
thing-type.config.shelly.battery.eventsCoIoT.description = Aktiviert CoIoT-Protokoll (CoAP-basiert)
|
||||
thing-type.config.shelly.battery.lowBattery.label = Batterieladung niedrig (%)
|
||||
thing-type.config.shelly.battery.lowBattery.description = Ein Alarm wird ausgelöst, wenn das Gerät eine Batterieladung kleiner diesem Schwellwert meldet. Default: 20%
|
||||
thing-type.config.shelly.battery.updateInterval.label = Status-Intervall
|
||||
thing-type.config.shelly.battery.updateInterval.description = Intervall für die Hintergundaktualisierung
|
||||
|
||||
# channel-groups
|
||||
thing-type.shelly.shelly1.group.relay.label = Relais
|
||||
thing-type.shelly.shelly1.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly1.group.sensors.label = Externe Sensoren
|
||||
thing-type.shelly.shelly1.group.sensors.description = Temperaturwerte der externen Sensoren (nur wenn angeschlossen)
|
||||
thing-type.shelly.shelly1.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly1.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly1pm.group.relay.label = Relais
|
||||
thing-type.shelly.shelly1pm.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly1pm.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shelly1pm.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly1pm.group.sensors.label = Externe Sensoren
|
||||
thing-type.shelly.shelly1pm.group.sensors.description = Werte der externen Sensoren (nur wenn angeschlossen)
|
||||
thing-type.shelly.shelly1pm.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly1pm.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly1l.group.relay.label = Relais
|
||||
thing-type.shelly.shelly1l.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly1l.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shelly1l.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly1l.group.sensors.label = Externe Sensoren
|
||||
thing-type.shelly.shelly1l.group.sensors.description = Temperaturwerte der externen Sensoren (nur wenn angeschlossen)
|
||||
thing-type.shelly.shelly1l.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly1l.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyem.group.relay.label = Relais
|
||||
thing-type.shelly.shellyem.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyem.group.meter1.label = Verbrauch 1
|
||||
thing-type.shelly.shellyem.group.meter1.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyem.group.meter2.label = Verbrauch 2
|
||||
thing-type.shelly.shellyem.group.meter2.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyem.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyem.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyem3.group.relay.label = Relais
|
||||
thing-type.shelly.shellyem3.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyem3.group.meter1.label = Verbrauch 1
|
||||
thing-type.shelly.shellyem3.group.meter1.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyem3.group.meter2.label = Verbrauch 2
|
||||
thing-type.shelly.shellyem3.group.meter2.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyem3.group.meter3.label = Verbrauch 3
|
||||
thing-type.shelly.shellyem3.group.meter3.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyem3.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyem3.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly2-relay.group.relay1.label = Relais 1
|
||||
thing-type.shelly.shelly2-relay.group.relay1.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly2-relay.group.relay2.label = Relais 2
|
||||
thing-type.shelly.shelly2-relay.group.relay2.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly2-relay.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shelly2-relay.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly2-relay.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly2-relay.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly2-roller.group.roller.label = Rollladen
|
||||
thing-type.shelly.shelly2-roller.group.roller.description = Rollladensteuerung und Status
|
||||
thing-type.shelly.shelly2-roller.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shelly2-roller.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly2-roller.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly2-roller.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly25-relay.group.relay1.label = Relais 1
|
||||
thing-type.shelly.shelly25-relay.group.relay1.description = Relais Ein-/Ausgänge und -Funktionen
|
||||
thing-type.shelly.shelly25-relay.group.relay2.label = Relais 2
|
||||
thing-type.shelly.shelly25-relay.group.relay2.description = Relais Ein-/Ausgänge und -Funktionen
|
||||
thing-type.shelly.shelly25-relay.group.meter1.label = Verbrauch 1
|
||||
thing-type.shelly.shelly25-relay.group.meter1.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly25-relay.group.meter2.label = Verbrauch 2
|
||||
thing-type.shelly.shelly25-relay.group.meter2.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly25-relay.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly25-relay.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly25-roller.group.roller.label = Rollladen
|
||||
thing-type.shelly.shelly25-roller.group.roller.description = Rollladensteuerung und Status
|
||||
thing-type.shelly.shelly25-roller.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shelly25-roller.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly25-roller.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly25-roller.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shelly4pro.group.relay1.label = Relais 1
|
||||
thing-type.shelly.shelly4pro.group.relay1.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly4pro.group.relay2.label = Relais 2
|
||||
thing-type.shelly.shelly4pro.group.relay2.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly4pro.group.relay3.label = Relais 3
|
||||
thing-type.shelly.shelly4pro.group.relay3.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly4pro.group.relay4.label = Relais 4
|
||||
thing-type.shelly.shelly4pro.group.relay4.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shelly4pro.group.meter1.label = Verbrauch 1
|
||||
thing-type.shelly.shelly4pro.group.meter1.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly4pro.group.meter2.label = Verbrauch 2
|
||||
thing-type.shelly.shelly4pro.group.meter2.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly4pro.group.meter3.label = Verbrauch 3
|
||||
thing-type.shelly.shelly4pro.group.meter3.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly4pro.group.meter4.label = Verbrauch 4
|
||||
thing-type.shelly.shelly4pro.group.meter4.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shelly4pro.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shelly4pro.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyplug.group.relay.label = Relais
|
||||
thing-type.shelly.shellyplug.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyplug.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellyplug.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyplug.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyplug.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyplugs.group.relay.label = Relais
|
||||
thing-type.shelly.shellyplugs.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyplugs.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellyplugs.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyplugs.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyplugs.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyplugu1.group.relay.label = Relais
|
||||
thing-type.shelly.shellyplugu1.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyplugu1.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellyplugu1.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyplugu1.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyplugu1.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyuni.group.relay1.label = Relais 1
|
||||
thing-type.shelly.shellyuni.group.relay1.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyuni.group.relay2.label = Relais 2
|
||||
thing-type.shelly.shellyuni.group.relay2.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellyuni.group.sensors.label = Sensordaten
|
||||
thing-type.shelly.shellyuni.group.sensors.description = Daten der angeschlossenen Sensoren
|
||||
thing-type.shelly.shellyuni.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyuni.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellydimmer.group.relay.label = Relais
|
||||
thing-type.shelly.shellydimmer.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellydimmer.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellydimmer.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellydimmer.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellydimmer.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellydimmer2.group.relay.label = Relais
|
||||
thing-type.shelly.shellydimmer2.group.relay.description = Relais Ein-/Ausgänge und Status
|
||||
thing-type.shelly.shellydimmer2.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellydimmer2.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellydimmer2.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellydimmer2.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyix3.group.status1.label = Eingang 1
|
||||
thing-type.shelly.shellyix3.group.status1.description = Status Informationen zum Eingang 1
|
||||
thing-type.shelly.shellyix3.group.status2.label = Eingang 2
|
||||
thing-type.shelly.shellyix3.group.status2.description = Status Informationen zum Eingang 2
|
||||
thing-type.shelly.shellyix3.group.status3.label = Eingang 3
|
||||
thing-type.shelly.shellyix3.group.status3.description = Status Informationen zum Eingang 3
|
||||
thing-type.shelly.shellyix3.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyix3.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellybutton1.group.status.label = Taster-Status
|
||||
thing-type.shelly.shellybutton1.group.status.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellybutton1.group.battery.label = Batteriestatus
|
||||
thing-type.shelly.shellybutton1.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellybutton1.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellybutton1.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellybutton2.group.status.label = Taster-Status
|
||||
thing-type.shelly.shellybutton2.group.status.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellybutton2.group.battery.label = Batteriestatus
|
||||
thing-type.shelly.shellybutton2.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellybutton2.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellybutton2.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellybulb.group.control.label = Steuerung
|
||||
thing-type.shelly.shellybulb.group.control.description = Steuerung des Lichts
|
||||
thing-type.shelly.shellybulb.group.color.label = Farbmodus
|
||||
thing-type.shelly.shellybulb.group.color.description = Einstellungen für den Farbmodus
|
||||
thing-type.shelly.shellybulb.group.white.label = Weißwerte
|
||||
thing-type.shelly.shellybulb.group.white.description = Einstellungen für den Weiß-Modus
|
||||
thing-type.shelly.shellybulb.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellybulb.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellybulbduo.group.control.label = Steuerung
|
||||
thing-type.shelly.shellybulbduo.group.control.description = Steuerung des Lichts
|
||||
thing-type.shelly.shellybulbduo.group.white.label = Weißwerte
|
||||
thing-type.shelly.shellybulbduo.group.white.description = Einstellungen für den Weiß-Modus
|
||||
thing-type.shelly.shellybulbduo.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellybulbduo.group.meter.description = Verbrauchswerte
|
||||
thing-type.shelly.shellybulbduo.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellybulbduo.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellycolorbulb.group.control.label = Steuerung
|
||||
thing-type.shelly.shellycolorbulb.group.control.description = Steuerung des Lichts
|
||||
thing-type.shelly.shellycolorbulb.group.white.label = Weißwerte
|
||||
thing-type.shelly.shellycolorbulb.group.white.description = Einstellungen für den Weiß-Modus
|
||||
thing-type.shelly.shellycolorbulb.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellycolorbulb.group.meter.description = Verbrauchswerte
|
||||
thing-type.shelly.shellycolorbulb.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellycolorbulb.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyvintage.group.control.label = Steuerung
|
||||
thing-type.shelly.shellyvintage.group.control.description = Steuerung des Lichts
|
||||
thing-type.shelly.shellyvintage.group.white.label = Steuerung
|
||||
thing-type.shelly.shellyvintage.group.white.description = Geräteeinstellungen
|
||||
thing-type.shelly.shellyvintage.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellyvintage.group.meter.description = Verbrauchswerte
|
||||
thing-type.shelly.shellyvintage.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyvintage.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyrgbw2-color.group.control.label = Steuerung
|
||||
thing-type.shelly.shellyrgbw2-color.group.control.description = Steuerung des Controllers
|
||||
thing-type.shelly.shellyrgbw2-color.group.color.label = Farben
|
||||
thing-type.shelly.shellyrgbw2-color.group.color.description = Farbwerte und Profile
|
||||
thing-type.shelly.shellyrgbw2-color.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellyrgbw2-color.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyrgbw2-color.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyrgbw2-color.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyrgbw2-white.group.control.label = Steuerung
|
||||
thing-type.shelly.shellyrgbw2-white.group.control.description = Lichtsteuerung
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel1.label = Kanal 1
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel1.description = Steuerung für Kanal 1
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel2.label = Kanal 2
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel2.description = Steuerung für Kanal 2
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel3.label = Kanal 3
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel3.description = Steuerung für Kanal 3
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel4.label = Kanal 4
|
||||
thing-type.shelly.shellyrgbw2-white.group.channel4.description = Steuerung für Kanal 4
|
||||
thing-type.shelly.shellyrgbw2-white.group.meter.label = Verbrauch
|
||||
thing-type.shelly.shellyrgbw2-white.group.meter.description = Verbrauchswerte und andere Informationen
|
||||
thing-type.shelly.shellyrgbw2-white.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyrgbw2-white.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyht.group.sensors.label = Sensorwerte
|
||||
thing-type.shelly.shellyht.group.sensors.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellyht.group.battery.label = Batterie-Status
|
||||
thing-type.shelly.shellyht.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellyht.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyht.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellyflood.group.sensors.label = Sensorwerte
|
||||
thing-type.shelly.shellyflood.group.sensors.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellyflood.group.battery.label = Batterie-Status
|
||||
thing-type.shelly.shellyflood.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellyflood.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellyflood.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellydw.group.sensors.label = Sensordaten
|
||||
thing-type.shelly.shellydw.group.sensors.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellydw.group.battery.label = Batterie-Status
|
||||
thing-type.shelly.shellydw.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellydw.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellydw.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellydw2.group.sensors.label = Sensordaten
|
||||
thing-type.shelly.shellydw2.group.sensors.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellydw2.group.battery.label = Batterie-Status
|
||||
thing-type.shelly.shellydw2.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellydw2.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellydw2.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellysmoke.sensors.device.label = Sensordaten
|
||||
thing-type.shelly.shellysmoke.sensors.device.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellysmoke.group.battery.label = Batterie-Status
|
||||
thing-type.shelly.shellysmoke.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellysmoke.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellysmoke.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellysense.sensors.device.label = Sensordaten
|
||||
thing-type.shelly.shellysense.sensors.device.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellysense.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellysense.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellygas.group.sensors.label = Sensordaten
|
||||
thing-type.shelly.shellygas.group.sensors.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellygas.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellygas.group.device.description = Informationen zum Gerätestatus
|
||||
thing-type.shelly.shellymotion.group.sensors.label = Sensordaten
|
||||
thing-type.shelly.shellymotion.group.sensors.description = Messwerte und Status des Sensors
|
||||
thing-type.shelly.shellymotion.group.battery.label = Batteriestatus
|
||||
thing-type.shelly.shellymotion.group.battery.description = Informationen zum Akku
|
||||
thing-type.shelly.shellymotion.group.device.label = Gerätestatus
|
||||
thing-type.shelly.shellymotion.group.device.description = Informationen zum Gerätestatus
|
||||
|
||||
# channel groups
|
||||
channel-group-type.shelly.sensorData.label = Sensordaten
|
||||
channel-group-type.shelly.sensorData.description = Messwerte der Sensoren
|
||||
channel-group-type.shelly.batteryStatus.label = Batterie-Status
|
||||
channel-group-type.shelly.batteryStatus.description = Informationen zum Akku
|
||||
channel-group-type.shelly.control.label = Steuerung
|
||||
channel-group-type.shelly.control.description = Steuerung des Gerätes
|
||||
channel-group-type.shelly.buttonState.label = Taster-Status
|
||||
channel-group-type.shelly.buttonState.description = Status des Tasters
|
||||
channel-group-type.shelly.deviceStatus.label = Gerätestatus
|
||||
channel-group-type.shelly.deviceStatus.description = Informationen zum Gerätestatus
|
||||
channel-group-type.shelly.bulbControl.label = Lichtsteuerung
|
||||
channel-group-type.shelly.bulbControl.description = Lichtsteuerung
|
||||
channel-group-type.shelly.duoControl.label = Lichtsteuerung
|
||||
channel-group-type.shelly.duoControl.description = Lichtsteuerung
|
||||
channel-group-type.shelly.rgbw2ColorControl.label = LED-Streifen Steuerung (RGBW)
|
||||
channel-group-type.shelly.rgbw2ColorControl.description = Steuerung der LED-Streifen (Farbmodus)
|
||||
channel-group-type.shelly.rgbw2WhiteControl.label = LED-Streifen Steuerung (Weiß)
|
||||
channel-group-type.shelly.rgbw2WhiteControl.description = Steuerung der LED-Streifen (Weißmodus)
|
||||
channel-group-type.shelly.colorSettingsBulb.label = Farben
|
||||
channel-group-type.shelly.colorSettingsBulb.description = Lichtfarben
|
||||
channel-group-type.shelly.colorSettingsRGBW2.label = Farben
|
||||
channel-group-type.shelly.colorSettingsRGBW2.description = Lichtfarben
|
||||
channel-group-type.shelly.whiteSettings.label = Einstellungen für den Weißmodus
|
||||
channel-group-type.shelly.whiteSettings.description = Anpassung des Lichtfarben wenn das Gerät im Weißmodus betrieben wird
|
||||
channel-group-type.shelly.whiteSettingsSimple.label = Einstellungen für den Weißmodus
|
||||
channel-group-type.shelly.whiteSettingsSimple.description = Anpassung des Lichtfarben wenn das Gerät im Weißmodus betrieben wird
|
||||
channel-group-type.shelly.rgbw2Channel.label = Steuerung
|
||||
channel-group-type.shelly.rgbw2Channel.description = Steuerung der Kanäle und Einstellungen
|
||||
channel-group-type.shelly.relayChannel.label = Relais
|
||||
channel-group-type.shelly.relayChannel.description = Shelly Relais Kanal
|
||||
channel-group-type.shelly.relayChannelPlug.label = Relais
|
||||
channel-group-type.shelly.relayChannelPlug.description = Shelly Relais Kanal
|
||||
channel-group-type.shelly.dimmerChannel.label = Dimmer
|
||||
channel-group-type.shelly.dimmerChannel.description = Shelly Dimmer Kanal
|
||||
channel-group-type.shelly.ix3Channel.label = Eingang
|
||||
channel-group-type.shelly.ix3Channel.description = Status des Eingangs
|
||||
channel-group-type.shelly.rollerControl.label = Rollladensteuerung
|
||||
channel-group-type.shelly.rollerControl.description = Steuerung der Rollladen
|
||||
channel-group-type.shelly.meter.label = Verbrauch
|
||||
channel-group-type.shelly.meter.description = Verbrauchswerte
|
||||
channel-group-type.shelly.externalSensors.label = Externe Sensoren
|
||||
channel-group-type.shelly.externalSensors.description = Werte der externen Sensoren (nur wenn angeschlossen)
|
||||
|
||||
# channels
|
||||
channel-type.shelly.outputName.label = Ausgangsname
|
||||
channel-type.shelly.outputName.description = Name des Relais-Ausgangs/Kanals (Konfiguration innerhalb der Shelly App)
|
||||
channel-type.shelly.timerAutoOn.label = Auto-EIN Timer
|
||||
channel-type.shelly.timerAutoOn.description = Wenn das Relais ausgeschaltet wird, wird dieses automatisch wieder nach n Sekunden eingeschaltet
|
||||
channel-type.shelly.timerAutoOff.label = Auto-AUS Timer
|
||||
channel-type.shelly.timerAutoOff.description = Wenn das Relais eingeschaltet wird, wird dieses automatisch wieder nach n Sekunden ausgeschaltet
|
||||
channel-type.shelly.timerActive.label = Timer aktiv
|
||||
channel-type.shelly.timerActive.description = ON: Auto-On/Off Timer ist aktiv
|
||||
channel-type.shelly.temperature.label = Temperatur
|
||||
channel-type.shelly.temperature.description = Vom Sensor gemessene Temperatur
|
||||
channel-type.shelly.temperature1.label = Temperatur 1
|
||||
channel-type.shelly.temperature1.description = Temperatur des externen Sensors 1
|
||||
channel-type.shelly.temperature2.label = Temperatur 2
|
||||
@@ -56,79 +508,254 @@ channel-type.shelly.temperature3.label = Temperatur 3
|
||||
channel-type.shelly.temperature3.description = Temperatur des externen Sensors 3
|
||||
channel-type.shelly.humidity.label = Luftfeuchtigkeit
|
||||
channel-type.shelly.humidity.description = Relative Luftfeuchtigkeit (0..100%)
|
||||
channel-type.shelly.targetTemp.label = Zieltemperatur
|
||||
channel-type.shelly.targetTemp.description = Zieltemperatur in °C, die erreicht werden soll im Auto-Temperatur Modus
|
||||
channel-type.shelly.controlMode.label = Modus
|
||||
channel-type.shelly.controlMode.description = Sensor/Steuerungsmodus
|
||||
channel-type.shelly.controlMode.state.option.manual = Manuell
|
||||
channel-type.shelly.controlMode.state.option.automatic = Automatisch
|
||||
channel-type.shelly.controlProfile.label = Profil
|
||||
channel-type.shelly.controlProfile.description = Ausgewähltes Profil
|
||||
channel-type.shelly.boostControl.label = Boost-Modus
|
||||
channel-type.shelly.boostControl.description = ON: Boost-Modus aktiviert (überschreibt Temperaturautomatik)
|
||||
channel-type.shelly.boostTimer.label = Boost-Timer
|
||||
channel-type.shelly.boostTimer.description = Anzahl Minuten, in dem die maximale Leistung erzeugt wird.
|
||||
channel-type.shelly.rollerShutter.label = Rollladensteuerung (0=offen, 100=geschlossen)
|
||||
channel-type.shelly.rollerShutter.description = Steuerung für den Rollladen: UP=rauf, DOWN=runter, STOP, Position (0=offen, 100=geschlossen)
|
||||
channel-type.shelly.rollerPosition.label = Rollladenposition (100=offen, 0=zu)
|
||||
channel-type.shelly.rollerPosition.description = Position des Rollladen (100-0%, 100%=offen, 0%=zu)
|
||||
channel-type.shelly.rollerFavorite.label = Positionsfavorit
|
||||
channel-type.shelly.rollerFavorite.description = Wählt den Positionsfavoriten 1-4, Positionen werden in der Shelly App konfiguriert; 0=undefiniert (kein Favorit gewählt)
|
||||
channel-type.shelly.rollerState.label = Rollladenstatus
|
||||
channel-type.shelly.rollerState.description = Zustand des Rollladen (open/closed/stopped für geöffnet/geschlossen/gestoppt).
|
||||
channel-type.shelly.rollerState.state.option.open = öffnet
|
||||
channel-type.shelly.rollerState.state.option.close = schließt
|
||||
channel-type.shelly.rollerState.state.option.stop = gestoppt
|
||||
channel-type.shelly.rollerStop.label = Stoppgrund
|
||||
channel-type.shelly.rollerStop.description = Letzter Grund für das Stoppen des Rollladens (normal=normaler Stopp, safety_switch=Sicherheits-Stopp, obstacle=Rollladen verhakt (Widerstand erkannt)
|
||||
channel-type.shelly.rollerStop.state.option.normal = Normaler Stopp
|
||||
channel-type.shelly.rollerStop.state.option.safety_switch = Sicherheits-Stopp
|
||||
channel-type.shelly.rollerStop.state.option.obstacle = Widerstand erkannt
|
||||
channel-type.shelly.rollerDirection.label = Letzte Rollladenrichtung
|
||||
channel-type.shelly.rollerDirection.description = Letzte Rollladenrichtung: öffnet/schließt/gestoppt
|
||||
channel-type.shelly.rollerDirection.state.option.open = öffnet
|
||||
channel-type.shelly.rollerDirection.state.option.close = schließt
|
||||
channel-type.shelly.rollerDirection.state.option.stop = gestoppt
|
||||
channel-type.shelly.rollerSafety.label = Sicherheitsschalter
|
||||
channel-type.shelly.rollerSafety.description = Status des Sicherheitsschalters
|
||||
channel-type.shelly.inputState.label = Eingang
|
||||
channel-type.shelly.inputState.description = Status des Relais-Eingangs
|
||||
channel-type.shelly.inputState1.label = Eingang 1
|
||||
channel-type.shelly.inputState1.description = Status des Relais-Eingangs 1
|
||||
channel-type.shelly.inputState2.label = Eingang 2
|
||||
channel-type.shelly.inputState2.description = Status des Relais-Eingangs 2
|
||||
channel-type.shelly.inputState3.label = Eingang 3
|
||||
channel-type.shelly.inputState3.description = Status des Relais-Eingangs 3
|
||||
channel-type.shelly.dimmerBrightness.label = Helligkeit
|
||||
channel-type.shelly.dimmerBrightness.description = Helligkeit (0-100%, 0=aus)
|
||||
channel-type.shelly.whiteBrightness.label = Helligkeit
|
||||
channel-type.shelly.whiteBrightness.description = Helligkeit (0-100%, 0=aus)
|
||||
channel-type.shelly.meterWatts.label = Leistung
|
||||
channel-type.shelly.meterWatts.description = Aktueller Stromverbrauch in Watt
|
||||
channel-type.shelly.meterAccuWatts.label = Kumulierter Verbrauch
|
||||
channel-type.shelly.meterAccuWatts.description = Kumulierter Verbrauch in Watt
|
||||
channel-type.shelly.meterAccuTotal.label = Kumulierter Gesamtverbrauch
|
||||
channel-type.shelly.meterAccuTotal.description = Kumulierter Gesamtverbrauch in kW/h
|
||||
channel-type.shelly.meterAccuReturned.label = Kumulierte Einspeisung
|
||||
channel-type.shelly.meterAccuReturned.description = Kumulierte Einspeisung in kW/h
|
||||
channel-type.shelly.meterReactive.label = Rückstrom
|
||||
channel-type.shelly.meterReactive.description = Aktueller Stromverbrauch (Watt) des Rückstroms
|
||||
channel-type.shelly.lastPower1.label = Schnitt letzte Min
|
||||
channel-type.shelly.lastPower1.description = Durchschnittsverbrauch der letzten Minute, 60s in Watt/Min
|
||||
channel-type.shelly.meterTotal.label = Gesamtverbrauch
|
||||
channel-type.shelly.meterTotal.description = Gesamtverbrauch seit Neustart in kW/h
|
||||
channel-type.shelly.meterReturned.label = Einspeisung
|
||||
channel-type.shelly.meterReturned.description = Einspeisung in kW/h
|
||||
channel-type.shelly.meterVoltage.label = Spannung
|
||||
channel-type.shelly.meterVoltage.description = Spannung in Volt
|
||||
channel-type.shelly.meterCurrent.label = Stromstärke
|
||||
channel-type.shelly.meterCurrent.description = Aktuelle gemessene Stromstärke
|
||||
channel-type.shelly.meterPowerFactor.label = Stromfaktor
|
||||
channel-type.shelly.meterPowerFactor.description = Faktor für Strom bei Photovoltaik
|
||||
channel-type.shelly.timestamp.label = Letzte Aktualisierung
|
||||
channel-type.shelly.timestamp.description = Zeitstempel der letzten Aktualisierung (lokale Zeitzone)
|
||||
channel-type.shelly.ledStatusDisable.label = Status-LED aus
|
||||
channel-type.shelly.ledStatusDisable.description = ON: Die Status-LED am Gerät ist deaktiviert
|
||||
channel-type.shelly.ledPowerDisable.label = Betriebs-LED aus
|
||||
channel-type.shelly.ledPowerDisable.description = ON: Die Betriebsanzeige (LED) am Gerät ist deaktiviert
|
||||
channel-type.shelly.colorMode.label = Farbmodus (ON=Farbe, OFF=Weiß)
|
||||
channel-type.shelly.colorMode.description = Betriebsart: ON: Farbe, OFF: Weiß
|
||||
channel-type.shelly.colorFull.label = Voll-Farbe
|
||||
channel-type.shelly.colorFull.description = Ausgewählte Farbe (rot/grün/blau/gelb/weiß) wird auf volle Intensität gesetzt (255)
|
||||
channel-type.shelly.colorFull.state.option.red = Rot
|
||||
channel-type.shelly.colorFull.state.option.green = Grün
|
||||
channel-type.shelly.colorFull.state.option.blue = Blau
|
||||
channel-type.shelly.colorFull.state.option.yellow = Gelb
|
||||
channel-type.shelly.colorFull.state.option.white = Weiß
|
||||
channel-type.shelly.colorRed.label = Rot
|
||||
channel-type.shelly.colorRed.description = Rot-Anteil des RGB-Wertes (0-255)
|
||||
channel-type.shelly.colorGreen.label = Grün
|
||||
channel-type.shelly.colorGreen.description = Grün-Anteil des RGB-Wertes (0-255)
|
||||
channel-type.shelly.colorBlue.label = Blau
|
||||
channel-type.shelly.colorBlue.description = Blau-Anteil des RGB-Wertes (0-255)
|
||||
channel-type.shelly.colorWhite.label = Weiß
|
||||
channel-type.shelly.colorWhite.description = Weiß-Anteil des RGBW-Wertes (0-255)
|
||||
channel-type.shelly.colorGain.label = Verstärkung
|
||||
channel-type.shelly.colorGain.description = Verstärkung des Farbwertes (0-100%)
|
||||
channel-type.shelly.whiteTemp.label = Lichttemperatur
|
||||
channel-type.shelly.whiteTemp.description = Temperatur des Weißlichtes (Bulb/RGBW2: 3000K-6500K; Duo: 2700K-6500K)
|
||||
channel-type.shelly.colorEffectBulb.label = Lichteffekt
|
||||
channel-type.shelly.colorEffectBulb.description = Lichteffekt: 0: keiner, 1: Meteoritenregen, 2: Verlauf, 3: Atmen, 4: Blitzen, 5: Übergang ein/aus, 6: Rot/Grün-Wechsel
|
||||
channel-type.shelly.colorEffectBulb.option.0 = Aus
|
||||
channel-type.shelly.colorEffectBulb.option.1 = Meteoritenregen
|
||||
channel-type.shelly.colorEffectBulb.option.2 = Verlauf
|
||||
channel-type.shelly.colorEffectBulb.option.3 = Atmen
|
||||
channel-type.shelly.colorEffectBulb.option.4 = Blitzen
|
||||
channel-type.shelly.colorEffectBulb.option.5 = Übergang ein/aus
|
||||
channel-type.shelly.colorEffectBulb.option.6 = Rot/Grün-Wechsel
|
||||
channel-type.shelly.colorEffectRGBW2.label = Farbeffekt
|
||||
channel-type.shelly.colorEffectRGBW2.description = Lichteffekt: 0: keiner, 1: Meteoritenregen, 2: Farbverlauf, 3: Blitzen
|
||||
channel-type.shelly.colorEffectRGBW2.option.0 = Aus
|
||||
channel-type.shelly.colorEffectRGBW2.option.1 = Meteoritenregen
|
||||
channel-type.shelly.colorEffectRGBW2.option.2 = Farbverlauf
|
||||
channel-type.shelly.colorEffectRGBW2.option.3 = Blitzen
|
||||
channel-type.shelly.sensorTemp.label = Temperatur
|
||||
channel-type.shelly.sensorTemp.description = Aktuelle Temperatur des Sensors in °C
|
||||
channel-type.shelly.sensorExtTemp.label = Temperatur
|
||||
channel-type.shelly.sensorExtTemp.description = Aktuelle Temperatur des externen Sensors in °C
|
||||
channel-type.shelly.sensorExtHum.label = Luftfeuchtigkeit
|
||||
channel-type.shelly.sensorExtHum.description = Relative Luftfeuchtigkeit in %
|
||||
channel-type.shelly.sensorHumidity.label = Luftfeuchtigkeit
|
||||
channel-type.shelly.sensorHumidity.description = Relative Luftfeuchtigkeit in %
|
||||
channel-type.shelly.sensorFlood.label = Wasseralarm
|
||||
channel-type.shelly.sensorFlood.description = Alarm: Es wurde Wasser erkannt
|
||||
channel-type.shelly.sensorSmoke.label = Rauchalarm
|
||||
channel-type.shelly.sensorSmoke.description = Alarm: Es wurde Rauch erkannt
|
||||
channel-type.shelly.sensorLux.label = Helligkeit
|
||||
channel-type.shelly.sensorLux.description = Helligkeit in Lux
|
||||
channel-type.shelly.sensorIllumination.label = Tageslicht
|
||||
channel-type.shelly.sensorIllumination.description = Erkanntes Tageslicht (bright=taghell, twilight=Dämmerung, dark=Abend/Nacht)
|
||||
channel-type.shelly.sensorIllumination.state.option.dark = Dunkel
|
||||
channel-type.shelly.sensorIllumination.state.option.twilight = Dämmerung
|
||||
channel-type.shelly.sensorIllumination.state.option.bright = Hell
|
||||
channel-type.shelly.sensorIllumination.state.option.unknown = Unbekannt
|
||||
channel-type.shelly.sensorPPM.label = Gas-Konzentration
|
||||
channel-type.shelly.sensorPPM.description = Gemessene Konzentration in PPM
|
||||
channel-type.shelly.sensorPosition.label = Position
|
||||
channel-type.shelly.sensorPosition.description = Position des Ventils
|
||||
channel-type.shelly.sensorADC.label = Voltage (ADC)
|
||||
channel-type.shelly.sensorADC.description = Gemessene Spannung
|
||||
channel-type.shelly.sensorTilt.label = Öffnungswinkel
|
||||
channel-type.shelly.sensorTilt.description = Öffnungswinkel in Grad (erfordert Kalibrierung in der App)
|
||||
channel-type.shelly.sensorVibration.label = Vibration
|
||||
channel-type.shelly.sensorVibration.description = ON: Sensor hat eine Vibration erkannt
|
||||
channel-type.shelly.sensorMotion.label = Bewegung
|
||||
channel-type.shelly.sensorMotion.description = ON: Es wurde eine Bewegung erkannt
|
||||
channel-type.shelly.motionActive.label = Bewegungssensor aktiv
|
||||
channel-type.shelly.motionActive.description = Zeigt an, ob die Bewegungserkennung aktiv oder pausiert ist
|
||||
channel-type.shelly.motionTimestamp.label = Letzte Bewegung
|
||||
channel-type.shelly.motionTimestamp.description = Datum/Uhrzeit, wann die letzte Bewegung erkannt wurde.
|
||||
|
||||
# Roller
|
||||
channel-type.shelly.rollerState.label = Status
|
||||
channel-type.shelly.rollerState.description = Zustand des Rollladen (open/closed/stopped).
|
||||
|
||||
|
||||
# LED disable
|
||||
channel-type.shelly.ledPowerDisable.label = Betriebs-LED aus
|
||||
channel-type.shelly.ledPowerDisable.description = ON\: Die Betriebsanzeige (LED) am Gerät ist deaktiviert
|
||||
channel-type.shelly.ledStatusDisable.label = Status-LED aus
|
||||
channel-type.shelly.ledStatusDisable.description = ON\: Die Status-LED am Gerät ist deaktiviert
|
||||
|
||||
# Shelly Manager
|
||||
message.manager.invalid-url = Ungültige URL oder Syntax
|
||||
|
||||
message.manager.buttons.ok = OK
|
||||
message.manager.buttons.abort = Abbrechen
|
||||
|
||||
message.manager.action.unknown = Aktion {0} ist unbekannt
|
||||
message.manager.action.reset-stats = Statistik zurücksetzen
|
||||
message.manager.action.restart = Gerät neustarten
|
||||
message.manager.action.restart.info = Das Gerät wird neu gestartet und verbindet sich mit WiFi. Es wird einen Moment dauern, bis der Gerätestatus in openHAB aktualisiert wird.
|
||||
message.manager.action.restart.confirm = Das Gerät wird neu gestartet und verbindet sich mit WiFi.
|
||||
message.manager.action.resstats.confirm = Die Gerätestatistik und der Alarm wurden zurückgesetzt.
|
||||
message.manager.action.setcloud.config = Cloud-Funktion ist jetzt {0}.
|
||||
message.manager.action.protect = Gerät schützen
|
||||
message.manager.action.protect.id-missing = Die Anmeldeinformationen für den Gerätezugriff sind nicht konfiguriert. Gehen Sie zu den Shelly-Bindungseinstellungen und geben Sie eine Benutzerkennung und ein Kennwort ein.<br/>Sie können die Aktion "Schützen" verwenden, um diese Konfiguration auf das Gerät anzuwenden.
|
||||
message.manager.action.protect.status = Der Geräteschutz ist derzeit {0}. Für den Zugriff auf das Gerät ist die Benutzerkennung {1} erforderlich.
|
||||
message.manager.action.protect.new = Geräteanmeldung wird auf Benutzer {0} mit Passwort {1} gesetzt.
|
||||
message.manager.action.protect.confirm = Geräteanmeldung wurde auf Benutzer {0} mit Passwort {1} aktualisiert.
|
||||
message.manager.action.could-enable = Cloud aktivieren
|
||||
message.manager.action.could-disable = Cloud deaktivieren
|
||||
message.manager.action.coiot-mcast = CoIoT Multicast setzen
|
||||
message.manager.action.coiot-peer = CoIoT Peer setzen
|
||||
message.manager.action.timezone = Zeitzone wählen
|
||||
message.manager.action.reset = Auf Werkseinstellungen zurücksetzen
|
||||
message.manager.action.reset.warning = Achtung\: Mit dieser Aktion wird das Gerät auf die Werkseinstellungen zurückgesetzt.<br/>Alle Konfigurationsdaten inkl. WiFi-Einstellungen gehen verloren und das Gerät wird in den Access Point-Modus zurückkehren (WiFi {0})
|
||||
message.manager.action.reset.confirm = Gerät wurde auf Werkseinstellungen zurückgesetzt. Verbinden Sie sich mit dem WiFi-Netzwerk {0} und öffnen Sie http\://192.168.33.1, um die Gerätekonfiguration neu zu starten.
|
||||
message.manager.action.checkupd.new = Firmware-Update verfügbar\: {0}
|
||||
message.manager.action.checkupd.ok = Überprüfung der Firmware abgeschlossen. Überprüfen Sie die Geräteübersicht auf eine neue Version.
|
||||
message.manager.action.checkupd.runnuing = Firmware-Prüfung wurde eingeleitet.
|
||||
message.manager.action.checkupd.failed = Suche nach Firmware-Aktualisierung nicht möglich\: {0}
|
||||
message.manager.action.setwifirec-enable = Das Gerät führt einen automatischen Neustart durch, wenn der WiFi-Wiederherstellungsmodus aktiviert ist und das Gerät Probleme mit der WLAN-Verbindung hat.
|
||||
message.manager.action.setwifirec-disable = WiFi-Wiederherstellungsmodus wird deaktiviert.
|
||||
message.manager.action.setwifirec-confirm = WiFi-Wiederherstellungsmodus wurde {0}.
|
||||
message.manager.action.setwifirec-failed = Einstellung für den WiFi-Wiederherstellungsmodus kann nicht aktualisiert werden\: {0}
|
||||
message.manager.action.aproaming-enable = WiFi Access Point Roaming wird aktiviert. Überprüfen Sie die Produktdokumentation für Details.
|
||||
message.manager.action.aproaming-disable = WiFi Access Point Roaming wird deaktiviert.
|
||||
message.manager.action.aproaming-confirm = Einstellung WiFi Access Point Roaming kann nicht aktualisiert werden\: {0}
|
||||
message.manager.action.aproaming-failed = Einstellung für den WiFi-Wiederherstellungsmodus kann nicht aktualisiert werden\: {0}
|
||||
message.manager.action.resetsta-info = Der WiFi STA/AP Cache wird geleert und das Gerät verbindet sich erneut mit dem stärksten Access Point.
|
||||
message.manager.action.resetsta-confirm = Das Gerät verbindet sich mit dem stärksten WiFi-Zugangspunkt.
|
||||
message.manager.action.resetsta-failed = STA/AP-Liste konnte nicht gelöscht und erneut mit WLAN verbunden werden\: {0}
|
||||
message.manager.action.debug-enable = Gerätedebugging wird aktiviert. Benutzen Sie diese Funktion nur, wenn dies vom Allterco-Support verlangt wird.
|
||||
message.manager.action.debug-disable = Gerätedebugging wird deaktiviert.
|
||||
message.manager.action.debug-confirm = Gerät Debugging war {0}.
|
||||
message.manager.action.getdebug-failed = Debug-Log konnte nicht abgerufen werden\: {0}
|
||||
|
||||
message.manager.coiot.multicast-not-supported = Das Gerät unterstützt keine CoIoT Multicast Updates.<br/>Stelle sicher, dass du openHAB als CoIoT Peer Adresse einrichtest ({0}).
|
||||
message.manager.coiot.mode-not-suppored = Gerät unterstützt den CoIoT-Modus ({0}) nicht, überprüfen Sie die Produktdokumentation.
|
||||
message.manager.coiot.current-peer = CoIoT Peer Adresse ist derzeit auf {0} gesetzt.
|
||||
message.manager.coiot.new-peer = CoIoT-Modus/Adresse wird auf {0} gesetzt.
|
||||
message.manager.coiot.mode-mcast = Das Gerät beginnt CoIoT Updates mit IP Multicast zu senden.<br/>Bitte stellen Sie sicher, dass Ihr Netzwerk-Setup Multicast Routing unterstützt, wenn sich Geräte in verschiedenen IP-Subnetzen befinden.
|
||||
message.manager.coiot.mode-peer = Das Gerät sendet keine IP Multicast CoIoT Updates mehr an das Netzwerk, nur an den openHAB Host.
|
||||
|
||||
message.manager.fwupdate.initiated = Firmware-Update gestartet, das Gerät hat den Status {0} zurückgegeben
|
||||
message.manager.fwupdate.confirm = Gerät während der Aktualisierung der Firmware nicht ausschalten oder neu starten\!
|
||||
message.manager.fwupdate.info = Firmware aktualisieren (deviceType\={0}, version\={1}, URL\={2})
|
||||
message.manager.fwupdate.failed = Aktualisierung der Firmware fehlgeschlagen\: {0}
|
||||
message.manager.fwupdate.notfound = Firmware für Gerätetyp {0}, version\={1} (URL\={2}) wurde nicht gefunden
|
||||
message.manager.fwupdate.nofile = Keine Firmware-Dateien für Gerätetyp {0} gefunden
|
||||
message.manager.fwupdate.success = Firmware erfolgreich geladen - size\={0}, ETag\={1}, zuletzt geändert\={2}
|
||||
channel-type.shelly.motionTimestamp.description = Datum/Uhrzeit, wann die letzte Bewegung erkannt wurde
|
||||
channel-type.shelly.sensorValve.label = Ventil
|
||||
channel-type.shelly.sensorValve.description = Gibt den Status des Ventils an
|
||||
channel-type.shelly.sensorValve.state.option.closed = geschlossen
|
||||
channel-type.shelly.sensorValve.state.option.opened = geöffnet
|
||||
channel-type.shelly.sensorValve.state.option.not_connected = nicht angeschlossen
|
||||
channel-type.shelly.sensorValve.state.option.failure = Störung
|
||||
channel-type.shelly.sensorValve.state.option.closing = schließt
|
||||
channel-type.shelly.sensorValve.state.option.opening = öffnet
|
||||
channel-type.shelly.sensorValve.state.option.checking = Test läuft
|
||||
channel-type.shelly.sensorValve.state.option.UNKNOWN = unbekannt
|
||||
channel-type.shelly.sensorCharger.label = Ladestatus
|
||||
channel-type.shelly.sensorCharger.description = ON: Ein Ladegerät ist angeschlossen
|
||||
channel-type.shelly.sensorContact.label = Status
|
||||
channel-type.shelly.sensorContact.description = Öffnungs-Status (OPEN=offen, CLOSED=geschlossen)
|
||||
channel-type.shelly.sensorContact.state.option.OPEN = geöffnet
|
||||
channel-type.shelly.sensorContact.state.option.CLOSED = geschlossen
|
||||
channel-type.shelly.sensorState.label = Gerätestatus
|
||||
channel-type.shelly.sensorState.description = Status der Betriebsbereitschaft (warmup/normal/fault)
|
||||
channel-type.shelly.sensorState.state.option.warmup= Initialisierung
|
||||
channel-type.shelly.sensorState.state.option.normal= Normal
|
||||
channel-type.shelly.sensorState.state.option.fault= Fehler
|
||||
channel-type.shelly.sensorState.state.option.unknown= Unbekannt
|
||||
channel-type.shelly.sensorWakeup.label = Aufwachgrund
|
||||
channel-type.shelly.sensorWakeup.description = Grund des letzten Aufweckens (button/battery/perodice/powerdown/sensor/alarm/ext_power)
|
||||
channel-type.shelly.sensorWakeup.state.option.button = Taste
|
||||
channel-type.shelly.sensorWakeup.state.option.battery = Batterie
|
||||
channel-type.shelly.sensorWakeup.state.option.periodic = Intervall
|
||||
channel-type.shelly.sensorWakeup.state.option.poweron = Betrieb
|
||||
channel-type.shelly.sensorWakeup.state.option.sensor = Statusänderung
|
||||
channel-type.shelly.sensorWakeup.state.option.alarm = Alarm
|
||||
channel-type.shelly.sensorWakeup.state.option.ext_power = Ladegerät verbunden
|
||||
channel-type.shelly.batVoltage.label = Batteriespannung
|
||||
channel-type.shelly.batVoltage.description = Batteriespannung in Volt (V)
|
||||
channel-type.shelly.charger.label = Ladegerät
|
||||
channel-type.shelly.charger.description = ON: Ein Ladegerät ist angeschlossen
|
||||
channel-type.shelly.calibrated.label = Kalibriert
|
||||
channel-type.shelly.calibrated.description = ON: Das Gerät/der Sensor is kalibriert
|
||||
channel-type.shelly.externalPower.label = Externe Stromquelle
|
||||
channel-type.shelly.externalPower.description = ON: Externe Stromquelle ist angeschlossen
|
||||
channel-type.shelly.senseKey.label = IR-Code
|
||||
channel-type.shelly.senseKey.description = IR Code senden im Pronto- oder HEX64-Format
|
||||
channel-type.shelly.deviceName.label = Gerätename
|
||||
channel-type.shelly.deviceName.description = Symbolischer Name des Gerätes (Konfiguration über Shelly App)
|
||||
channel-type.shelly.uptime.label = Laufzeit
|
||||
channel-type.shelly.uptime.description = Anzahl Sekunden seit dem das Gerät mit Strom versorgt wurde
|
||||
channel-type.shelly.heartBeat.label = Letzte Aktivität
|
||||
channel-type.shelly.heartBeat.description = Zeitpunkt der letzten Aktivität. Hierbei kann es sich um einen erfolgreichen API-Aufruf, oder Sensor-Aktualisierung handeln. Dies schließt eine erfolgreiche Netzwerk-Kommunikation ein (WiFi + IP)
|
||||
channel-type.shelly.updateAvailable.label = Firmwareaktualisierung vorhanden
|
||||
channel-type.shelly.updateAvailable.description = ON: Es ist eine neuere Firmwareversion verfügbar (Update kann mit der Shelly App durchgeführt werden)
|
||||
channel-type.shelly.deviceTemp.label = Gerätetemperatur
|
||||
channel-type.shelly.deviceTemp.description = Interne Gerätetemperatur. Hohe Temperaturen deuten ggf. auch ein Hitzestau/Installationsproblem hin.
|
||||
channel-type.shelly.supplyVoltage.label = Versorgungsspannung
|
||||
channel-type.shelly.supplyVoltage.description = Externe Versorgungsspannung
|
||||
channel-type.shelly.lastUpdate.label = Letzte Aktualisierung
|
||||
channel-type.shelly.lastUpdate.description = Zeitstempel der letzten Aktualisierung (lokale Zeitzone)
|
||||
channel-type.shelly.lastEvent.label = Letztes Ereignis
|
||||
channel-type.shelly.lastEvent.description = Typ des letzten Ereignisses (S=kurz, SS=2xkurz, SSS=3xkurz, L=lang)
|
||||
channel-type.shelly.lastEvent.state.option.S = 1x kurz
|
||||
channel-type.shelly.lastEvent.state.option.SS = 2x kurz
|
||||
channel-type.shelly.lastEvent.state.option.SSS = 3x kurz
|
||||
channel-type.shelly.lastEvent.state.option.L = lang
|
||||
channel-type.shelly.lastEvent.state.option.SL = kurz-lang
|
||||
channel-type.shelly.lastEvent.state.option.LS = lang-kurz
|
||||
channel-type.shelly.eventCount.label = Ereigniszähler
|
||||
channel-type.shelly.eventCount.description = Anzahl der empfangenen Ereignisse.
|
||||
channel-type.shelly.eventTrigger.label = Ereignis
|
||||
channel-type.shelly.eventTrigger.description = Signalisiert Ereignisse (Trigger): ROLLER_OPEN=Rollladen geöffnet, ROLLER_CLOSE=Rollladen geschlossen, ROLLER_STOP=Rollladen angehalten
|
||||
channel-type.shelly.eventTrigger.option.ROLLER_OPEN = Rollladen geöffnet
|
||||
channel-type.shelly.eventTrigger.option.ROLLER_CLOSE = Rollladen geschlossen
|
||||
channel-type.shelly.eventTrigger.option.ROLLER_STOP = Rollladen gestoppt
|
||||
channel-type.shelly.alarmTrigger.label = Alarm
|
||||
channel-type.shelly.alarmTrigger.description = Signalisiert Alarme (Trigger): NONE=kein Alarm, WEAK_SIGNAL=Schlechte WiFi-Verbindung, RESTARTED=Gerät neu gestartet, OVERTEMP=Überhitzung, OVERLOAD=Überlast, OVERPOWER=Maximale Last überschritten, LOAD_ERROR=Lastfehler, LOW_BATTERY=Batterie schwach
|
||||
channel-type.shelly.alarmTrigger.option.NONE = kein Alarm
|
||||
channel-type.shelly.alarmTrigger.option.WEAK_SIGNAL = Schlechte WiFi-Verbindung
|
||||
channel-type.shelly.alarmTrigger.option.RESTARTED = Gerät neu gestartet
|
||||
channel-type.shelly.alarmTrigger.option.OVERTEMP = Überhitzung
|
||||
channel-type.shelly.alarmTrigger.option.OVERLOAD = Überlast
|
||||
channel-type.shelly.alarmTrigger.option.OVERPOWER = Maximale Last überschritten
|
||||
channel-type.shelly.alarmTrigger.option.LOAD_ERROR = Lastfehler
|
||||
channel-type.shelly.alarmTrigger.option.LOW_BATTERY = Batterieladung schwach
|
||||
channel-type.shelly.alarmTrigger.option.BATTERY = Aufwecken durch Batterie
|
||||
channel-type.shelly.alarmTrigger.option.POWERON = Gerät wurde eingeschaltet
|
||||
channel-type.shelly.alarmTrigger.option.BUTTON = Taste wurde gedrückt
|
||||
channel-type.shelly.alarmTrigger.option.SENSOR = Sensordaten wurden aktualisiert
|
||||
channel-type.shelly.alarmState.label = Alarmstatus
|
||||
channel-type.shelly.alarmState.description = Typ des Alarms (unknown/none/mild/heavy/test)
|
||||
channel-type.shelly.alarmState.state.option.unknown = Unbekannt
|
||||
channel-type.shelly.alarmState.state.option.none = Kein Alarm
|
||||
channel-type.shelly.alarmState.state.option.mild = Leichte Konzentration
|
||||
channel-type.shelly.alarmState.state.option.heavy = Hohe Konzentration
|
||||
channel-type.shelly.alarmState.state.option.test = Testknopf gedrückt
|
||||
channel-type.shelly.selfTest.label = Selbsttest
|
||||
channel-type.shelly.selfTest.description = Status des Selbsttests
|
||||
channel-type.shelly.selfTest.state.option.not_completed = Nicht abgeschlossen
|
||||
channel-type.shelly.selfTest.state.option.completed = Abgeschlossen
|
||||
channel-type.shelly.selfTest.state.option.running = Test läuft
|
||||
channel-type.shelly.selfTest.state.option.pending = Ausstehend
|
||||
channel-type.shelly.selfTest.state.option.unknown = Unbekannt
|
||||
channel-type.shelly.sensorError.label = Sensor-Fehler
|
||||
channel-type.shelly.sensorError.description = Sensor-Fehler
|
||||
channel-type.shelly.sensorSleepTime.label = Sensor Standby Timer
|
||||
channel-type.shelly.sensorSleepTime.description = Das Gerät sendet kein Ereignis solange die Zeitspanne nicht abgelaufen ist
|
||||
channel-type.shelly.deviceSchedule.label = Zeitplan aktiv
|
||||
channel-type.shelly.deviceSchedule.description = ON: Ein zeitgesteuertes Programm ist aktiv
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
|
||||
|
||||
<channel-group-type id="deviceStatus">
|
||||
<label>Device Status</label>
|
||||
<description>Information about the device status</description>
|
||||
<label>@text/channel-group-type.shelly.deviceStatus.label</label>
|
||||
<description>@text/channel-group-type.shelly.deviceStatus.description</description>
|
||||
<channels>
|
||||
<channel id="alarm" typeId="alarmTrigger"/>
|
||||
<channel id="wifiSignal" typeId="system.signal-strength"/>
|
||||
@@ -16,88 +16,103 @@
|
||||
|
||||
<channel-type id="alarmTrigger">
|
||||
<kind>trigger</kind>
|
||||
<label>Alarm</label>
|
||||
<description>Alarm Trigger, e.g. weak WiFi Signal detected or over heating.</description>
|
||||
<label>@text/channel-type.shelly.alarmTrigger.label</label>
|
||||
<description>@text/channel-type.shelly.alarmTrigger.description</description>
|
||||
<category>Alarm</category>
|
||||
<event>
|
||||
<options>
|
||||
<option value="NONE">None</option>
|
||||
<option value="WEAK_SIGNAL">Weak WiFi</option>
|
||||
<option value="RESTARTED">Device restarted</option>
|
||||
<option value="OVERTEMP">Device is overheating</option>
|
||||
<option value="OVERLOAD">Device is overloaded</option>
|
||||
<option value="OVERPOWER">Device is over max power</option>
|
||||
<option value="LOAD_ERROR">Load error</option>
|
||||
<option value="LOW_BATTERY">Low battery</option>
|
||||
<option value="BATTERY">Wakeup by battery</option>
|
||||
<option value="POWERON">Device was powered on</option>
|
||||
<option value="BUTTON">Button was pressed</option>
|
||||
<option value="SENSOR">Sensor data updated</option>
|
||||
<option value="NONE">@text/channel-type.shelly.alarmTrigger.option.NONE</option>
|
||||
<option value="WEAK_SIGNAL">@text/channel-type.shelly.alarmTrigger.option.WEAK_SIGNAL</option>
|
||||
<option value="RESTARTED">@text/channel-type.shelly.alarmTrigger.option.RESTARTED</option>
|
||||
<option value="OVERTEMP">@text/channel-type.shelly.alarmTrigger.option.OVERTEMP</option>
|
||||
<option value="OVERLOAD">@text/channel-type.shelly.alarmTrigger.option.OVERLOAD</option>
|
||||
<option value="OVERPOWER">@text/channel-type.shelly.alarmTrigger.option.OVERPOWER</option>
|
||||
<option value="LOAD_ERROR">@text/channel-type.shelly.alarmTrigger.option.LOAD_ERROR</option>
|
||||
<option value="LOW_BATTERY">@text/channel-type.shelly.alarmTrigger.option.LOW_BATTERY</option>
|
||||
<option value="BATTERY">@text/channel-type.shelly.alarmTrigger.option.BATTERY</option>
|
||||
<option value="POWERON">@text/channel-type.shelly.alarmTrigger.option.POWERON</option>
|
||||
<option value="BUTTON">@text/channel-type.shelly.alarmTrigger.option.BUTTON</option>
|
||||
<option value="SENSOR">@text/channel-type.shelly.alarmTrigger.option.SENSOR</option>
|
||||
</options>
|
||||
</event>
|
||||
</channel-type>
|
||||
<channel-type id="sensorWakeup" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Wakeup Reason</label>
|
||||
<description>Last reason, which woke up the device</description>
|
||||
<label>@text/channel-type.shelly.sensorWakeup.label</label>
|
||||
<description>@text/channel-type.shelly.sensorWakeup.description</description>
|
||||
<state pattern="%s" readOnly="true">
|
||||
<options>
|
||||
<option value="button">Button</option>
|
||||
<option value="battery">Battery</option>
|
||||
<option value="periodic">Periodic</option>
|
||||
<option value="poweron">Power-On</option>
|
||||
<option value="sensor">Sensor</option>
|
||||
<option value="alarm">Alarm</option>
|
||||
<option value="ext_power">Charger connected</option>
|
||||
<option value="button">@text/channel-type.shelly.sensorWakeup.state.option.button</option>
|
||||
<option value="battery">@text/channel-type.shelly.sensorWakeup.state.option.battery</option>
|
||||
<option value="periodic">@text/channel-type.shelly.sensorWakeup.state.option.periodic</option>
|
||||
<option value="poweron">@text/channel-type.shelly.sensorWakeup.state.option.poweron</option>
|
||||
<option value="sensor">@text/channel-type.shelly.sensorWakeup.state.option.sensor</option>
|
||||
<option value="alarm">@text/channel-type.shelly.sensorWakeup.state.option.alarm</option>
|
||||
<option value="ext_power">@text/channel-type.shelly.sensorWakeup.state.option.ext_power</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="deviceName">
|
||||
<channel-type id="deviceName" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>@text/channel-type.shelly.deviceName.label</label>
|
||||
<description>@text/channel-type.shelly.deviceName.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="calibrated" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>@text/channel-type.shelly.calibrated.label</label>
|
||||
<description>@text/channel-type.shelly.calibrated.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="charger" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Charger Connected</label>
|
||||
<description>ON: Device is charging, OFF: No charger connected</description>
|
||||
<label>@text/channel-type.shelly.charger.label</label>
|
||||
<description>@text/channel-type.shelly.charger.description</description>
|
||||
<category>Battery</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="externalPower" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>External Power</label>
|
||||
<description>ON: External power is connected</description>
|
||||
<label>@text/channel-type.shelly.externalPower.label</label>
|
||||
<description>@text/channel-type.shelly.externalPower.description</description>
|
||||
<category>Status</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="uptime" advanced="true">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>Uptime</label>
|
||||
<description>Number of seconds since the device was powered up</description>
|
||||
<label>@text/channel-type.shelly.uptime.label</label>
|
||||
<description>@text/channel-type.shelly.uptime.description</description>
|
||||
<category>Time</category>
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="heartBeat" advanced="true">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Last Heartbeat</label>
|
||||
<description>Last time we received a signal from the device (API result or sensor report), This indicates that device
|
||||
communication works on the network layer (WiFi + IP).</description>
|
||||
<label>@text/channel-type.shelly.heartBeat.label</label>
|
||||
<description>@text/channel-type.shelly.heartBeat.description</description>
|
||||
<category>Time</category>
|
||||
<tags>
|
||||
<tag>Timestamp</tag>
|
||||
</tags>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="updateAvailable" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Update available</label>
|
||||
<description>ON: A firmware update is available (use Shelly App to perform update)</description>
|
||||
<label>@text/channel-type.shelly.updateAvailable.label</label>
|
||||
<description>@text/channel-type.shelly.updateAvailable.description</description>
|
||||
<category>Status</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="deviceTemp" advanced="true">
|
||||
<item-type>Number:Temperature</item-type>
|
||||
<label>Internal Temperature</label>
|
||||
<description>Internal device temperature, helps to detect overheating due to installation issues</description>
|
||||
<label>@text/channel-type.shelly.deviceTemp.label</label>
|
||||
<description>@text/channel-type.shelly.deviceTemp.description</description>
|
||||
<category>Temperature</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
@@ -106,18 +121,36 @@
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="supplyVoltage" advanced="true">
|
||||
<item-type>Number:ElectricPotentia</item-type>
|
||||
<label>@text/channel-type.shelly.supplyVoltage.label</label>
|
||||
<description>@text/channel-type.shelly.supplyVoltage.description</description>
|
||||
<category>Energy</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
<tag>Voltage</tag>
|
||||
</tags>
|
||||
</channel-type>
|
||||
<channel-type id="selfTest">
|
||||
<item-type>String</item-type>
|
||||
<label>Self Test</label>
|
||||
<description>Self Test Status/Result</description>
|
||||
<label>@text/channel-type.shelly.selfTest.label</label>
|
||||
<description>@text/channel-type.shelly.selfTest.description</description>
|
||||
<state pattern="%s" readOnly="true">
|
||||
<options>
|
||||
<option value="not_completed">Not completed</option>
|
||||
<option value="completed">Completed</option>
|
||||
<option value="running">Running</option>
|
||||
<option value="pending">Pending</option>
|
||||
<option value="not_completed">@text/channel-type.shelly.selfTest.state.option.not_completed</option>
|
||||
<option value="completed">@text/channel-type.shelly.selfTest.state.option.completed</option>
|
||||
<option value="running">@text/channel-type.shelly.selfTest.state.option.running</option>
|
||||
<option value="pending">@text/channel-type.shelly.selfTest.state.option.pending</option>
|
||||
<option value="unknown">@text/channel-type.shelly.selfTest.state.option.unknown</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="deviceSchedule" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>@text/channel-type.shelly.deviceSchedule.label</label>
|
||||
<description>@text/channel-type.shelly.deviceSchedule.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
|
||||
|
||||
<thing-type id="shellybulb">
|
||||
<label>Shelly Bulb (SHBULB)</label>
|
||||
<description>Shelly Bulb</description>
|
||||
<label>Shelly Bulb (SHBLB-1)</label>
|
||||
<description>@text/thing-type.shelly.shellybulb.description</description>
|
||||
<category>Lightbulb</category>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="bulbControl"/>
|
||||
<channel-group id="color" typeId="colorSettingsBulb"/>
|
||||
@@ -14,13 +15,14 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:light"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellybulbduo">
|
||||
<label>Shelly Duo (SHBDUO-1)</label>
|
||||
<description>Shelly Duo</description>
|
||||
<description>@text/thing-type.shelly.shellybulbduo.description</description>
|
||||
<category>Lightbulb</category>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="duoControl"/>
|
||||
<channel-group id="white" typeId="whiteSettings"/>
|
||||
@@ -28,13 +30,14 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:light"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellycolorbulb">
|
||||
<label>Shelly Duo Color Bulb (SHSCB-1)</label>
|
||||
<description>Shelly Duo Color Bulb in Color or White Mode</description>
|
||||
<label>Shelly Color Bulb (SHCB-1)</label>
|
||||
<description>@text/thing-type.shelly.shellycolorbulb.description</description>
|
||||
<category>ColorLight</category>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="duoControl"/>
|
||||
<channel-group id="color" typeId="colorSettingsBulb"/>
|
||||
@@ -43,13 +46,14 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:light"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyvintage">
|
||||
<label>Shelly Vintage (SHVIN-1)</label>
|
||||
<description>Shelly Vintage Light Bulb</description>
|
||||
<description>@text/thing-type.shelly.shellyvintage.description</description>
|
||||
<category>Lightbulb</category>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="duoControl"/>
|
||||
<channel-group id="white" typeId="whiteSettingsSimple"/>
|
||||
@@ -57,14 +61,14 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:light"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyrgbw2-color">
|
||||
<label>Shelly RGBW2 Color Mode (SHRGBW2)</label>
|
||||
<description>Shelly RGBW2 Controller - Color Mode</description>
|
||||
<category>Lightbulb</category>
|
||||
<description>@text/thing-type.shelly.shellyrgbw2-color.description</description>
|
||||
<category>ColorLight</category>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="rgbw2ColorControl"/>
|
||||
<channel-group id="color" typeId="colorSettingsRGBW2"/>
|
||||
@@ -72,38 +76,40 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:rgbw2"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyrgbw2-white">
|
||||
<label>Shelly RGBW2 White Mode (SHRGBW2)</label>
|
||||
<description>Shelly RGBW2 Controller - White Mode</description>
|
||||
<description>@text/thing-type.shelly.shellyrgbw2-white.description</description>
|
||||
<category>Lightbulb</category>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="rgbw2WhiteControl"/>
|
||||
<channel-group id="channel1" typeId="rgbw2Channel">
|
||||
<label>Channel 1</label>
|
||||
<label>@text/thing-type.shelly.shellyrgbw2-white.group.channel1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="channel2" typeId="rgbw2Channel">
|
||||
<label>Channel 2</label>
|
||||
<label>@text/thing-type.shelly.shellyrgbw2-white.group.channel2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="channel3" typeId="rgbw2Channel">
|
||||
<label>Channel 3</label>
|
||||
<label>@text/thing-type.shelly.shellyrgbw2-white.group.channel3.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="channel4" typeId="rgbw2Channel">
|
||||
<label>Channel 4</label>
|
||||
<label>@text/thing-type.shelly.shellyrgbw2-white.group.channel4.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:rgbw2"/>
|
||||
</thing-type>
|
||||
|
||||
|
||||
<channel-group-type id="bulbControl">
|
||||
<label>Light Control</label>
|
||||
<description>Control your light</description>
|
||||
<label>@text/channel-group-type.shelly.bulbControl.label</label>
|
||||
<description>@text/channel-group-type.shelly.bulbControl.description</description>
|
||||
<channels>
|
||||
<channel id="power" typeId="system.power"/>
|
||||
<channel id="mode" typeId="colorMode"/>
|
||||
@@ -112,25 +118,30 @@
|
||||
<channel id="timerActive" typeId="timerActive"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="duoControl">
|
||||
<label>Light Control</label>
|
||||
<description>Control your light</description>
|
||||
<label>@text/channel-group-type.shelly.duoControl.label</label>
|
||||
<description>@text/channel-group-type.shelly.duoControl.description</description>
|
||||
<channels>
|
||||
<channel id="autoOn" typeId="timerAutoOn"/>
|
||||
<channel id="autoOff" typeId="timerAutoOff"/>
|
||||
<channel id="timerActive" typeId="timerActive"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="rgbw2ColorControl">
|
||||
<label>Light Control</label>
|
||||
<description>Control your light channels</description>
|
||||
<label>@text/channel-group-type.shelly.rgbw2ColorControl.label</label>
|
||||
<description>@text/channel-group-type.shelly.rgbw2ColorControl.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="rgbw2WhiteControl">
|
||||
<label>White Control</label>
|
||||
<label>@text/channel-group-type.shelly.rgbw2WhiteControl.label</label>
|
||||
<description>@text/channel-group-type.shelly.rgbw2WhiteControl.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="colorSettingsBulb">
|
||||
<label>Colors</label>
|
||||
<description>Light colors</description>
|
||||
<label>@text/channel-group-type.shelly.colorSettingsBulb.label</label>
|
||||
<description>@text/channel-group-type.shelly.colorSettingsBulb.description</description>
|
||||
<channels>
|
||||
<channel id="hsb" typeId="system.color"/>
|
||||
<channel id="full" typeId="colorFull"/>
|
||||
@@ -142,9 +153,10 @@
|
||||
<channel id="effect" typeId="colorEffectBulb"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="colorSettingsRGBW2">
|
||||
<label>Colors</label>
|
||||
<description>Light colors</description>
|
||||
<label>@text/channel-group-type.shelly.colorSettingsRGBW2.label</label>
|
||||
<description>@text/channel-group-type.shelly.colorSettingsRGBW2.description</description>
|
||||
<channels>
|
||||
<channel id="hsb" typeId="system.color"/>
|
||||
<channel id="full" typeId="colorFull"/>
|
||||
@@ -156,24 +168,27 @@
|
||||
<channel id="effect" typeId="colorEffectRGBW2"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="whiteSettings">
|
||||
<label>White settings</label>
|
||||
<description>Adjust colors when device is in white mode</description>
|
||||
<label>@text/channel-group-type.shelly.whiteSettings.label</label>
|
||||
<description>@text/channel-group-type.shelly.whiteSettings.description</description>
|
||||
<channels>
|
||||
<channel id="brightness" typeId="whiteBrightness"/>
|
||||
<channel id="temperature" typeId="whiteTemp"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="whiteSettingsSimple">
|
||||
<label>White settings</label>
|
||||
<description>Adjust colors when device is in white mode</description>
|
||||
<label>@text/channel-group-type.shelly.whiteSettingsSimple.label</label>
|
||||
<description>@text/channel-group-type.shelly.whiteSettingsSimple.description</description>
|
||||
<channels>
|
||||
<channel id="brightness" typeId="whiteBrightness"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="rgbw2Channel">
|
||||
<label>Control</label>
|
||||
<description>Switch channel and adjust settings</description>
|
||||
<label>@text/channel-group-type.shelly.rgbw2Channel.label</label>
|
||||
<description>@text/channel-group-type.shelly.rgbw2Channel.description</description>
|
||||
<channels>
|
||||
<channel id="autoOn" typeId="timerAutoOn"/>
|
||||
<channel id="autoOff" typeId="timerAutoOff"/>
|
||||
@@ -185,92 +200,102 @@
|
||||
|
||||
<channel-type id="colorMode">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Mode (ON=color, OFF=white)</label>
|
||||
<description>ON: Device is in color mode, OFF: Device is in White Mode</description>
|
||||
<label>@text/channel-type.shelly.colorMode.label</label>
|
||||
<description>@text/channel-type.shelly.colorMode.description</description>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorFull">
|
||||
<item-type>String</item-type>
|
||||
<label>Full Color</label>
|
||||
<description>Setting this channel sets the selected color to 255, all others to 0</description>
|
||||
<label>@text/channel-type.shelly.colorFull.label</label>
|
||||
<description>@text/channel-type.shelly.colorFull.description</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="red">Red</option>
|
||||
<option value="green">Green</option>
|
||||
<option value="blue">Blue</option>
|
||||
<option value="yellow">Yellow</option>
|
||||
<option value="white">White</option>
|
||||
<option value="red">@text/channel-type.shelly.colorFull.state.option.red</option>
|
||||
<option value="green">@text/channel-type.shelly.colorFull.state.option.green</option>
|
||||
<option value="blue">@text/channel-type.shelly.colorFull.state.option.blue</option>
|
||||
<option value="yellow">@text/channel-type.shelly.colorFull.state.option.yellow</option>
|
||||
<option value="white">@text/channel-type.shelly.colorFull.state.option.white</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorRed" advanced="true">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Red</label>
|
||||
<description>red, 0..255, only in Color Mode</description>
|
||||
<label>@text/channel-type.shelly.colorRed.label</label>
|
||||
<description>@text/channel-type.shelly.colorRed.description</description>
|
||||
<state min="0" max="255" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorGreen" advanced="true">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Green</label>
|
||||
<description>green, 0..255, applies Color Mode</description>
|
||||
<label>@text/channel-type.shelly.colorGreen.label</label>
|
||||
<description>@text/channel-type.shelly.colorGreen.description</description>
|
||||
<state min="0" max="255" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorBlue" advanced="true">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Blue</label>
|
||||
<description>blue, 0..255, only in Color Mode</description>
|
||||
<label>@text/channel-type.shelly.colorBlue.label</label>
|
||||
<description>@text/channel-type.shelly.colorBlue.description</description>
|
||||
<state min="0" max="255" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorWhite">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>White</label>
|
||||
<description>white, 0..255, applies in Color Mode</description>
|
||||
<label>@text/channel-type.shelly.colorWhite.label</label>
|
||||
<description>@text/channel-type.shelly.colorWhite.description</description>
|
||||
<state min="0" max="255" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorGain">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Gain</label>
|
||||
<description>gain for all channels, 0..100, applies in Color Mode</description>
|
||||
<label>@text/channel-type.shelly.colorGain.label</label>
|
||||
<description>@text/channel-type.shelly.colorGain.description</description>
|
||||
<state min="0" max="100" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="whiteTemp">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Light Temperature</label>
|
||||
<description>Light Temperature 2700/3000..6500K (0-100%)</description>
|
||||
<label>@text/channel-type.shelly.whiteTemp.label</label>
|
||||
<description>@text/channel-type.shelly.whiteTemp.description</description>
|
||||
<state min="3000" max="6500" step="10" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="whiteBrightness">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Brightness</label>
|
||||
<description>Brightness: 0..100%</description>
|
||||
<category>Light</category>
|
||||
<label>@text/channel-type.shelly.whiteBrightness.label</label>
|
||||
<description>@text/channel-type.shelly.whiteBrightness.description</description>
|
||||
<category>DimmableLight</category>
|
||||
<state min="0" max="100" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorEffectBulb">
|
||||
<item-type>Number</item-type>
|
||||
<label>Effect</label>
|
||||
<description>Currently applied effect, description: 0: Off, 1: Meteor Shower, 2: Gradual Change, 3: Breath, 4: Flash,
|
||||
5: On/Off Gradual, 6: Red/Green Change</description>
|
||||
<label>@text/channel-type.shelly.colorEffectBulb.label</label>
|
||||
<description>@text/channel-type.shelly.colorEffectBulb.description</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="0">Off</option>
|
||||
<option value="1">Meteor Shower</option>
|
||||
<option value="2">Gradual Change</option>
|
||||
<option value="3">Breath</option>
|
||||
<option value="4">Flash</option>
|
||||
<option value="5">On/Off Gradual</option>
|
||||
<option value="6">Red/Green Change</option>
|
||||
<option value="0">@text/channel-type.shelly.colorEffectBulb.option.0</option>
|
||||
<option value="1">@text/channel-type.shelly.colorEffectBulb.option.1</option>
|
||||
<option value="2">@text/channel-type.shelly.colorEffectBulb.option.2</option>
|
||||
<option value="3">@text/channel-type.shelly.colorEffectBulb.option.3</option>
|
||||
<option value="4">@text/channel-type.shelly.colorEffectBulb.option.4</option>
|
||||
<option value="5">@text/channel-type.shelly.colorEffectBulb.option.5</option>
|
||||
<option value="6">@text/channel-type.shelly.colorEffectBulb.option.6</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="colorEffectRGBW2">
|
||||
<item-type>Number</item-type>
|
||||
<label>Effect</label>
|
||||
<description>Currently applied effect, description: 0: Off, 1: Meteor Shower, 2: Gradual Change, 3: Flash</description>
|
||||
<label>@text/channel-type.shelly.colorEffectRGBW2.label</label>
|
||||
<description>@text/channel-type.shelly.colorEffectRGBW2.description</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="0">Off</option>
|
||||
<option value="1">Meteor Shower</option>
|
||||
<option value="2">Gradual Change</option>
|
||||
<option value="3">Flash</option>
|
||||
<option value="0">@text/channel-type.shelly.colorEffectRGBW2.option.0</option>
|
||||
<option value="1">@text/channel-type.shelly.colorEffectRGBW2.option.1</option>
|
||||
<option value="2">@text/channel-type.shelly.colorEffectRGBW2.option.2</option>
|
||||
<option value="3">@text/channel-type.shelly.colorEffectRGBW2.option.3</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
@@ -5,21 +5,21 @@
|
||||
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
|
||||
|
||||
<thing-type id="shelly1">
|
||||
<label>Shelly1 (SHSW-1)</label>
|
||||
<description>Shelly1 device with a single relay</description>
|
||||
<label>Shelly 1 (SHSW-1)</label>
|
||||
<description>@text/thing-type.shelly.shelly1.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="sensors" typeId="externalSensors"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly1l">
|
||||
<label>Shelly 1L (SHSW-L)</label>
|
||||
<description>Shelly 1L device with a single relay</description>
|
||||
<description>@text/thing-type.shelly.shelly1l.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
@@ -27,13 +27,13 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly1pm">
|
||||
<label>Shelly1PM (SHSW-PM)</label>
|
||||
<description>Shelly1PM device with single relay and power meter</description>
|
||||
<label>Shelly 1PM (SHSW-PM)</label>
|
||||
<description>@text/thing-type.shelly.shelly1pm.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
@@ -41,245 +41,248 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyem">
|
||||
<label>ShellyEM (SHEM)</label>
|
||||
<description>Shelly EM device with single relay and power meter</description>
|
||||
<label>Shelly EM (SHEM)</label>
|
||||
<description>@text/thing-type.shelly.shellyem.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="meter1" typeId="meter">
|
||||
<label>Power Meter 1</label>
|
||||
<label>@text/thing-type.shelly.shellyem.group.meter1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter2" typeId="meter">
|
||||
<label>Power Meter 2</label>
|
||||
<label>@text/thing-type.shelly.shellyem.group.meter2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<!-- Shelly 3EM - device reports wrong service name: shellyem3, see README -->
|
||||
<thing-type id="shellyem3">
|
||||
<label>Shelly 3EM (SHEM-3)</label>
|
||||
<description>Shelly 3EM device with 3 power meters and a relay (thing name is shellyem3, see README)</description>
|
||||
<description>@text/thing-type.shelly.shellyem3.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="meter1" typeId="meter">
|
||||
<label>Power Meter 1</label>
|
||||
<label>@text/thing-type.shelly.shellyem3.group.meter1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter2" typeId="meter">
|
||||
<label>Power Meter 2</label>
|
||||
<label>@text/thing-type.shelly.shellyem3.group.meter2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter3" typeId="meter">
|
||||
<label>Power Meter 3</label>
|
||||
<label>@text/thing-type.shelly.shellyem3.group.meter3.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly2-relay">
|
||||
<label>Shelly2 Relay (SHSW-21)</label>
|
||||
<description>Shelly2 device with two relays</description>
|
||||
<label>Shelly 2 Relay (SHSW-21)</label>
|
||||
<description>@text/thing-type.shelly.shelly2-relay.description</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel">
|
||||
<label>Relay 1</label>
|
||||
<label>@text/thing-type.shelly.shelly2-relay.group.relay1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay2" typeId="relayChannel">
|
||||
<label>Relay 2</label>
|
||||
<label>@text/thing-type.shelly.shelly2-relay.group.relay2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly2-roller">
|
||||
<label>Shelly2 Roller (SHSW-21)</label>
|
||||
<description>Shelly2 in Roller Mode</description>
|
||||
|
||||
<label>Shelly 2 Roller (SHSW-21)</label>
|
||||
<description>@text/thing-type.shelly.shelly2-roller.description</description>
|
||||
<category>Rollershutter</category>
|
||||
<channel-groups>
|
||||
<channel-group id="roller" typeId="rollerControl"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:roller"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly25-relay">
|
||||
<label>Shelly2.5 Relay (SHSW-25)</label>
|
||||
<description>Shelly2.5 device with two relays, 2 meters</description>
|
||||
<label>Shelly 2.5 Relay (SHSW-25)</label>
|
||||
<description>@text/thing-type.shelly.shelly25-relay.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel">
|
||||
<label>Relay 1</label>
|
||||
<label>@text/thing-type.shelly.shelly25-relay.group.relay1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter1" typeId="meter">
|
||||
<label>Power Meter 1</label>
|
||||
<label>@text/thing-type.shelly.shelly25-relay.group.meter1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay2" typeId="relayChannel">
|
||||
<label>Relay 2</label>
|
||||
<label>@text/thing-type.shelly.shelly25-relay.group.relay2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter2" typeId="meter">
|
||||
<label>Power Meter 2</label>
|
||||
<label>@text/thing-type.shelly.shelly25-relay.group.meter2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly25-roller">
|
||||
<label>Shelly2.5 Roller (SHSW-25)</label>
|
||||
<description>Shelly2 in Roller Mode</description>
|
||||
|
||||
<label>Shelly 2.5 Roller (SHSW-25)</label>
|
||||
<description>@text/thing-type.shelly.shelly25-roller.description</description>
|
||||
<category>Rollershutter</category>
|
||||
<channel-groups>
|
||||
<channel-group id="roller" typeId="rollerControl"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:roller"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly4pro">
|
||||
<label>Shelly4 Pro Relay (SHSW-44)</label>
|
||||
<description>Shelly4Pro device with 4 relays</description>
|
||||
<label>Shelly 4 Pro Relay (SHSW-44)</label>
|
||||
<description>@text/thing-type.shelly.shelly4pro.description</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel">
|
||||
<label>Relay 1</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.relay1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter1" typeId="meter">
|
||||
<label>Power Meter 1</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.meter1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay2" typeId="relayChannel">
|
||||
<label>Relay 2</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.relay2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter2" typeId="meter">
|
||||
<label>Power Meter 2</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.meter2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay3" typeId="relayChannel">
|
||||
<label>Relay 3</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.relay3.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter3" typeId="meter">
|
||||
<label>Power Meter 3</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.meter3.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay4" typeId="relayChannel">
|
||||
<label>Relay 4</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.relay4.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="meter4" typeId="meter">
|
||||
<label>Power Meter 4</label>
|
||||
<label>@text/thing-type.shelly.shelly4pro.group.meter4.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyplug">
|
||||
<label>Shelly Plug</label>
|
||||
<description>Shelly Plug device with relay and power meter</description>
|
||||
<label>Shelly Plug (SHPLG-1)</label>
|
||||
<description>@text/thing-type.shelly.shellyplug.description</description>
|
||||
<category>PowerOutlet</category>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannelPlug"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyplugs">
|
||||
<label>Shelly Plug-S (SHPLG-S)</label>
|
||||
<description>Shelly Plug-S with relay, meter and LED control</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellyplugs.description</description>
|
||||
<category>PowerOutlet</category>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannelPlug"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyplugu1">
|
||||
<label>Shelly Plug US (SHPLG-U1)</label>
|
||||
<description>Shelly Plug US with relay and meter</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellyplugu1.description</description>
|
||||
<category>PowerOutlet</category>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannelPlug"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyuni">
|
||||
<label>Shelly UNI (SHUNI-2)</label>
|
||||
<description>Embedded Shelly device</description>
|
||||
<label>Shelly UNI (SHUNI-1)</label>
|
||||
<description>@text/thing-type.shelly.shellyuni.description</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel">
|
||||
<label>Relay 1</label>
|
||||
<label>@text/thing-type.shelly.shellyuni.group.relay1.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay2" typeId="relayChannel">
|
||||
<label>Relay 2</label>
|
||||
<label>@text/thing-type.shelly.shellyuni.group.relay2.label</label>
|
||||
</channel-group>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellydimmer">
|
||||
<label>Shelly Dimmer (SHDM-1)</label>
|
||||
<description>Shelly Dimmer</description>
|
||||
<description>@text/thing-type.shelly.shellydimmer.description</description>
|
||||
<category>DimmableLight</category>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="dimmerChannel"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:dimmer"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellydimmer2">
|
||||
<label>Shelly Dimmer 2 (SHDM-2)</label>
|
||||
<description>Shelly Dimmer 2</description>
|
||||
<description>@text/thing-type.shelly.shellydimmer2.description</description>
|
||||
<category>DimmableLight</category>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="dimmerChannel"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:dimmer"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyix3">
|
||||
<label>Shelly ix3 (SHIX3-1)</label>
|
||||
<description>Shelly i3 Device with 3 inputs</description>
|
||||
<description>@text/thing-type.shelly.shellyix3.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="status1" typeId="ix3Channel"/>
|
||||
<channel-group id="status2" typeId="ix3Channel"/>
|
||||
@@ -287,50 +290,43 @@
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyuni">
|
||||
<label>Shelly UNI (SHUNI-1)</label>
|
||||
<description>Shelly UNI device</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel"/>
|
||||
<channel-group id="relay2" typeId="relayChannel"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<channel-group-type id="relayChannel">
|
||||
<label>Relay</label>
|
||||
<description>A Shelly relay channel</description>
|
||||
<label>@text/channel-group-type.shelly.relayChannel.label</label>
|
||||
<description>@text/channel-group-type.shelly.relayChannel.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="relayChannelPlug">
|
||||
<label>Relay</label>
|
||||
<description>A Shelly relay channel</description>
|
||||
<label>@text/channel-group-type.shelly.relayChannelPlug.label</label>
|
||||
<description>@text/channel-group-type.shelly.relayChannelPlug.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="dimmerChannel">
|
||||
<label>Dimmer</label>
|
||||
<description>A Shelly Dimmer channel</description>
|
||||
<label>@text/channel-group-type.shelly.dimmerChannel.label</label>
|
||||
<description>@text/channel-group-type.shelly.dimmerChannel.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="ix3Channel">
|
||||
<label>Input</label>
|
||||
<description>Input Status</description>
|
||||
<label>@text/channel-group-type.shelly.ix3Channel.label</label>
|
||||
<description>@text/channel-group-type.shelly.ix3Channel.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="rollerControl">
|
||||
<label>Roller Control</label>
|
||||
<description>Controlling the roller mode</description>
|
||||
<label>@text/channel-group-type.shelly.rollerControl.label</label>
|
||||
<description>@text/channel-group-type.shelly.rollerControl.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="meter">
|
||||
<label>Power Meter</label>
|
||||
<description>Power consumption for the relay</description>
|
||||
<label>@text/channel-group-type.shelly.meter.label</label>
|
||||
<description>@text/channel-group-type.shelly.meter.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="externalSensors">
|
||||
<label>External Sensors</label>
|
||||
<description>Temperatures from external sensors connected to the optional Addon</description>
|
||||
<label>@text/channel-group-type.shelly.externalSensors.label</label>
|
||||
<description>@text/channel-group-type.shelly.externalSensors.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-type id="outputName">
|
||||
@@ -340,229 +336,290 @@
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="timerAutoOn" advanced="true">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>Auto-ON Timer</label>
|
||||
<description>ON: After the output was turned off it turns on automatically after xx seconds; 0 disables the timer</description>
|
||||
<label>@text/channel-type.shelly.timerAutoOn.label</label>
|
||||
<description>@text/channel-type.shelly.timerAutoOn.description</description>
|
||||
<category>Time</category>
|
||||
<state min="0" step="1" pattern="%.0f %unit%" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="timerAutoOff" advanced="true">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>Auto-OFF Timer</label>
|
||||
<description>ON: After the output was turned on it turns off automatically after xx seconds; 0 disables the timer</description>
|
||||
<label>@text/channel-type.shelly.timerAutoOff.label</label>
|
||||
<description>@text/channel-type.shelly.timerAutoOff.description</description>
|
||||
<category>Time</category>
|
||||
<state min="0" step="1" pattern="%.0f %unit%" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="timerActive" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Auto ON/OFF timer active</label>
|
||||
<description>ON: A timer is active, OFF: no timer active</description>
|
||||
<label>@text/channel-type.shelly.timerActive.label</label>
|
||||
<description>@text/channel-type.shelly.timerActive.description</description>
|
||||
<category>Status</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerShutter">
|
||||
<item-type>Rollershutter</item-type>
|
||||
<label>Roller Control (0=open, 100=closed))</label>
|
||||
<description>Controls the roller</description>
|
||||
<label>@text/channel-type.shelly.rollerShutter.label</label>
|
||||
<description>@text/channel-type.shelly.rollerShutter.description</description>
|
||||
<category>Blinds</category>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerPosition" advanced="true">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Roller Position (100=open, 0=closed)</label>
|
||||
<description>Position the roller (100..0 in %, where 100%=open, 0%=closed)</description>
|
||||
<label>@text/channel-type.shelly.rollerPosition.label</label>
|
||||
<description>@text/channel-type.shelly.rollerPosition.description</description>
|
||||
<category>Blinds</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
<tag>Level</tag>
|
||||
</tags>
|
||||
<state readOnly="false" min="0" max="100" pattern="%.0f %%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerFavorite">
|
||||
<item-type>Number</item-type>
|
||||
<label>Position Favorite</label>
|
||||
<description>Set roller position by selecting favorite 1-4 (needs to be defined in the Shelly App, 0=n/a)</description>
|
||||
<label>@text/channel-type.shelly.rollerFavorite.label</label>
|
||||
<description>@text/channel-type.shelly.rollerFavorite.description</description>
|
||||
<state readOnly="false" min="0" max="4"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerState">
|
||||
<item-type>String</item-type>
|
||||
<label>State</label>
|
||||
<description>State of the roller (open/close/stop)</description>
|
||||
<label>@text/channel-type.shelly.rollerState.label</label>
|
||||
<description>@text/channel-type.shelly.rollerState.description</description>
|
||||
<category>Status</category>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="open">opening</option>
|
||||
<option value="close">closing</option>
|
||||
<option value="stop">stopped</option>
|
||||
<option value="open">@text/channel-type.shelly.rollerState.state.option.open</option>
|
||||
<option value="close">@text/channel-type.shelly.rollerState.state.option.close</option>
|
||||
<option value="stop">@text/channel-type.shelly.rollerState.state.option.stop</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerStop">
|
||||
<item-type>String</item-type>
|
||||
<label>Roller stop reason</label>
|
||||
<description>Last cause for stopping: normal, safety switch, obstacle</description>
|
||||
<label>@text/channel-type.shelly.rollerStop.label</label>
|
||||
<description>@text/channel-type.shelly.rollerStop.description</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="normal">normal</option>
|
||||
<option value="safety_switch">safety switch</option>
|
||||
<option value="obstacle">obstacle detected</option>
|
||||
<option value="normal">@text/channel-type.shelly.rollerStop.state.option.normal</option>
|
||||
<option value="safety_switch">@text/channel-type.shelly.rollerStop.state.option.safety_switch</option>
|
||||
<option value="obstacle">@text/channel-type.shelly.rollerStop.state.option.obstacle</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerDirection">
|
||||
<item-type>String</item-type>
|
||||
<label>Last Roller Direction</label>
|
||||
<description>Last direction: open or close</description>
|
||||
<label>@text/channel-type.shelly.rollerDirection.label</label>
|
||||
<description>@text/channel-type.shelly.rollerDirection.description</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="open">open</option>
|
||||
<option value="close">close</option>
|
||||
<option value="stop">stopped</option>
|
||||
<option value="open">@text/channel-type.shelly.rollerDirection.state.option.open</option>
|
||||
<option value="close">@text/channel-type.shelly.rollerDirection.state.option.close</option>
|
||||
<option value="stop">@text/channel-type.shelly.rollerDirection.state.option.stop</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="rollerSafety" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Safety Switch</label>
|
||||
<description>Status of the safety switch</description>
|
||||
<label>@text/channel-type.shelly.rollerSafety.label</label>
|
||||
<description>@text/channel-type.shelly.rollerSafety.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="inputState">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Input</label>
|
||||
<description>Input/Button state</description>
|
||||
<label>@text/channel-type.shelly.inputState.label</label>
|
||||
<description>@text/channel-type.shelly.inputState.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="inputState1" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Input #1</label>
|
||||
<description>Input/Button state #1</description>
|
||||
<label>@text/channel-type.shelly.inputState1.label</label>
|
||||
<description>@text/channel-type.shelly.inputState1.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="inputState2" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Input #2</label>
|
||||
<description>Input/Button state #2</description>
|
||||
<label>@text/channel-type.shelly.inputState2.label</label>
|
||||
<description>@text/channel-type.shelly.inputState2.description </description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="dimmerBrightness">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>Brightness</label>
|
||||
<description>Light brightness in %</description>
|
||||
<category>Light</category>
|
||||
<label>@text/channel-type.shelly.dimmerBrightness.label</label>
|
||||
<description>@text/channel-type.shelly.dimmerBrightness.description</description>
|
||||
<category>DimmableLight</category>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterWatts">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Watt</label>
|
||||
<description>Current power consumption in Watt</description>
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="supplyVoltage" advanced="true">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Supply Voltage</label>
|
||||
<description>Supply voltage of the device in Volt</description>
|
||||
<label>@text/channel-type.shelly.meterWatts.label</label>
|
||||
<description>@text/channel-type.shelly.meterWatts.description</description>
|
||||
<category>Energy</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
<tag>Current</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterAccuWatts" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Accumulated Watt</label>
|
||||
<description>Accumulated current power consumption in Watt from all meters</description>
|
||||
<label>@text/channel-type.shelly.meterAccuWatts.label</label>
|
||||
<description>@text/channel-type.shelly.meterAccuWatts.description</description>
|
||||
<category>Energy</category>
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterAccuTotal" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Accumulated Total</label>
|
||||
<description>Accumulated total power consumption from all meters</description>
|
||||
<label>@text/channel-type.shelly.meterAccuTotal.label</label>
|
||||
<description>@text/channel-type.shelly.meterAccuTotal.description</description>
|
||||
<category>Energy</category>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterAccuReturned" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Accumulated Returned</label>
|
||||
<description>Accumulated returned power consumption from all meters</description>
|
||||
<label>@text/channel-type.shelly.meterAccuReturned.label</label>
|
||||
<description>@text/channel-type.shelly.meterAccuReturned.description</description>
|
||||
<category>Energy</category>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterReactive">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Reactive Watt</label>
|
||||
<description>Instantaneous reactive power in Watts (W)</description>
|
||||
<label>@text/channel-type.shelly.meterReactive.label</label>
|
||||
<description>@text/channel-type.shelly.meterReactive.description</description>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="lastPower1" advanced="true">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Last Power #1</label>
|
||||
<description>Last power consumption #1 - one rounded minute</description>
|
||||
<label>@text/channel-type.shelly.lastPower1.label</label>
|
||||
<description>@text/channel-type.shelly.lastPower1.description</description>
|
||||
<category>Energy</category>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterTotal">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Total Energy</label>
|
||||
<description>Total power consumption</description>
|
||||
<label>@text/channel-type.shelly.meterTotal.label</label>
|
||||
<description>@text/channel-type.shelly.meterTotal.description</description>
|
||||
<category>Energy</category>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterReturned">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Total Returned Energy</label>
|
||||
<description>Total returned energy</description>
|
||||
<label>@text/channel-type.shelly.meterReturned.label</label>
|
||||
<description>@text/channel-type.shelly.meterReturned.description</description>
|
||||
<category>Energy</category>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterVoltage">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Voltage</label>
|
||||
<description>RMS voltage, Volts </description>
|
||||
<label>@text/channel-type.shelly.meterVoltage.label</label>
|
||||
<description>@text/channel-type.shelly.meterVoltage.description</description>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
<tag>Voltage</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterCurrent">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Current</label>
|
||||
<description>Current in A </description>
|
||||
<label>@text/channel-type.shelly.meterCurrent.label</label>
|
||||
<description>@text/channel-type.shelly.meterCurrent.description</description>
|
||||
<category>Energy</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
<tag>Power</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="meterPowerFactor">
|
||||
<item-type>Number</item-type>
|
||||
<label>Power Factor</label>
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
<label>@text/channel-type.shelly.meterPowerFactor.label</label>
|
||||
<description>@text/channel-type.shelly.meterPowerFactor.description</description>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="timestamp">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Last Update</label>
|
||||
<description>Timestamp of last measurement</description>
|
||||
<label>@text/channel-type.shelly.timestamp.label</label>
|
||||
<description>@text/channel-type.shelly.timestamp.description</description>
|
||||
<category>Time</category>
|
||||
<tags>
|
||||
<tag>Timestamp</tag>
|
||||
</tags>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="ledStatusDisable">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Disable Status LED</label>
|
||||
<description>Disable LED indication for network status</description>
|
||||
<label>@text/channel-type.shelly.ledStatusDisable.label</label>
|
||||
<description>@text/channel-type.shelly.ledStatusDisable.description</description>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="ledPowerDisable">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Disable Power LED</label>
|
||||
<description>Disable LED indication for output status</description>
|
||||
<label>@text/channel-type.shelly.ledPowerDisable.label</label>
|
||||
<description>@text/channel-type.shelly.ledPowerDisable.description</description>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="lastUpdate" advanced="true">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Last Update</label>
|
||||
<description>Timestamp of last status update</description>
|
||||
<label>@text/channel-type.shelly.lastUpdate.label</label>
|
||||
<description>@text/channel-type.shelly.lastUpdate.description</description>
|
||||
<category>Time</category>
|
||||
<tags>
|
||||
<tag>Timestamp</tag>
|
||||
</tags>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="eventTrigger">
|
||||
<kind>trigger</kind>
|
||||
<label>Event</label>
|
||||
<description>Event Trigger, e.g. button on/off, Output on/off</description>
|
||||
<label>@text/channel-type.shelly.eventTrigger.label</label>
|
||||
<description>@text/channel-type.shelly.eventTrigger.description</description>
|
||||
<event>
|
||||
<options>
|
||||
<option value="ROLLER_OPEN">Roller is open</option>
|
||||
<option value="ROLLER_CLOSE">Roller is closed</option>
|
||||
<option value="ROLLER_STOP">Roller has stopped</option>
|
||||
<option value="ROLLER_OPEN">@text/channel-type.shelly.eventTrigger.option.ROLLER_OPEN</option>
|
||||
<option value="ROLLER_CLOSE">@text/channel-type.shelly.eventTrigger.option.ROLLER_CLOSE</option>
|
||||
<option value="ROLLER_STOP">@text/channel-type.shelly.eventTrigger.option.ROLLER_STOP</option>
|
||||
</options>
|
||||
</event>
|
||||
</channel-type>
|
||||
|
||||
@@ -6,215 +6,293 @@
|
||||
|
||||
<thing-type id="shellyht">
|
||||
<label>Shelly H&T (SHHT-1)</label>
|
||||
<description>Shelly H&T Sensor</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellyht.description</description>
|
||||
<category>Sensor</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellysmoke">
|
||||
<label>Shelly Smoke</label>
|
||||
<description>Shelly Smoke Sensor (battery powered)</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellysmoke.description</description>
|
||||
<category>SmokeDetector</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellygas">
|
||||
<label>Shelly GAS (SHGS-1)</label>
|
||||
<description>Shelly Gas Sensor</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellygas.description</description>
|
||||
<category>Sensor</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:basic"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyflood">
|
||||
<label>Shelly Flood (SHWT-1)</label>
|
||||
<description>Shelly Flood Sensor (battery powered)</description>
|
||||
<description>@text/thing-type.shelly.shellyflood.description</description>
|
||||
<category>Sensor</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellydw">
|
||||
<label>Shelly Door/Window (SHDW-1)</label>
|
||||
<description>Shelly Door/Window Sensor (battery powered)</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellydw.description</description>
|
||||
<category>Sensor</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellydw2">
|
||||
<label>Shelly Door/Window (SHDW-2)</label>
|
||||
<description>Shelly Door/Window 2 Sensor (battery powered)</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellydw2.description</description>
|
||||
<category>Sensor</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellysense">
|
||||
<label>Shelly Sense (SHSEN-1)</label>
|
||||
<description>Shelly Sense Remote IR Controller</description>
|
||||
<description>@text/thing-type.shelly.shellysense.description</description>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="senseControl"/>
|
||||
<channel-group id="control" typeId="control"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellybutton1">
|
||||
<label>Shelly Button 1 (SHBTN-1)</label>
|
||||
<description>Shelly Button 1 (battery powered)</description>
|
||||
|
||||
<description>@text/thing-type.shelly.shellybutton1.description</description>
|
||||
<category>WallSwitch</category>
|
||||
<channel-groups>
|
||||
<channel-group id="status" typeId="buttonState"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellybutton2">
|
||||
<label>Shelly Button 2 (SHBTN-2)</label>
|
||||
<description>@text/thing-type.shelly.shellybutton2.description</description>
|
||||
<category>WallSwitch</category>
|
||||
<channel-groups>
|
||||
<channel-group id="status" typeId="buttonState"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellymotion">
|
||||
<label>Shelly Motion (SHMOS-1)</label>
|
||||
<description>Shelly Motion Sensor (battery powered)</description>
|
||||
|
||||
<label>Shelly Motion (SHMOS-01/SHMOS-02)</label>
|
||||
<description>@text/thing-type.shelly.shellymotion.description</description>
|
||||
<category>MotionDetector</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellytrv">
|
||||
<label>Shelly TRV (SHTRV-01)</label>
|
||||
<description>@text/thing-type.shelly.shellytrv.description</description>
|
||||
<category>RadiatorControl</category>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="control" typeId="control"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<channel-type id="controlMode">
|
||||
<item-type>String</item-type>
|
||||
<label>@text/channel-type.shelly.controlMode.label</label>
|
||||
<description>@text/channel-type.shelly.controlMode.description</description>
|
||||
<state>
|
||||
<options>
|
||||
<option value="manual">@text/channel-type.shelly.controlMode.state.option.manual</option>
|
||||
<option value="automatic">@text/channel-type.shelly.controlMode.state.option.automatic</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="controlProfile">
|
||||
<item-type>Number</item-type>
|
||||
<label>@text/channel-type.shelly.controlProfile.label</label>
|
||||
<description>@text/channel-type.shelly.controlProfile.description</description>
|
||||
<state min="0" max="5" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="targetTemp">
|
||||
<item-type>Number:Temperature</item-type>
|
||||
<label>@text/channel-type.shelly.targetTemp.label</label>
|
||||
<description>@text/channel-type.shelly.targetTemp.description</description>
|
||||
<category>Heating</category>
|
||||
<tags>
|
||||
<tag>Setpoint</tag>
|
||||
<tag>Temperature</tag>
|
||||
</tags>
|
||||
<state min="4" max="31" step="0.5" pattern="%.1f %unit%" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="boostControl">
|
||||
<item-type>Switch</item-type>
|
||||
<label>@text/channel-type.shelly.boostControl.label</label>
|
||||
<description>@text/channel-type.shelly.boostControl.description</description>
|
||||
</channel-type>
|
||||
<channel-type id="boostTimer">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>@text/channel-type.shelly.boostTimer.label</label>
|
||||
<description>@text/channel-type.shelly.boostTimer.description</description>
|
||||
<category>Time</category>
|
||||
<state min="0" step="1" pattern="%.0f %unit%" readOnly="false"></state>
|
||||
</channel-type>
|
||||
|
||||
|
||||
<channel-group-type id="sensorData">
|
||||
<label>Sensor Data</label>
|
||||
<description>Data from the various sensors</description>
|
||||
<label>@text/channel-group-type.shelly.sensorData.label</label>
|
||||
<description>@text/channel-group-type.shelly.sensorData.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="batteryStatus">
|
||||
<label>Battery Status</label>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="senseControl">
|
||||
<label>Sense Control</label>
|
||||
<description>Sense Settings</description>
|
||||
<channels>
|
||||
<channel id="key" typeId="senseKey"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="buttonState">
|
||||
<label>Button State</label>
|
||||
<description>Status of the Button</description>
|
||||
<label>@text/channel-group-type.shelly.batteryStatus.label</label>
|
||||
<description>@text/channel-group-type.shelly.batteryStatus.description</description>
|
||||
<category>BatteryLevel</category>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="control">
|
||||
<label>@text/channel-group-type.shelly.control.label</label>
|
||||
<description>@text/channel-group-type.shelly.control.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="buttonState">
|
||||
<label>@text/channel-group-type.shelly.buttonState.label</label>
|
||||
<description>@text/channel-group-type.shelly.buttonState.description</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-type id="sensorContact">
|
||||
<item-type>Contact</item-type>
|
||||
<label>Contact</label>
|
||||
<description>State of the contact: open/close</description>
|
||||
<category>Contact</category>
|
||||
<label>@text/channel-type.shelly.sensorContact.label</label>
|
||||
<description>@text/channel-type.shelly.sensorContact.description</description>
|
||||
<state pattern="%s" readOnly="true">
|
||||
<options>
|
||||
<option value="OPEN">Open</option>
|
||||
<option value="CLOSED">Closed</option>
|
||||
<option value="OPEN">@text/channel-type.shelly.sensorContact.state.option.OPEN</option>
|
||||
<option value="CLOSED">@text/channel-type.shelly.sensorContact.state.option.CLOSED</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorState">
|
||||
<item-type>String</item-type>
|
||||
<label>Sensor State</label>
|
||||
<description>Sensor State: normal</description>
|
||||
<label>@text/channel-type.shelly.sensorState.label</label>
|
||||
<description>@text/channel-type.shelly.sensorState.description</description>
|
||||
<state pattern="%s" readOnly="true">
|
||||
<options>
|
||||
<option value="warmup">Warm-Up</option>
|
||||
<option value="normal">Normal</option>
|
||||
<option value="fault">Fault</option>
|
||||
<option value="unknown">unknown</option>
|
||||
<option value="warmup">@text/channel-type.shelly.sensorState.state.option.warmup</option>
|
||||
<option value="normal">@text/channel-type.shelly.sensorState.state.option.normal</option>
|
||||
<option value="fault">@text/channel-type.shelly.sensorState.state.option.fault</option>
|
||||
<option value="unknown">@text/channel-type.shelly.sensorState.state.option.unknown</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="alarmState">
|
||||
<item-type>String</item-type>
|
||||
<label>Alarm State</label>
|
||||
<description>Alarm State: normal</description>
|
||||
<label>@text/channel-type.shelly.alarmState.label</label>
|
||||
<description>@text/channel-type.shelly.alarmState.description</description>
|
||||
<state pattern="%s" readOnly="true">
|
||||
<options>
|
||||
<option value="unknown">Unknown</option>
|
||||
<option value="none">None</option>
|
||||
<option value="mild">Mild</option>
|
||||
<option value="heavy">Heavy</option>
|
||||
<option value="test">Test</option>
|
||||
<option value="unknown">@text/channel-type.shelly.alarmState.state.option.unknown</option>
|
||||
<option value="none">@text/channel-type.shelly.alarmState.state.option.none</option>
|
||||
<option value="mild">@text/channel-type.shelly.alarmState.state.option.mild</option>
|
||||
<option value="heavy">@text/channel-type.shelly.alarmState.state.option.heavy</option>
|
||||
<option value="test">@text/channel-type.shelly.alarmState.state.option.test</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="lastEvent">
|
||||
<item-type>String</item-type>
|
||||
<label>Event</label>
|
||||
<description>Event Type</description>
|
||||
<label>@text/channel-type.shelly.lastEvent.label</label>
|
||||
<description>@text/channel-type.shelly.lastEvent.description</description>
|
||||
<state pattern="%s" readOnly="true">
|
||||
<options>
|
||||
<option value="S">Short push</option>
|
||||
<option value="SS">Double-Short push</option>
|
||||
<option value="SSS">Triple-Short push</option>
|
||||
<option value="L">Long push</option>
|
||||
<option value="SL">Short-Long push</option>
|
||||
<option value="LS">Long-Short push</option>
|
||||
<option value="S">@text/channel-type.shelly.lastEvent.state.option.S</option>
|
||||
<option value="SS">@text/channel-type.shelly.lastEvent.state.option.SS</option>
|
||||
<option value="SSS">@text/channel-type.shelly.lastEvent.state.option.SSS</option>
|
||||
<option value="L">@text/channel-type.shelly.lastEvent.state.option.L</option>
|
||||
<option value="SL">@text/channel-type.shelly.lastEvent.state.option.SL</option>
|
||||
<option value="LS">@text/channel-type.shelly.lastEvent.state.option.LS</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="eventCount">
|
||||
<item-type>Number</item-type>
|
||||
<label>Event Count</label>
|
||||
<description>Event Count</description>
|
||||
<label>@text/channel-type.shelly.eventCount.label</label>
|
||||
<description>@text/channel-type.shelly.eventCount.description</description>
|
||||
<state pattern="%.0f" readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorTemp">
|
||||
<item-type>Number:Temperature</item-type>
|
||||
<label>Temperature</label>
|
||||
<description>Temperature from the sensor</description>
|
||||
<label>@text/channel-type.shelly.sensorTemp.label</label>
|
||||
<description>@text/channel-type.shelly.sensorTemp.description</description>
|
||||
<category>Temperature</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
@@ -223,10 +301,11 @@
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorExtTemp">
|
||||
<item-type>Number:Temperature</item-type>
|
||||
<label>Temperature</label>
|
||||
<description>Temperature from the external sensor</description>
|
||||
<label>@text/channel-type.shelly.sensorExtTemp.label</label>
|
||||
<description>@text/channel-type.shelly.sensorExtTemp.label</description>
|
||||
<category>Temperature</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
@@ -235,10 +314,11 @@
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorExtHum">
|
||||
<item-type>Number:Dimensionless</item-type>
|
||||
<label>Humidity</label>
|
||||
<description>Relative humidity in % (0..100%) from external sensor</description>
|
||||
<label>@text/channel-type.shelly.sensorExtHum.label</label>
|
||||
<description>@text/channel-type.shelly.sensorExtHum.description</description>
|
||||
<category>Humidity</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
@@ -247,10 +327,11 @@
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorHumidity">
|
||||
<item-type>Number:Dimensionless</item-type>
|
||||
<label>Humidity</label>
|
||||
<description>Relative humidity in % (0..100%)</description>
|
||||
<label>@text/channel-type.shelly.sensorHumidity.label</label>
|
||||
<description>@text/channel-type.shelly.sensorHumidity.description</description>
|
||||
<category>Humidity</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
@@ -258,112 +339,155 @@
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%.1f %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorFlood">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Flood Alarm</label>
|
||||
<description>ON: Indicates flood condition / water detected</description>
|
||||
<label>@text/channel-type.shelly.sensorFlood.label</label>
|
||||
<description>@text/channel-type.shelly.sensorFlood.description</description>
|
||||
<category>Water</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorSmoke">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Smoke Alarm</label>
|
||||
<description>ON: Indicates smoke detection</description>
|
||||
<label>@text/channel-type.shelly.sensorSmoke.label</label>
|
||||
<description>@text/channel-type.shelly.sensorSmoke.description</description>
|
||||
<category>Smoke</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorLux">
|
||||
<item-type>Number:Illuminance</item-type>
|
||||
<label>Lux</label>
|
||||
<description>Brightness from the sensor (Lux)</description>
|
||||
<label>@text/channel-type.shelly.sensorLux.label</label>
|
||||
<description>@text/channel-type.shelly.sensorLux.description</description>
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorIllumination">
|
||||
<item-type>String</item-type>
|
||||
<label>Illumination</label>
|
||||
<description>Current illumination: dark/twilight/bright</description>
|
||||
<label>@text/channel-type.shelly.sensorIllumination.label</label>
|
||||
<description>@text/channel-type.shelly.sensorIllumination.description</description>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="dark">Dark</option>
|
||||
<option value="twilight">Twilight</option>
|
||||
<option value="bright">Bright</option>
|
||||
<option value="dark">@text/channel-type.shelly.sensorIllumination.state.option.dark</option>
|
||||
<option value="twilight">@text/channel-type.shelly.sensorIllumination.state.option.twilight</option>
|
||||
<option value="bright">@text/channel-type.shelly.sensorIllumination.state.option.bright</option>
|
||||
<option value="unknown">@text/channel-type.shelly.sensorIllumination.state.option.unknown</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="motionTimestamp">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Last motion</label>
|
||||
<description>Timestamp of last detected motion</description>
|
||||
<label>@text/channel-type.shelly.motionTimestamp.label</label>
|
||||
<description>@text/channel-type.shelly.motionTimestamp.description</description>
|
||||
<category>Time</category>
|
||||
<tags>
|
||||
<tag>Timestamp</tag>
|
||||
</tags>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="motionActive" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>@text/channel-type.shelly.motionActive.label</label>
|
||||
<description>channel-type.shelly.motionActive.description</description>
|
||||
<category>Contact</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorMotion">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Motion</label>
|
||||
<description>ON: Motion detected</description>
|
||||
<label>@text/channel-type.shelly.sensorMotion.label</label>
|
||||
<description>@text/channel-type.shelly.sensorMotion.description</description>
|
||||
<category>Motion</category>
|
||||
<tags>
|
||||
<tag>Status</tag>
|
||||
<tag>Presence</tag>
|
||||
</tags>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorVibration">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Vibration</label>
|
||||
<description>ON: Vibration detected</description>
|
||||
<label>@text/channel-type.shelly.sensorVibration.label</label>
|
||||
<description>@text/channel-type.shelly.sensorVibration.description</description>
|
||||
<category>Flow</category>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorTilt">
|
||||
<item-type>Number:Angle</item-type>
|
||||
<label>Tilt</label>
|
||||
<description>Tilt in degrees (requires calibration)</description>
|
||||
<label>@text/channel-type.shelly.sensorTilt.label</label>
|
||||
<description>@text/channel-type.shelly.sensorTilt.description</description>
|
||||
<category>Tilt</category>
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorPPM">
|
||||
<item-type>Number:Density</item-type>
|
||||
<label>Concentration</label>
|
||||
<description>Gas concentration in ppm</description>
|
||||
<label>@text/channel-type.shelly.sensorPPM.label</label>
|
||||
<description>@text/channel-type.shelly.sensorPPM.description</description>
|
||||
<category>Gas</category>
|
||||
<tags>
|
||||
<tag>Measurement</tag>
|
||||
<tag>Gas</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorADC">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Voltage (ADC)</label>
|
||||
<description>ADC voltage in V</description>
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
<label>@text/channel-type.shelly.sensorADC.label</label>
|
||||
<description>@text/channel-type.shelly.sensorADC.description</description>
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorPosition">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>@text/channel-type.shelly.sensorPosition.label</label>
|
||||
<description>@text/channel-type.shelly.sensorPosition.description</description>
|
||||
<category>RadiatorControl</category>
|
||||
<state min="0" max="100" step="1" readOnly="false" pattern="%.0f %unit%"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorValve">
|
||||
<item-type>String</item-type>
|
||||
<label>Valve</label>
|
||||
<description>Current valve status: closed/opened/not_connected/failure/closing/opening/checking</description>
|
||||
<label>@text/channel-type.shelly.sensorValve.label</label>
|
||||
<description>@text/channel-type.shelly.sensorValve.description</description>
|
||||
<category>Pressure</category>
|
||||
<state readOnly="true">
|
||||
<options>
|
||||
<option value="closed">closed</option>
|
||||
<option value="opened">opened</option>
|
||||
<option value="not_connected">not connected</option>
|
||||
<option value="failure">failure</option>
|
||||
<option value="closing">closing</option>
|
||||
<option value="opening">opening</option>
|
||||
<option value="checking">checking</option>
|
||||
<option value="unknown">UNKNOWN</option>
|
||||
<option value="closed">@text/channel-type.shelly.sensorValve.state.option.closed</option>
|
||||
<option value="opened">@text/channel-type.shelly.sensorValve.state.option.opened</option>
|
||||
<option value="not_connected">@text/channel-type.shelly.sensorValve.state.option.not_connected</option>
|
||||
<option value="failure">@text/channel-type.shelly.sensorValve.state.option.failure</option>
|
||||
<option value="closing">@text/channel-type.shelly.sensorValve.state.option.closing</option>
|
||||
<option value="opening">@text/channel-type.shelly.sensorValve.state.option.opening</option>
|
||||
<option value="checking">@text/channel-type.shelly.sensorValve.state.option.checking</option>
|
||||
<option value="unknown">@text/channel-type.shelly.sensorValve.state.option.UNKNOWN</option>
|
||||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorError">
|
||||
<item-type>String</item-type>
|
||||
<label>Last Error</label>
|
||||
<description>Only valid in case of error</description>
|
||||
<label>@text/channel-type.shelly.sensorError.label</label>
|
||||
<description>@text/channel-type.shelly.sensorError.description</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="sensorSleepTime" advanced="true">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>@text/channel-type.shelly.sensorSleepTime.label</label>
|
||||
@@ -373,8 +497,8 @@
|
||||
|
||||
<channel-type id="senseKey">
|
||||
<item-type>String</item-type>
|
||||
<label>IR Key to Send</label>
|
||||
<description>Send a defined key code</description>
|
||||
<label>@text/channel-type.shelly.senseKey.label</label>
|
||||
<description>@text/channel-type.shelly.senseKey.description</description>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
||||
|
||||
@@ -6,22 +6,22 @@
|
||||
|
||||
<thing-type id="shellydevice">
|
||||
<label>Shelly Device</label>
|
||||
<description>A password protected or unknown device.</description>
|
||||
<description>@text/thing-type.shelly.shellydevice.description</description>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<representation-property>serviceName</representation-property>
|
||||
<config-description>
|
||||
<parameter name="userId" type="text" required="true">
|
||||
<label>UserID</label>
|
||||
<description>User ID for API access.</description>
|
||||
<label>@text/thing-type.config.shellydevice.userId.label</label>
|
||||
<description>@text/thing-type.config.shellydevice.userId.description</description>
|
||||
</parameter>
|
||||
<parameter name="password" type="text" required="true">
|
||||
<label>Password</label>
|
||||
<description>Password for API access.</description>
|
||||
<label>@text/thing-type.config.shellydevice.password.label</label>
|
||||
<description>@text/thing-type.config.shellydevice.password.description</description>
|
||||
<context>password</context>
|
||||
</parameter>
|
||||
<parameter name="deviceIp" type="text" required="true">
|
||||
<label>IP Address</label>
|
||||
<description>IP Address of the Shelly device.</description>
|
||||
<label>@text/thing-type.config.shellydevice.deviceIp.label</label>
|
||||
<description>@text/thing-type.config.shellydevice.deviceIp.description</description>
|
||||
<context>network-address</context>
|
||||
</parameter>
|
||||
</config-description>
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<thing-type id="shellyunknown">
|
||||
<label>Unknown Shelly Device</label>
|
||||
<description>This device is currently not supported</description>
|
||||
<description>@text/thing-type.shelly.shellyunknown.description</description>
|
||||
<representation-property>deviceName</representation-property>
|
||||
</thing-type>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user