Updated external content (Jenkins build 2309)

pull/2380/head
openHAB Build Server 2024-09-28 21:20:03 +00:00
parent b0b8bd42fe
commit f83465f88b
235 changed files with 2731 additions and 2289 deletions

File diff suppressed because one or more lines are too long

View File

@ -38,7 +38,7 @@ For more information on the available APIs in scripts see the [JSR223 Scripting]
## Code reuse
One can place *.groovy files with Groovy classes under `automation/groovy` configuration directory.
One can place *.groovy files with Groovy classes under `automation/groovy` configuration directory.
Those classes can be imported in JSR-223 scripts or the UI rules action with the usual Groovy `import` statement.
To apply shared code changes, one has to restart the `openHAB Core :: Bundles :: Automation` bundle on the Console or an openHAB instance altogether.

View File

@ -685,7 +685,7 @@ items.build do
# dimension Temperature inferred
number_item OutdoorTemp, format: "%.1f %unit%", unit: "°F"
# unit lx, dimension Illuminance, format "%s %unit%" inferred
number_item OutdoorBrightness, state: 10_000 | "lx"
end

View File

@ -70,7 +70,7 @@ The thing **aha Waste Collection Schedule** provides four channels for the upcom
wasteCollection.things
```java
Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrkalender" [ commune="Isernhagen", street="67269@Rosmarinweg+/+Kirchhorst@Kirchhorst", houseNumber="10", houseNumberAddon="", collectionPlace="67269-0010+" ]
Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrkalender" [ commune="Isernhagen", street="67269@Rosmarinweg+/+Kirchhorst@Kirchhorst", houseNumber="10", houseNumberAddon="", collectionPlace="67269-0010+" ]
```
wasteCollection.items

View File

@ -19,7 +19,7 @@ A binding that supports the Australian energy retailer Amber's API (<https://www
## Supported Things
- `service` Amber Electric API
- `service` Amber Electric API
## Discovery
@ -40,7 +40,7 @@ As a minimum, the IP address is needed:
| electricity-price | Number:EnergyPrice | Current price to import power from the grid
| controlled-load-price | Number:EnergyPrice | Current price to import power for Controlled Load
| feed-in-price | Number:EnergyPrice | Current price to export power to the grid
| electricity-status | String | Current price status of grid import
| electricity-status | String | Current price status of grid import
| controlled-load-status | String | Current price status of controlled load import
| feed-in-status | String | Current price status of Feed-In
| nem-time | String | NEM time of last pricing update
@ -68,7 +68,7 @@ String AmberElectric_nemtime { channel="amberelectric:service:AmberElectric:nem-
Number AmberElectric_Renewables { channel="amberelectric:service:AmberElectric:renewables" }
Switch AmberElectric_Spike { channel="amberelectric:service:AmberElectric:spike" }
```
### `amberelectric.sitemap`:
```perl

View File

@ -30,7 +30,7 @@ This binding supports two thing types:
## Discovery
All relevant thing types should be added automatically to the inbox through the mDNS discovery process.
All relevant thing types should be added automatically to the inbox through the mDNS discovery process.
In the case of the ShieldTV or PhilipsTV, openHAB will likely create an inbox entry for both a GoogleTV and a ShieldTV or PhilipsTV device.
Only the ShieldTV or PhilipsTV device should be configured, the GoogleTV can be ignored.
@ -39,7 +39,7 @@ This could cause undesired effects.
## Binding Configuration
This binding does not require any special configuration files.
This binding does not require any special configuration files.
This binding does require a PIN login process (documented below) upon first connection.
@ -176,7 +176,7 @@ KEYPRESS will accept the following commands as strings (case sensitive):
- KEY_MUTE
- KEY_SUBMIT
The list above causes an instantanious "press and release" of each button.
The list above causes an instantanious "press and release" of each button.
If you would like to manually control the press and release of each you may append _PRESS and _RELEASE to the end of each.
(e.g. KEY_FORWARD_PRESS or KEY_FORWARD_RELEASE)
@ -184,7 +184,7 @@ You may also send an ASCII character as a single letter to simulate a key entry
Use KEY_SUBMIT when full text entry is complete to tell the shield to process the line.
KEY_SUBMIT is automatically sent by KEYBOARD when a command is sent to the channel.
APP will display the currently active app as presented by the AndroidTV.
APP will display the currently active app as presented by the AndroidTV.
You may also send it a command of the app package name (e.g. com.google.android.youtube.tv) to start/change-to that app.
KEYCODE values are listed at the bottom of this README.
@ -210,11 +210,11 @@ openhab> openhab:androidtv androidtv:googletv:theater keypress KEY_POWER
## Pin Code Process
For the AndroidTV to be successfully accessed an on-screen PIN authentication is required on the first connection.
For the AndroidTV to be successfully accessed an on-screen PIN authentication is required on the first connection.
To begin the PIN process, send the text "REQUEST" to the pincode channel while watching your AndroidTV.
CLI Example Usage:
CLI Example Usage:
```shell
openhab> openhab:androidtv androidtv:googletv:theater pincode REQUEST

View File

@ -138,23 +138,23 @@ Thing argoclima:local:argoHvacLocalDirect "Argo HVAC (connected locally)" @ "Liv
Thing argoclima:local:argoHvacLocalDirectEx "Argo HVAC (connected locally) - extended example (with explicit options)" [
hostname="192.168.0.3",
connectionMode="LOCAL_CONNECTION",
refreshInterval=30,
refreshInterval=30,
hvacListenPort=1001,
// Schedule options (these are valid for all thing types)
schedule1DayOfWeek="[FRI, SAT, SUN, MON]",
schedule1OnTime="7:35",
schedule1DayOfWeek="[FRI, SAT, SUN, MON]",
schedule1OnTime="7:35",
schedule1OffTime="18:00",
schedule2DayOfWeek="[MON, TUE, WED, THU, FRI]",
schedule2DayOfWeek="[MON, TUE, WED, THU, FRI]",
schedule2OnTime="15:00",
schedule2OffTime="22:00",
schedule3DayOfWeek="SUN","SAT", //Alternative syntax for the weekdays list
schedule3OnTime="11:00",
schedule3OffTime="22:00"
schedule3OnTime="11:00",
schedule3OffTime="22:00"
//,resetToFactoryDefaults=true //This triggers a one-shot command each time the thing
// definition is (re)loaded from file.
// definition is (re)loaded from file.
// Use only intermittently - it is not designed with prolonged
// usage via Things text file in mind (mostly a MainUI feature!)
// usage via Things text file in mind (mostly a MainUI feature!)
]
//ADVANCED MODES examples
@ -168,19 +168,19 @@ Thing argoclima:local:argoHvacLocalWithPassthroughIndirect "Argo HVAC (accessibl
Thing argoclima:local:argoHvacLocalWithPassthroughPlusDirectEx "Argo HVAC (accessible both indirectly and directly, via pass-through mode, with explicit options)" [
hostname="192.168.0.3", // Direct address of the device (reachable from openHAB)
connectionMode="REMOTE_API_PROXY",
hvacListenPort=1001,
refreshInterval=30,
useLocalConnection=true,
// Stub server-specific
stubServerPort=8240,
stubServerListenAddresses="7d47:86bd:0bfe:0413:4688:4523:4284:5936","192.168.0.195",
includeDeviceSidePasswordsInProperties="MASKED",
matchAnyIncomingDeviceIp=false,
stubServerPort=8240,
stubServerListenAddresses="7d47:86bd:0bfe:0413:4688:4523:4284:5936","192.168.0.195",
includeDeviceSidePasswordsInProperties="MASKED",
matchAnyIncomingDeviceIp=false,
deviceCpuId="deadbeefdeadbeef", // For direct match to a concrete device (optional)
localDeviceIP="192.168.4.2", // Address in local subnet (used for indirect request matching)
// Pass-through-specific
oemServerAddress="uisetup.ddns.net",
oemServerPort=80
@ -189,7 +189,7 @@ Thing argoclima:local:argoHvacLocalWithPassthroughPlusDirectEx "Argo HVAC (acces
Thing argoclima:local:argoHvacLocalWithStub "Argo HVAC (accessible both indirectly and directly with a stub) - **RECOMMENDED MODE**" [
hostname="192.168.0.3", // Has to be reachable, since useLocalConnection is true (default)
connectionMode="REMOTE_API_STUB",
connectionMode="REMOTE_API_STUB",
localDeviceIP="192.168.4.2" // Or use matchAnyIncomingDeviceIp=true
]
```
@ -200,11 +200,11 @@ Thing argoclima:local:argoHvacLocalWithStub "Argo HVAC (accessible both indirect
Group GArgoClimaHVACRemote "Ulisse 13 DCI ECO - remote mode" ["HVAC"]
Switch ArgoClimaHVACRemote_Power "Power" <switch> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:ac-controls#power"
channel="argoclima:remote:argoHvacRemote:ac-controls#power"
}
String ArgoClimaHVACRemote_Mode "Mode" <climate> (GArgoClimaHVACRemote) ["Control"] {
channel="argoclima:remote:argoHvacRemote:ac-controls#mode"
channel="argoclima:remote:argoHvacRemote:ac-controls#mode"
}
Number:Temperature ArgoClimaHVACRemote_SetTemperature "Set Temperature" <temperature> (GArgoClimaHVACRemote) ["Temperature", "Setpoint"] {
@ -216,27 +216,27 @@ Number:Temperature ArgoClimaHVACRemote_SetTemperature "Set Temperature" <temp
}
Number:Temperature ArgoClimaHVACRemote_CurrentTemperature "Current Temperature" <temperature> (GArgoClimaHVACRemote) ["Temperature", "Measurement"] {
channel="argoclima:remote:argoHvacRemote:ac-controls#current-temperature"
channel="argoclima:remote:argoHvacRemote:ac-controls#current-temperature"
}
String ArgoClimaHVACRemote_FanSpeed "Fan Speed" <fan> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:ac-controls#fan-speed"
channel="argoclima:remote:argoHvacRemote:ac-controls#fan-speed"
}
Switch ArgoClimaHVACRemote_EcoMode "Eco Mode" <vacation> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:modes#eco-mode"
channel="argoclima:remote:argoHvacRemote:modes#eco-mode"
}
Switch ArgoClimaHVACRemote_TurboMode "Turbo Mode" <party> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:modes#turbo-mode"
channel="argoclima:remote:argoHvacRemote:modes#turbo-mode"
}
Switch ArgoClimaHVACRemote_NightMode "Night Mode" <moon> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:modes#night-mode"
channel="argoclima:remote:argoHvacRemote:modes#night-mode"
}
String ArgoClimaHVACRemote_ActiveTimer "Active timer" <calendar> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:timers#active-timer"
channel="argoclima:remote:argoHvacRemote:timers#active-timer"
}
Number:Time ArgoClimaHVACRemote_DelayTimer "Delay timer value" <time> (GArgoClimaHVACRemote) ["Setpoint"] {
@ -248,17 +248,17 @@ Number:Time ArgoClimaHVACRemote_DelayTimer "Delay timer value" <time> (GArgoCl
}
Switch ArgoClimaHVACRemote_IFeelEnabled "Use iFeel Temperature" <network> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:settings#ifeel-enabled"
channel="argoclima:remote:argoHvacRemote:settings#ifeel-enabled"
}
Switch ArgoClimaHVACRemote_DeviceLights "Device Lights" <light> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:settings#device-lights"
channel="argoclima:remote:argoHvacRemote:settings#device-lights"
}
String ArgoClimaHVACRemote_TemperatureDisplayUnit "Temperature Display Unit []" <settings> (GArgoClimaHVACRemote) {
stateDescription="" [ options="SCALE_CELSIUS=°C,SCALE_FAHRENHEIT=°F" ],
commandDescription="" [ options="SCALE_CELSIUS=°C,SCALE_FAHRENHEIT=°F" ],
channel="argoclima:remote:argoHvacRemote:settings#temperature-display-unit"
channel="argoclima:remote:argoHvacRemote:settings#temperature-display-unit"
}
Number:Dimensionless ArgoClimaHVACRemote_EcoPowerLimit "Power limit in eco mode" <price> (GArgoClimaHVACRemote) ["Setpoint"] {
@ -270,15 +270,15 @@ Number:Dimensionless ArgoClimaHVACRemote_EcoPowerLimit "Power limit in eco
}
String ArgoClimaHVACRemote_ModeEx "Extended Mode" <heating> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:unsupported#mode-ex"
channel="argoclima:remote:argoHvacRemote:unsupported#mode-ex"
}
String ArgoClimaHVACRemote_SwingMode "Airflow Direction" <flow> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:unsupported#swing-mode"
channel="argoclima:remote:argoHvacRemote:unsupported#swing-mode"
}
Switch ArgoClimaHVACRemote_FilterMode "Filter Mode" <switch> (GArgoClimaHVACRemote) {
channel="argoclima:remote:argoHvacRemote:unsupported#filter-mode"
channel="argoclima:remote:argoHvacRemote:unsupported#filter-mode"
}
```
@ -299,7 +299,7 @@ Frame label="❄ HVAC Control" {
Default item=GArgoClimaHVACRemote label="All settings"
}
Frame label="⛄ HVAC Modes"
{
{
Switch item=ArgoClimaHVACRemote_TurboMode
Switch item=ArgoClimaHVACRemote_NightMode
Switch item=ArgoClimaHVACRemote_EcoMode
@ -309,7 +309,7 @@ Frame label="⛄ HVAC Modes"
}
Frame label="⏲ HVAC timers" {
Selection item=ArgoClimaHVACRemote_ActiveTimer mappings=[
NO_TIMER="No Timer", DELAY_TIMER="Delay Timer",
NO_TIMER="No Timer", DELAY_TIMER="Delay Timer",
SCHEDULE_TIMER_1="Schedule 1", SCHEDULE_TIMER_2="Schedule 2", SCHEDULE_TIMER_3="Schedule 3"
]
Setpoint item=ArgoClimaHVACRemote_DelayTimer minValue=10 maxValue=1190 step=10

View File

@ -32,7 +32,7 @@ This binding supports the following thing types:
## Discovery
Supported things should be discovered automatically upon receipt of periodic SDDP announcements from the switch.
Supported things should be discovered automatically upon receipt of periodic SDDP announcements from the switch.
If the thing is not discovered automatically, login to the switch configuration UI and press the "SDDP" button on the "Network" tab to force the switch to send the SDDP announcement.
If "Telnet Login" is enabled in the switch configuration, you will need to set the username and password in the newly discovered thing before a connection can be made.

View File

@ -241,7 +241,7 @@ You will find entries like the attached one.
The `identifyer 'tmpFC0F2C-3960B7EE6'` contains the templates AINs you need for using them in rules.
```text
Name 'Demo Template', identifyer 'tmpFC0F2C-3960B7EE6', firmware version '0.1'
Name 'Demo Template', identifyer 'tmpFC0F2C-3960B7EE6', firmware version '0.1'
[aktive] ID 60013, emc 0x0, model 0x0, grouphash=0x0, devicetype 'avm_home_device_type_template', functionbitmask 0x4000, sortid 0, batt perc 255 low 255, pollinterval 0, polltimeout 0, validchangetime: 0
--------------------
```
@ -291,7 +291,7 @@ demo.items:
```java
String CallState "Call State [%s]" { channel="avmfritz:fritzbox:1:call_state" }
Call IncomingCall "Incoming call: [%1$s to %2$s]" { channel="avmfritz:fritzbox:1:incoming_call" }
Call IncomingCall "Incoming call: [%1$s to %2$s]" { channel="avmfritz:fritzbox:1:incoming_call" }
Call OutgoingCall "Outgoing call: [%1$s to %2$s]" { channel="avmfritz:fritzbox:1:outgoing_call" }
Call ActiveCall "Call established [%1$s]" { channel="avmfritz:fritzbox:1:active_call" }
String ApplyTemplate "Apply template" { channel="avmfritz:fritzbox:1:apply_template" }
@ -361,7 +361,7 @@ sitemap demo label="Main Menu" {
Text item=COMETDECTBattery icon="battery"
Switch item=COMETDECTBatteryLow icon="lowbattery"
}
Frame label="HAN-FUN Contact" {
Text item=HANFUNContactState
}

View File

@ -16,7 +16,7 @@ install: auto
# BenQ Projector Binding
This binding is compatible with BenQ projectors that support the control protocol via the built-in Ethernet port, serial port or USB to serial adapter.
If your projector does not have built-in networking, you can connect to your projector's serial port via a TCP connection using a serial over IP device or by using`ser2net`.
If your projector does not have built-in networking, you can connect to your projector's serial port via a TCP connection using a serial over IP device or by using`ser2net`.
The manufacturer's guide for connecting to the projector and the control protocol can be found in this document: [LX9215_RS232 Control Guide_0_Windows7_Windows8_WinXP.pdf](https://esupportdownload.benq.com/esupport/Projector/Control%20Protocols/LX9215/LX9215_RS232%20Control%20Guide_0_Windows7_Windows8_WinXP.pdf)

View File

@ -69,7 +69,7 @@ The `Airthings Wave Gen 1` and `Airthings Wave Radon / Wave 2` thing has the fol
| temperature | Number:Temperature | The measured temperature |
| humidity | Number:Dimensionless | The measured humidity |
Note: For the `Airthings Wave Gen 1`, only one channel can be updated at each refreshInterval, so it will take refreshInterval x 4 cycles to sequentially update all 4 channels
Note: For the `Airthings Wave Gen 1`, only one channel can be updated at each refreshInterval, so it will take refreshInterval x 4 cycles to sequentially update all 4 channels
## Example

View File

@ -56,7 +56,7 @@ _Note that it is planned to generate some part of this based on the XML files wi
| outdoorTemperature | Number:Temperature | R | Outdoor temperature from the external unit. Not always supported/reported.
| commCtrlVersion | String | R | Communication Controller Firmware Version
| remoteCtrlVersion | String | R | Remote Controller Firmware Version
| operationMode | String | R/W | The operation mode of the AC unit. Currently supported values: HEAT, COOL.
| operationMode | String | R/W | The operation mode of the AC unit. Currently supported values: HEAT, COOL.
| fanSpeed | Number | R/W | This is a "virtual channel" : its value is calculated depending on current operation mode. It is the channel to be used to change the fan speed, whatever the current mode is. Fan speed are from 1 to 5. On BRC1H, the device supports 3 speeds: LOW (1), MEDIUM (2-4), MAX (5). Some BRC1H also support an AUTO (0) mode - but not all of them support it (depending on internal unit).
| setpoint | Number:Temperature | R/W | This is a "virtual channel" : its value is calculated depending on current operation mode. It is the channel to be used to change the setpoint, whatever the current mode is.
| homekitCurrentHeatingCoolingMode | String | R | This channel is a "virtual channel" to be used with the HomeKit add-on to implement Thermostat thing. Values supported are the HomeKit addon ones: Off, CoolOn, HeatOn, Auto.

View File

@ -69,5 +69,5 @@ demo.items:
```java
Dimmer Light_LivingRoom { channel="milight:rgbLed:milight2:4:ledbrightness", channel="bluetooth:ptm215b:bluegiga0:rocker_livingroom:rocker1" [profile="rawrocker-to-on-off"], channel="bluetooth:ptm215b:bluegiga0:rocker_kitchen:rocker1" [profile="rawrocker-to-on-off"] } // We have a combined kitchen / livingroom, so we control the living room lights with switches from the living room and from the kitchen
Switch Light_Kitchen { channel="hue:group:1:kitchen-bulbs:switch", channel="bluetooth:ptm215b:bluegiga0:rocker_kitchen:rocker2" [profile="rawrocker-to-on-off"] }
Switch Light_Kitchen { channel="hue:group:1:kitchen-bulbs:switch", channel="bluetooth:ptm215b:bluegiga0:rocker_kitchen:rocker2" [profile="rawrocker-to-on-off"] }
```

View File

