Updated external content (Jenkins build 369)

pull/1569/head
openHAB Build Server 2021-04-10 04:49:58 +00:00
parent 52cf1e8506
commit df276ee968
10 changed files with 180 additions and 43 deletions

View File

@ -43,6 +43,25 @@ For defining a thing textually, you have to find out the start address of the mo
While the length is usually fixed, the address is not.
Please refer to your device's vendor documentation how model blocks are laid for your equipment.
OR: If there is no offset configured (default config) on the dip switch in RS-485, the following are mostly interesting for getting things up and running:
|--------|-----------------------|
| Offset | Device |
|--------|-----------------------|
| 10 | Multicast Xtender |
| 11-19 | Xtender 1-9 |
| 20 | Multicast Variotrack |
| 21-35 | Variotrack 1-15 |
| 40 | Multicast Variostring |
| 41-55 | Variostring 1-15 |
| 61 | BSP/Xcom-CAN |
|--------|-----------------------|
More Details about that can be found in the technical specification and appendix for Studer RTU Modbus protocol. Check default config (dip switches 1 and 2 off) while configuring the pin-out on the RS-485!
Multicast writes on any devices of given class, but reads only on the first available device (Not Summary!). As currently there are no writes available, 10/20/40 is useless for now.
The following parameters are valid for all thing types:
| Parameter | Type | Required | Default if omitted | Description |
@ -134,29 +153,48 @@ Bridge modbus:tcp:bridge [host="192.168.178.56", port=502, rtuEncoded=true]
...
Thing modbus:xtender:bridge:xtenderdevice "Xtender" (modbus:serial:modbusbridge) [ slaveAddress=10, refresh=5 ]
Thing modbus:xtender:bridge:xtender_Phase1 "Xtender" (modbus:serial:modbusbridge) [ slaveAddress=11, refresh=5 ]
Thing modbus:variostring:bridge:variostring_left "Xtender" (modbus:serial:modbusbridge) [ slaveAddress=41, refresh=5 ]
Thing modbus:variostring:bridge:variostring_right "Xtender" (modbus:serial:modbusbridge) [ slaveAddress=42, refresh=5 ]
Thing modbus:bsp:bridge:byd "BydBox" (modbus:serial:modbusbridge) [ slaveAddress=61, refresh=5 ]
```
Note: Make sure that refresh and slave address are numerical, without quotes.
### Item Configuration
```
Number XtenderStuderThing_InputVoltage "Input Voltage [%.2f %unit%]"
{channel="modbus:xtender:bridge:xtenderdevice:inputVoltage"}
Number Studer_Xtender_Phase1_InputVoltage "Input Voltage [%.2f V]" {channel="modbus:xtender:bridge:xtender_Phase1:inputVoltage"}
Number Studer_Xtender_Phase1_InputCurrent "Input Current [%.2f A]" {channel="modbus:xtender:bridge:xtender_Phase1:inputCurrent"}
String Studer_Xtender_Phase1_StateInverter "State: [%s]" {channel="modbus:xtender:bridge:xtender_Phase1:stateInverter"}
Number XtenderStuderThing_InputCurrent "Input Current [%.2f %unit%]" {channel="modbus:xtender:bridge:xtenderdevice:inputCurrent"}
Number Studer_PVCurrent_Left "Current [%.2f]" {channel="modbus:variostring:bridge:variostring_left:PVCurrent"}
Number Studer_PVPower_Left "Power" {channel="modbus:variostring:bridge:variostring_left:PVPower"}
Number Studer_ProductionPVCurrentDay_Left "ProductionCurrentDay [%.3f kW]" {channel="modbus:variostring:bridge:variostring_left:ProductionPVCurrentDay"}
String Studer_PVMode_Left "Mode: [%s]" {channel="modbus:variostring:bridge:variostring_left:PVMode"}
String Studer_stateVarioString_Left "State: [%s]" {channel="modbus:variostring:bridge:variostring_left:stateVarioString"}
String XtenderStuderThing_StateInverter "State: [%s]" {channel="modbus:xtender:bridge:xtenderdevice:stateInverter"}
Number Studer_BSP_SOC "State: [%s]" {channel="modbus:bsp:bridge:byd:stateOfCharge"}
Number Studer_BSP_batteryVoltage "Battery Voltage: [%s]" {channel="modbus:bsp:bridge:byd:batteryVoltage"}
```
### Sitemap Configuration
```
Text item=XtenderStuderThing_InputVoltage
Text item=XtenderStuderThing_InputCurrent
Text item=XtenderStuderThing_StateInverter
Text item=Studer_Xtender_Phase1_InputVoltage
Text item=Studer_Xtender_Phase1_InputCurrent
Text item=Studer_Xtender_Phase1_StateInverter
Chart item=XtenderStuderThing_InputVoltage period=D refresh=600000
Chart item=XtenderStuderThing_InputCurrent period=D refresh=30000
```
Chart item=Studer_Xtender_Phase1_InputVoltage period=D refresh=600000
Chart item=Studer_Xtender_Phase1_InputCurrent period=D refresh=30000
Text item=Studer_BSP_SOC
Text item=Studer_BSP_batteryVoltage
Text item=Studer_PVCurrent_Left
Text item=Studer_PVPower_Left
Text item=Studer_ProductionPVCurrentDay_Left
Text item=Studer_PVMode_Left
Text item=Studer_stateVarioString_Left
```

