mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
8255f29320
* Fix Potential null pointer accesses * Added constants for TCP port and poll interval in seconds. * Extract interface from DanfossAirUnitCommunicationController. * Remove unused constants which seems to be left-overs from skeleton. * Added constant for discovery timeout value for readability. * Created handler subfolder for DanfossAirUnitHandler (like discovery) for consistency with other bindings. * Handle lost connection gracefully without updating all channels to zero. * Fix infinitly blocking network calls preventing proper error handling. * Fix thing status being reset to ONLINE after failing to update all channels. * Fix error handling when receiving invalid manual fan step. Fixes #11167 Fixes #11188 Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk> |
||
---|---|---|
.. | ||
src | ||
NOTICE | ||
pom.xml | ||
README.md |
DanfossAirUnit Binding
This binding supports controlling and monitoring Danfoss air units via Ethernet connection.
Supported Things
This binding has been tested/reported to work with the Danfoss Air w2 / a2 / a3 devices.
Discovery
Air units in the LAN are automatically discovered via broadcast and added to the Inbox.
Thing Configuration
These are the available configuration parameters:
host
Hostname/IP of the air unit (automatically set by discovery service)refreshInterval
Time (in seconds) between monitoring requests to the air unit. Smaller values mean more network load, typically set between a few seconds and a minute. Defaults to 10 seconds.updateUnchangedValuesEveryMillis
Minimum time between state updates sent to the event bus for a particular channel when the state of the channel didn't change. This should avoid spamming the event bus with unnecessary updates. When set to 0, all channel state are updated every time the air unit requests are sent (see refresh interval). When set to a non zero value, unchanged values are only reported after the configured timespan has passed. Changed values are always sent to the event bus. Defaults to 60.000 (one minute), so updates are sent every minute or if the state of the channel changes.
Channels
channel | channel group | type | readable only (RO) or writable (RW) | description |
---|---|---|---|---|
current_time | main | DateTime | RO | Current time reported by the air unit. |
mode | main | String | RW | Value to control the operation mode of the air unit. One of DEMAND, PROGRAM, MANUAL and OFF |
manual_fan_step | main | Dimmer | RW | Value to control the fan step when in MANUAL mode (10 steps) |
supply_fan_speed | main | Number | RO | Current rotation of the fan supplying air to the rooms (in rpm) |
extract_fan_speed | main | Number | RO | Current rotation of the fan extracting air from the rooms (in rpm) |
supply_fan_step | main | Dimmer | RO | Current step setting of the fan supplying air to the rooms |
extract_fan_step | main | Dimmer | RO | Current step setting of the fan extracting air from the rooms |
boost | main | Switch | RW | Enables fan boost |
night_cooling | main | Switch | RW | Enables night cooling |
room_temp | temps | Number:Temperature | RO | Temperature of the air in the room of the Air Dial |
room_temp_calculated | temps | Number:Temperature | RO | Calculated Room Temperature |
outdoor_temp | temps | Number:Temperature | RO | Temperature of the air outside |
humidity | humidity | Number:Dimensionless | RO | Current relative humidity measured by the air unit |
bypass | recuperator | Switch | RW | Disables the heat exchange. Useful in summer when room temperature is above target and outside temperature is below target. |
supply_temp | recuperator | Number | RO | Temperature of air which is passed to the rooms |
extract_temp | recuperator | Number | RO | Temperature of the air as extracted from the rooms |
exhaust_temp | recuperator | Number | RO | Temperature of the air when pushed outside |
battery_life | service | Number | RO | Remaining Air Dial Battery Level (percentage) |
filter_life | service | Number | RO | Remaining life of filter until exchange is necessary (percentage) |
Full Example
Things
Suppose your autodiscovered air unit is identified by the id "danfossairunit:airunit:myairunit" (see section "Discovery").
The channel will then be identified by <air unit id>:<channel group>#<channel>
You can also manually configure your air unit in case you don't want to use autodiscovery
(e. g. if you want to have a portable configuration):
Create a new file, e. g. danfoss.things
, in your things configuration folder:
Thing danfossairunit:airunit:myairunit [host="192.168.0.7",
refreshInterval=5,
updateUnchangedValuesEveryMillis=30000]
Items
Dimmer Lueftung_Drehzahl_Manuell "Drehzahl Lüftung %" (All,Lueftung) {channel = "danfossairunit:airunit:myairunit:main#manual_fan_speed"}
Number Lueftung_Drehzahl_Supply "Drehzahl Lüftung Zuluft (rpm)" (All,Lueftung) {channel = "danfossairunit:airunit:myairunit:main#supply_fan_speed"}
Number Lueftung_Drehzahl_Extract "Drehzahl Lüftung Abluft (rpm)" (All,Lueftung) {channel = "danfossairunit:airunit:myairunit:main#extract_fan_speed"}
String Lueftung_Mode "Betriebsart Lüftung" (All,Lueftung) {channel = "danfossairunit:airunit:myairunit:main#mode"}
Switch Lueftung_Boost "Stoßlüftung" (All,Lueftung) {channel = "danfossairunit:airunit:myairunit:main#boost"}
Switch Lueftung_Bypass "Lüftung Bypass" (All,Lueftung) {channel = "danfossairunit:airunit:myairunit:recuperator#bypass"}
Sitemap
Slider item=Lueftung_Drehzahl_Manuell
Text item=Lueftung_Drehzahl_Supply
Text item=Lueftung_Drehzahl_Extract
Selection item=Lueftung_Mode mappings=[DEMAND="Bedarfslüftung", OFF="Aus", PROGRAM="Programm", MANUAL="manuell"]
Switch item=Lueftung_Boost
Switch item=Lueftung_Bypass