@ -14,7 +14,7 @@ install: manual
# radoneye
This extension adds support for [RadonEye](http://radonftlab.com/radon-sensor-product/radon-detector/rd200/) radon bluetooth detector.
This extension adds support for [RadonEye](http://radonftlab.com/radon-sensor-product/radon-detector/rd200/) radon bluetooth detector.
## Supported Things
@ -26,7 +26,7 @@ Following thing types are supported by this extension:
## Discovery
As any other Bluetooth device, RadonEye devices are discovered automatically by the corresponding bridge.
As any other Bluetooth device, RadonEye devices are discovered automatically by the corresponding bridge.
## Thing Configuration

View File

@ -60,7 +60,7 @@ The Smart Home Controller is the central hub that allows you to monitor and cont
| Channel Type ID | Item Type | Writable | Description |
|--------------------|-----------|:--------:|-------------------------------------------------------------------------|
| scenario-triggered | String | &#9744; | Name of the triggered scenario (e.g. by the Universal Switch Flex) |
| scenario-triggered | String | &#9744; | Name of the triggered scenario (e.g. by the Universal Switch Flex) |
| trigger-scenario | String | &#9745; | Name of a scenario to be triggered on the Bosch Smart Home Controller. |
### In-Wall Switch
@ -331,7 +331,7 @@ The smoke detector warns you in case of fire.
### User-defined States
User-defined states enable automations to be better adapted to specific needs and everyday situations.
User-defined states enable automations to be better adapted to specific needs and everyday situations.
Individual states can be activated/deactivated and can be used as triggers, conditions and actions in automations.
**Thing Type ID**: `user-defined-state`
@ -371,7 +371,7 @@ A universally configurable switch with four buttons.
Smart water leakage detector.
**Thing Type ID**: `water-detector`
**Thing Type ID**: `water-detector`
| Channel Type ID | Item Type | Writable | Description |
| -------------------------- | --------- | :------: | ------------------------------------------------- |
@ -387,7 +387,7 @@ Smart water leakage detector.
## Limitations
No major limitation known.
Check list of [openhab issues with "boshshc"](https://github.com/openhab/openhab-addons/issues?q=is%3Aissue+boschshc+)
Check list of [openhab issues with "boshshc"](https://github.com/openhab/openhab-addons/issues?q=is%3Aissue+boschshc+)
## Discovery

View File

@ -363,7 +363,7 @@ then
logWarn("actions", "Actions not found, check thing ID for the Zone")
return
}
actions.bypass()
end
```

View File

@ -17,7 +17,7 @@ install: auto
The openHAB ChatGPT Binding allows openHAB to communicate with the ChatGPT language model provided by OpenAI.
ChatGPT is a powerful natural language processing (NLP) tool that can be used to understand and respond to a wide range of text-based commands and questions.
ChatGPT is a powerful natural language processing (NLP) tool that can be used to understand and respond to a wide range of text-based commands and questions.
With this binding, you can use ChatGPT to formulate proper sentences for any kind of information that you would like to output.
## Supported Things
@ -92,7 +92,7 @@ Number Temperature_Forecast_High
```java
rule "Weather forecast update"
when
Item Temperature_Forecast_High changed
Item Temperature_Forecast_High changed
then
Weather_Announcement.sendCommand("High: " + Temperature_Forecast_High.state + "°C, Low: " + Temperature_Forecast_Low.state + "°C")
end

View File

@ -20,7 +20,7 @@ The cm11a is a serial computer interface that allows a computer to control attac
## Hardware - cm11a
The cm11a is an older device that communicates over a serial interface.
Most people connect it to a computer using a serial to USB adapter.
Most people connect it to a computer using a serial to USB adapter.
This binding has been tested with serial port and a serial to USB adapter.
X10 (and thus the cm11a) supports two types of modules.
@ -32,7 +32,7 @@ In addition to controlling X10 modules the cm11a listens on the powerline and re
### Use of serial port
The binding opens the serial port when it starts and keeps it open until the binding is terminated.
If the serial port is disconnected a reconnect will be attempted the next time it is needed.
If the serial port is disconnected a reconnect will be attempted the next time it is needed.
Therefore, other applications should not attempt to use the port when OpneHAB is running.
However, another program could load macros into the cm11a before openHAB starts.

View File

@ -67,7 +67,7 @@ The query items support the following parameters:
These are described further in the following subsections.
##### query
##### query
The query the items represents in the native language of your database:
@ -119,7 +119,7 @@ The `resultString` channel is the only valid one if `scalarResult=false`, and in
{
correct : true,
data : [
{
{
column1 : value,
column2 : value
},
@ -156,14 +156,14 @@ To execute the action you need to pass the following parameters:
And it returns an `ActionQueryResult` that has the following properties:
- correct (boolean) : True if the query was executed correctly, false otherwise
- data (List<Map<String,Object>>): A list where each element is a row that is stored in a map with (columnName,value) entries
- data (List<Map<String,Object>>): A list where each element is a row that is stored in a map with (columnName,value) entries
- isScalarResult: It returns if the result is scalar one (only one row with one column)
- resultAsScalar: It returns the result as a scalar if possible, if not returns null
Example (using Jython script):
```python
from core.log import logging, LOG_PREFIX
from core.log import logging, LOG_PREFIX
log = logging.getLogger("{}.action_example".format(LOG_PREFIX))
map = {"time" : "-2h"}
influxdb = actions.get("dbquery","dbquery:influxdb2:sampleQuery") //Get bridge thing
@ -228,7 +228,7 @@ Create a rule that is fired
- **Then** executes the following script action (in that example Jython):
```text
map = {"time" : "-2h"}
dbquery = actions.get("dbquery","dbquery:query:myquery")
map = {"time" : "-2h"}
dbquery = actions.get("dbquery","dbquery:query:myquery")
dbquery.setQueryParameters(map)
```

View File

@ -303,7 +303,7 @@ Number:Dimensionless Livingroom_Thermostat_ValvePosition "Thermostat Val
Contact Livingroom_Thermostat_WindowOpen "Thermostat Window Open [%s]" { channel="deconz:thermostat:homeserver:livingroom-thermostat:windowopen" }
Switch Livingroom_Thermostat_Locked "Thermostat Locked [%s]" { channel="deconz:thermostat:homeserver:livingroom-thermostat:locked" }
String Livingroom_Thermostat_Mode "Thermostat Mode [%s]" { channel="deconz:thermostat:homeserver:livingroom-thermostat:mode" }
Dimmer Livingroom_Ceiling "Livingroom Ceiling [%d]" <light> { channel="deconz:dimmablelight:homeserver:livingroom-ceiling:brightness" }
Dimmer Livingroom_Ceiling "Livingroom Ceiling [%d]" <light> { channel="deconz:dimmablelight:homeserver:livingroom-ceiling:brightness" }
Color Livingroom "Livingroom Light Control" { channel="deconz:lightgroup:homeserver:livingroom:color" }
Switch Entrance_Door "Doorlock" { channel="deconz:doorlock:homeserver:entrance-door:lock" }
String Entrance_Siren "Siren [%s]" <alarm> { channel="deconz:warningdevice:homeserver:entrance-siren:alert" }

View File

@ -413,13 +413,13 @@ _Blinds:_
```java
Bridge digitalstrom:dssBridge:dSS [ dSSAddress="urlOfMyDss", userName="dssadmin", password="mySecretPassword", sensorDataUpdateInterval=180] {
GE GE-KM-200 [ dSID="3504175fe000000000010db9", activePowerRefreshPriority="low", electricMeterRefreshPriority="medium", outputCurrentRefreshPriority="high"]
SW SW-ZWS-200 [ dSID="3504175fe0000000000651c0"]
SW SW-UMR-200 [ dSID="302ed89f43f00ec0000a1034"]
dSiSens200 dS-iSens200 [ dSID="302ed89f43f026800003543d"]
GE GE-KM-200 [ dSID="3504175fe000000000010db9", activePowerRefreshPriority="low", electricMeterRefreshPriority="medium", outputCurrentRefreshPriority="high"]
SW SW-ZWS-200 [ dSID="3504175fe0000000000651c0"]
SW SW-UMR-200 [ dSID="302ed89f43f00ec0000a1034"]
dSiSens200 dS-iSens200 [ dSID="302ed89f43f026800003543d"]
zoneTemperatureControl zoneTemperatureControl [ zoneID="livingroom"]
GR GR-KL220 [ dSID="3504175fe0000000000651c1" ]
namedScene Scene1 [ zoneID="5", groupID="1", sceneID="5"]
GR GR-KL220 [ dSID="3504175fe0000000000651c1" ]
namedScene Scene1 [ zoneID="5", groupID="1", sceneID="5"]
circuit circuit1 [ dSID="3504175fe0000010000004e4" ]
GR GR-KL200 [ dSID="3504175fe0000000000651c1" ]
}
@ -473,59 +473,59 @@ sitemap demo label="Main Menu"
{
Frame label="System" {
Frame label="digitalSTROM-Server"{
Text item=TotalActivePower
Text item=TotalElectricMeter
Text item=TotalActivePower
Text item=TotalElectricMeter
}
Frame label="digitalSTROM-Meter"{
Text item=TotalActivePowerDsm
Text item=TotalElectricMeterDsm
}
}
Frame label="Climate" {
Frame label="heating/cooling"{
Switch item=SensorSwitch
Switch item=SensorSwitch
}
Frame label="iSens200"{
Text item=TempIndoor
Text item=HumidityIndoor
}
Frame label="Target temperature"{
Slider item=Temperature
Text item=Temperature
}
}
Frame label="Shade"{
Frame label="Rollerschutter"{
Slider item=Shade
Slider item=Shade
Text item=Shade
}
Frame label="Blind"{
Slider item=BlindPosition
Slider item=BlindPosition
Slider item=BlindAngle
}
}
Frame label="Scenes"{
Frame label="TV scene"{
Switch item=Scene
Switch item=Scene
}
}
Frame label="HiFi" {
Frame label="TV light"{
Slider item=Brightness
Slider item=Brightness
Switch item=Brightness
Text item=ActivePower
Text item=OutputCurrent
Text item=ElectricMeter
Text item=ActivePower
Text item=OutputCurrent
Text item=ElectricMeter
}
Frame label="TV"{
Switch item=DeviceSwitch
}

View File

@ -21,7 +21,7 @@ A binding for D-Link Smart Home devices.
### DCH-S150 (WiFi motion sensor)
The binding has been tested with hardware revisions A1 and A2 running firmware version 1.22.
The binding has been tested with hardware revisions A1 and A2 running firmware version 1.22.
The mydlink Home service is now end of life and the device requires a daily reboot (performed by the binding) to keep it responsive.
## Discovery

View File

@ -283,7 +283,7 @@ This example defines a sACN/E1.31 bridge in unicast mode which transmits univers
Bridge dmx:sacn-bridge:mybridge [ mode="unicast", address="192.168.0.60", universe=2 ] {
color rgb [dmxid="5/3", fadetime=1000, dimtime=10000 ]
dimmer single [dmxid="50", fadetime=1000, turnonvalue="230", turnoffvalue="25" ]
chaser ampel [dmxid="10,12,13", steps="100:255,0,0:1000|100:255,255,0:500|100:0,0,255:1000|100:0,255,0:500" ]
chaser ampel [dmxid="10,12,13", steps="100:255,0,0:1000|100:255,255,0:500|100:0,0,255:1000|100:0,255,0:500" ]
}
```
@ -303,11 +303,11 @@ sitemap demo label="Main Menu"
Frame {
// Color
Colorpicker item=MyColorItem
// Dimmer
Switch item=MyDimmerItem
Slider item=MyDimmerItem
// Chaser
Switch item=MyChaserItem
}

View File

@ -52,11 +52,11 @@ Normally, only the hostname or IP address must be configured.
These channels can be used to retrieve the current device state and change the controls.
The input mode can be either be controlled by the "input" string channel, or by writing an ON value to the dedicated switch channels, which represents the physical buttons on the CP750 device.
The input mode can be either be controlled by the "input" string channel, or by writing an ON value to the dedicated switch channels, which represents the physical buttons on the CP750 device.
| Channel | Type | Read/Write | Description |
|------------|--------|------------|-----------------------------------------------------------------------------------------------------------------|
| fader | Dimmer | RW | Fader value (0 to 100) |
| fader | Dimmer | RW | Fader value (0 to 100) |
| mute | Switch | RW | Mute (ON or OFF) |
| input | String | RW | Input channel as string (one of "analog", "dig_1", "dig_2", "dig_3", "dig_4", "non-sync" or "mic") |
| analog | Switch | RW | Is ON if input mode is 'analog'. When an ON command is retrieved, input mode will be changed to this channel. |
@ -69,7 +69,7 @@ The input mode can be either be controlled by the "input" string channel, or by
## Full Example
The following example is for a device connected at IP 192.168.1.135 on port 61408 with all channels linked to items.
The following example is for a device connected at IP 192.168.1.135 on port 61408 with all channels linked to items.
demo.things:

View File

@ -44,7 +44,7 @@ Bridge dominoswiss:egate:myeGate "My eGate Server" @ "Home" [ ipAddres="localhos
```
The thing blind represents one blind on the eGate. Each blind is represented by an id set on your eGate.
```java
Thing blind officeBlind "Office" @ "1stFloor" [ id="1"]
```
@ -98,9 +98,9 @@ This example moves the blind of the office up as the sun passed 110 azimuth (so
```java
rule "OneSide up"
when
Item Azimuth changed
then
when
Item Azimuth changed
then
val azimuth = Math::round((Azimuth.state as DecimalType).intValue)
if (azimuth == 110)
{

View File

@ -141,7 +141,7 @@ if(actions === null) {
return
}
actions.sipHangup()
var String ringTimeLimit = actions.getRingTimeLimit()
```

View File

@ -430,7 +430,7 @@ Here is an example sitemap:
Text item=PANEL_ZONE_FAULT label="Zone Fault"
Text item=PANEL_ZONE_TAMPER label="Zone Tamper"
Text item=PANEL_ZONE_LOW_BATTERY label="Zone Low Battery"
Text item=PANEL_TIME_LOSS label="Panel Time Loss"
Text item=PANEL_TIME_LOSS label="Panel Time Loss"
}
}
@ -617,16 +617,16 @@ Sample Rules for Sending a DSC Alarm Command
```javascript
rule "SendKeystrokeStringCommand"
when
when
Item SwitchItemName received command ON
then
then
SEND_DSC_ALARM_COMMAND.sendCommand("071,1*101#")
end
rule "SendPollingCommand"
when
when
Item SwitchItemName received command ON
then
then
SEND_DSC_ALARM_COMMAND.sendCommand("000")
end
```

View File

@ -192,7 +192,7 @@ Text label="Pollenflugindex" {
=="2"="#ff9900",
=="1-2"="#ff9900",
=="1"="#ffff00",
=="0-1"="#00c83c"]
=="0-1"="#00c83c"]
Text item=pollenTomorrowEsche
valuecolor=[=="3"="#f00014",

View File

@ -147,7 +147,7 @@ when
Channel 'dwdunwetter:dwdwarnings:cologne:updated1' triggered NEW
then
// New Warning send a push notification to everyone
end
end
```

View File

@ -114,6 +114,7 @@ R=RFID
```
transform/ekey_names.map [NO spaces allowed]
```text
-1=Unspecified
1=JohnDoe

View File

@ -100,7 +100,7 @@ A typical item configuration for a rollershutter looks like this:
```java
Rollershutter Rollershutter1 {channel="elerotransmitterstick:elerochannel:0a0a0a0a:1:control",autoupdate="false" }
String Rollershutter1State {channel="elerotransmitterstick:elerochannel:0a0a0a0a:1:status" }
String Rollershutter1State {channel="elerotransmitterstick:elerochannel:0a0a0a0a:1:status" }
```
A sitemap entry looks like this:

View File

@ -53,15 +53,15 @@ The Emotiva Processor supports the following channels (some channels are model s
| Channel Type ID | Item Type | Description |
|------------------------------------|--------------------|------------------------------------------------------------|
| _Main zone_ | | |
| main-zone#power | Switch (RW) | Main zone power on/off |
| main-zone#volume | Dimmer (RW) | Main zone volume in percentage (0 to 100) |
| main-zone#volume-db | Number (RW) | Main zone volume in dB (-96 to 15) |
| main-zone#mute | Switch (RW) | Main zone mute |
| main-zone#source | String (RW) | Main zone input (HDMI1, TUNER, ARC, ...) |
| main-zone#power | Switch (RW) | Main zone power on/off |
| main-zone#volume | Dimmer (RW) | Main zone volume in percentage (0 to 100) |
| main-zone#volume-db | Number (RW) | Main zone volume in dB (-96 to 15) |
| main-zone#mute | Switch (RW) | Main zone mute |
| main-zone#source | String (RW) | Main zone input (HDMI1, TUNER, ARC, ...) |
| _Zone 2_ | | |
| zone2#power | Switch (RW) | Zone 2 power on/off |
| zone2#volume | Dimmer (RW) | Zone 2 volume in percentage (0 to 100) |
| zone2#volume-db | Number (RW) | Zone 2 volume in dB (-80 offset) |
| zone2#power | Switch (RW) | Zone 2 power on/off |
| zone2#volume | Dimmer (RW) | Zone 2 volume in percentage (0 to 100) |
| zone2#volume-db | Number (RW) | Zone 2 volume in dB (-80 offset) |
| zone2#mute | Switch (RW) | Zone 2 mute |
| zone2#input | String (RW) | Zone 2 input |
| _General_ | | |
@ -168,11 +168,11 @@ String emotiva-menu-tottom-end "" <non
```perl
Group item=emotiva-input label="Processor" icon="receiver" {
Default item=emotiva-power
Default item=emotiva-mute
Setpoint item=emotiva-volume
Default item=emotiva-volume-db step=2 minValue=-96.0 maxValue=15.0
Selection item=emotiva-source
Text item=emotiva-mode-surround
Default item=emotiva-mute
Setpoint item=emotiva-volume
Default item=emotiva-volume-db step=2 minValue=-96.0 maxValue=15.0
Selection item=emotiva-source
Text item=emotiva-mode-surround
Setpoint item=emotiva-speakers-center step=0.5 minValue=-12.0 maxValue=12.0
Default item=emotiva-zone2power
}

View File

@ -97,7 +97,7 @@ sitemap energenie label="Energenie Devices"
Switch item=Socket2
Switch item=Socket3
Switch item=Socket4
// Power measurement
Number item=Voltage
Number item=Current

View File

@ -859,7 +859,7 @@ logger.info "Total price for using 150 W for the next hour: #{price}" if price
duration_phases = [
37.minutes,
8.minutes,
4.minutes,
4.minutes,
2.minutes,
4.minutes,
36.minutes,
@ -878,7 +878,7 @@ consumption_phases = [
0 | "W"
],
result = eds.calculate_cheapest_period(ZonedDateTime.now.to_instant,
result = eds.calculate_cheapest_period(ZonedDateTime.now.to_instant,
24.hours.from_now.to_instant,
duration_phases,
consumption_phases)
@ -892,7 +892,7 @@ logger.info "Most expensive start #{result["MostExpensiveStart"]}"
# In this example we have to provide the total duration to make sure we fit the latest end. This is because there is no
# registered consumption in the last phase.
# Here we are using an alternative way of constructing an array of Durations.
# The `#minutes` method on an Integer object returns a corresponding Duration object.
# The `#minutes` method on an Integer object returns a corresponding Duration object.
duration_phases = [37, 8, 4, 2, 4, 36, 41].map { |i| i.minutes }
result = eds.calculate_cheapest_period(ZonedDateTime.now.to_instant,

View File

@ -98,8 +98,8 @@ demo.sitemap:
```perl
sitemap demo label="Enigma2 Demo"
{
Frame label="Enigma2" {
Switch item=Enigma2_Power
Frame label="Enigma2" {
Switch item=Enigma2_Power
Slider item=Enigma2_Volume step=5 minValue=0 maxValue=100
Setpoint item=Enigma2_Volume step=5 minValue=0 maxValue=100
Switch item=Enigma2_Mute
@ -126,8 +126,8 @@ sitemap demo label="Enigma2 Demo"
Switch item=Enigma2_RemoteKeys mappings=[FAST_BACKWARD="<<", PLAY=">", PAUSE="||", FAST_FORWARD=">>"]
Switch item=Enigma2_RemoteKeys mappings=[TV="TV", RECORD="O", STOP="[]", RADIO="Radio"]
Switch item=Enigma2_RemoteKeys mappings=[INFO="INFO"]
}
Frame label="Enigma2 Messages" {
}
Frame label="Enigma2 Messages" {
Switch item=Enigma2_SendError mappings=[SEND="SEND"]
Switch item=Enigma2_SendWarning mappings=[SEND="SEND"]
Switch item=Enigma2_SendInfo mappings=[SEND="SEND"]

View File

@ -122,7 +122,7 @@ Hence if your device supports one of the following EEPs the chances are good tha
³ Note that the soda handles potentially contain a wide range of different sensors and buttons.
However the amount of built-in sensors and buttons may vary between different models.
In case your particular device does not contain one of the potentially supported features the corresponding channel will never trigger an update.
Please see the manual of your particular model to check which channels should be supported before opening an issue.
Please see the manual of your particular model to check which channels should be supported before opening an issue.
Furthermore following supporting EEP family is available too: A5-11, types 0x03 (rollershutter position status), 0x04 (extended light status) and D0-06 (battery level indication).
@ -431,12 +431,12 @@ Bridge enocean:bridge:gtwy "EnOcean Gateway" [ path="/dev/ttyAMA0" ] {
Thing centralCommand cc02 "Dimmer" @ "Living room" [ enoceanId="aabbcc05", senderIdOffset=2, sendingEEPId="A5_38_08_02", receivingEEPId="A5_38_08_02", broadcastMessages=true, suppressRepeating=false ]
Thing rollershutter r01 "Rollershutter" @ "Kitchen" [ enoceanId="aabbcc06", senderIdOffset=3, sendingEEPId="A5_3F_7F_EltakoFSB", receivingEEPId="A5_3F_7F_EltakoFSB", broadcastMessages=true, suppressRepeating=false ] {Channels: Type rollershutter:rollershutter [shutTime=25]}
Thing measurementSwitch ms01 "TV Smart Plug" @ "Living room" [ enoceanId="aabbcc07", senderIdOffset=4, sendingEEPId="D2_01_09", broadcastMessages=false, receivingEEPId="D2_01_09","A5_12_01", suppressRepeating=false, pollingInterval=300]
Thing classicDevice cd01 "Garage_Light" @ "Garage" [
senderIdOffset=5,
sendingEEPId="F6_02_01",
broadcastMessages=true,
Thing classicDevice cd01 "Garage_Light" @ "Garage" [
senderIdOffset=5,
sendingEEPId="F6_02_01",
broadcastMessages=true,
receivingEEPId="F6_02_01",
suppressRepeating=false
suppressRepeating=false
] {
Type virtualSwitchA : virtualSwitchA [duration=300, switchMode="rockerSwitch"]
Type rockerswitchListenerSwitch : Listener1 "Schalter links" [enoceanId="aabbcc08", channel="channelA", switchMode="toggleButtonDir1"]
@ -451,8 +451,8 @@ Switch Light_Switch { channel="enocean:rockerSwitch:gtwy:rs01:rockerSwitchAction
Dimmer Kitchen_Hue "Hue" <light> {channel="enocean:rockerSwitch:gtwy:rs01:rockerswitchB" [profile="system:rawrocker-to-dimmer"], channel="hue:0220:0017884f6626:9:brightness"}
Rollershutter Kitchen_Rollershutter "Roller shutter" <blinds> (Kitchen) {channel="enocean:rollershutter:gtwy:r01:rollershutter", autoupdate="false"}
Switch Garage_Light "Switch" {
channel="enocean:classicDevice:gtwy:cd01:virtualRockerswitchA",
channel="enocean:classicDevice:gtwy:cd01:Listener1",
channel="enocean:classicDevice:gtwy:cd01:virtualRockerswitchA",
channel="enocean:classicDevice:gtwy:cd01:Listener1",
channel="enocean:classicDevice:gtwy:cd01:Listener2"
}
```

View File

@ -23,10 +23,10 @@ The binding will search your Jollyday event definition files in the sub folder `
The binding handles the following Things:
* default holiday data (`holiday`)
* custom holiday file (`custom`)
* daysets (`dayset`)
* weekend (`weekend`)
- default holiday data (`holiday`)
- custom holiday file (`custom`)
- daysets (`dayset`)
- weekend (`weekend`)
## Discovery
@ -38,7 +38,6 @@ There is no configuration at binding level.
## Thing Configuration
### `custom` Thing Configuration
| Name | Type | Description | Default | Required | Advanced |
@ -53,7 +52,6 @@ The file has to use the syntax described here : https://www.openhab.org/docs/con
|-----------------|---------|---------------------------|---------|----------|----------|
| name | text | Name of the dayset used | N/A | yes | no |
## Channels
### `weekend` Channels
@ -94,7 +92,7 @@ The file has to use the syntax described here : https://www.openhab.org/docs/con
## Full Example
### Thing Configuration
### Thing Example
```java
Thing ephemeris:holiday:local "Holidays"
@ -102,7 +100,7 @@ Thing ephemeris:weekend:local "Week-end"
Thing ephemeris:custom:events "Event" [fileName="events.xml"]
```
### Item Configuration
### Item Example
```java
String ToD_Event_Current "Event Today" <calendar> (gEvents) {channel="ephemeris:custom:events:title-today"}

View File

@ -65,10 +65,10 @@ items:
String SprinklerCommandStatus "Command Status [%s]" (gMain) { channel="etherrain:etherrain:sprinkler0:commandstatus" }
String SprinklerOperatingStatus "Operating Status [%s]" (gMain) { channel="etherrain:etherrain:sprinkler0:operatingstatus" }
String SprinklerOperatingResult "Operating Result [%s]" (gMain) { channel="etherrain:etherrain:sprinkler0:operatingresult" }
String SprinklerActiveZone "Active Zone [%s]" (gMain) { channel="etherrain:etherrain:sprinkler0:relayindex" }
String SprinklerActiveZone "Active Zone [%s]" (gMain) { channel="etherrain:etherrain:sprinkler0:relayindex" }
Switch SprinklerRainSensor (gMain) { channel="etherrain:etherrain:sprinkler0:rainsensor" }
Switch SprinklerExecute (gMain) { channel="etherrain:etherrain:sprinkler0:execute" }
Switch SprinklerClear (gMain) { channel="etherrain:etherrain:sprinkler0:clear" }
```

View File

@ -121,11 +121,11 @@ Please note that you have to replace _\<N\>_ with your loadpoint id/number.
Those channels exist:
* 1 per configured loadpoint with `chargerFeatureHeating = false`:
* These channels point to the heating device that is currently active/connected at/to the loadpoint
* Please note that you have to replace _\<N\>_ with your loadpoint id/number
* 1 per configured vehicle:
* Please note that you have to replace _\<ID\>_ with your vehicle id/name
- 1 per configured loadpoint with `chargerFeatureHeating = false`:
- These channels point to the heating device that is currently active/connected at/to the loadpoint
- Please note that you have to replace _\<N\>_ with your loadpoint id/number
- 1 per configured vehicle:
- Please note that you have to replace _\<ID\>_ with your vehicle id/name
| Channel | Type | Read/Write | Description |
|----------------------------------------------------|----------------------|------------|--------------------------------------------------------------------------|
@ -141,11 +141,11 @@ Those channels exist:
Those channels exist:
* 1 per configured loadpoint with `chargerFeatureHeating = true`:
* These channels point to the heating device that is currently active/connected at/to the loadpoint
* Please note that you have to replace _\<N\>_ with your loadpoint id/number
* 1 per configured heating device:
* Please note that you have to replace _\<ID\>_ with your heating device id/name
- 1 per configured loadpoint with `chargerFeatureHeating = true`:
- These channels point to the heating device that is currently active/connected at/to the loadpoint
- Please note that you have to replace _\<N\>_ with your loadpoint id/number
- 1 per configured heating device:
- Please note that you have to replace _\<ID\>_ with your heating device id/name
| Channel | Type | Read/Write | Description |
|---------------------------------------------------------|--------------------|------------|-----------------------------------------------------------------------|

View File

@ -98,7 +98,7 @@ Bridge evohome:account:your_account_alias [ username="your_user_name", password=
}
```
### demo.items
### demo.items
```java
// evohome Display
@ -127,8 +127,8 @@ sitemap evohome label="evohome Menu"
}
Frame label="evohome heating zone" {
Text label="Temperature" item=DemoZoneTemperature
Text label="Status" item=DemoZoneSetPointStatus
Text label="Temperature" item=DemoZoneTemperature
Text label="Status" item=DemoZoneSetPointStatus
Setpoint label="Zone set point" item=DemoZoneSetPoint minValue=5 maxValue=35 step=0.5
}
}

View File

@ -133,7 +133,7 @@ Number YourNumber "Your Number [%.1f °C]"
Switch yourcommand_Run {channel="exec:command:yourcommand:run", autoupdate="false"}
// Arguments to be placed for '%2$s' in command line
String yourcommand_Args {channel="exec:command:yourcommand:input"}
// Output of command line execution
// Output of command line execution
String yourcommand_Out {channel="exec:command:yourcommand:output"}
```

View File

@ -44,7 +44,7 @@ The FENECON Thing only needs to be configured with the `hostname`, all other par
## Channels
The FENECON binding currently only provides access to read out the values from the energy storage system.
The FENECON binding currently only provides access to read out the values from the energy storage system.
| Channel | Type | Read/Write | Description |
|-------------------------------|----------------------|------------|-----------------------------------------------------------------------------|
@ -132,7 +132,7 @@ rule "Blackout detection"
when
Item EmergencyPowerMode changed to ON
then
val msg = "🚨 Power blackout detected, emergency power mode running."
val msg = "🚨 Power blackout detected, emergency power mode running."
logInfo("PowerBlackout", msg)
sendBroadcastNotification(msg)
end

View File

@ -280,7 +280,7 @@ Valid sensors:
| sensor-co2-pm25-24-hour-average | Number:Density | R | PM2.5 Air Quality 24 Hour Average (CO2-Sensor) |
| sensor-co2-co2 | Number:Dimensionless | R | CO2 |
| sensor-co2-co2-24-hour-average | Number:Dimensionless | R | CO2 24 Hour Average |
| leaf-wetness-channel-1 | Number:Dimensionless | R | Leaf Moisture Channel 1 |
| leaf-wetness-channel-1 | Number:Dimensionless | R | Leaf Moisture Channel 1 |
| leaf-wetness-channel-2 | Number:Dimensionless | R | Leaf Moisture Channel 2 |
| leaf-wetness-channel-3 | Number:Dimensionless | R | Leaf Moisture Channel 3 |
| leaf-wetness-channel-4 | Number:Dimensionless | R | Leaf Moisture Channel 4 |
@ -318,7 +318,7 @@ _weatherstation.things_:
```java
Bridge fineoffsetweatherstation:gateway:3906700515 "Weather station" [
ip="192.168.1.42",
port="45000",
port="45000",
discoverInterval="900",
pollingInterval="16",
protocol="DEFAULT"

View File

@ -67,7 +67,7 @@ Note, there is a rate limit of 120 queries per hour imposed by Flume so use caut
| Battery Level | battery-level | Number:Dimensionless | R | Estimate of percent of remaining battery level |
| Low Battery | low-battery | Switch | R | Indicator of low battery level |
| Last Seen | last-seen | DateTime | R | Date/Time when meter was last seen on the network |
| Usage Alert | usage-alert | Trigger | n/a | Trigger channel for usage alert notification |
| Usage Alert | usage-alert | Trigger | n/a | Trigger channel for usage alert notification |
## Full Example
@ -78,7 +78,7 @@ When the Bridge device is first created, there will be a log message with the ID
```
Bridge flume:cloud:cloudconnector [ username="xxx", password="xxx", clientId="xxx", clientSecret="xxx" ] {
meter-device meter [ id="xxx" ]
}
```
@ -88,9 +88,9 @@ Bridge flume:cloud:cloudconnector [ username="xxx", password="xxx", clientId="xx
```
Number:VolumetricFlowRate InstantUsage "Instant Usage" { channel = "flume:meter-device:1:meter:instant-usage" }
Number:Volume CumulativeUsed "Cumulative Used" { channel = "flume:meter-device:1:meter:cumulative-usage" }
Number:Dimensionless BatteryLevel "Battery Level" { channel = "flume:meter-device:1:meter:battery-level" }
Number:Dimensionless BatteryLevel "Battery Level" { channel = "flume:meter-device:1:meter:battery-level" }
DateTime LastSeen "Last Seen" { channel = "flume:meter-device:1:meter:last-seen" }
Switch LowPower "Battery Low Power" { channel = "flume:meter-device:1:meter:low-battery" }
Switch LowPower "Battery Low Power" { channel = "flume:meter-device:1:meter:low-battery" }
```

View File

@ -130,7 +130,7 @@ Thing fmiweather:forecast:forecast_Helsinki "Helsinki Forecast" [location="60.19
`observation.items`:
<!--
<!--
# Generated mostly with following ugly python snippet.
# fmiweather:observation:station_Helsinki_Kumpula here is thing with all channels linked
@ -140,7 +140,7 @@ with open(fname) as f: j = json.load(f)
observation = j['fmiweather:observation:station_Helsinki_Kumpula']
for channel in observation['value']['channels']:
channel_id = ':'.join(channel['uid']['segments'])
label = channel['label']
label = channel['label']
item_type = channel['acceptedItemType']
if 'clouds' in channel_id:
unit = '%.0f %unit%'
@ -153,9 +153,9 @@ for channel in observation['value']['channels']:
for item_name_part in channel_name.split('-'):
item_name += item_name_part[0].upper()
item_name += item_name_part[1:]
print(('{item_type} {item_name} ' +
'"{label} [{unit}]" {{ channel="{channel_id}" }}').format(**locals()))
'"{label} [{unit}]" {{ channel="{channel_id}" }}').format(**locals()))
-->
```java
@ -175,7 +175,7 @@ Number HelsinkiPresentWeatherCode "Prevailing weather [%d]" <sun_clouds> { chann
`forecast.items`:
<!--
<!--
# Generated mostly with following ugly python snippet.
# fmiweather:forecast:forecast_Helsinki here is thing with channels linked in 'simple mode'
# on OH3, authentication can be disabled by running "bundle:stop org.openhab.core.io.rest.auth" in the Karaf console
@ -192,13 +192,13 @@ for forecast in j:
break
else:
raise ValueError('thing not found!')
prev_group = 'None'
for channel in forecast['channels']:
group_name, channel_name = channel['uid'].rsplit(':', 1)[-1].split('#')
group_name, channel_name = channel['uid'].rsplit(':', 1)[-1].split('#')
channel_id = channel['uid']
label = channel['label'] + group_name.replace('forecast', ' ').replace('Hours', 'hour ')
item_type = channel['itemType']
if 'cloud' in channel_id:
unit = '%.0f %unit%'
@ -206,13 +206,13 @@ for channel in forecast['channels']:
unit = '%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS'
else:
unit = '%.1f %unit%'
item_name = 'Helsinki'
item_name += group_name[0].upper() + group_name[1:]
for item_name_part in channel_name.split('-'):
item_name += item_name_part[0].upper()
item_name += item_name_part[1:]
item_name += item_name_part[1:]
icon = ''
if icon == '': icon = '<wind>' if 'wind' in item_name.lower() else ''
if icon == '': icon = '<humidity>' if 'humidity' in item_name.lower() else ''
@ -221,14 +221,14 @@ for channel in forecast['channels']:
if icon == '': icon = '<time>' if 'time' in item_name.lower() else ''
if icon == '': icon = '<temperature>' if 'tempe' in item_name.lower() else ''
if icon == '': icon = '<rain>' if 'precipi' in item_name.lower() else ''
if prev_group != group_name:
print('')
prev_group = group_name
print(('{item_type} {item_name} ' +
'"{label} [{unit}]" {icon} {{ channel="{channel_id}" }}').format(**locals()))
'"{label} [{unit}]" {icon} {{ channel="{channel_id}" }}').format(**locals()))
-->
```java
@ -826,7 +826,7 @@ sitemap fmi_weather label="FMI Weather" {
Text item=HelsinkiForecastNowTotalCloudCover
Text item=HelsinkiForecastNowWeatherId
}
Frame label="Forecast 01 hours" {
Text item=HelsinkiForecastHours01Time
Text item=HelsinkiForecastHours01Temperature

View File

@ -160,7 +160,7 @@ The binding has no configuration options, all configuration is done at `bridge`,
:::warning
Battery control uses the battery management's time-dependent battery control settings of the inverter settings and therefore overrides user-specified time of use settings.
Please note that user-specified time of use plans cannot be used together with battery control, as battery control will override the user-specified time of use settings.
Please note that user-specified time of use plans cannot be used together with battery control, as battery control will override the user-specified time of use settings.
:::
The `powerinverter` Thing provides actions to control the battery charging and discharging behaviour of hybrid inverters, such as Symo Gen24 Plus, if username and password are provided in the bridge configuration.
@ -174,6 +174,7 @@ You can retrieve the actions as follows:
```java
val froniusInverterActions = getActions("fronius", "fronius:powerinverter:mybridge:myinverter")
```
:::
::: tab JS
@ -223,7 +224,7 @@ demo.things:
Bridge fronius:bridge:mybridge [hostname="192.168.66.148", refreshInterval=5] {
Thing powerinverter myinverter [deviceId=1]
Thing meter mymeter [deviceId=0]
Thing ohmpilot myohmpilot [deviceId=0]
Thing ohmpilot myohmpilot [deviceId=0]
}
```

View File

@ -106,7 +106,7 @@ Thing ftpupload:imagereceiver:images2 [ userName="test2", password="12345" ] {
Trigger String : my_image_trigger2 [
filename="test.jpg"
]
}
}
```
Items:
@ -121,14 +121,14 @@ Rules:
```java
rule "example trigger rule 1"
when
Channel 'ftpupload:imagereceiver:images1:image-received' triggered IMAGE_RECEIVED
Channel 'ftpupload:imagereceiver:images1:image-received' triggered IMAGE_RECEIVED
then
logInfo("Test","Image received")
end
rule "example trigger rule 2"
when
Channel 'ftpupload:imagereceiver:images2:my_image_trigger1' triggered IMAGE_RECEIVED
Channel 'ftpupload:imagereceiver:images2:my_image_trigger1' triggered IMAGE_RECEIVED
then
logInfo("Test","Image received")
end
@ -165,7 +165,7 @@ Rules:
```java
rule "example trigger rule"
when
Channel 'ftpupload:imagereceiver:garagecamera:image-received' triggered IMAGE_RECEIVED
Channel 'ftpupload:imagereceiver:garagecamera:image-received' triggered IMAGE_RECEIVED
then
logInfo("Test","Garage motion detected")
end

View File

@ -183,7 +183,7 @@ Thing gce:ipx800v3:ipx "IPX800" @ "diningroom" [hostname="192.168.0.144", portNu
debouncePeriod=2500
]
Type relay : relay#8 [ // Actionneur porte de garage
pulse=true
pulse=true
]
}
```
@ -196,7 +196,7 @@ Group gIPXInputs "Inputs" <input>
Contact input1 "Porte garage ouverte [%s]" <contact> (gIPXInputs) {channel="gce:ipx800v3:ipx:contact#1"}
Contact input2 "Porte garage fermée [%s]" <contact> (gIPXInputs) {channel="gce:ipx800v3:ipx:contact#2"}
Group gIPXOutputs "Outputs" <output>
Group gIPXOutputs "Outputs" <output>
Switch output3 "Chaudière" <furnace> (gIPXOutputs) {channel="gce:ipx800v3:ipx:relay#3"}
Switch output4 "Lumière Porche" <light> (gIPXOutputs) {channel="gce:ipx800v3:ipx:relay#4"}

View File

@ -27,13 +27,13 @@ ThingTypeUID: `account`
### Generator
A Generator thing represents an individual generator linked to an account bridge. Multiple generators are supported.
A Generator thing represents an individual generator linked to an account bridge. Multiple generators are supported.
ThingTypeUID: `generator`
## Discovery
The MobileLink account bridge must be added manually. Once added, generator things will automatically be added to the inbox.
The MobileLink account bridge must be added manually. Once added, generator things will automatically be added to the inbox.
## Thing Configuration

View File

@ -381,7 +381,7 @@ then
Thread.sleep(750)
ContactClosure1.sendCommand(OFF)
isRunning = false
}
}
end
```

View File

@ -171,7 +171,7 @@ then
GoEChargerMaxCurrent.sendCommand(maxAmp3Phases.intValue)
// logInfo("eCharger", "Set charging limit 3 Phases: " + maxAmp3Phases.intValue + " A")
}
} else {
} else {
if (maxAmp1Phase.intValue >= 6 ) {
// set force state to neutral (Neutral=0, Off=1, On=2)
if (GoEChargerForceState.state != 0) {

View File

@ -126,7 +126,7 @@ arp -a | grep "MAC_ADDRESS"
| Name | Type | Description | Default | Required | Advanced |
|-----------------|---------|---------------------------------------|---------|----------|----------|
| hostname | text | Hostname or IP address of the device | N/A | yes | no |
| macAddress | text | MAC address of the device | N/A | yes | no |
| macAddress | text | MAC address of the device | N/A | yes | no |
| refreshInterval | integer | Interval the device is polled in sec. | 5 | no | yes |
## Channels

View File

@ -32,7 +32,7 @@ On a raspberry (or a compatible device) you have to install pigpiod.
```shell
sudo apt-get install pigpiod
sudo raspi-config
sudo raspi-config
```
-> Interfacing Options --> Remote GPIO --> YES --> OK --> Finish
@ -57,7 +57,7 @@ sudo systemctl daemon-reload
Now that Remote GPIO is enabled, get the pigpiod daemon going (even if installed with apt-get):
```shell
sudo systemctl enable pigpiod
sudo systemctl enable pigpiod
sudo systemctl start pigpiod
```
@ -101,7 +101,7 @@ Input Channel Disconnect Connect Action determines what happens when the binding
Input Channel Reconnect Action determines what happens when the binding reconnects to pigpiod
after a disconnect. This action does not occur on the initial binding connect to pigpiod.
startup.
- **Do Nothing:** The default, do nothing. Input channels will retain their current value.
- **Refresh Channel:** Issues a refresh command on the input channels. This will refresh the channels from
pigpiod causing the gpio pin state to reflect on the channel state.
@ -110,7 +110,7 @@ startup.
Output Channel Connect Action determines what happens when the binding initially connects to pigpiod.
This action only occurs once after binding startup.
- **Do Nothing:** The default, do nothing. Output channels will retain their default value (UNDEF).
- **All On:** Issues a ON command to all configured output channels.
- **All Off:** Issues a OFF command to all configured output channels.
@ -122,7 +122,7 @@ This action only occurs once after binding startup.
### Output Channel Disconnect Connect Action
Output Channel Disconnect Connect Action determines what happens when the binding disconnects from pigpiod.
- **Do Nothing:** he default, do nothing. Input channels will retain their current value.
- **Set Undef:** Sets the output channel states to UNDEF to indicate that pigpiod has disconnected.
@ -130,7 +130,7 @@ Output Channel Disconnect Connect Action determines what happens when the bindin
Output Channel Reconnect Action determines what happens when the binding reconnects to pigpiod
after a disconnect. This action does not occur on the initial binding connect to pigpiod.
- **Do Nothing:** The default, do nothing. Output channels will retain their current value.
- **Refresh Channel:** Issues a refresh command on the output channels. This will refresh the channels from
pigpiod causing the gpio pin state to reflect on the channel state. NOTE: This does
@ -246,7 +246,7 @@ Thing gpio:pigpio-remote:mypi "MyPi GPIO" [ host="192.168.1.5", port=8888,
Type pigpio-digital-input : GPI6 [ gpioId=6, debouncingTime=50,pullupdown="UP",invert=true ]
Type pigpio-digital-input : GPI13 [ gpioId=13,debouncingTime=50,pullupdown="DOWN",invert=false ]
Type pigpio-digital-input : GPI26 [ gpioId=26,debouncingTime=50,pullupdown="OFF",invert=false ]
}
}
```
demo.items:

View File

@ -154,9 +154,9 @@ Switch GreeAirConditioner_Light "Light" {channel="gree:aircond
rule "Mode changed"
when
Item GreeAirConditioner_Mode changed
then
then
if(GreeAirConditioner_Mode.state == "cool" ) {
logInfo("A/C", "Cooling has be turned on")
}
}
end
```

View File

@ -20,7 +20,7 @@ The Viessmann GridBox is a variety of the [gridX Gateway](https://de.gridx.ai/ed
The measured data (energy production, consumptions, etc.) cannot be accessed locally. However, thanks to the pioneer work in the [unl0ck/viessmann-gridbox-connector](https://github.com/unl0ck/viessmann-gridbox-connector) repository, we can retrieve the data from the gridX cloud service using Rest-API calls.
The API is documented [here](https://developer.gridx.ai/reference/).
This binding polls the "live data" API endpoint to gather the available data from the GridBox.
This binding polls the "live data" API endpoint to gather the available data from the GridBox.
It creates a GridBox thing with the channels representing the data points of the live data API call.
For connection to the cloud service, account E-Mail and password used to connect to the [GridBox web service](https://mygridbox.viessmann.com/login) are required.
@ -30,16 +30,16 @@ At the moment, only one API-"system" per account is supported by this binding.
A "system" is the representation of a GridBox together with its connected appliances (PV inverter, heat pump etc.).
The binding will use the first system ID retrieved by a call to the https://api.gridx.de/systems API.
Also, only the live data API endpoint is supported by the binding as it is the most interesting for openHAB use cases.
Also, only the live data API endpoint is supported by the binding as it is the most interesting for openHAB use cases.
There is another API endpoint for fetching aggregated measurement data which could be added in the future.
Only the Viessmann GridBox variant is supported, other variants would need adaptions to the OAuth mechanism.
This binding is not endorsed or supported by Viessmann or gridX.
This binding is not endorsed or supported by Viessmann or gridX.
Arbitrary breaking changes to the API can happen at any time, resulting in this binding failing to retrieve the data.
## Supported Things
The following thing can be created with the binding:
The following thing can be created with the binding:
- `gridbox`: A thing representing the GridBox, tied to an account of the Viessmann GridBox.
@ -87,16 +87,16 @@ The following channels are supplied by the GridBox thing (descriptions taken fro
| self-sufficiency-rate | Number | R | Ratio of produced energy vs total consumed energy (0.0-1.0). |
| self-supply | Number | R | Power/energy consumed through storage and production. |
| total-consumption | Number | R | Adjusted power/energy of the system including heatpumps and EV charging stations. |
## Full Example
### Thing Configuration
```java
Thing gridbox:gridbox:901b4766e2 "GridBox" [email="abc@example.com",password="mypassword",refreshInterval=120]
```
### Item Configuration
## Full Example
### Thing Configuration
```java
Thing gridbox:gridbox:901b4766e2 "GridBox" [email="abc@example.com",password="mypassword",refreshInterval=120]
```
### Item Configuration
```java
Number GridBox_PhotovoltaicProduction "PV Production [%.0f W]" {channel="gridbox:gridbox:901b4766e2:photovoltaicProduction"}

View File

@ -162,7 +162,7 @@ Where the first parameter must always be `growatt` and the second must be the fu
Once the action instance has been retrieved, you can invoke the following method:
```php
growattActions.setupBatteryProgram(int programMode, @Nullable Integer powerLevel, @Nullable Integer stopSOC, @Nullable Boolean enableAcCharging, @Nullable String startTime, @Nullable String stopTime, @Nullable Boolean enableProgram)
growattActions.setupBatteryProgram(int programMode, @Nullable Integer powerLevel, @Nullable Integer stopSOC, @Nullable Boolean enableAcCharging, @Nullable String startTime, @Nullable String stopTime, @Nullable Boolean enableProgram)
```
The meaning of the method parameters is as follows:
@ -298,7 +298,7 @@ then
var pauseStartDateTime = (pauseStartState as DateTimeType).getZonedDateTime()
if (pauseStartDateTime.getHour() < 8) {
logWarn("Rules", "Power Pause program shall not start before 08:00h => " + pauseStartDateTime)
return
return
}
val programDuration = Duration.between(now, pauseStartDateTime)

View File

@ -182,10 +182,10 @@ Hayward OmniLogic Connection Parameters:
| heaterEnable | Switch | Heater enable | R |
| heaterCurrentSetpoint | Number:Temperature | Heater Current Setpoint | R/W |
**Item Types Number:Dimensionless should have the units (i.e. %, ppm) defined in the Unit metadata
**Item Types Number:Dimensionless should have the units (i.e. %, ppm) defined in the Unit metadata
## Full Example
After installing the binding, you will need to manually add the Hayward Connection thing and enter your credentials.
All pool items can be automatically discovered by scanning the bridge.
All pool items can be automatically discovered by scanning the bridge.
Goto the inbox and add the things.

View File

@ -24,7 +24,7 @@ A single supported thing called `collection`.
## Thing Configuration
The thing supports one setting labelled `address` which is your street number and name as it appears on Google.
The thing supports one setting labelled `address` which is your street number and name as it appears on Google.
_For Example:
1 Victoria Street_

View File

@ -88,7 +88,7 @@ demo.rules:
```java
rule SomeRule
when
Channel "helios:ipvario221:gate:keypressed" triggered
Channel "helios:ipvario221:gate:keypressed" triggered
then
var actionName = receivedEvent.getEvent()
logInfo("org.openhab","Rule trigger " + actionName)

View File

@ -113,22 +113,22 @@ After the bridge has been added and authorized, devices are discovered automatic
#### 2. Create Home Connect developer account
1. Create an account at [https://developer.home-connect.com](https://developer.home-connect.com) and login.
1. Please make sure you've added your associated Home Connect account email at <https://developer.home-connect.com/user/me/edit>. You should fill in your email address, which you use for the official Android or iOS app, at `Default Home Connect User Account for Testing`.
1. Please make sure you've added your associated Home Connect account email at <https://developer.home-connect.com/user/me/edit>. You should fill in your email address, which you use for the official Android or iOS app, at `Default Home Connect User Account for Testing`.
![Screenshot Home Connect profile page](doc/home_connect_profile.png "Screenshot Home Connect profile page")
1. Register / Create an application at [https://developer.home-connect.com/applications](https://developer.home-connect.com/applications)
- _Application ID_: e.g. `openhab-binding`
- _OAuth Flow_: Authorization Code Grant Flow
- _Home Connect User Account for Testing_: the associated user account email from [Home Connect](https://www.home-connect.com/)
> **WARNING**: Please don't use your developer account username
- _Home Connect User Account for Testing_: the associated user account email from [Home Connect](https://www.home-connect.com/)
> **WARNING**: Please don't use your developer account username
- _Redirect URIs_: add your openHAB URL followed by `/homeconnect`
- _Redirect URIs_: add your openHAB URL followed by `/homeconnect`
for example: `http://192.168.178.34:8080/homeconnect` or `https://myhome.domain.com/homeconnect`
- _One Time Token Mode_: keep unchecked
- _Proof Key for Code Exchange_: keep unchecked
> **NOTE**: You might get an error (`403 - Forbidden`) in case you entered a bare IP of your local openHAB instance. In that case, use your instance's hostname instead (e.g. for openhabian `http://openhabian:8080/homeconnect`) and try again.
1. After your application has been created, you should see the _Client ID_ and _Client Secret_ of the application. Please save these for later.
1. After your application has been created, you should see the _Client ID_ and _Client Secret_ of the application. Please save these for later.
![Screenshot Home Connect application page](doc/home_connect_application.png "Screenshot Home Connect application page")
@ -144,11 +144,11 @@ The Home Connect bridge can be configured in the openHAB UI as follows:
- **client secret:** your application client secret
- **simulator:** false
1. Now navigate to the URL (`Redirct URI`) you've added to your Home Connect application in the previous step (2.3). For example `http://192.168.178.80:8080/homeconnect`.
1. Please follow the steps shown to authenticate your binding. You can redo this step every time. For example if you have authentication problems, just start wizard again.
![Screenshot Home Connect wizard page 1](doc/homeconnect_setup_1.png "Screenshot Home Connect wizard page 1")
![Screenshot Home Connect wizard page 2](doc/homeconnect_setup_2.png "Screenshot Home Connect wizard page 2")
![Screenshot Home Connect wizard page 3](doc/homeconnect_setup_3.png "Screenshot Home Connect wizard page 3")
![Screenshot Home Connect wizard page 4](doc/homeconnect_setup_4.png "Screenshot Home Connect wizard page 4")
1. Please follow the steps shown to authenticate your binding. You can redo this step every time. For example if you have authentication problems, just start wizard again.
![Screenshot Home Connect wizard page 1](doc/homeconnect_setup_1.png "Screenshot Home Connect wizard page 1")
![Screenshot Home Connect wizard page 2](doc/homeconnect_setup_2.png "Screenshot Home Connect wizard page 2")
![Screenshot Home Connect wizard page 3](doc/homeconnect_setup_3.png "Screenshot Home Connect wizard page 3")
![Screenshot Home Connect wizard page 4](doc/homeconnect_setup_4.png "Screenshot Home Connect wizard page 4")
1. That's it! Now you can use autodiscovery to add devices. Your devices should show up if you start a device scan in the openHAB UI.
## Examples: File based configuration
@ -342,7 +342,7 @@ The channel of type `remote_start_allowance_state` is read only. You can only en
### In case of error...
Please check log UI (http(s)://[YOUROPENHAB]:[YOURPORT]/homeconnect) and ask for help in the community forum or on github. Please provide request and event exports.
Please check log UI (http(s)://[YOUROPENHAB]:[YOURPORT]/homeconnect) and ask for help in the community forum or on github. Please provide request and event exports.
![Screenshot Home Connect wizard page 4](doc/export_button.png "Export button")
### Rate limit reached

View File

@ -196,7 +196,7 @@ For a CCU2, the value may need to be increased to 180s.
Time in seconds that the controller will be in install mode when a device discovery is initiated (default = 60)
- **unpairOnDeletion**
If set to true, devices are automatically unpaired from the gateway when their corresponding things are deleted.
If set to true, devices are automatically unpaired from the gateway when their corresponding things are deleted.
**Warning:** The option "factoryResetOnDeletion" also unpairs a device, so in order to avoid unpairing on deletion completely, both options need to be set to false! (default = false)
- **factoryResetOnDeletion**
@ -207,7 +207,7 @@ Due to the factory reset, the device will also be unpaired from the gateway, eve
If a large number of devices are connected to the gateway, the default buffersize of 2048 kB may be too small for communication with the gateway.
In this case, e.g. the discovery fails.
With this setting the buffer size can be adjusted. The value is specified in kB.
- **useAuthentication**
Username and password are send to the gateway to authenticate the access to the gateway.
@ -227,7 +227,7 @@ homematic:bridge:NAME
- **bridge** the type, fixed
- **name** the name of the bridge
### Example
### Bridge Configuration Example
#### Minimum configuration
@ -463,7 +463,7 @@ Adds multiple virtual datapoints to the HM-Dis-WM55 and HM-Dis-EP-WM55 devices t
**Note:** The HM-Dis-EP-WM55 has only a black and white display and therefore does not support datapoints for colored lines. In addition, only lines 1-3 can be set.
#### Example
#### Button Example
Display text at line 1,3 and 5 when the bottom button on the display is pressed
@ -749,6 +749,7 @@ The problem can be solved by increasing the `bufferSize` value in the bridge con
openHAB and the CCU are using different values for the same state of a rollershutter.
Examples: HmIP-BROLL, HmIP-FROLL, HmIP-BBL, HmIP-FBL and HmIP-DRBLI4
| | Open | Closed |
| ------- | ---- | ------ |
| openHAB | 0% | 100% |

View File

@ -127,7 +127,7 @@ Black Ink displayed as a whole percentage - `60 %`
Text item=hpprinter_printer_djprinter_ink_blackLevel label="Black [%.0f %unit%]"
```
Black Marker displayed in millilitres - `21 ml`
Black Marker displayed in millilitres - `21 ml`
_Default_
```perl

View File

@ -30,7 +30,7 @@ Both bridges are fully supported by this binding.
Almost all available Hue devices are supported by this binding.
This includes not only the "Friends of Hue", but also products like the LivingWhites adapter.
Additionally, it is possible to use OSRAM Lightify devices as well as other Zigbee Light Link compatible products, including the IKEA TRÅDFRI lights (when updated).
Additionally, it is possible to use OSRAM Lightify devices as well as other Zigbee Light Link compatible products, including the IKEA TRÅDFRI lights (when updated).
Beside bulbs and luminaires the Hue binding also supports some Zigbee sensors.
Currently only Hue specific sensors are tested successfully (Hue Motion Sensor and Hue Dimmer Switch).
Please note that the devices need to be registered with the Hue Bridge before it is possible for this binding to use them.

View File

@ -32,7 +32,7 @@ An account must be manually added and configured.
Controller Things are automatically discovered once an [Account Bridge](#account-bridge-thing) has be properly configured.
The Controller Thing type is the primary way most users will control and monitor their irrigation system.
This allows full control over zones, sensors and weather forecasts.
This allows full control over zones, sensors and weather forecasts.
Changes made through this Thing type will be reflected in the Hydrawise mobile and web applications as well as in their reporting modules.
Controller Things require a parent [Account Bridge](#account-bridge-thing)
@ -49,15 +49,15 @@ Controller Things require a parent [Account Bridge](#account-bridge-thing)
### Local Thing
The Local Thing type uses an undocumented API that allows direct HTTP access to an irrigation controller on the user's network.
This provides a subset of features compared to the Cloud Thing type limited to basic zone control.
The Local Thing type uses an undocumented API that allows direct HTTP access to an irrigation controller on the user's network.
This provides a subset of features compared to the Cloud Thing type limited to basic zone control.
Controlling zones through the local API will not be reported back to the cloud service or the Hydrawise mobile/web applications, and reporting functionality will not reflect the locally controlled state.
Local control may not be available on later Hydrawise controller firmware versions.
Use Cases
- The Local thing can be useful when testing zones, as there is no delay when starting/stopping zones as compared to the cloud API which can take anywhere between 5-15 seconds.
- The Local thing can be useful when testing zones, as there is no delay when starting/stopping zones as compared to the cloud API which can take anywhere between 5-15 seconds.
- This is also useful if you wish to not use the cloud scheduling at all and use openHAB as the irrigation scheduling system.
#### Local Thing Supported Channel Groups

View File

@ -170,7 +170,7 @@ sitemap demo label="Main Menu" {
'X-Mas'='X-Mas'
]
Switch item=Clear mappings=[50="Clear"]
// only serverNG
Switch item=HyperionEnabled
Switch item=BlackBorderEnabled

View File

@ -169,7 +169,7 @@ ihc:controller:elko [ hostname="192.168.1.2", username="openhab", password="secr
Type number : my_test_number "My Test Number" [ resourceId=3988827, direction="ReadOnly" ]
Type rf-device-low-battery : my_low_battery "My Low Battery Warning" [ serialNumber=123456789 ]
Type push-button-trigger : my_test_trigger "My Test Trigger" [ resourceId=3988827, longPressTime=1000 ]
Type dimmer : inc_resource "Increase resource" [ resourceId=9000001, direction="WriteOnly", commandToReact="INCREASE", pulseWidth=300 ]
Type dimmer : dec_resource "Decrease resource" [ resourceId=9000002, direction="WriteOnly", commandToReact="DECREASE", pulseWidth=300 ]
@ -200,14 +200,14 @@ Dimmer dimmer { channel="ihc:controller:elko:my_test_trigger"[profile="ihc:pushb
```java
rule "My test trigger test rule"
when
Channel 'ihc:controller:elko:my_test_trigger' triggered LONG_PRESS
Channel 'ihc:controller:elko:my_test_trigger' triggered LONG_PRESS
then
logInfo("Test","Long press detected")
end
rule "My test trigger test rule 2"
when
Channel 'ihc:controller:elko:my_test_trigger' triggered
Channel 'ihc:controller:elko:my_test_trigger' triggered
then
val String e = receivedEvent.toString.split(' ').get(2).toString
switch e {

View File

@ -536,7 +536,7 @@ For safety reasons, only close the garage door if you have visual contact to mak
> NOTE: If the I/O Linc contact status appears delayed, or returns the wrong value when the sensor changes states, the contact was likely ON (status LED lit) when the modem was linked as a responder.
Examples of this behavior would include: The status remaining CLOSED for up to 3 minutes after the door is opened, or the status remains OPEN for up to three minutes after the garage is opened and immediately closed again.
To resolve this behavior the I/O Linc will need to be unlinked and then re-linked to the modem with the contact OFF (stats LED off).
To resolve this behavior the I/O Linc will need to be unlinked and then re-linked to the modem with the contact OFF (stats LED off).
That would be with the door open when using the Insteon garage kit.
### Keypads

View File

@ -106,12 +106,12 @@ sitemap intesishome label="My AC control" {
Switch item=acVanesUpDown icon="movecontrol" mappings=[AUTO="Stop", 1="1", 2="2", 3="3", 4="4", 5="5", SWING="Swing"]
Switch item=acVanesLeftRight icon="movecontrol" mappings=[AUTO="Stop", 1="1", 2="2", 3="3", 4="4", 5="5", SWING="Swing"]
Setpoint item=acSetPoint icon="temperature" minValue=16 maxValue=28 step=1
Text item=acAmbientTemp icon="temperature"
Text item=acAmbientTemp icon="temperature"
Text item=acOutdoorTemp icon="temperature"
Text item=acErrorStatus
Text item=acErrorCode
Text item=acWifiSignal icon="qualityofservice"
}
}
```

View File

@ -27,7 +27,7 @@ The IoTaWatt binding supports one Thing called `iotawatt`.
## Discovery
The binding does not auto-discover the IoTaWatt device.
The binding does not auto-discover the IoTaWatt device.
## Thing Configuration

View File

@ -301,7 +301,7 @@ To move a camera with this binding you need an ONVIF camera that supports one of
- Absolute movements
- Relative movements
- Continuous movements
- Continuous movements
- Presets
To test your cameras compatibility and also to create some preset locations, use a free program called `ONVIF Device Manager` (ODM for short).
@ -602,7 +602,7 @@ Webview url="http://192.168.6.4:8080/static/html/file.html" height=5
<video playsinline autoplay muted controls style="width: 100%; " src="http://openHAB:8080/ipcamera/{cameraUID}/ipcamera.m3u8" />
</div>
</body>
</html>
</html>
```
@ -733,13 +733,13 @@ If you use the `Create Equipment from Thing` feature to auto create your items,
```java
Text label="BabyMonitor" icon="camera"{
Switch item=BabyCam_GoToPreset icon=movecontrol label="Camera Direction" mappings=[1="Room", 2="Chair", 3="Cot"]
Text label="Advanced Controls" icon="settings"{
Switch item=BabyCam_GoToPreset icon=movecontrol label="Camera Direction" mappings=[1="Room", 2="Chair", 3="Cot"]
Text label="Advanced Controls" icon="settings"{
Default item=BabyCam_AutoLED
Default item=BabyCam_AudioAlarmThreshold icon=recorder
Switch item=BabyCam_AudioAlarm
Default item=BabyCam_EnableMotionAlarm
Default item=BabyCam_MotionAlarm
Default item=BabyCam_MotionAlarm
Slider item=BabyCam_Pan icon=movecontrol
Slider item=BabyCam_Tilt icon=movecontrol
Slider item=BabyCam_Zoom icon=zoom
@ -747,7 +747,7 @@ If you use the `Create Equipment from Thing` feature to auto create your items,
Default item=BabyCam_StartHLSStream
Text label="Mjpeg Stream" icon="camera"{Video url="http://openHAB:8080/ipcamera/BabyCam/ipcamera.mjpeg" encoding="mjpeg"}
Text label="HLS Stream" icon="camera"{Webview url="http://openHAB:8080/ipcamera/BabyCam/ipcamera.m3u8" height=15}
Video url="http://openHAB:8080/ipcamera/BabyCam/autofps.mjpeg" encoding="mjpeg"
}
Video url="http://openHAB:8080/ipcamera/BabyCam/autofps.mjpeg" encoding="mjpeg"
}
```

View File

@ -106,7 +106,7 @@ demo.rules:
```java
rule "Kitchen switch IR rule"
when
Item KitchenIRReceiverTelenetPower received update
Item KitchenIRReceiverTelenetPower received update
then
createTimer(now.plusSeconds(5)) [|
KitchenIRBlasterSamsung.sendCommand("samsung,power")

View File

@ -96,27 +96,27 @@ Thing ism8:device:heater "Wolf Heizung" [portNumber=12004]
{
Type switch-r : DpId001 "Störung Heizgerät" [id=1, type="1.001"]
Type number-r : DpId002 "Betriebsart" [id=2, type="20.105"]
Type percentage-r : DpId003 "Brennerleistung" [id=3, type="5.001"]
Type temperature-r : DpId004 "Kesseltemperatur" [id=4, type="9.001"]
Type temperature-r : DpId006 "Rücklauftemperatur" [id=6, type="9.001"]
Type temperature-r : DpId007 "Warmwassertemperatur" [id=7, type="9.001"]
Type temperature-r : DpId008 "Außentemperatur" [id=8, type="9.001"]
Type switch-r : DpId009 "Status Flamme" [id=9, type="1.001"]
Type temperature-r : DpId013 "Anlagendruck" [id=13, type="9.006"]
Type switch-r : DpId053 "Störung Systemmodul" [id=53, type="1.001"]
Type temperature-r : DpId054 "Außentemperatur Systemmodul" [id=54, type="9.001"]
Type temperature-rw : DpId056 "Sollwert Warmwasser" [id=56, type="9.001"]
Type mode-rw : DpId057 "Betriebsart Heizkreis" [id=57, type="20.102"]
Type mode-rw : DpId058 "Betriebsart Warmwasser" [id=58, type="20.103"]
Type temperature-rw : DpId065 "Sollwertverschiebung" [id=65, type="9.002"]
Type switch-rw : DpId148 "CML Störung" [id=148, type="1.001"]
Type mode-rw : DpId149 "CWL Betriebsart" [id=149, type="20.102"]
Type percentage-r : DpId163 "CWL Lüftungsstufe" [id=163, type="5.001"]
Type temperature-r : DpId164 "CWL Ablufttemperatur" [id=164, type="9.001"]
Type percentage-r : DpId003 "Brennerleistung" [id=3, type="5.001"]
Type temperature-r : DpId004 "Kesseltemperatur" [id=4, type="9.001"]
Type temperature-r : DpId006 "Rücklauftemperatur" [id=6, type="9.001"]
Type temperature-r : DpId007 "Warmwassertemperatur" [id=7, type="9.001"]
Type temperature-r : DpId008 "Außentemperatur" [id=8, type="9.001"]
Type switch-r : DpId009 "Status Flamme" [id=9, type="1.001"]
Type temperature-r : DpId013 "Anlagendruck" [id=13, type="9.006"]
Type switch-r : DpId053 "Störung Systemmodul" [id=53, type="1.001"]
Type temperature-r : DpId054 "Außentemperatur Systemmodul" [id=54, type="9.001"]
Type temperature-rw : DpId056 "Sollwert Warmwasser" [id=56, type="9.001"]
Type mode-rw : DpId057 "Betriebsart Heizkreis" [id=57, type="20.102"]
Type mode-rw : DpId058 "Betriebsart Warmwasser" [id=58, type="20.103"]
Type temperature-rw : DpId065 "Sollwertverschiebung" [id=65, type="9.002"]
Type switch-rw : DpId148 "CML Störung" [id=148, type="1.001"]
Type mode-rw : DpId149 "CWL Betriebsart" [id=149, type="20.102"]
Type percentage-r : DpId163 "CWL Lüftungsstufe" [id=163, type="5.001"]
Type temperature-r : DpId164 "CWL Ablufttemperatur" [id=164, type="9.001"]
Type temperature-r : DpId165 "CWL Zulufttemperatur" [id=165, type="9.001"]
Type flowrate-r : DpId166 "CWL Luftdurchsatz Zuluft" [id=166, type="13.002"]
Type flowrate-r : DpId167 "CWL Luftdurchsatz Abluft" [id=167, type="13.002"]
Type switch-r : DpId192 "CML Filterwarnung" [id=192, type="1.001"]
Type switch-r : DpId192 "CML Filterwarnung" [id=192, type="1.001"]
}
```
@ -152,7 +152,7 @@ Switch ISM_LueftungFilterwarnung "CML Filterwarnung"
```perl
Frame label="Heizung"
{
{
Text item=ISM_HeizungSysStoerung icon="siren"
Text item=ISM_HeizungStoerung icon="siren"
Text item=ISM_HeizungAussentemperatur icon="temperature"
@ -166,14 +166,14 @@ Frame label="Heizung"
Setpoint item=ISM_HeizungSollwertverschiebung icon="radiator" minValue=-5 maxValue=5 step=1
}
Frame label="Wasser"
{
{
Text item=ISM_HeizungWarmwassertemperatur icon="temperature_hot"
Setpoint item=ISM_HeizungSollwertWarmwasser icon="temperature" minValue=40 maxValue=60 step=1
Selection item=ISM_HeizungBetriebsartWarmwasser icon="faucet" mappings=[0="Auto", 1="Legionellen Schutz", 2="Normal", 3="Eco", 4="Frost Schutz"]
}
Frame label="Lüftung"
{
Text item=ISM_LueftungStoerung icon="siren"
{
Text item=ISM_LueftungStoerung icon="siren"
Selection item=ISM_LueftungBetriebsart icon="fan" mappings=[0="Auto", 1="Minimum", 2="Reduziert", 3="Normal", 4="Intensiv"]
Text item=ISM_LueftungLueftungsstufe icon="qualityofservice"
Text item=ISM_LueftungFilterwarnung icon="siren"

View File

@ -119,8 +119,8 @@ Text item=HouseAlarm icon="alarm" {
```java
rule "Alarm"
when
Item ArmSectionA changed or Item ArmSectionAB changed or Item ArmSectionABC changed or
when
Item ArmSectionA changed or Item ArmSectionAB changed or Item ArmSectionABC changed or
System started
then
if( ArmSectionA.state == ON || ArmSectionAB.state == ON || ArmSectionABC.state == ON)

View File

@ -25,15 +25,15 @@ See [Kaleidescape-System-Control-Protocol-Reference-Manual.pdf](https://support.
## Supported Things
All movie player components including the original K-Player series, M Class Players, Cinema One, Alto, and Strato are supported.
It is important to choose the correct thing type to ensure the available channels are correct for the component being used.
It is important to choose the correct thing type to ensure the available channels are correct for the component being used.
The supported thing types are:
`player` Any KPlayer, M Class [M300, M500, M700] or Cinema One 1st Gen player
`cinemaone` Cinema One (2nd Gen)
`alto`
`strato` Includes Strato, Strato S, Strato C or Strato V
The supported thing types are:
`player` Any KPlayer, M Class [M300, M500, M700] or Cinema One 1st Gen player
`cinemaone` Cinema One (2nd Gen)
`alto`
`strato` Includes Strato, Strato S, Strato C or Strato V
The binding supports either a TCP/IP connection or direct serial port connection (19200-8-N-1) to the Kaleidescape component.
The binding supports either a TCP/IP connection or direct serial port connection (19200-8-N-1) to the Kaleidescape component.
## Discovery
@ -425,13 +425,13 @@ rule "Bring up Lights when movie is over"
when
Item z1_Ui_MovieLocation changed from "Main content" to "End Credits"
then
// fade the lights up slowly while the credits are rolling
// fade the lights up slowly while the credits are rolling
lightPercent = 0
while (lightPercent < 100) {
lightPercent = lightPercent + 5
logInfo("k rules", "lights at " + lightPercent.toString + " percent")
// myLightItem.sendCommand(lightPercent)
Thread::sleep(5000)
Thread::sleep(5000)
}
end

View File

@ -76,11 +76,11 @@ demo.items:
```java
Number:Dimensionless KebaCurrentRange "Maximum supply current [%.1f %%]" {channel="keba:kecontact:1:maxpresetcurrentrange"}
Number:ElectricCurrent KebaCurrent "Maximum supply current [%.3f A]" {channel="keba:kecontact:1:maxpresetcurrent"}
Number:ElectricCurrent KebaSystemCurrent "Maximum system supply current [%.3f A]" {channel="keba:kecontact:1:maxsystemcurrent"}
Number:ElectricCurrent KebaFailSafeCurrent "Failsafe supply current [%.3f A]" {channel="keba:kecontact:1:failsafecurrent"}
Number:ElectricCurrent KebaSystemCurrent "Maximum system supply current [%.3f A]" {channel="keba:kecontact:1:maxsystemcurrent"}
Number:ElectricCurrent KebaFailSafeCurrent "Failsafe supply current [%.3f A]" {channel="keba:kecontact:1:failsafecurrent"}
Number KebaState "Operating State [%s]" {channel="keba:kecontact:1:state"}
Switch KebaEnabledSystem "Enabled (System)" {channel="keba:kecontact:1:enabledsystem"}
Switch KebaEnabledUser "Enabled (User)" {channel="keba:kecontact:1:enableduser"}
Switch KebaEnabledUser "Enabled (User)" {channel="keba:kecontact:1:enableduser"}
Switch KebaWallboxPlugged "Plugged into wallbox" {channel="keba:kecontact:1:wallbox"}
Switch KebaVehiclePlugged "Plugged into vehicle" {channel="keba:kecontact:1:vehicle"}
Switch KebaPlugLocked "Plug locked" {channel="keba:kecontact:1:locked"}

View File

@ -178,7 +178,7 @@ A change would break all existing installations and is therefore not implemented
| position | Group address of the absolute position | 5.001 |
| increaseDecrease | Group address for relative movement | 3.007 |
##### Channel Type `number`, `number-control`
##### Channel Type `number`, `number-control`
| Parameter | Description | Default DPT |
|-----------|---------------|-------------|
@ -426,7 +426,7 @@ Further DPTs and subtypes may be added later once implemented and released in th
|||
| 232.600 | HSBType (color) | RGB |
| 232.60000 | HSBType (color) | Non-Standard, DPT 232.600 with HSB instead of RGB data |
|||
|||
| 235.001 | QuantityType\<> (number) (Number:ActiveEnergy) | Composed DPT 235.001, first element ActiveEnergy (Wh), read only |
| 235.61001 | DecimalType (number) | Non-Standard, composed DPT 235.001, second element Tariff (plain number), read only |
|||
@ -636,7 +636,7 @@ Bridge knx:serial:bridge [
Thing device generic {
Type switch-control : controlSwitch "Control Switch" [ ga="3/3/10+<3/3/11" ] // '<' signs are allowed but will be ignored for control Channels
Type dimmer-control : controlDimmer "Control Dimmer" [ switch="3/3/50+3/3/48", position="3/3/46", increaseDecrease="3/3/49", frequency=300 ]
Type color : controlColorLight "Color" [ hsb="6/0/10", switch="6/0/12", position="6/0/14",
Type color : controlColorLight "Color" [ hsb="6/0/10", switch="6/0/12", position="6/0/14",
Type rollershutter-control : controlRollershutter "Control Rollershutter" [ upDown="3/4/1+3/4/2", stopMove="3/4/3", position="3/4/4" ]
Type number-control : controlNumber "Control Number" [ ga="1/2/2" ]
Type string-control : controlString "Control String" [ ga="1/4/2" ]

View File

@ -76,7 +76,7 @@ This is commonly used with a piezo buzzer to make a "beep beep" sound when a doo
It can also be used to blink lights.
A note about the Alarm Panel Pro.
Zones 1-8 can be configured for any Channel-Types.
Zones 1-8 can be configured for any Channel-Types.
Zones 9-12, out1, alarm1 and out2/alarm2 can only be configured as an actuator.
For more information, see: <https://help.konnected.io/support/solutions/articles/32000028978-alarm-panel-pro-inputs-and-outputs>

View File

@ -301,7 +301,7 @@ demo.items:
```java
Number:Power GridOutputPower "Grid Output Power" <energy> { channel="kostalinverter:piko1020:mypiko1020:gridOutputPower" }
Number:Energy YieldDaySecondGen "PV Output Power Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:yieldDaySecondGen" }
Number:Energy YieldTotalSecondGen "PV Output Power Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:yieldTotalSecondgen" }
Number:Energy YieldTotalSecondGen "PV Output Power Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:yieldTotalSecondgen" }
Number:Dimensionless OperatingStatus "Operating Status" <energy> { channel="kostalinverter:piko1020:mypiko1020:operatingStatus" }
Number:ElectricPotential GridVoltageL1 "Grid Voltage L1" <energy> { channel="kostalinverter:piko1020:mypiko1020:gridVoltageL1" }
Number:ElectricCurrent GridCurrentL1 "Grid Current L1" <energy> { channel="kostalinverter:piko1020:mypiko1020:gridCurrentL1" }
@ -330,12 +330,12 @@ Number:Power PhaseSelHomeConsumpL2 "Phase Sel Home Consump
Number:Power PhaseSelHomeConsumpL3 "Phase Sel Home Consump L3" <energy> { channel="kostalinverter:piko1020:mypiko1020:phaseSelHomeConsumpL3" }
Number:Frequency GridFreq "Grid Freq" <energy> { channel="kostalinverter:piko1020:mypiko1020:gridFreq" }
Number:Angle GridCosPhi "Grid Cos Phi" <energy> { channel="kostalinverter:piko1020:mypiko1020:gridCosPhi" }
Number:Energy HomeConsumptionDay "Home Consumption Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:homeConsumptionDay" }
Number:Energy OwnConsumptionDay "Own Consumption Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsumptionDay" }
Number:Dimensionless OwnConsRateDay "Own Cons Rate Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsRateDay" }
Number:Energy HomeConsumptionDay "Home Consumption Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:homeConsumptionDay" }
Number:Energy OwnConsumptionDay "Own Consumption Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsumptionDay" }
Number:Dimensionless OwnConsRateDay "Own Cons Rate Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsRateDay" }
Number:Dimensionless AutonomyDegreeDay "Autonomy Degree Day" <energy> { channel="kostalinverter:piko1020:mypiko1020:autonomyDegreeDay" }
Number:Energy HomeConsumptionTotal "Home Consumption Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:homeConsumptionTotal" }
Number:Energy OwnConsumptionTotal "Own Consumption Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsumptionTotal" }
Number:Energy HomeConsumptionTotal "Home Consumption Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:homeConsumptionTotal" }
Number:Energy OwnConsumptionTotal "Own Consumption Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsumptionTotal" }
Number:Time OperatingTimeTotal "Operating Time Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:operatingTimeTotal" }
Number:ElectricCurrent Current "Current" <energy> { channel="kostalinverter:piko1020:mypiko1020:current" }
Number:Dimensionless CurrentDir "Current Dir" <energy> { channel="kostalinverter:piko1020:mypiko1020:currentDir" }
@ -343,8 +343,8 @@ Number:Dimensionless ChargeCycles "Charge Cycles"
Number:Temperature BatteryTemperature "BatteryTemperature" <energy> { channel="kostalinverter:piko1020:mypiko1020:batteryTemperature" }
Number:Time Loginterval "Log Interval" <energy> { channel="kostalinverter:piko1020:mypiko1020:loginterval" }
Number:Dimensionless S0InPulseCnt "S0 InPulse Cnt" <energy> { channel="kostalinverter:piko1020:mypiko1020:s0InPulseCnt" }
Number:Dimensionless OwnConsRateTotal "Own Cons Rate Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsRateTotal" }
Number:Dimensionless AutonomyDegreeTotal "Autonomy Degree Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:autonomyDegreeTotal" }
Number:Dimensionless OwnConsRateTotal "Own Cons Rate Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:ownConsRateTotal" }
Number:Dimensionless AutonomyDegreeTotal "Autonomy Degree Total" <energy> { channel="kostalinverter:piko1020:mypiko1020:autonomyDegreeTotal" }
Number:ElectricPotential BatteryVoltage "Battery Voltage" <energy> { channel="kostalinverter:piko1020:mypiko1020:batteryVoltage" }
Number:Dimensionless BatStateOfCharge "Bat State Of Charge" <energy> { channel="kostalinverter:piko1020:mypiko1020:batStateOfCharge" }
Number:Power SelfConsumption "Self Consumption" <energy> { channel="kostalinverter:piko1020:mypiko1020:selfConsumption" }
@ -352,7 +352,7 @@ Number:Dimensionless BatteryUsageConsumption "Battery Usage Consumpti
Switch SmartBatteryControl "Smart Battery Control" <energy> { channel="kostalinverter:piko1020:mypiko1020:smartBatteryControl" }
Number:Dimensionless MaxDepthOfDischarge "Max Depth Of Discharge" <energy> { channel="kostalinverter:piko1020:mypiko1020:maxDepthOfDischarge" }
Number:Dimensionless ShadowManagement "Shadow Management" <energy> { channel="kostalinverter:piko1020:mypiko1020:shadowManagement" }
Number:Dimensionless ExternalModuleControl "External Module Control" <energy> { channel="kostalinverter:piko1020:mypiko1020:externalModuleControl" }
Number:Dimensionless ExternalModuleControl "External Module Control" <energy> { channel="kostalinverter:piko1020:mypiko1020:externalModuleControl" }
```

View File

@ -248,7 +248,7 @@ rule "Notify Info"
Item NotifyInfo changed to ON
then
NotifyInfo.postUpdate(OFF)
logInfo("demo.rules", "Sending info notification")
DeviceNotifyInfo.sendCommand("INFO!")
end
@ -258,7 +258,7 @@ rule "Notify Warning"
Item NotifyWarning changed to ON
then
NotifyWarning.postUpdate(OFF)
logInfo("demo.rules", "Sending warning notification")
DeviceNotifyWarning.sendCommand("WARNING!")
end
@ -268,7 +268,7 @@ rule "Notify Alert"
Item NotifyAlert changed to ON
then
NotifyAlert.postUpdate(OFF)
logInfo("demo.rules", "Sending alert notification")
DeviceNotifyAlert.sendCommand("ALERT!")
end
@ -278,9 +278,9 @@ rule "Set Alarm in 1 Minute"
Item SetAlarmIn1Min changed to ON
then
SetAlarmIn1Min.postUpdate(OFF)
logInfo("demo.rules", "Setting alarm for 1 minute from now")
val cal = Calendar.getInstance()
cal.add(Calendar.MINUTE, 1)
ClockSetAlarm.sendCommand(new DateTimeType(cal))
@ -291,7 +291,7 @@ rule "Set 2 Minute Timer"
Item Set2MinTimer changed to ON
then
Set2MinTimer.postUpdate(OFF)
logInfo("demo.rules", "Configure timer for 2 minutes without starting")
TimerDuration.sendCommand(120)
end

View File

@ -67,5 +67,5 @@ demo.items:
```java
Switch DemoSwitch "Switch" { channel="leapmotion:controller:1:gesture" }
Color RGBLight "RGB Light" { channel="leapmotion:controller:1:gesture" }
Dimmer DimmedLight "Dimmer [%d %%]" { channel="leapmotion:controller:1:gesture"[profile="leapmotion:dimmer", mode="fingers"] }
Dimmer DimmedLight "Dimmer [%d %%]" { channel="leapmotion:controller:1:gesture"[profile="leapmotion:dimmer", mode="fingers"] }
```

View File

@ -189,7 +189,7 @@ then
logInfo("actions", "Actions not found, check thing ID")
return
}
switch receivedCommand{
case 0: actions.decreaseChannel()
case 1: actions.increaseChannel()

View File

@ -55,7 +55,7 @@ You will have to look it up in your documentation or in the 'Luxom Plusconfig' s
Sometimes a device does not send back a confirmation over the bus having set the correct state.
Some dimmers do the dimming, but do not send back the set brightness level.
To be able to use these devices, you can add the `doesNotReply=true` parameter so that the binding immediately sets the item's state and does not wait for confirmation.
#### Dimmers
Dimmers support the optional advanced parameters `onLevel`, `onToLast` and `stepPercentage`:

View File

@ -33,7 +33,7 @@ The default update interval is set to 5 seconds. Intervals from 1 to 300 seconds
## Thing Configuration
The thing has a few configuration parameters:
The thing has a few configuration parameters:
| Parameter | Description |
|-----------------|-----------------------------------------------------------------------|
@ -256,6 +256,6 @@ sitemap mecmeter label="MecMeter"
Text item=VoltageP2
Text item=VoltageP3
}
}
```

View File

@ -1,6 +1,6 @@
# How to protoc
- Check [mvn repository](https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util) which version to use
- Check [mvn repository](https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util) which version to use
- Download correct protoc compiler from [maven central](https://repo1.maven.org/maven2/com/google/protobuf/protoc/) into `PROTOC_DIR`
- Call in mercedesme binding directory `PROTOC_DIR\protoc -I=proto --java_out=gen proto/*.proto`
- Move generated sources including subdirs from `gen` to `3rdparty\java`

View File

@ -64,12 +64,12 @@ Set `region` to your location
- `EU` : Europe and Rest of World
- `NA` : North America
- `AP` : Asia Pacific
- `CN` : China
- `CN` : China
Set `pin` to your Mercedes Me App PIN.
Parameter is *not required*.
Note `pin` is needed for some commands which are affecting **vehicle safety**.
Commands like _unlock doors_ will result into an _unsafe state_: your vehicle is unlocked and is accessible to everybody.
Commands like _unlock doors_ will result into an _unsafe state_: your vehicle is unlocked and is accessible to everybody.
Commands protected by PIN
@ -78,7 +78,7 @@ Commands protected by PIN
- Open / Ventilate Windows
- Open / Lift Sunroof
IP `callbackIP` and port `callbackPort` will be auto-detected.
IP `callbackIP` and port `callbackPort` will be auto-detected.
If you're running on server with more than one network interface please select manually.
### Bridge Authorization
@ -88,7 +88,7 @@ The Bridge will indicate in the status headline if authorization is needed inclu
Three steps are needed
1. Open the mentioned URL like 192.168.x.x:8090/mb-auth
1. Open the mentioned URL like 192.168.x.x:8090/mb-auth
Opening this URL will request a PIN which will be send to your configured email.
Check your Mail Account if you received the PIN.
Click on _Continue_ to proceed with Step 2.
@ -99,7 +99,7 @@ Click on _Submit_ button.
3. Confirmation shall be shown that authorization was successful.
In case of non successful authorization check your log for errors.
In case of non successful authorization check your log for errors.
Below screenshots are illustrating the authorization flow.
### After Bridge Setup
@ -165,17 +165,17 @@ Group name: `vehicle`
| command-capabilities | String | Command Capabilities | X | | X |
| proto-update | String | Last Vehicle Data Update | X | | X |
Advanced channels are used to identify problems.
Advanced channels are used to identify problems.
If you encounter problems with this binding follow the instructions from [Troubleshooting](#troubleshooting) section.
#### Lock Status Mapping
State
State
- 0 : Locked
- 1 : Unlocked
Command
Command
- 0 : Lock
- 1 : Unlock
@ -192,7 +192,7 @@ State
Command
- 0 : Ventilate
- 0 : Ventilate
- 1 : Close
- 2 : Open
@ -205,7 +205,7 @@ Triggers `WINDOWVENTILATE`, `WINDOWCLOSE` and `WINDOWOPEN` from [Command Name Ma
#### Ignition Mapping
State
State
- 0 : Off
- 2 : Ready
@ -239,7 +239,7 @@ States and controls are depending on your vehicle capabilities.
| sunroof | Number | Sun roof | X | X |
#### Rooftop Mapping
- 0 : Unlocked
- 1 : Open and locked
- 2 : Closed and locked
@ -316,11 +316,11 @@ State representing current window position.
#### Rear Right Blind Channel Mapping
- not available yet
#### Rear Left Blind Channel Mapping
- not available yet
#### Rear Blind Channel Mapping
- not available yet
@ -373,7 +373,7 @@ Triggers `- PRECONDCONFIGURESEATS` from [Command Name Mapping](#command-name-map
Pre-configure selected zone with desired temperature.
Minimum and maximum temperature depends on your local settings either Degree Celsius or Fahrenheit.
Celsius
Celsius
- Minimum : 16 °C
- Maximum : 28 °C
@ -387,10 +387,10 @@ Fahrenheit
Triggers `TEMPERATURECONFIGURE` from [Command Name Mapping](#command-name-mapping)
#### AC Precondition Control
#### AC Precondition Control
Triggers `PRECONDSTART` and `PRECONDSTOP` from [Command Name Mapping](#command-name-mapping)
#### AC Precondition Status Mapping
- 0 : No Request
@ -398,7 +398,7 @@ Triggers `PRECONDSTART` and `PRECONDSTOP` from [Command Name Mapping](#command-n
- 2 : Available after Restart Engine
- 3 : Not Possible, Charging not Finished
- 4 : General Error</option>
#### Auxiliary Heating Switch
Triggers `AUXHEATSTART` and `AUXHEATSTOP` from [Command Name Mapping](#command-name-mapping)
@ -597,9 +597,9 @@ All channels `read-only`
#### Average Consumption
You can configure different average consumption units like kWh per 100 kilometer or km per kWh.
In your Mercedes Me App front page
In your Mercedes Me App front page
- Burger Menu top left
- Burger Menu top left
- Last Entry `Settings`
- First Entry `Units`
@ -608,7 +608,7 @@ In your Mercedes Me App front page
#### Trip Duration
Shown as String in format `d days, HH:mm`.
If duration is below 24 hours format is `HH:mm`.
If duration is below 24 hours format is `HH:mm`.
### ECO Score
@ -672,10 +672,10 @@ All channels `read-only`
| pressure-front-right | Number:Pressure | Tire Pressure Front Right |
| pressure-rear-left | Number:Pressure | Tire Pressure Rear Left |
| pressure-rear-right | Number:Pressure | Tire Pressure Rear Right |
| sensor-available | Number | Tire Sensor Available |
| sensor-available | Number | Tire Sensor Available |
| marker-front-left | Number | Tire Marker Front Left |
| marker-front-right | Number | Tire Marker Front Right |
| marker-rear-left | Number | Tire Marker Rear Left |
| marker-front-right | Number | Tire Marker Front Right |
| marker-rear-left | Number | Tire Marker Rear Left |
| marker-rear-right | Number | Tire Marker Rear Right |
| last-update | DateTime | Timestamp of last Measurement |
@ -755,7 +755,7 @@ Send lock/unlock or temperatures in a short period of time will result in failur
## Vehicle Actions
Actions for `vehicle` [thing}(#vehicle) are provided.
Actions for `vehicle` [thing}(#vehicle) are provided.
### `sendPOI`
@ -792,19 +792,19 @@ Full information
There's a big variety of vehicles with different features and different command capabilities.
During discovery the capabilities of your vehicle are identified.
They are stored in `Vehicle Properties` as shown below.
You can check in beforehand if features like _Charge Program Configuration_ or _HVAC Configuration_ are supported or not.
You can check in beforehand if features like _Charge Program Configuration_ or _HVAC Configuration_ are supported or not.
<img src="./doc/OH-capabilities.png" width="500" height="280"/>
If you want to dive deeper see [Troubleshooting](#troubleshooting) `feature-capabilities` and `command-capabilities` to evaluate the exact capabilities.
If you want to dive deeper see [Troubleshooting](#troubleshooting) `feature-capabilities` and `command-capabilities` to evaluate the exact capabilities.
## Troubleshooting
In order to be able to analyze problems 3 advanced channels are placed in the vehicle group.
* `feature-capabilities` - showing which feature your vehicle is equipped with
* `command-capabilities` - showing which commands can be sent to your vehicle
* `proto-update` - latest update of your vehicle data
- `feature-capabilities` - showing which feature your vehicle is equipped with
- `command-capabilities` - showing which commands can be sent to your vehicle
- `proto-update` - latest update of your vehicle data
In case you find problems regarding this binding add items to these 3 channels.
The items are reporting Strings in JSON format.
@ -894,7 +894,7 @@ Number:Speed EQA_TripAvgSpeed {channel="mercedesme:bev:471
Number EQA_TripAvgConsumption {channel="mercedesme:bev:4711:eqa:trip#cons-ev" }
String EQA_AvgConsumptionUnit {channel="mercedesme:bev:4711:eqa:trip#cons-ev-unit" }
Number:Angle EQA_Heading {channel="mercedesme:bev:4711:eqa:position#heading" }
Number:Angle EQA_Heading {channel="mercedesme:bev:4711:eqa:position#heading" }
Location EQA_GPSLocation {channel="mercedesme:bev:4711:eqa:position#gps" }
Number EQA_Signal {channel="mercedesme:bev:4711:eqa:position#signal" }
@ -915,10 +915,10 @@ DateTime EQA_CommandTimestamp {channel="mercedesme:bev:471
// send POI from JSON String item
rule "Send POI"
when
Item POIJsonString changed
Item POIJsonString changed
then
// decode JSON
val json = POIJsonString.state.toString
val json = POIJsonString.state.toString
val title = transform("JSONPATH", "$.title", json)
val lat = transform("JSONPATH", "$.latitude", json)
val lon = transform("JSONPATH", "$.longitude", json)

View File

@ -1,128 +0,0 @@
---
id: meteoalerte
label: Meteo Alerte
title: Meteo Alerte - Bindings
type: binding
description: "The Meteo Alerte binding gives alert level regarding major weather related risk factors."
since: 3x
logo: images/addons/meteoalerte.png
install: auto
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Meteo Alerte Binding
The Meteo Alerte binding gives alert level regarding major weather related risk factors.
This binding provides its own icon set and provides appropriate static and dynamic SVG icons (see items examples below).
## Supported Things
There is exactly one supported thing type, which represents the weather alerts for a given department.
It has the `department` id.
Of course, you can add multiple things, e.g. for getting alerts for different locations.
## Binding Configuration
The binding has no configuration options, all configuration is done at Thing level.
## Thing Configuration
The thing has a few configuration parameters:
| Parameter | Description |
|---------------|----------------------------------------------------------------------------------------|
| `department` | Name of the department. |
| refresh | Refresh interval in minutes. Optional, the default value is 1440 minutes (once a day). |
## Channels
The Météo Alerte information that are retrieved is available as these channels:
| Channel ID | Item Type | Description |
|-----------------------|-----------|-----------------------------------------------|
| observation-time | DateTime | Date and time of report validity start |
| end-time | DateTime | Date and time of report validity end |
| comment | String | General comments on alerts for the department |
| vent | Number | Wind alert level (*) |
| pluie-inondation | Number | Rain alert level (*) |
| orage | Number | Storm alert level (*) |
| inondation | Number | Flood alert level (*) |
| neige | Number | Snow alert level (*) |
| canicule | Number | Heat alert level (*) |
| grand-froid | Number | Cold alert level (*) |
| avalanches | Number | Avalanche alert level (*) |
| vague-submersion | Number | Wave submersion alert level (*) |
| pluie-inondation-icon | Image | Pictogram of the Rain alert level |
| vent-icon | Image | Pictogram of the Wind alert level |
| orage-icon | Image | Pictogram of Storm alert level |
| inondation-icon | Image | Pictogram of Flood alert level |
| neige-icon | Image | Pictogram of Snow alert level |
| canicule-icon | Image | Pictogram of Heat alert level |
| grand-froid-icon | Image | Pictogram of Cold alert level |
| avalanches-icon | Image | Pictogram of Avalanche alert level |
| vague-submersion-icon | Image | Pictogram of Wave Submersion alert level |
(*) Each alert level is described by a color :
| Code | Color | Description |
|------|--------|-------------------------------------------|
| 0 | Green | No particular vigilance |
| 1 | Yellow | Be attentive to the weather situation |
| 2 | Orange | Be "very vigilant" in the concerned areas |
| 3 | Red | Absolute vigilance required |
## Provided icon set
This binding has its own IconProvider and makes available the following list of icons
| Icon Name | Dynamic | Illustration |
|---------------------------------|---------|--------------|
| oh:meteoalerte:vent | Yes | ![](src/main/resources/icon/vent.svg) |
| oh:meteoalerte:pluie-inondation | Yes | ![](src/main/resources/icon/pluie-inondation.svg) |
| oh:meteoalerte:orage | Yes | ![](src/main/resources/icon/orage.svg) |
| oh:meteoalerte:inondation | Yes | ![](src/main/resources/icon/inondation.svg) |
| oh:meteoalerte:neige | Yes | ![](src/main/resources/icon/neige.svg) |
| oh:meteoalerte:canicule | Yes | ![](src/main/resources/icon/canicule.svg) |
| oh:meteoalerte:grand-froid | Yes | ![](src/main/resources/icon/grand-froid.svg) |
| oh:meteoalerte:avalanches | Yes | ![](src/main/resources/icon/avalanches.svg) |
| oh:meteoalerte:vague-submersion | Yes | ![](src/main/resources/icon/vague-submersion.svg) |
| oh:meteoalerte:meteo_france | No | ![](src/main/resources/icon/meteo_france.svg) |
## Full Example
meteoalert.things:
```java
Thing meteoalerte:department:yvelines @ "MyCity" [department="YVELINES", refresh=12]
```
meteoalert.items:
```java
Group gMeteoAlert "Alertes Météo" <oh:meteoalerte:meteo_france>
String MA_Dept78 "Département 78 [%s]" <text> (gMeteoAlert) {channel="meteoalerte:department:yvelines:comment"}
Number MA_etat_canicule "Canicule [%s]" <oh:meteoalerte:canicule> (gMeteoAlert) {channel="meteoalerte:department:yvelines:canicule"}
Number MA_etat_grand_froid "Grand Froid [%s]" <oh:meteoalerte:grand-froid> (gMeteoAlert) {channel="meteoalerte:department:yvelines:grand-froid"}
Number MA_etat_pluie_inondation "Pluie-Inondation [%s]" <oh:meteoalerte:pluie-inondation> (gMeteoAlert) {channel="meteoalerte:department:yvelines:pluie-inondation"}
Number MA_etat_neige "Neige [%s]" <oh:meteoalerte:neige> (gMeteoAlert) {channel="meteoalerte:department:yvelines:neige"}
Number MA_etat_vent "Vent [%s]" <oh:meteoalerte:vent> (gMeteoAlert) {channel="meteoalerte:department:yvelines:vent"}
Number MA_etat_inondation "Inondation [%s]" <oh:meteoalerte:inondation> (gMeteoAlert) {channel="meteoalerte:department:yvelines:inondation"}
Number MA_etat_orage "Orage [%s]" <oh:meteoalerte:orage> (gMeteoAlert) {channel="meteoalerte:department:yvelines:orage"}
Number MA_etat_avalanche "Avalanches [%s]" <oh:meteoalerte:avalanches> (gMeteoAlert) {channel="meteoalerte:department:yvelines:avalanches"}
Image MA_icon_canicule "Canicule" <oh:meteoalerte:canicule> (gMeteoAlert) {channel="meteoalerte:department:yvelines:canicule-icon"}
Image MA_icon_grand_froid "Grand Froid" <oh:meteoalerte:grand-froid> (gMeteoAlert) {channel="meteoalerte:department:yvelines:grand-froid-icon"}
Image MA_icon_pluie_inondation "Pluie-Inondation" <oh:meteoalerte:pluie-inondation> (gMeteoAlert) {channel="meteoalerte:department:yvelines:pluie-inondation-icon"}
Image MA_icon_neige "Neige" <oh:meteoalerte:neige> (gMeteoAlert) {channel="meteoalerte:department:yvelines:neige-icon"}
Image MA_icon_vent "Vent" <oh:meteoalerte:vent> (gMeteoAlert) {channel="meteoalerte:department:yvelines:vent-icon"}
Image MA_icon_inondation "Inondation" <oh:meteoalerte:inondation> (gMeteoAlert) {channel="meteoalerte:department:yvelines:inondation-icon"}
Image MA_icon_orage "Orage" <oh:meteoalerte:orage> (gMeteoAlert) {channel="meteoalerte:department:yvelines:orage-icon"}
Image MA_icon_avalanche "Avalanche" <oh:meteoalerte:avalanches> (gMeteoAlert) {channel="meteoalerte:department:yvelines:avalanches-icon"}
DateTime MA_ObservationTS "Timestamp [%1$tH:%1$tM]" <time> (gMeteoAlert) {channel="meteoalerte:department:yvelines:observation-time"}
```

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30"/>
<g transform="matrix(0.095654, 0, 0, 0.103801, 7.65905, -0.7645)" style="">
<g>
<path style="fill:#9B5C5C;" d="M277.259,58.637c-11.695-20.344-30.835-20.344-42.53,0L4.978,432.587 c-11.695,20.342-2.07,36.966,21.398,36.966h459.235c23.468,0,33.093-16.624,21.405-36.966L277.259,58.637z"/>
<path style="fill:#9B5C5C;" d="M277.259,57.683c-11.695-20.328-30.835-20.328-42.53,0l-23.538,59.732l-32.538,31.78L4.978,432.587 c-11.695,20.342-2.07,36.966,21.398,36.966h459.235c23.468,0,33.093-16.624,21.405-36.966l-56.124-91.592l-84.06-104.052 L277.259,57.683z"/>
</g>
<g>
<path style="fill:#CBD0D8;" d="M426.629,226.272c-23.562,0-42.671,19.108-42.671,42.671c0,23.554,19.109,42.646,42.671,42.646 c23.545,0,42.654-19.093,42.654-42.646C469.283,245.381,450.174,226.272,426.629,226.272L426.629,226.272z"/>
<path style="fill:#CBD0D8;" d="M394.63,226.272c0,5.89-4.766,10.671-10.672,10.671c-5.875,0-10.656-4.781-10.656-10.671 c0-5.875,4.781-10.656,10.656-10.656C389.864,215.616,394.63,220.397,394.63,226.272z"/>
<path style="fill:#CBD0D8;" d="M426.629,204.944c0,5.891-4.781,10.672-10.671,10.672c-5.891,0-10.656-4.781-10.656-10.672 s4.766-10.655,10.656-10.655C421.848,194.289,426.629,199.054,426.629,204.944z"/>
<path style="fill:#CBD0D8;" d="M383.958,183.617c0,5.891-4.766,10.672-10.656,10.672s-10.656-4.781-10.656-10.672 s4.766-10.656,10.656-10.656S383.958,177.726,383.958,183.617z"/>
<path style="fill:#CBD0D8;" d="M351.974,151.634c0,5.891-4.766,10.655-10.672,10.655c-5.874,0-10.655-4.765-10.655-10.655 s4.781-10.671,10.655-10.671C347.209,140.963,351.974,145.744,351.974,151.634z"/>
</g>
<path style="fill:#E6E9ED;" d="M 273.368 152.384 C 274.649 151.868 275.993 151.634 277.321 151.634 C 280.992 151.634 284.554 153.54 286.523 156.884 C 286.523 156.884 355.865 257.194 381.786 300.341 C 407.708 343.495 450.892 341.027 450.892 341.027 L 277.259 57.683 C 265.564 37.355 246.424 37.355 234.729 57.683 L 178.653 149.196 C 178.653 149.196 210.879 171.539 225.503 171.539 C 240.126 171.539 273.368 152.384 273.368 152.384 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30" />
<g fill="#dae1e4">
<circle cx="32" cy="55" r="9" />
<circle cx="32" cy="6" r="6" />
</g>
<circle cx="32" cy="6" r="5" fill="#d20014" />
<path d="m26 6h12v50h-12z" fill="#dae1e4" />
<g fill="#d20014">
<path d="m27 6h10v48.94h-10z" />
<circle cx="32" cy="55" r="8" />
</g>
<g fill="#fff">
<path d="m33 9h5v2h-5z" />
<path d="m33 17h5v2h-5z" />
<path d="m33 25h5v2h-5z" />
<path d="m33 33h5v2h-5z" />
<path d="m33 41h5v2h-5z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 759 B

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30" />
<circle cx="32" cy="6" r="6" fill="#dae1e4" />
<circle cx="32" cy="6" r="5" fill="#c4cacc" />
<path d="m26 6h12v50h-12z" fill="#dae1e4" />
<path d="m27 6h10v48.94h-10z" fill="#c4cacc" />
<circle cx="32" cy="55" r="9" fill="#dae1e4" />
<g fill="#2e7de5">
<circle cx="32" cy="55" r="8" />
<path d="m27 39h10v12h-10z" />
</g>
<g fill="#fff">
<path d="m33 9h5v2h-5z" />
<path d="m33 17h5v2h-5z" />
<path d="m33 25h5v2h-5z" />
<path d="m33 33h5v2h-5z" />
<path d="m33 41h5v2h-5z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 802 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30"/>
<path fill="#F8EFE0" d="M 11.018 52.475 L 11.018 31.819 C 7.317 33.065 4.779 29.687 7.284 26.959 C 7.325 26.916 7.371 26.873 7.425 26.837 L 30.938 10.768 C 31.242 10.522 31.712 10.497 32.05 10.727 L 55.617 26.768 C 55.654 26.793 55.688 26.819 55.72 26.851 C 56.812 27.879 57.084 29.019 56.82 29.983 C 56.692 30.449 56.434 30.88 56.071 31.238 C 55.708 31.596 55.249 31.867 54.735 32.029 C 53.911 32.288 52.931 32.281 51.937 31.869 L 51.937 51.358 C 43.944 54.785 42.3 46.755 42.28 46.918 C 41.461 53.613 28.847 53.227 26.809 48.767 C 26.439 47.958 26.67 47.804 26.141 47.766 C 23.045 47.544 22.868 55.347 11.018 52.475 Z M 51.987 12.422 L 51.987 20.469 L 44.911 16.382 L 44.911 12.422 L 51.987 12.422 Z" style=""/>
<path fill="#D93133" d="M 11.018 31.819 C 10.054 32.144 9.151 32.151 8.401 31.927 C 7.816 31.754 7.322 31.444 6.959 31.043 C 6.596 30.643 6.366 30.156 6.295 29.618 C 6.188 28.785 6.472 27.843 7.284 26.959 C 7.325 26.916 7.371 26.873 7.425 26.837 L 30.938 10.768 C 31.242 10.522 31.712 10.497 32.05 10.727 L 55.617 26.768 C 55.654 26.793 55.688 26.819 55.72 26.851 C 56.812 27.879 57.084 29.019 56.82 29.983 C 56.692 30.449 56.434 30.88 56.071 31.238 C 55.708 31.596 55.249 31.867 54.735 32.029 C 53.911 32.288 52.931 32.281 51.937 31.869 L 49.63 30.982 C 49.63 30.618 33.464 19.43 31.679 18.213 C 29.788 19.473 13.326 30.571 13.326 31.04 L 11.018 31.819 Z M 51.987 12.422 L 51.987 20.469 L 44.911 16.382 L 44.911 12.422 L 51.987 12.422 Z" style=""/>
<path fill="#313A58" d="M 31.595 25.496 C 33.228 25.496 34.711 26.081 35.784 27.021 C 36.861 27.963 37.526 29.076 37.526 30.503 L 37.526 35.325 L 25.662 35.325 L 25.662 30.503 C 25.662 29.073 26.33 27.961 27.404 27.021 C 28.479 26.081 29.963 25.496 31.595 25.496 Z" style=""/>
<path fill="#ABB9BC" d="M 32.111 31.421 L 32.111 34.426 L 36.496 34.426 L 36.496 31.421 L 32.111 31.421 Z M 32.111 26.424 L 32.111 30.517 L 36.496 30.517 L 36.496 30.505 C 36.496 29.326 35.945 28.439 35.056 27.661 C 34.282 26.983 33.252 26.529 32.111 26.424 Z M 31.079 30.517 L 31.079 26.424 C 29.936 26.531 28.909 26.983 28.134 27.661 C 27.245 28.439 26.694 29.326 26.694 30.505 L 26.694 30.517 L 31.079 30.517 Z M 31.079 34.423 L 31.079 31.421 L 26.694 31.421 L 26.694 34.426 L 31.079 34.426 L 31.079 34.423 Z" style=""/>
<path fill="#313A58" d="M 51.92 31.732 L 49.64 30.959 L 49.64 52.389 L 51.92 52.389 L 51.92 31.732 Z M 10.908 31.819 L 13.189 31.046 L 13.189 52.476 L 10.908 52.476 L 10.908 31.819 Z" style=""/>
<path d="M 11.097 51.603 C 13.269 52.586 15.988 52.276 18.451 51.315 C 21.367 50.176 23.866 48.168 24.668 46.318 C 24.9 45.781 25.509 45.54 26.029 45.779 C 26.259 45.885 26.444 46.075 26.547 46.312 C 27.432 48.152 28.886 49.487 30.554 50.246 C 31.623 50.733 32.775 50.983 33.918 50.978 C 35.051 50.973 36.18 50.717 37.211 50.195 C 38.688 49.446 39.974 48.13 40.802 46.195 C 41.031 45.656 41.641 45.412 42.163 45.649 C 42.416 45.764 42.614 45.978 42.711 46.245 C 43.106 47.121 43.54 47.869 44.009 48.496 C 45.11 49.969 46.402 50.756 47.805 50.981 C 49.259 51.215 50.874 50.868 52.56 50.07 C 53.763 49.501 55 48.701 56.239 47.714 L 57.499 49.397 C 56.142 50.478 54.77 51.363 53.416 52.004 C 51.373 52.971 49.365 53.383 47.49 53.082 C 45.567 52.773 43.824 51.731 42.377 49.796 C 42.148 49.488 41.933 49.17 41.734 48.842 C 40.756 50.32 39.505 51.399 38.116 52.103 C 36.799 52.772 35.361 53.098 33.918 53.104 C 32.484 53.109 31.046 52.799 29.722 52.197 C 28.122 51.468 26.677 50.311 25.588 48.764 C 24.183 50.57 21.811 52.279 19.178 53.307 C 16.265 54.444 12.989 54.782 10.273 53.553 L 11.097 51.603 Z" style="fill: rgb(30, 130, 255);"/>
<path d="M 10.92 57.018 C 13.092 58.001 15.811 57.691 18.274 56.73 C 21.19 55.591 23.689 53.583 24.491 51.733 C 24.723 51.196 25.332 50.955 25.852 51.194 C 26.082 51.3 26.267 51.49 26.37 51.727 C 27.255 53.567 28.709 54.902 30.377 55.661 C 31.446 56.148 32.598 56.398 33.741 56.393 C 34.874 56.388 36.003 56.132 37.034 55.61 C 38.511 54.861 39.797 53.545 40.625 51.61 C 40.854 51.071 41.464 50.827 41.986 51.064 C 42.239 51.179 42.437 51.393 42.534 51.66 C 42.929 52.536 43.363 53.284 43.832 53.911 C 44.933 55.384 46.225 56.171 47.628 56.396 C 49.082 56.63 50.697 56.283 52.383 55.485 C 53.586 54.916 54.823 54.116 56.062 53.129 L 57.322 54.812 C 55.965 55.893 54.593 56.778 53.239 57.419 C 51.196 58.386 49.188 58.798 47.313 58.497 C 45.39 58.188 43.647 57.146 42.2 55.211 C 41.971 54.903 41.756 54.585 41.557 54.257 C 40.579 55.735 39.328 56.814 37.939 57.518 C 36.622 58.187 35.184 58.513 33.741 58.519 C 32.307 58.524 30.869 58.214 29.545 57.612 C 27.945 56.883 26.5 55.726 25.411 54.179 C 24.006 55.985 21.634 57.694 19.001 58.722 C 16.088 59.859 12.812 60.197 10.096 58.968 L 10.92 57.018 Z" style="fill: rgb(30, 130, 255);"/>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,67 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="55" height="63">
<defs>
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="prefix__e">
<feMorphology radius="2" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1" />
<feOffset dy="1" in="shadowSpreadOuter1" result="shadowOffsetOuter1" />
<feGaussianBlur stdDeviation="1.5" in="shadowOffsetOuter1" result="shadowBlurOuter1" />
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1" />
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" in="shadowBlurOuter1" />
</filter>
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="prefix__g">
<feMorphology radius="1.08" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1" />
<feOffset dy="1" in="shadowSpreadOuter1" result="shadowOffsetOuter1" />
<feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1" />
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1" />
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" in="shadowBlurOuter1" />
</filter>
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="prefix__i">
<feMorphology radius="1.44" operator="dilate" in="SourceAlpha" result="shadowSpreadOuter1" />
<feOffset dy="1" in="shadowSpreadOuter1" result="shadowOffsetOuter1" />
<feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1" />
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1" />
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0" in="shadowBlurOuter1" />
</filter>
<path
d="M22.528 23C20.887 23 11 38.241 11 44.803c0 5.174 2.987 10.572 11.528 10.572 7.82 0 11.528-5.346 11.528-10.572C34.056 38.158 24.169 23 22.528 23z"
id="prefix__a" />
<path
d="M10.125 5C9.253 5 4 13.238 4 16.785c0 2.797 1.587 5.715 6.125 5.715 4.155 0 6.125-2.89 6.125-5.715C16.25 13.193 10.997 5 10.125 5z"
id="prefix__b" />
<path
d="M35.313 0C34.129 0 27 11.122 27 15.91c0 3.776 2.154 7.715 8.313 7.715 5.64 0 8.312-3.901 8.312-7.715 0-4.849-7.129-15.91-8.313-15.91z"
id="prefix__c" />
<mask id="prefix__f" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="-2" y="-2" width="27.056"
height="36.375">
<path fill="#fff" d="M9 21h27.056v36.375H9z" />
<use xlink:href="#prefix__a" />
</mask>
<mask id="prefix__h" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="-1.08" y="-1.08"
width="14.41" height="19.66">
<path fill="#fff" d="M2.92 3.92h14.41v19.66H2.92z" />
<use xlink:href="#prefix__b" />
</mask>
<mask id="prefix__j" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="-1.44" y="-1.44"
width="19.505" height="26.505">
<path fill="#fff" d="M25.56-1.44h19.505v26.505H25.56z" />
<use xlink:href="#prefix__c" />
</mask>
<rect id="prefix__d" x="-8.105" y="28.395" width="67" height="4" rx="2" />
</defs>
<g transform="translate(2 2)" fill="none" fill-rule="evenodd">
<use height="100%" width="100%" xlink:href="#prefix__a" fill="#000" filter="url(#prefix__e)" />
<use height="100%" width="100%" xlink:href="#prefix__a" fill="#55a4ff" fill-opacity=".3" />
<use height="100%" width="100%" xlink:href="#prefix__a" mask="url(#prefix__f)" stroke="#fff" stroke-width="4" />
</g>
<g transform="translate(2 2)" fill="none" fill-rule="evenodd">
<use height="100%" width="100%" xlink:href="#prefix__b" fill="#000" filter="url(#prefix__g)" />
<use height="100%" width="100%" xlink:href="#prefix__b" fill="#55a4ff" fill-opacity=".3" />
<use height="100%" width="100%" xlink:href="#prefix__b" mask="url(#prefix__h)" stroke="#fff"
stroke-width="2.16" />
</g>
<g transform="translate(2 2)" fill="none" fill-rule="evenodd">
<use height="100%" width="100%" xlink:href="#prefix__c" fill="#000" filter="url(#prefix__i)" />
<use height="100%" width="100%" xlink:href="#prefix__c" fill="#55a4ff" fill-opacity=".3" />
<use height="100%" width="100%" xlink:href="#prefix__c" mask="url(#prefix__j)" stroke="#fff"
stroke-width="2.88" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" height="600" width="600" data-name="Calque 1">
<path fill="#005892" d="M0 0h600v600H0z" />
<rect x="220.481" y="111.57" width="159.038" height="159.038" rx="12.759" ry="12.759" fill="#fff" />
<path fill="#005891" d="M334.557 134.05l17.013 17.697-24.152 6.152z" />
<path
d="M357.95 191.089a57.646 57.646 0 00-10.178-32.81l-5.164 1.974a56.05 56.05 0 0110.253 30.836 53.165 53.165 0 01-45.57 52.329 210.152 210.152 0 01-1.747-104.81 55.443 55.443 0 0119.747 6l1.291-4.861a57.57 57.57 0 00-19.747-6.152 150.684 150.684 0 018.127-22.025h-7.595a164.05 164.05 0 00-7.595 21.645 57.95 57.95 0 000 115.823h1.975c1.975 7.063 4.253 14.278 7.063 21.646h7.063c-2.886-7.595-5.392-15.19-7.595-22.254a57.95 57.95 0 0049.671-57.341z"
fill="#005891" />
<path d="M298.633 130.405h-7.063" fill="#fff" />
<g fill="#fff">
<path
d="M123.418 315.342h22.025l14.582 44.126 14.05-44.126h22.102l7.975 76.48H182.05l-3.266-38.278-11.317 38.279h-15.873l-11.317-38.279-4.48 38.279H114zM268.405 372.608h-34.709v-10.254h26.279V346.33H233.24v-11.544h35.164v-19.443h-56.278v76.48h56.278zM403.975 372.608H369.19v-10.254h26.278V346.33h-26.734v-11.544h35.24v-19.443H347.62v76.48h56.355zM297.038 391.823h21.19v-57.038h18.76v-19.443h-59.165v19.443h19.215zM448.101 314.658a37.975 37.975 0 1037.975 37.975 37.975 37.975 0 00-37.975-37.975zm0 57.494a19.443 19.443 0 1119.443-19.443 19.443 19.443 0 01-19.443 19.443zM134.962 464.127h23.696v-14.81h-23.696v-14.963h30.684v-18.607H114v72.607h20.962zM213.57 458.81s10.936-1.215 10.936-21.19a19.519 19.519 0 00-18.835-21.873h-34.86v72.607h17.695V461.62h6.532l11.165 26.734h20.886zm-11.848-11.544h-13.52v-17.469h13.52a9.494 9.494 0 010 17.469zM274.025 415.747h-16.253l-27.418 72.607h20.735l5.392-13.519h19.975l4.557 13.52h19.822zm-15.19 45.114l6.988-19.52 6.987 19.52zM321.494 449.316l26.05 39.038h16.785v-72.607h-18.911v42.456l-24.152-42.456h-18.38v72.607h18.608zM418.253 465.038a18.38 18.38 0 11-.987-26.43l11.848-13.292a36.076 36.076 0 100 53.773zM486 470.127h-33.038v-9.722h24.987V445.14h-25.443v-10.936H486V415.67h-53.544v72.76H486z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30" />
<path
d="m32 2.5c.98 0 1.76.79 1.76 1.76v8.25l2.82-4.09c.35-.5.9-.77 1.47-.76.34 0 .68.11.98.31.8.55 1.01 1.65.45 2.45l-5.73 8.31v3.56 6.66l8.85-5.11 4.33-9.11c.42-.88 1.47-1.25 2.35-.84.33.16.59.4.76.7.29.49.33 1.1.07 1.65l-2.13 4.49 7.15-4.13c.85-.49 1.92-.2 2.41.65.49.85.2 1.92-.65 2.41l-7.15 4.13 4.96.4c.61.05 1.12.4 1.4.89.17.3.25.64.22 1.01-.08.97-.92 1.69-1.9 1.62l-10.06-.8-8.84 5.09 5.77 3.33 3.08 1.78 10.06-.8c.97-.08 1.82.64 1.9 1.62.03.36-.05.71-.22 1.01-.28.49-.79.84-1.4.89l-4.96.4 7.15 4.13c.85.49 1.13 1.56.65 2.41-.49.85-1.56 1.13-2.41.64l-7.15-4.13 2.13 4.49c.26.55.22 1.17-.07 1.65-.17.29-.43.54-.76.69-.88.42-1.93.05-2.35-.83l-4.33-9.11-8.85-5.11v6.66 3.56l5.73 8.31c.55.8.35 1.9-.45 2.45-.3.21-.64.31-.98.31-.57.01-1.12-.26-1.47-.76l-2.82-4.09v8.25c0 .98-.79 1.76-1.76 1.76-.98 0-1.76-.79-1.76-1.76v-8.25l-2.82 4.09c-.35.5-.9.77-1.47.76-.34 0-.68-.11-.98-.31-.8-.55-1.01-1.65-.45-2.45l5.73-8.31v-3.56-6.66l-5.77 3.33-3.08 1.78-4.33 9.11c-.42.88-1.47 1.25-2.35.83-.33-.16-.59-.4-.76-.69-.29-.49-.33-1.1-.07-1.65l2.14-4.49-7.15 4.13c-.85.49-1.92.2-2.41-.64-.49-.85-.2-1.92.64-2.41l7.15-4.13-4.96-.4c-.61-.05-1.12-.4-1.4-.89-.17-.3-.25-.64-.22-1.01.08-.97.92-1.69 1.9-1.62l10.06.8 3.08-1.78 5.75-3.33-8.85-5.11-10.06.8c-.97.08-1.82-.64-1.9-1.62-.03-.36.05-.71.22-1.01.28-.49.79-.84 1.4-.89l4.96-.4-7.15-4.11c-.85-.49-1.13-1.56-.64-2.41.49-.85 1.56-1.13 2.41-.65l7.15 4.13-2.14-4.49c-.26-.55-.22-1.17.07-1.65.17-.29.43-.54.76-.7.88-.42 1.93-.05 2.35.84l4.33 9.11 8.85 5.11v-6.66-3.56l-5.73-8.31c-.55-.8-.35-1.9.45-2.45.3-.21.64-.31.98-.31.57-.01 1.12.26 1.47.76l2.82 4.09v-8.25c.01-.97.79-1.76 1.77-1.76"
fill="#dae1e4" />
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30"/>
<g transform="matrix(0.109429, 0, 0, 0.095795, 3.683853, 5.87504)" style="">
<polygon style="fill:#FFDA44;" points="225.584 244.867 174.304 380.884 268.543 380.884 209.837 509.421 367.316 333.616 271.782 333.616 303.985 244.867"/>
<polygon style="fill:#CCA400;" points="304.519 244.867 226.118 244.867 207.482 294.3 286.581 294.3"/>
<path style="fill:#B8D6FD;" d="M 459.559 266.555 C 488.522 266.555 512.001 243.077 512.001 214.113 C 512.001 185.149 488.523 161.671 459.559 161.671 C 450.829 161.671 442.605 163.816 435.364 167.589 C 428.157 153.316 416.099 141.917 401.341 135.574 C 401.341 135.443 401.351 135.316 401.351 135.185 C 401.351 62.632 342.535 3.817 269.982 3.817 C 209.899 3.817 159.273 44.169 143.634 99.239 C 109.041 105.309 81.724 132.452 75.398 166.956 C 68.464 163.574 60.675 161.671 52.44 161.671 C 23.479 161.672 0 185.15 0 214.114 C 0 243.078 23.479 266.556 52.442 266.556 L 459.559 266.556 L 459.559 266.555 Z"/>
<path style="opacity:0.41;fill:#6AB3EA;enable-background:new ;" d="M 458.404 160.434 C 449.674 160.434 441.45 162.579 434.209 166.352 C 427.002 152.079 414.944 140.68 400.186 134.337 C 400.186 134.206 400.196 134.079 400.196 133.948 C 400.196 61.395 341.38 2.58 268.827 2.58 C 257.171 2.58 245.875 4.105 235.117 6.955 C 291.333 21.84 332.772 73.052 332.772 133.95 C 332.772 134.081 332.763 134.208 332.762 134.339 C 347.519 140.681 359.578 152.081 366.785 166.354 C 374.026 162.58 382.25 160.436 390.98 160.436 C 419.943 160.436 443.422 183.914 443.422 212.878 C 443.422 241.841 419.944 265.32 390.98 265.32 L 458.404 265.32 C 487.367 265.32 510.846 241.841 510.846 212.878 C 510.846 183.912 487.367 160.434 458.404 160.434 Z"/>
<g style="opacity:0.41;">
<path style="fill:#6AB3EA;" d="M258.252,34.812c0,3.364-2.216,6.456-5.612,7.421c-40.109,11.389-68.121,48.482-68.121,90.201 c0,4.264-3.455,7.718-7.718,7.718s-7.718-3.455-7.718-7.718c0-48.587,32.626-91.785,79.341-105.052 c4.1-1.165,8.369,1.216,9.534,5.316C258.157,33.404,258.252,34.114,258.252,34.812z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30"/>
<path fill="#F8EFE0" d="M 11.018 52.475 L 11.018 31.819 C 7.317 33.065 4.779 29.687 7.284 26.959 C 7.325 26.916 7.371 26.873 7.425 26.837 L 30.938 10.768 C 31.242 10.522 31.712 10.497 32.05 10.727 L 55.617 26.768 C 55.654 26.793 55.688 26.819 55.72 26.851 C 56.812 27.879 57.084 29.019 56.82 29.983 C 56.692 30.449 56.434 30.88 56.071 31.238 C 55.708 31.596 55.249 31.867 54.735 32.029 C 53.911 32.288 52.931 32.281 51.937 31.869 L 51.937 51.358 C 43.944 54.785 42.3 46.755 42.28 46.918 C 41.461 53.613 28.847 53.227 26.809 48.767 C 26.439 47.958 26.67 47.804 26.141 47.766 C 23.045 47.544 22.868 55.347 11.018 52.475 Z M 51.987 12.422 L 51.987 20.469 L 44.911 16.382 L 44.911 12.422 L 51.987 12.422 Z" style=""/>
<path fill="#D93133" d="M 11.018 31.819 C 10.054 32.144 9.151 32.151 8.401 31.927 C 7.816 31.754 7.322 31.444 6.959 31.043 C 6.596 30.643 6.366 30.156 6.295 29.618 C 6.188 28.785 6.472 27.843 7.284 26.959 C 7.325 26.916 7.371 26.873 7.425 26.837 L 30.938 10.768 C 31.242 10.522 31.712 10.497 32.05 10.727 L 55.617 26.768 C 55.654 26.793 55.688 26.819 55.72 26.851 C 56.812 27.879 57.084 29.019 56.82 29.983 C 56.692 30.449 56.434 30.88 56.071 31.238 C 55.708 31.596 55.249 31.867 54.735 32.029 C 53.911 32.288 52.931 32.281 51.937 31.869 L 49.63 30.982 C 49.63 30.618 33.464 19.43 31.679 18.213 C 29.788 19.473 13.326 30.571 13.326 31.04 L 11.018 31.819 Z M 51.987 12.422 L 51.987 20.469 L 44.911 16.382 L 44.911 12.422 L 51.987 12.422 Z" style=""/>
<path fill="#313A58" d="M 31.595 25.496 C 33.228 25.496 34.711 26.081 35.784 27.021 C 36.861 27.963 37.526 29.076 37.526 30.503 L 37.526 35.325 L 25.662 35.325 L 25.662 30.503 C 25.662 29.073 26.33 27.961 27.404 27.021 C 28.479 26.081 29.963 25.496 31.595 25.496 Z" style=""/>
<path fill="#ABB9BC" d="M 32.111 31.421 L 32.111 34.426 L 36.496 34.426 L 36.496 31.421 L 32.111 31.421 Z M 32.111 26.424 L 32.111 30.517 L 36.496 30.517 L 36.496 30.505 C 36.496 29.326 35.945 28.439 35.056 27.661 C 34.282 26.983 33.252 26.529 32.111 26.424 Z M 31.079 30.517 L 31.079 26.424 C 29.936 26.531 28.909 26.983 28.134 27.661 C 27.245 28.439 26.694 29.326 26.694 30.505 L 26.694 30.517 L 31.079 30.517 Z M 31.079 34.423 L 31.079 31.421 L 26.694 31.421 L 26.694 34.426 L 31.079 34.426 L 31.079 34.423 Z" style=""/>
<path fill="#313A58" d="M 51.92 31.732 L 49.64 30.959 L 49.64 52.389 L 51.92 52.389 L 51.92 31.732 Z M 10.908 31.819 L 13.189 31.046 L 13.189 52.476 L 10.908 52.476 L 10.908 31.819 Z" style=""/>
<path d="M 11.097 51.603 C 13.269 52.586 15.988 52.276 18.451 51.315 C 21.367 50.176 23.866 48.168 24.668 46.318 C 24.9 45.781 25.509 45.54 26.029 45.779 C 26.259 45.885 26.444 46.075 26.547 46.312 C 27.432 48.152 28.886 49.487 30.554 50.246 C 31.623 50.733 32.775 50.983 33.918 50.978 C 35.051 50.973 36.18 50.717 37.211 50.195 C 38.688 49.446 39.974 48.13 40.802 46.195 C 41.031 45.656 41.641 45.412 42.163 45.649 C 42.416 45.764 42.614 45.978 42.711 46.245 C 43.106 47.121 43.54 47.869 44.009 48.496 C 45.11 49.969 46.402 50.756 47.805 50.981 C 49.259 51.215 50.874 50.868 52.56 50.07 C 53.763 49.501 55 48.701 56.239 47.714 L 57.499 49.397 C 56.142 50.478 54.77 51.363 53.416 52.004 C 51.373 52.971 49.365 53.383 47.49 53.082 C 45.567 52.773 43.824 51.731 42.377 49.796 C 42.148 49.488 41.933 49.17 41.734 48.842 C 40.756 50.32 39.505 51.399 38.116 52.103 C 36.799 52.772 35.361 53.098 33.918 53.104 C 32.484 53.109 31.046 52.799 29.722 52.197 C 28.122 51.468 26.677 50.311 25.588 48.764 C 24.183 50.57 21.811 52.279 19.178 53.307 C 16.265 54.444 12.989 54.782 10.273 53.553 L 11.097 51.603 Z" style="fill: rgb(30, 130, 255);"/>
<path d="M 8.218 34.7 C 8.218 34.7 8.173 34.7 8.13 34.7 C 8.041 34.7 7.997 34.7 7.953 34.64 L 7.908 34.64 C 6.888 34.399 6.046 33.017 5.958 31.515 L 5.958 31.034 C 6.003 30.794 6.046 30.494 6.091 30.192 C 6.18 30.013 6.268 29.772 6.357 29.532 L 6.667 28.93 C 7.376 27.789 7.953 26.648 8.351 25.445 C 8.794 26.888 9.504 28.15 10.08 29.111 C 10.124 29.231 10.213 29.411 10.346 29.592 C 10.434 29.832 10.567 30.133 10.701 30.373 C 10.745 30.553 10.789 30.854 10.834 31.094 L 10.834 31.455 C 10.834 31.515 10.834 31.575 10.834 31.635 C 10.834 31.635 10.834 31.695 10.834 31.695 L 10.834 31.756 L 10.834 31.815 C 10.701 33.138 9.903 34.399 8.928 34.64 L 8.883 34.64 C 8.839 34.64 8.794 34.7 8.706 34.7 C 8.661 34.7 8.618 34.7 8.618 34.7 L 8.218 34.7" fill="#1e82ff" style=""/>
<path d="M 17.152 21.924 C 17.152 21.924 17.107 21.924 17.064 21.924 C 16.975 21.924 16.931 21.924 16.887 21.864 L 16.842 21.864 C 15.822 21.623 14.98 20.241 14.892 18.739 L 14.892 18.258 C 14.937 18.018 14.98 17.718 15.025 17.416 C 15.114 17.237 15.202 16.996 15.291 16.756 L 15.601 16.154 C 16.31 15.013 16.887 13.872 17.285 12.669 C 17.728 14.112 18.438 15.374 19.014 16.335 C 19.058 16.455 19.147 16.635 19.28 16.816 C 19.368 17.056 19.501 17.357 19.635 17.597 C 19.679 17.777 19.723 18.078 19.768 18.318 L 19.768 18.679 C 19.768 18.739 19.768 18.799 19.768 18.859 C 19.768 18.859 19.768 18.919 19.768 18.919 L 19.768 18.98 L 19.768 19.039 C 19.635 20.362 18.837 21.623 17.862 21.864 L 17.817 21.864 C 17.773 21.864 17.728 21.924 17.64 21.924 C 17.595 21.924 17.552 21.924 17.552 21.924 L 17.152 21.924" fill="#1e82ff" style=""/>
<path d="M 42.51 27.949 C 42.51 27.949 42.465 27.949 42.422 27.949 C 42.333 27.949 42.289 27.949 42.245 27.889 L 42.2 27.889 C 41.18 27.648 40.338 26.266 40.25 24.764 L 40.25 24.283 C 40.295 24.043 40.338 23.743 40.383 23.441 C 40.472 23.262 40.56 23.021 40.649 22.781 L 40.959 22.179 C 41.668 21.038 42.245 19.897 42.643 18.694 C 43.086 20.137 43.796 21.399 44.372 22.36 C 44.416 22.48 44.505 22.66 44.638 22.841 C 44.726 23.081 44.859 23.382 44.993 23.622 C 45.037 23.802 45.081 24.103 45.126 24.343 L 45.126 24.704 C 45.126 24.764 45.126 24.824 45.126 24.884 C 45.126 24.884 45.126 24.944 45.126 24.944 L 45.126 25.005 L 45.126 25.064 C 44.993 26.387 44.195 27.648 43.22 27.889 L 43.175 27.889 C 43.131 27.889 43.086 27.949 42.998 27.949 C 42.953 27.949 42.91 27.949 42.91 27.949 L 42.51 27.949" fill="#1e82ff" style=""/>
<path d="M 30.168 12.518 C 30.168 12.518 30.123 12.518 30.08 12.518 C 29.991 12.518 29.947 12.518 29.903 12.458 L 29.858 12.458 C 28.838 12.217 27.996 10.835 27.908 9.333 L 27.908 8.852 C 27.953 8.612 27.996 8.312 28.041 8.01 C 28.13 7.831 28.218 7.59 28.307 7.35 L 28.617 6.748 C 29.326 5.607 29.903 4.466 30.301 3.263 C 30.744 4.706 31.454 5.968 32.03 6.929 C 32.074 7.049 32.163 7.229 32.296 7.41 C 32.384 7.65 32.517 7.951 32.651 8.191 C 32.695 8.371 32.739 8.672 32.784 8.912 L 32.784 9.273 C 32.784 9.333 32.784 9.393 32.784 9.453 C 32.784 9.453 32.784 9.513 32.784 9.513 L 32.784 9.574 L 32.784 9.633 C 32.651 10.956 31.853 12.217 30.878 12.458 L 30.833 12.458 C 30.789 12.458 30.744 12.518 30.656 12.518 C 30.611 12.518 30.568 12.518 30.568 12.518 L 30.168 12.518" fill="#1e82ff" style=""/>
<path d="M 54.328 36.78 C 54.328 36.78 54.283 36.78 54.24 36.78 C 54.151 36.78 54.107 36.78 54.063 36.72 L 54.018 36.72 C 52.998 36.479 52.156 35.097 52.068 33.595 L 52.068 33.114 C 52.113 32.874 52.156 32.574 52.201 32.272 C 52.29 32.093 52.378 31.852 52.467 31.612 L 52.777 31.01 C 53.486 29.869 54.063 28.728 54.461 27.525 C 54.904 28.968 55.614 30.23 56.19 31.191 C 56.234 31.311 56.323 31.491 56.456 31.672 C 56.544 31.912 56.677 32.213 56.811 32.453 C 56.855 32.633 56.899 32.934 56.944 33.174 L 56.944 33.535 C 56.944 33.595 56.944 33.655 56.944 33.715 C 56.944 33.715 56.944 33.775 56.944 33.775 L 56.944 33.836 L 56.944 33.895 C 56.811 35.218 56.013 36.479 55.038 36.72 L 54.993 36.72 C 54.949 36.72 54.904 36.78 54.816 36.78 C 54.771 36.78 54.728 36.78 54.728 36.78 L 54.328 36.78" fill="#1e82ff" style=""/>
<path d="M 10.92 57.018 C 13.092 58.001 15.811 57.691 18.274 56.73 C 21.19 55.591 23.689 53.583 24.491 51.733 C 24.723 51.196 25.332 50.955 25.852 51.194 C 26.082 51.3 26.267 51.49 26.37 51.727 C 27.255 53.567 28.709 54.902 30.377 55.661 C 31.446 56.148 32.598 56.398 33.741 56.393 C 34.874 56.388 36.003 56.132 37.034 55.61 C 38.511 54.861 39.797 53.545 40.625 51.61 C 40.854 51.071 41.464 50.827 41.986 51.064 C 42.239 51.179 42.437 51.393 42.534 51.66 C 42.929 52.536 43.363 53.284 43.832 53.911 C 44.933 55.384 46.225 56.171 47.628 56.396 C 49.082 56.63 50.697 56.283 52.383 55.485 C 53.586 54.916 54.823 54.116 56.062 53.129 L 57.322 54.812 C 55.965 55.893 54.593 56.778 53.239 57.419 C 51.196 58.386 49.188 58.798 47.313 58.497 C 45.39 58.188 43.647 57.146 42.2 55.211 C 41.971 54.903 41.756 54.585 41.557 54.257 C 40.579 55.735 39.328 56.814 37.939 57.518 C 36.622 58.187 35.184 58.513 33.741 58.519 C 32.307 58.524 30.869 58.214 29.545 57.612 C 27.945 56.883 26.5 55.726 25.411 54.179 C 24.006 55.985 21.634 57.694 19.001 58.722 C 16.088 59.859 12.812 60.197 10.096 58.968 L 10.92 57.018 Z" style="fill: rgb(30, 130, 255);"/>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30"/>
<path d="M 10.382 37.307 C 12.554 38.29 15.273 37.98 17.736 37.019 C 20.652 35.88 23.151 33.872 23.953 32.022 C 24.185 31.485 24.794 31.244 25.314 31.483 C 25.544 31.589 25.729 31.779 25.832 32.016 C 26.717 33.856 28.171 35.191 29.839 35.95 C 30.908 36.437 32.06 36.687 33.203 36.682 C 34.336 36.677 35.465 36.421 36.496 35.899 C 37.973 35.15 39.259 33.834 40.087 31.899 C 40.316 31.36 40.926 31.116 41.448 31.353 C 41.701 31.468 41.899 31.682 41.996 31.949 C 42.391 32.825 42.825 33.573 43.294 34.2 C 44.395 35.673 45.687 36.46 47.09 36.685 C 48.544 36.919 50.159 36.572 51.845 35.774 C 53.048 35.205 54.285 34.405 55.524 33.418 L 56.784 35.101 C 55.427 36.182 54.055 37.067 52.701 37.708 C 50.658 38.675 48.65 39.087 46.775 38.786 C 44.852 38.477 43.109 37.435 41.662 35.5 C 41.433 35.192 41.218 34.874 41.019 34.546 C 40.041 36.024 38.79 37.103 37.401 37.807 C 36.084 38.476 34.646 38.802 33.203 38.808 C 31.769 38.813 30.331 38.503 29.007 37.901 C 27.407 37.172 25.962 36.015 24.873 34.468 C 23.468 36.274 21.096 37.983 18.463 39.011 C 15.55 40.148 12.274 40.486 9.558 39.257 L 10.382 37.307 Z" style="fill: rgb(30, 130, 255);"/>
<path d="M 10.205 42.722 C 12.377 43.705 15.096 43.395 17.559 42.434 C 20.475 41.295 22.974 39.287 23.776 37.437 C 24.008 36.9 24.617 36.659 25.137 36.898 C 25.367 37.004 25.552 37.194 25.655 37.431 C 26.54 39.271 27.994 40.606 29.662 41.365 C 30.731 41.852 31.883 42.102 33.026 42.097 C 34.159 42.092 35.288 41.836 36.319 41.314 C 37.796 40.565 39.082 39.249 39.91 37.314 C 40.139 36.775 40.749 36.531 41.271 36.768 C 41.524 36.883 41.722 37.097 41.819 37.364 C 42.214 38.24 42.648 38.988 43.117 39.615 C 44.218 41.088 45.51 41.875 46.913 42.1 C 48.367 42.334 49.982 41.987 51.668 41.189 C 52.871 40.62 54.108 39.82 55.347 38.833 L 56.607 40.516 C 55.25 41.597 53.878 42.482 52.524 43.123 C 50.481 44.09 48.473 44.502 46.598 44.201 C 44.675 43.892 42.932 42.85 41.485 40.915 C 41.256 40.607 41.041 40.289 40.842 39.961 C 39.864 41.439 38.613 42.518 37.224 43.222 C 35.907 43.891 34.469 44.217 33.026 44.223 C 31.592 44.228 30.154 43.918 28.83 43.316 C 27.23 42.587 25.785 41.43 24.696 39.883 C 23.291 41.689 20.919 43.398 18.286 44.426 C 15.373 45.563 12.097 45.901 9.381 44.672 L 10.205 42.722 Z" style="fill: rgb(30, 130, 255);"/>
<path d="M 32.307 33.157 C 30.008 33.038 27.346 31.638 25.776 29.76 C 25.48 29.421 25.206 29.064 24.956 28.688 C 23.585 30.561 21.153 32.357 18.438 33.424 C 15.546 34.563 12.297 34.903 9.61 33.677 L 10.301 32.03 C 12.342 32.962 14.845 32.775 17.183 31.979 C 17.253 28.669 18.202 25.534 19.838 22.875 C 21.336 20.442 23.646 18.223 26.281 16.786 C 29.429 15.07 33.861 14.165 36.905 16.582 C 40.064 19.088 39.596 23.333 36.462 25.669 C 35.744 26.203 34.894 26.543 34.027 26.631 C 33.319 26.702 32.602 26.606 31.934 26.309 C 31.263 26.011 30.648 25.518 30.154 24.801 C 29.581 23.968 29.17 22.827 29.031 21.336 C 28.992 20.904 29.296 20.523 29.711 20.48 C 30.125 20.44 30.493 20.757 30.532 21.188 C 30.643 22.376 30.953 23.26 31.383 23.885 C 31.708 24.357 32.102 24.676 32.525 24.866 C 32.954 25.056 33.42 25.116 33.885 25.069 C 34.48 25.009 35.072 24.769 35.582 24.39 C 37.883 22.674 38.346 19.7 35.99 17.83 C 26.886 12.683 22.711 27.316 31.469 31.199 C 32.079 31.342 32.703 31.412 33.329 31.411 C 34.495 31.407 35.656 31.142 36.717 30.6 C 38.239 29.821 39.562 28.459 40.413 26.455 C 40.605 26 41.116 25.793 41.554 25.994 C 41.766 26.091 41.931 26.272 42.013 26.498 C 42.418 27.404 42.863 28.177 43.343 28.823 C 44.48 30.357 45.818 31.177 47.274 31.413 C 48.771 31.655 50.429 31.298 52.154 30.475 C 53.379 29.893 54.635 29.073 55.89 28.065 L 56.947 29.488 C 55.592 30.576 54.222 31.465 52.872 32.109 C 50.847 33.075 48.86 33.487 47.01 33.188 C 45.117 32.881 43.402 31.847 41.976 29.924 C 41.694 29.542 41.434 29.145 41.197 28.733 C 40.211 30.324 38.919 31.474 37.476 32.212 C 36.175 32.876 34.753 33.201 33.329 33.207 C 32.988 33.209 32.647 33.192 32.307 33.157 Z" style="fill: rgb(30, 130, 255);"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<svg enable-background="new 0 0 64 64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<ellipse style="stroke-width: 0px; stroke: rgb(0, 0, 0); fill:#3d3c3c;" cx="32" cy="32" rx="30" ry="30" />
<path
d="m61.55 22.14c-3.06-.84-7.3-2.16-9.33-3.51-3.39-2.25-4.77-2.26-7.12-3.02-2.35-.76-4.78-2.08-4.78-2.08s-2.57-2.17-6.5-2.77c-3.92-.6-5.65-2.61-5.65-2.61s-.6-1.38-2.2-1.96c-2.54-1.01-6.25 2.29-8.28 7.38-2.03 5.09-1.61 10.04.94 11.05 0 0 6.32 2.52 10.66 2.08 4.34-.44 7.8.39 7.8.39s3.64.85 7.37.58c3.72-.27 6.09.62 6.09.62s2.41.67 10.18.27c.31-.43.57-.91.77-1.43.67-1.69.64-3.47.05-4.99z"
fill="#db5336" stroke="#db5336" stroke-miterlimit="10" />
<ellipse transform="matrix(-.929-.37.37-.929 37.3113 37.9507)" cx="22.3" cy="15.4" rx="4.96" ry="9.92"
fill="#ca2a14" />
<g fill="#fff">
<path
d="m61.55 22.14c-1.77-.48-3.92-1.13-5.82-1.84.77 1.74.88 3.69.16 5.5-.46 1.15-1.2 2.1-2.12 2.84 1.58.07 3.84.09 6.97-.07.31-.43.57-.91.77-1.43.66-1.7.63-3.48.04-5" />
<path
d="m50.1 17.36c-1.98-1.03-3.21-1.17-5-1.75-.5-.16-1.01-.35-1.49-.54 1.27 2.47 1.49 5.53.35 8.41-.67 1.68-1.73 3.09-3.01 4.15 1.08.08 2.29.12 3.51.03 1.07-.08 2.02-.06 2.84.01 1.21-.93 2.19-2.2 2.8-3.73.89-2.21.82-4.56 0-6.58" />
<path
d="m37.81 12c-1.06-.5-2.42-1-3.99-1.24-.84-.13-1.57-.32-2.22-.54 1.6 2.52 1.73 6.77.05 10.99-.89 2.24-2.16 4.14-3.59 5.53.42 0 .83-.01 1.23-.05 1.8-.18 3.45-.15 4.76-.04 1.75-1.09 3.32-2.98 4.29-5.4 1.4-3.53 1.1-7.14-.53-9.25" />
<path
d="m24.53 15.02c-1.09 2.73-1.32 5.44-.8 7.43 1.21-1.31 2.34-3.11 3.18-5.22 1.08-2.72 1.47-5.4 1.2-7.46-1.4 1.19-2.7 3.02-3.58 5.25" />
</g>
<g fill="none" stroke="#1a171b" stroke-miterlimit="10">
<path d="m13.55 10.5 4.7 2.19" />
<path d="m13.55 10.5 13.28-3.87" />
<path d="m13.55 10.5 8.74 13.45" />
<path d="M 13.55,10.5 7,9" />
</g>
<path d="M4.5,59.5V9c0-1.38,1.12-2.5,2.5-2.5S9.5,7.62,9.5,9c0,1.21-0.86,2.22-2,2.45V59.5H4.5z" fill="#8b96ac" />
<path
d="m7 7c1.1 0 2 0.9 2 2s-0.9 2-2 2v48h-2v-50c0-1.1 0.9-2 2-2m0-1c-1.65 0-3 1.35-3 3v51h4v-48.17c1.16-0.41 2-1.52 2-2.83 0-1.65-1.35-3-3-3z"
fill="#676b72" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,146 @@
---
id: meteofrance
label: Meteo France
title: Meteo France - Bindings
type: binding
description: "This binding provides information made available by Meteo France:"
since: 3x
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Meteo France Binding
This binding provides information made available by Meteo France:
* Alert level regarding major weather related risk factors (`vigilance` Thing)
* Rain intensity forecasts (`rain-forecast`Thing)
This binding provides its own icon set and provides appropriate static and dynamic SVG icons (see items examples below).
## Discovery
Once a bridge with the API key has been created, appropriate departments can be auto discovered based on system location.
## Binding Configuration
The binding has no configuration options, all configuration is done at Bridge and Thing level.
## Bridge Configuration
The `api` bridge has only one configuration parameter :
| Parameter | Description |
|-----------|-------------------------------------------------------|
| apikey | Data-platform token to access the service. Mandatory. |
To obtain an API key, you must create an account on https://portail-api.meteofrance.fr/web/fr/
Inside the API Portal, create an application on "Bulletin Vigilance" and generate they API key (set duration to 0).
## Thing Configuration
The `vigilance` thing has these configuration parameters:
| Parameter | Description |
|------------|-------------------------------------------------------------------------|
| department | Code of the department (two digits). |
| refresh | Refresh interval in minutes. Optional, the default value is 60 minutes. |
The `rain-forecast` thing has this configuration parameters:
| Parameter | Description |
|-----------|--------------------------------------------------------------|
| location | Geo coordinates to be considered by the service. |
## Channels
The information that are retrieved is available as these channels:
| Channel ID | Item Type | Description |
|-----------------------|-----------|-----------------------------------------------|
| observation-time | DateTime | Date and time of report validity start |
| end-time | DateTime | Date and time of report validity end |
| comment | String | General comments on alerts for the department |
| vent | Number | Wind alert level (*) |
| pluie-inondation | Number | Rain alert level (*) |
| orage | Number | Storm alert level (*) |
| inondation | Number | Flood alert level (*) |
| neige | Number | Snow alert level (*) |
| canicule | Number | Heat alert level (*) |
| grand-froid | Number | Cold alert level (*) |
| avalanches | Number | Avalanche alert level (*) |
| vague-submersion | Number | Wave submersion alert level (*) |
| pluie-inondation-icon | Image | Pictogram of the Rain alert level |
| vent-icon | Image | Pictogram of the Wind alert level |
| orage-icon | Image | Pictogram of Storm alert level |
| inondation-icon | Image | Pictogram of Flood alert level |
| neige-icon | Image | Pictogram of Snow alert level |
| canicule-icon | Image | Pictogram of Heat alert level |
| grand-froid-icon | Image | Pictogram of Cold alert level |
| avalanches-icon | Image | Pictogram of Avalanche alert level |
| vague-submersion-icon | Image | Pictogram of Wave Submersion alert level |
(*) Each alert level has an associated color and description:
| Code | Color | Description |
|------|--------|-------------------------------------------|
| 0 | Green | No particular vigilance |
| 1 | Yellow | Be attentive to the weather situation |
| 2 | Orange | Be "very vigilant" in the concerned areas |
| 3 | Red | Absolute vigilance required |
## Provided icon set
This binding has its own IconProvider and makes available the following list of icons
| Icon Name | Dynamic | Illustration |
|---------------------------------|---------|--------------|
| oh:meteofrance:vent | Yes | ![](doc/images/vent.svg) |
| oh:meteofrance:pluie-inondation | Yes | ![](doc/images/pluie-inondation.svg) |
| oh:meteofrance:orage | Yes | ![](doc/images/orage.svg) |
| oh:meteofrance:inondation | Yes | ![](doc/images/inondation.svg) |
| oh:meteofrance:neige | Yes | ![](doc/images/neige.svg) |
| oh:meteofrance:canicule | Yes | ![](doc/images/canicule.svg) |
| oh:meteofrance:grand-froid | Yes | ![](doc/images/grand-froid.svg) |
| oh:meteofrance:avalanches | Yes | ![](doc/images/avalanches.svg) |
| oh:meteofrance:vague-submersion | Yes | ![](doc/images/vague-submersion.svg) |
| oh:meteofrance:meteo_france | No | ![](doc/images/meteo_france.svg) |
| oh:meteofrance:intensity | Yes | ![](doc/images/intensity.svg) |
## Full Example
meteoalert.things:
```java
Thing meteofrance:department:yvelines @ "MyCity" [department="78", refresh=12]
```
meteoalert.items:
```java
Group gMeteoAlert "Alertes Météo" <oh:meteofrance:meteo_france>
String MA_Dept78 "Département 78 [%s]" <text> (gMeteoAlert) {channel="meteofrance:department:yvelines:comment"}
Number MA_etat_canicule "Canicule [%s]" <oh:meteofrance:canicule> (gMeteoAlert) {channel="meteofrance:department:yvelines:canicule"}
Number MA_etat_grand_froid "Grand Froid [%s]" <oh:meteofrance:grand-froid> (gMeteoAlert) {channel="meteofrance:department:yvelines:grand-froid"}
Number MA_etat_pluie_inondation "Pluie-Inondation [%s]" <oh:meteofrance:pluie-inondation> (gMeteoAlert) {channel="meteofrance:department:yvelines:pluie-inondation"}
Number MA_etat_neige "Neige [%s]" <oh:meteofrance:neige> (gMeteoAlert) {channel="meteofrance:department:yvelines:neige"}
Number MA_etat_vent "Vent [%s]" <oh:meteofrance:vent> (gMeteoAlert) {channel="meteofrance:department:yvelines:vent"}
Number MA_etat_inondation "Inondation [%s]" <oh:meteofrance:inondation> (gMeteoAlert) {channel="meteofrance:department:yvelines:inondation"}
Number MA_etat_orage "Orage [%s]" <oh:meteofrance:orage> (gMeteoAlert) {channel="meteofrance:department:yvelines:orage"}
Number MA_etat_avalanche "Avalanches [%s]" <oh:meteofrance:avalanches> (gMeteoAlert) {channel="meteofrance:department:yvelines:avalanches"}
Image MA_icon_canicule "Canicule" <oh:meteofrance:canicule> (gMeteoAlert) {channel="meteofrance:department:yvelines:canicule-icon"}
Image MA_icon_grand_froid "Grand Froid" <oh:meteofrance:grand-froid> (gMeteoAlert) {channel="meteofrance:department:yvelines:grand-froid-icon"}
Image MA_icon_pluie_inondation "Pluie-Inondation" <oh:meteofrance:pluie-inondation> (gMeteoAlert) {channel="meteofrance:department:yvelines:pluie-inondation-icon"}
Image MA_icon_neige "Neige" <oh:meteofrance:neige> (gMeteoAlert) {channel="meteofrance:department:yvelines:neige-icon"}
Image MA_icon_vent "Vent" <oh:meteofrance:vent> (gMeteoAlert) {channel="meteofrance:department:yvelines:vent-icon"}
Image MA_icon_inondation "Inondation" <oh:meteofrance:inondation> (gMeteoAlert) {channel="meteofrance:department:yvelines:inondation-icon"}
Image MA_icon_orage "Orage" <oh:meteofrance:orage> (gMeteoAlert) {channel="meteofrance:department:yvelines:orage-icon"}
Image MA_icon_avalanche "Avalanche" <oh:meteofrance:avalanches> (gMeteoAlert) {channel="meteofrance:department:yvelines:avalanches-icon"}
DateTime MA_ObservationTS "Timestamp [%1$tH:%1$tM]" <time> (gMeteoAlert) {channel="meteofrance:department:yvelines:observation-time"}
```

View File

@ -14,7 +14,7 @@ install: auto
# MfFan Binding
This binding is used to enable communications between openHAB and "Modern Forms" or "WAC Lighting" WIFI connected, smart, ceiling fans.
This binding is used to enable communications between openHAB and "Modern Forms" or "WAC Lighting" WIFI connected, smart, ceiling fans.
## Supported Things
@ -26,7 +26,7 @@ The binding currently supports the following thing:
## Discovery
Auto discovery is not supported at this time.
Auto discovery is not supported at this time.
## Thing Configuration

View File

@ -145,7 +145,7 @@ Bridge mihome:bridge:f0b429XXXXXX "Xiaomi Gateway" [ serialNumber="f0b429XXXXXX"
```java
// Replace <GwID> with itemId of gateway from Things file
// Replace <ID> with itemId of item from Things file
// Gateway
// Gateway
Switch Gateway_LightSwitch <light> { channel="mihome:gateway:<GwID>:<ID>:brightness" }
Dimmer Gateway_Brightness <dimmablelight> { channel="mihome:gateway:<GwID>:<ID>:brightness" }
Color Gateway_Color <rgb> { channel="mihome:gateway:<GwID>:<ID>:color" }
@ -253,7 +253,7 @@ rule "Mijia & Aqara Wireless Switch"
when
Channel "mihome:sensor_switch:<GwID>:<ID>:button" triggered
then
switch(receivedEvent) {
case "SHORT_PRESSED": {
<ACTION>
@ -568,7 +568,7 @@ In order to verify that traffic is actually received by the machine use `tcpdump
- List your network interfaces `ifconfig | grep MULTICAST` or `ip link | grep MULTICAST`
- Use `tcpdump -i <interface> port 9898` for each interface to verify if you receive traffic
If you already know the correct interface, or you found the correct one through tcpdump:
- Configure the `interface` property of the `Bridge` Thing with the correct name (for example `eth0`, etc)

Some files were not shown because too many files have changed in this diff Show More