View File

@ -118,12 +118,13 @@ Once the parameter `forecastHours` will be changed, the available channel groups
### One Call API Weather and Forecast
| Parameter | Description |
|----------------|--------------------------------------------------------------------------------------------------------------------------------|
| location | Location of weather in geographical coordinates (latitude/longitude/altitude). **Mandatory** |
| Parameter | Description |
|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| location | Location of weather in geographical coordinates (latitude/longitude/altitude). **Mandatory** |
| forecastMinutes| Number of minutes for minutely precipitation forecast. Optional, the default value is 0, so by default **no** minutely forecast data is fetched. (min="0", max="60"). |
| forecastHours | Number of hours for hourly forecast. Optional, the default value is 24 (min="0", max="48"). |
| forecastDays | Number of days for daily forecast (including todays forecast). Optional, the default value is 6 (min="0", max="8"). |
| forecastHours | Number of hours for hourly forecast. Optional, the default value is 24 (min="0", max="48"). |
| forecastDays | Number of days for daily forecast (including todays forecast). Optional, the default value is 6 (min="0", max="8"). |
| numberOfAlerts | Number of alerts to be shown. Optional, the default value is 0 (min="0", max="5"). |
### One Call API History Data
@ -247,7 +248,17 @@ See above for a description of the available channels.
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-day | Number:Temperature | Expected apparent temperature in the day. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-evening | Number:Temperature | Expected apparent temperature in the evening. Only available in the One Call API |
| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay7 | apparent-night | Number:Temperature | Expected apparent temperature in the night. Only available in the One Call API |
### One Call API Weather Warnings
| Channel Group ID | Channel ID | Item Type | Description |
|-----------------------|-------------|-----------|-----------------------------------------------------|
| alerts1, alerts2, ... | event | String | Type of the warning, e.g. FROST. |
| alerts1, alerts2, ... | description | String | A detailed description of the alert. |
| alerts1, alerts2, ... | onset | DateTime | Start Date and Time for which the warning is valid. |
| alerts1, alerts2, ... | expires | DateTime | End Date and Time for which the warning is valid. |
| alerts1, alerts2, ... | source | String | The source of the alert. **Advanced** |
### UV Index
| Channel Group ID | Channel ID | Item Type | Description |

View File

