[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:
parent
2d1b337987
commit
532a03375a
|
@ -59,7 +59,9 @@ Also check out the [Shelly Manager](doc/ShellyManager.md), which
|
|||
| shellydw | Shelly Door/Window | SHDW-1 |
|
||||
| shellydw2 | Shelly Door/Window 2 | SHDW-2 |
|
||||
| shellybutton1 | Shelly Button 1 | SHBTN-1 |
|
||||
| shellybutton2 | Shelly Button 2 | SHBTN-2 |
|
||||
| shellysense | Shelly Motion and IR Controller | SHSEN-1 |
|
||||
| shellytrv | Shelly TRV | SHTRV-01 |
|
||||
| shellydevice | A password protected Shelly device or an unknown type | |
|
||||
|
||||
## Binding Configuration
|
||||
|
@ -101,9 +103,16 @@ Battery powered devices need to wake up by pressing the button, they will stay a
|
|||
|
||||
The binding uses mDNS to discover the Shelly devices.
|
||||
They periodically announce their presence, which is used by the binding to find them on the local network.
|
||||
|
||||
Sometimes you need to run the manual discovery multiple times until you see all your devices.
|
||||
|
||||
`Important`:
|
||||
It's recommended to enable CoIoT in the device settings for faster response times (event driven rather than polling).
|
||||
Open the device's Web UI, section "COIOT settings" and select "Enable COCIOT".
|
||||
It's recommended to switch the Shelly devices to CoAP Unicast mode if you have only your openHAB system controlling the device.
|
||||
This allows routing the CoIoT/CoAP messages across multiple IP subnets without special network setup required.
|
||||
You could use Shelly Manager (doc/ShellyManager.md) to easily do the setup (configuring the openHAB host as CoAP peer address).
|
||||
Keep Multicast mode if you have multiple hosts, which should receive the CoAP updates.
|
||||
|
||||
### Password Protected Devices
|
||||
|
||||
The Shelly devices can be configured to require authorization through a user id and password.
|
||||
|
@ -150,7 +159,7 @@ The binding sets the following Thing status depending on the device status:
|
|||
| OFFLINE | Communication with the device failed. Check the Thing status in the UI and openHAB's log for an indication of the error. Try restarting OH or deleting and re-discovering the Thing. You could also post to the community thread if the problem persists. |
|
||||
|
||||
`Battery powered devices:`
|
||||
If the device is in sleep mode and can't be reached by the binding, the Thing will change into UNKNOWN state.
|
||||
If the device is in sleep mode and can't be reached by the binding, the Thing will change into CONFIG_PENDING.
|
||||
Once the device wakes up, the Thing will perform initialization and the state will change to ONLINE.
|
||||
|
||||
The first time a device is discovered and initialized successfully, the binding will be able to perform auto-initialization when OH is restarted. Waking up the device triggers the event URL and/or CoIoT packet, which is processed by the binding and triggers initialization. Once a device is initialized, it is no longer necessary to manually wake it up after an openHAB restart unless you change the battery. In this case press the button and run the discovery again.
|
||||
|
@ -216,6 +225,7 @@ Every device has a channel group `device` with the following channels:
|
|||
| |statusLed |Switch |r/w |ON: Status LED is disabled, OFF: LED enabled |
|
||||
| |powerLed |Switch |r/w |ON: Power LED is disabled, OFF: LED enabled |
|
||||
| |charger |Switch |yes |ON: USB charging cable is connected external power supply activated. |
|
||||
| |calibrated |Switch |yes |ON: Device/sensor is calibrated (if supported by device). |
|
||||
|
||||
Availability of channels is depending on the device type.
|
||||
The binding detects many of those channels on-the-fly (when Thing changes to ONLINE state) and adjusts the Thing's channel structure.
|
||||
|
@ -261,7 +271,7 @@ Enable the autoCoIoT option in the binding configuration or eventsCoIoT in the T
|
|||
### Button events
|
||||
|
||||
Various devices signal an event when the physical button is pressed.
|
||||
This could be a switch connected to the SW input of the relay or the Button 1.
|
||||
This could be a switch connected to the SW input of the relay or the Button 1 or 2.
|
||||
|
||||
The following trigger types are sent:
|
||||
|
||||
|
@ -496,8 +506,9 @@ The Thing id is derived from the service name, so that's the reason why the Thin
|
|||
| |totalKWH |Number |yes |Total energy consumption in Watts since the device powered up (reset on restart) |
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last measurement |
|
||||
|
||||
The roller positioning calibration has to be performed using the Shelly App before the position can be set in percent.
|
||||
`Note: The Roller should be calibrated using the device Web UI or Shelly App, otherwise the position can .`
|
||||
|
||||
The roller positioning calibration has to be performed using the Shelly Web UI or App before the position can be set in percent.
|
||||
Refer to [Smartify Roller Shutters with openHAB and Shelly](doc/UseCaseSmartRoller.md) for more information on roller integration.
|
||||
|
||||
### Shelly 2.5 - relay mode (thing-type:shelly25-relay)
|
||||
|
@ -531,8 +542,7 @@ For this the binding aggregates the power consumption of both relays and include
|
|||
|meter1 | | | |See group meter1 for Shelly 2 |
|
||||
|meter2 | | | |See group meter1 for Shelly 2 |
|
||||
|
||||
The roller positioning calibration has to be performed using the Shelly App before the position can be set in percent.
|
||||
|
||||
The roller positioning calibration has to be performed using the Shelly Web UI or App before the position can be set in percent.
|
||||
Refer to [Smartify Roller Shutters with openHAB and Shelly](doc/UseCaseSmartRoller.md) for more information on roller integration.
|
||||
|
||||
### Shelly4 Pro (thing-type: shelly4pro)
|
||||
|
@ -580,7 +590,7 @@ The Shelly 4Pro provides 4 relays and 4 power meters.
|
|||
| |lastUpdate |DateTime |yes |Timestamp of the last measurement |
|
||||
|
||||
|
||||
`Note: The Dimmer should be calibrated using the Shelly App.`
|
||||
`Note: The Dimmer should be calibrated using the device Web UI or Shelly App.`
|
||||
|
||||
Using the Thing configuration option `brightnessAutoOn` you could decide if the light is turned on when a brightness > 0 is set.
|
||||
`true`: Brightness will be set and device output is powered = light turns on with the new brightness
|
||||
|
@ -812,10 +822,9 @@ You can define 2 items (1 Switch, 1 Number) mapping to the same channel, see exa
|
|||
|
||||
### Shelly Motion (thing-type: shellymotion)
|
||||
|
||||
Important: The Shelly Motion does only support CoIoT Unicast, which means you need to set the CoIoT peer address.
|
||||
|
||||
- Use device WebUI, open COIOT settings, make sure CoIoT is enabled and enter the openHAB IP address or
|
||||
- Use [Shelly Manager](doc/ShellyManager.md, select Action 'Set CoIoT peer' and the Manager will sets the openHAB IP address as peer address
|
||||
Note: You might need to restart the device to enable the discovery mode for 3 minutes(use the Web UI).
|
||||
As an alternativ you could press the reset button shortly (refer to the manual to locate the reset button).
|
||||
While the device is in low power mode (usual operation) it will not respond to discovery requests
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|---------------|---------|---------|---------------------------------------------------------------------|
|
||||
|
@ -836,7 +845,30 @@ You have a Motion controlling your light.
|
|||
You switch off the light and want to leave the room, but the motion sensor immediately switches light back on.
|
||||
Using 'sensorSleepTime' you could suppress motion events while leaving the room, e.g. for 5sec and the light doesn's switch on.
|
||||
|
||||
### Shelly Button 1 (thing-type: shellybutton1)
|
||||
### Shelly TRV (thing-type: shellytrv)
|
||||
|
||||
Note: You might need to reboot the device to enable the discovery mode for 3 minutes(use the Web UI).
|
||||
As an alternative you could press the reset button shortly (refer to the manual to locate the reset button).
|
||||
While the device is in low power mode (usual operation) it will not respond to discovery requests
|
||||
|
||||
You should calibrate the valve using the device Web UI or Shelly App before starting to control it using openHAB.
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|sensors |temperature |Number |yes |Current Temperature in °C |
|
||||
| |state |Contact |yes |Valve status: OPEN or CLOSED (position = 0) |
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last update (any sensor value changed) |
|
||||
|control |targetTemp |Number |no |Temperature in °C: 4=Low/Min; 5..30=target temperature;31=Hi/Max |
|
||||
| |position |Dimmer |no |Set valve to manual mode (0..100%) disables auto-temp) |
|
||||
| |mode |String |no |Switch between manual and automatic mode |
|
||||
| |profile |Number |no |Select profile: 0=disable, 1-n: profile index from Shelly Web App |
|
||||
| |boost |Number |no |Enable/disable boost mode (full heating power) |
|
||||
| |boostTimer |Number |no |Number of minutes to heat at full power while boost mode is enabled |
|
||||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |batteryAlert |Switch |yes |Low battery alert |
|
||||
|device |schedule |Switch |yes |ON: Schedule is active |
|
||||
|
||||
### Shelly Button 1 or 2 (thing-type: shellybutton1 / shellybutton2)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -848,8 +880,6 @@ Using 'sensorSleepTime' you could suppress motion events while leaving the room,
|
|||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
You should calibrate the sensor using the Shelly App to get information on the tilt status.
|
||||
|
||||
### Shelly Smoke (thing-type: shellysmoke)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|
@ -861,7 +891,7 @@ You should calibrate the sensor using the Shelly App to get information on the t
|
|||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
### Shelly Smoke(thing-type: shellysmoke)
|
||||
### Shelly Gas (thing-type: shellygas)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -889,6 +919,7 @@ You should calibrate the sensor using the Shelly App to get information on the t
|
|||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |batteryAlert |Switch |yes |Low battery alert |
|
||||
|
||||
|
||||
## Full Example
|
||||
|
||||
### shelly.things
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
Loading…
Reference in New Issue