@ -21,7 +21,7 @@ This binding integrates pulseaudio devices.
The Pulseaudio bridge is required as a "bridge" for accessing any other Pulseaudio devices.
You need a running pulseaudio server whith module **module-cli-protocol-tcp** loaded and accessible by the server which runs your openHAB instance. The following pulseaudio devices are supported:
You need a running pulseaudio server with module **module-cli-protocol-tcp** loaded and accessible by the server which runs your openHAB instance. The following pulseaudio devices are supported:
* Sink
* Source
@ -50,12 +50,18 @@ All devices support some of the following channels:
| slaves | String | Slave sinks of a combined sink |
| routeToSink | String | Shows the sink a sink-input is currently routed to |
## Audio sink
Sink things can register themselves as audio sink in openHAB. MP3 and WAV files are supported.
Use the appropriate parameter in the sink thing to activate this possibility (activateSimpleProtocolSink).
This requires the module **module-simple-protocol-tcp** to be present on the server which runs your openHAB instance. The binding will try to command (if not discovered first) the load of this module on the pulseaudio server.
## Full Example
### pulseaudio.things
```
Bridge pulseaudio:bridge:<bridgname> "<Bridge Label>" @ "<Room>" [ host="<ipAddress>", port=4712 ] {
Things:
Thing sink multiroom "Snapcast" @ "Room" [name="alsa_card.pci-0000_00_1f.3"] // this name corresponds to pactl list-sinks output
Thing sink multiroom "Snapcast" @ "Room" [name="alsa_card.pci-0000_00_1f.3", activateSimpleProtocolSink="true", simpleProtocolSinkPort="4711"] // the name corresponds to pactl list-sinks output
Thing source microphone "microphone" @ "Room" [name="alsa_input.pci-0000_00_14.2.analog-stereo"]
Thing sink-input openhabTTS "OH-Voice" @ "Room" [name="alsa_output.pci-0000_00_1f.3.hdmi-stereo-extra1"]
Thing source-output remotePulseSink "Other Room Speaker" @ "Other Room" [name="alsa_input.pci-0000_00_14.2.analog-stereo"]

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -3,7 +3,7 @@ id: radiothermostat
label: RadioThermostat
title: RadioThermostat - Bindings
type: binding
description: "This binding connects RadioThermostat/3M Filtrete models CT30, CT50/3M50, CT80, etc. with built-in Wi-Fi module to openHAB."
description: "![RadioThermostat logo](doc/index.jpg)"
since: 3x
install: auto
---
@ -14,6 +14,8 @@ install: auto
# RadioThermostat Binding
![RadioThermostat logo](doc/index.jpg)
This binding connects RadioThermostat/3M Filtrete models CT30, CT50/3M50, CT80, etc. with built-in Wi-Fi module to openHAB.
The binding retrieves and periodically updates all basic system information from the thermostat.
@ -59,26 +61,27 @@ The thing has a few configuration parameters:
The thermostat information that is retrieved is available as these channels:
| Channel ID | Item Type | Description |
|------------------------|----------------------|---------------------------------------------------------------------------|
| temperature | Number:Temperature | The current temperature reading of the thermostat |
| humidity | Number:Dimensionless | The current humidity reading of the thermostat (CT80 only) |
| mode | Number | The current operating mode of the HVAC system |
| fan_mode | Number | The current operating mode of the fan |
| program_mode | Number | The program schedule that the thermostat is running (CT80 Rev B only) |
| set_point | Number:Temperature | The current temperature set point of the thermostat |
| status | Number | Indicates the current running status of the HVAC system |
| fan_status | Number | Indicates the current fan status of the HVAC system |
| override | Number | Indicates if the normal program set-point has been manually overridden |
| hold | Switch | Indicates if the current set point temperature is to be held indefinitely |
| day | Number | The current day of the week reported by the thermostat (0 = Monday) |
| hour | Number | The current hour of the day reported by the thermostat (24 hr) |
| minute | Number | The current minute past the hour reported by the thermostat |
| dt_stamp | String | The current day of the week and time reported by the thermostat (E HH:mm) |
| today_heat_runtime | Number:Time | The total number of minutes of heating run-time today |
| today_cool_runtime | Number:Time | The total number of minutes of cooling run-time today |
| yesterday_heat_runtime | Number:Time | The total number of minutes of heating run-time yesterday |
| yesterday_cool_runtime | Number:Time | The total number of minutes of cooling run-time yesterday |
| Channel ID | Item Type | Description |
|------------------------|----------------------|------------------------------------------------------------------------------------------------------------------------------------|
| temperature | Number:Temperature | The current temperature reading of the thermostat |
| humidity | Number:Dimensionless | The current humidity reading of the thermostat (CT80 only) |
| mode | Number | The current operating mode of the HVAC system |
| fan_mode | Number | The current operating mode of the fan |
| program_mode | Number | The program schedule that the thermostat is running (CT80 Rev B only) |
| set_point | Number:Temperature | The current temperature set point of the thermostat |
| status | Number | Indicates the current running status of the HVAC system |
| fan_status | Number | Indicates the current fan status of the HVAC system |
| override | Number | Indicates if the normal program set-point has been manually overridden |
| hold | Switch | Indicates if the current set point temperature is to be held indefinitely |
| remote_temp | Number:Temperature | Override the internal temperature as read by the thermostat's temperature sensor; Set to -1 to return to internal temperature mode |
| day | Number | The current day of the week reported by the thermostat (0 = Monday) |
| hour | Number | The current hour of the day reported by the thermostat (24 hr) |
| minute | Number | The current minute past the hour reported by the thermostat |
| dt_stamp | String | The current day of the week and time reported by the thermostat (E HH:mm) |
| today_heat_runtime | Number:Time | The total number of minutes of heating run-time today |
| today_cool_runtime | Number:Time | The total number of minutes of cooling run-time today |
| yesterday_heat_runtime | Number:Time | The total number of minutes of heating run-time yesterday |
| yesterday_cool_runtime | Number:Time | The total number of minutes of cooling run-time yesterday |
## Full Example
@ -159,6 +162,9 @@ Number:Time Therm_todaycool "Today's Cooling Runtime [%d %unit%]" { channe
Number:Time Therm_yesterdayheat "Yesterday's Heating Runtime [%d %unit%]" { channel="radiothermostat:rtherm:mytherm1:yesterday_heat_runtime" }
Number:Time Therm_yesterdaycool "Yesterday's Cooling Runtime [%d %unit%]" { channel="radiothermostat:rtherm:mytherm1:yesterday_cool_runtime" }
// Override the thermostat's temperature reading with a value from an external sensor, set to -1 to revert to internal temperature mode
Number:Temperature Therm_Rtemp "Remote Temperature [%d]" <temperature> { channel="radiothermostat:rtherm:mytherm1:remote_temp" }
// A virtual switch used to trigger a rule to send a json command to the thermostat
Switch Therm_mysetting "Send my preferred setting"
```
@ -181,9 +187,12 @@ sitemap radiotherm label="My Thermostat" {
Text item=Therm_Override icon="smoke"
Switch item=Therm_Hold icon="smoke"
// Example of overriding the thermostat's temperature reading
Switch item=Therm_Rtemp label="Remote Temp" icon="temperature" mappings=[60="60", 75="75", 80="80", -1="Reset"]
// Virtual switch/button to trigger a rule to send a custom command
// The ON value displays in the button
Switch item=Therm_mysetting mappings=[ON="Heat, 58, hold"]
Switch item=Therm_mysetting mappings=[ON="Heat, 68, hold"]
Text item=Therm_Day
Text item=Therm_Hour
@ -212,6 +221,6 @@ then
}
// JSON to send directly to the thermostat's '/tstat' endpoint
// See RadioThermostat_CT50_Honeywell_Wifi_API_V1.3.pdf for more detail
actions.sendRawCommand('{"hold":1, "t_heat":' + "58" + ', "tmode":1}')
actions.sendRawCommand('{"hold":1, "t_heat":' + "68" + ', "tmode":1}')
end
```

View File

@ -25,6 +25,11 @@
<description>The frequency at which readable characteristics refreshed</description>
<default>30</default>
</parameter>
<parameter name="alwaysConnected" type="boolean">
<label>Connect Automatically</label>
<description>If enabled, will automatically connect to the device and reconnect if connection is lost.</description>
<default>true</default>
</parameter>
</config-description>
</thing-type>

View File

@ -290,6 +290,17 @@
</channels>
</channel-group-type>
<channel-group-type id="oneCallAlerts">
<label>Weather Warnings</label>
<description>Weather warnings issued for the requested location.</description>
<channels>
<channel id="event" typeId="alert-event"/>
<channel id="description" typeId="alert-description"/>
<channel id="onset" typeId="alert-onset"/>
<channel id="expires" typeId="alert-expires"/>
<channel id="source" typeId="alert-source"/>
</channels>
</channel-group-type>
<!-- Channels for OpenWeatherMap Binding -->
<channel-type id="station-id">
@ -769,4 +780,41 @@
<category>Rain</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="alert-event">
<item-type>String</item-type>
<label>Type</label>
<description>Type of the warning, e.g. FROST.</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="alert-description">
<item-type>String</item-type>
<label>Description</label>
<description>A detailed description of the alert.</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="alert-onset">
<item-type>DateTime</item-type>
<label>Valid From</label>
<description>Start Date and Time for which the warning is valid.</description>
<category>Time</category>
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="alert-expires">
<item-type>DateTime</item-type>
<label>Valid To</label>
<description>End Date and Time for which the warning is valid.</description>
<category>Time</category>
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="alert-source" advanced="true">
<item-type>String</item-type>
<label>Source</label>
<description>Source of the alert.</description>
<state readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -233,7 +233,6 @@
<channel-group id="forecastHours23" typeId="oneCallHourly"/>
<channel-group id="forecastHours24" typeId="oneCallHourly"/>
<channel-group id="forecastToday" typeId="oneCallDaily">
<label>One Call API Todays Forecast</label>
<description>This is the weather forecast for today from the one call API.</description>

View File

@ -10,6 +10,7 @@
</supported-bridge-type-refs>
<label>A Pulseaudio Sink</label>
<description>represents a pulseaudio sink</description>
<category>Speaker</category>
<channels>
<channel id="volume" typeId="volume"/>
@ -21,6 +22,17 @@
<label>Name</label>
<description>The name of one specific device.</description>
</parameter>
<parameter name="activateSimpleProtocolSink" type="boolean" required="false">
<label>Create an Audio Sink with simple-protocol-tcp</label>
<description>Activation of a corresponding sink in OpenHAB (module-simple-protocol-tcp must be available on the
pulseaudio server)</description>
<default>false</default>
</parameter>
<parameter name="simpleProtocolSinkPort" type="integer" required="false">
<label>Simple Protocol Port</label>
<description>Default Port to allocate for use by module-simple-protocol-tcp on the pulseaudio server</description>
<default>4711</default>
</parameter>
</config-description>
</thing-type>

View File

@ -22,6 +22,7 @@
<channel id="hold" typeId="hold"/>
<channel id="status" typeId="status"/>
<channel id="fan_status" typeId="fan_status"/>
<channel id="remote_temp" typeId="remote_temp"/>
<channel id="day" typeId="t_day"/>
<channel id="hour" typeId="t_hour"/>
<channel id="minute" typeId="t_minute"/>
@ -157,6 +158,14 @@
<state min="0" max="2" pattern="%d"/>
</channel-type>
<channel-type id="remote_temp" advanced="true">
<item-type>Number:Temperature</item-type>
<label>Remote Temperature</label>
<description>The remote temperature takes the place of the ambient temperature as read by the local thermostat
temperature sensor</description>
<state pattern="%d %unit%"/>
</channel-type>
<channel-type id="t_day" advanced="true">
<item-type>Number</item-type>
<label>Day</label>