-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Samples WAC Binding
Our WAC systems use default modbus data provided by Arduino barebones e.g. a Debian Rasberry server kit all year long. Binding is compatible with latest models since 2013' See Examples of typical WAC Bindings, if you have any suggestions or questions don't hesitate to contact us or use our Github account. The snapshot version of our industry4.0 binding can be downloaded, together with the rest of openhab.
/*
*
* Error
*
*/
Contact HeatError "Plate Heat Frost Protection [MAP(alarm_en.map):%s]"
<siren> { modbus = "wxwacC:0" }
Contact FireError "Fire alarm: [MAP(alarm_en.map):%s]"
<fire> {modbus="wxwacC:1"}
Contact FilterError "Dirty Filter alarm [MAP(filter_en.map):%s]"
<siren> { modbus = "wxwacC:2" }
Contact FanError "Fans alarm [MAP(alarm_en.map):%s]"
<siren> { modbus = "wxwacC:3" }
//4 is missing?
Contact LowPowerError "LowPower alarm [MAP(alarm_en.map):%s]"
<energy> { modbus = "wxwacC:5" }
Contact TemperatureExtractError "Temperature sensor alarm [MAP(alarm_en.map):%s]"
<siren> { modbus = "wxwacC:6" }
Contact TemperatureExhaustError "Exhaust air temperature sensor alarm [MAP(alarm_en.map):%s]"
<siren> { modbus = "wxwacC:7" }
Contact TemperatureImitError "Supply air temperature sensor alarm [MAP(alarm_en.map):%s]"
<siren> { modbus = "wxwacC:8" }
Contact RHError "DTJ(100) humidity sensor alarm \n
<br/><small>(controller works in determing the moisture content of 70%)</small> [MAP(alarm_en.map):%s]" <siren> { modbus = "wxwacC:9" }
Contact ReturnWaterError "Return water temperature sensor alarm [MAP(alarm_en.map):%s]"
<siren> { modbus = "wxwacC:10" }
Contact TemperatureOutDoorError "Outside air temperature sensor alarm \n
<br/><small>(controller continues to work in determing
<br/>ToutDoor less than zero degree)</small>"
<siren> { modbus = "wxwacC:11" }
/*
*
* Status Fields
*
*/
Contact MotorActive "Fans [MAP(active_en.map):%s]"
<fan> { modbus = "wxwacC:12" }
Number Motor1 "Motor 1 fan speed value [%s]"
<fan> { modbus = "wxwacI2:0"}
Number Motor2 "Motor 2 fan speed value [%s]"
<fan> { modbus = "wxwacI2:1"}
Number Speed "Fans speed Settings [%s]"
<fan> { modbus = "wxwacH:0"}
Number InDumpper "Outside air damper actuator [%.1f %]"
<procentage> { modbus = "wxwacI1:0" }
Contact Preheater "Preheater indication"
<sensor> { modbus = "wxwacC:15" }
Contact Heater "Heater indication"
<sensor> { modbus = "wxwacC:15" }
Number TemperatureSetPoint "Supply air temperature set [%.1f °C]"
<temperature> { modbus = "wxwacH:1"}
Number TemperatureLimit "Supply air temperature value [%.1f °C]"
<temperature> { modbus = "wxwacI2:3"}
Number RH_value "DTJ(100) humidity sensor value [%.1f %]"
<procent> { modbus = "wxwacI2:0"}
Number TemperatureExhaust "DTJ(100) temperature sensor value [%.1f °C]"
<temperature> { modbus = "wxwacI2:4"}
Number TemperatureExtract "Exhaust air temperature sensor value [%.1f °C]"
<temperature> { modbus = "wxwacI2:5"}
Number TemperatureOutDoor "Outside air temperature sensor value [%.1f °C]"
<temperature> { modbus = "wxwacI2:6"}
Number TemperatureWater "Return water temperature value [%.1f °C]"
<temperature> { modbus = "wxwacI2:7"}
user=password,user,role
# This is the default configuration file, which comes with every openHAB distribution.
# You should do a copy of it with the name 'openhab.cfg' and configure your personal
# settings in there. This way you can be sure that they are not overwritten, if you
# update openHAB one day.
#######################################################################################
##### General configurations #####
#######################################################################################
# Configuration folders (must exist as a subdirectory of "configurations"; the value
# tells the number of seconds for the next scan of the directory for changes. A
# value of -1 deactivates the scan).
# A comma separated list can follow after the refresh value. This list defines a filter
# for valid file extensions for the models.
folder:items=10,items
folder:sitemaps=10,sitemap
folder:rules=10,rules
folder:scripts=10,script
folder:persistence=10,persist
# configures the security options. The following values are valid:
# ON = security is switched on generally
# OFF = security is switched off generally
# EXTERNAL = security is switched on for external requests
# (e.g. originating from the Internet) only
# (optional, defaults to 'OFF')
#security:option=
# the Netmask to define a range of internal IP-Addresses which doesn't require
# authorization (optional, defaults to '192.168.1.0/24')
#security:netmask=
# The name of the default persistence service to use
persistence:default=rrd4j
# The refresh interval for the main configuration file. A value of '-1'
# deactivates the scan (optional, defaults to '-1' hence scanning is deactivated)
#mainconfig:refresh=
################################## Chart Servlet ######################################
#
# This section defines the configuration for the chart servlet.
chart:provider=default
#
# Set the default height of a chart if the client doesn't provide this in the request
# defaults to 240
#chart:defaultHeight=240
#
# Set the default width of a chart if the client doesn't provide this in the request
# defaults to 480
#chart:defaultWidth=480
#
# Set a scale factor. This is used if the client sets the size in the request.
# defaults to 1 (ie no scaling)
#chart:scale=1
#######################################################################################
##### Action configurations #####
#######################################################################################
######################## Mail Action configuration ####################################
#
# The SMTP server hostname, e.g. "smtp.gmail.com"
#mail:hostname=
# the SMTP port to use (optional, defaults to 25 (resp. 587 for TLS))
#mail:port=
# the username and password if the SMTP server requires authentication
#mail:username=
#mail:password=
# The email address to use for sending mails
#mail:from=
# set to "true", if TLS should be used for the connection
# (optional, defaults to false)
#mail:tls=
# set to "true", if POP before SMTP (another authentication mechanism)
# should be enabled. Username and Password are taken from the above
# configuration (optional, default to false)
#mail:popbeforesmtp=
########################## XMPP Action configuration ##################################
#
# The XMPP server to use, e.g. "jabber.org", "talk.google.com" or "talkx.l.google.com"
#xmpp:servername=
# The XMPP Proxyserver to use, e.g. "gmail.com"
#xmpp:proxy=
# the server port to use (optional, defaults to 5222)
#xmpp:port=
# the username and password for the sending XMPP account
#xmpp:username=
#xmpp:password=
# a comma separated list of users that are allowed to use the XMPP console
#xmpp:consoleusers=
# the multi user chat to join, e.g. openhab@chat.example.com
#xmpp:chatroom=
# the nickname used in the multi user chat (optional, defaults to openhab-bot)
#xmpp:chatnickname=
# the password required to join the multi user chat
#xmpp:chatpassword=
########################## Prowl Action configuration #################################
#
# the apikey for authentication (generated on the Prowl website)
#prowl:apikey=
# the default priority of a Prowl notifications (optional, defaults to '0')
#prowl:defaultpriority=
# the url of the Prowl public api
# (optional, defaults to 'https://prowl.weks.net/publicapi/')
#prowl:url=
########################### Twitter Action configuration ##############################
#
# The ConsumerKey, ConsumerSecret combination (optional, defaults to official Twitter-App
# Key-Secret-Combination)
#twitter:key=
#twitter:secret=
# Flag to enable/disable the Twitter client (optional, defaults to 'false')
#twitter:enabled=
#################### Notify my Android (NAM) Action configuration #####################
#
# The timeout for the communication with the NMA service (optional, defaults
# to 10000 milliseconds)
#nma:timeout=
# If you have a developerKey from NMA you can set it here, but this completely optional
#nma:developerKey=
# The default api key to send messages to. Api keys can be created in your accounts dashboard.
#nma:apiKey=
# The application name which NMA will show (optional, defaults to 'openHAB').
#nma:appName=
# The priority to use for messages if not specified otherwise. Can range from
# -2 (lowest) to 2 (highest)
#nma:defaultPriority=
# The URL to attach to NMA messages by default if not specified otherwise. Can be left empty.
#nma:defaultUrl=
#######################################################################################
##### I/O component configurations #####
#######################################################################################
########################## Google Calendar configuration ##############################
#
# the username and password for Google Calendar Account
#gcal:username=
#gcal:password=
# the url of the calendar feed
#gcal:url=
# the filter criteria for full text query (optional)
#gcal:filter=
# refresh interval in milliseconds (optional, defaults to 900000 [15 minutes])
#gcal:refresh=
############################# Dropbox configuration ###################################
#
# Operates the Synchronizer in fake mode which avoids up- or downloading files to and from Dropbox.
# This is meant as testMode for the filter settings (optional, defaults to false)
#dropbox:fakemode=
# the up- and download interval as Cron-Expression. See the Quartz-Tutorial
# http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06
# for more information on how to use them best (optional, defaults to '0 0/5 * * * ?'
# which means every 5 minutes)
#dropbox:uploadInterval=
#dropbox:downloadInterval=
# the AppKey, AppSecret combination (optional, defaults to official Dropbox-App
# Key-Secret-Combination)
#dropbox:appkey=
#dropbox:appsecret=
# defines the mode how files are synchronized with dropbox. Valid SyncModes are
# 'DROPBOX_TO_LOCAL', 'LOCAL_TO_DROPBOX' and 'BIDIRECTIONAL' (optional, defaults
# to 'LOCAL_TO_DROPBOX')
#dropbox:syncmode=
# the base directory to synchronize with openHAB, configure 'filter' to select
# files (optional, defaults to '.')
#dropbox:contentdir=
# defines a comma separated list of regular expressions which matches the
# filenames to upload to Dropbox (optional, defaults to '/configurations/.*,
# /logs/.*, /etc/.*')
#dropbox:uploadfilter=
# defines a comma separated list of regular expressions which matches the
# filenames to download from Dropbox (optional, defaults to '/configurations/.*')
#dropbox:downloadfilter=
############################# MaryTTS configuration ###################################
#
# the default voice used by the MaryTTS engine. Available voices are: bits1-hsmm
# (german, female), bits3-hsmm (german, male), cmu-slt-hsmm (english, male) (optional,
# defaults to the systems' default voice or the first available voice)
#marytts:voice=
#######################################################################################
##### Persistence configurations #####
#######################################################################################
######################## Open.Sen.se Persistence Service ##############################
#
# the url of the Open.Sen.se public api (optional, defaults to
# 'http://api.sen.se/events/?sense_key=')
#sense:url=
# the Open.Sen.se API-Key for authentication (generated on the Open.Sen.se website)
#sense:apikey=
######################### Logging Persistence Service #################################
#
# the logback encoder pattern to use to write log entries
# see http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout for all options
# the item name is available as the "logger" name, the state as the "msg"
logging:pattern=%date{ISO8601} - %-25logger: %msg%n
########################### Db4o Persistence Service ##################################
#
# the backup interval as Cron-Expression (optional, defaults to '0 0 1 * * ?'
# which means every morning at 1 o'clock)
#db4o:backupinterval=
# the commit interval in seconds (optional, default to '5')
#db4o:commitinterval=
# the amount of backup files allowed in DB_FOLDER_NAME (optional, defaults
# to '7')
#db4o:maxbackups=
############################ SQL Persistence Service ##################################
# the database url like 'jdbc:mysql://<host>:<port>/<user>'
#mysql:url=
# the database user
#mysql:user=
# the database password
#mysql:password=
############################ Cosm Persistence Service #################################
#
# the url of the Cosm feed (optional, defaults to 'http://api.cosm.com/v2/feeds/')
#cosm:url=
# the Cosm API-Key for authentication (generated on the Cosm website)
#cosm:apikey=
############################ GCal Persistence Service #################################
#
# the username and password for Google Calendar Account
#gcal-persistence:username=
#gcal-persistence:password=
# the url of the calendar feed
#gcal-persistence:url=
# the offset (in days) new calendar entries will be created in future (optional,
# defaults to 14)
#gcal-persistence:offset=
# the base script which is written to the newly created Calendar-Events by
# the GCal-based presence simulation. It must contain two format markers '%s'.
# The first marker represents the Item to send the command to and the second
# represents the State (optional, defaults to
# '> if (PresenceSimulation.state == ON) sendCommand(%s,%s)')
#gcal-persistence:executescript=
################################# MQTT Persistence #########################################
#
# Name of the broker as defined in the section MQTT Transport
# mqtt-persistence:broker=
# The MQTT topic to which the persistence messages should be sent.
# mqtt-persistence:topic=
# A string representing the persistence message content.
# mqtt-persistence:message=
#######################################################################################
##### Binding configurations #####
#######################################################################################
################################ KNX Binding ##########################################
#
# KNX gateway IP address
# (optional, if serialPort or connection type 'ROUTER' is specified)
#knx:ip=
# KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults to TUNNEL)
# Note: If you cannot get the ROUTER mode working (even if it claims it is connected),
# use TUNNEL mode instead with setting both the ip of the KNX gateway and the localIp.
#knx:type=
# KNX gateway port (optional, defaults to 3671)
#knx:port=
# Local endpoint to specify the multicast interface, no port is used (optional)
#knx:localIp=
# Serial port of FT1.2 KNX interface (ignored, if ip is specified)
# Valid values are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux
#knx:serialPort=
# Pause in milliseconds between two read requests on the KNX bus during
# initialization (optional, defaults to 50)
#knx:pause=
# Timeout in milliseconds to wait for a response from the KNX bus (optional,
# defaults to 10000)
#knx:timeout
# Number of read retries while initialization items from the KNX bus (optional,
# defaults to 3)
#knx:readRetries
# Seconds between connect retries when KNX link has been lost
# 0 means never retry, it will only reconnect on next write or read request
# Note: without periodic retries all events will be lost up to the next read/write
# request
# (optional, default is 0)
#knx:autoReconnectPeriod=30
############################# Bluetooth Binding #######################################
#
# Bluetooth refresh rate in seconds
# (defines, how often a new device detection scan is performed)
#bluetooth:refresh=20
############################## OneWire Binding ########################################
#
# OwServer IP address
#onewire:ip=
# OwServer Port (optional, defaults to 4304)
#onewire:port=
# refresh interval in milliseconds (optional, defaults to 60000)
#onewire:refresh=
# the retry count in case no valid value was returned
# upon read (optional, defaults to 3)
#onewire:retry=
# defines which temperature scale owserver should return temperatures in. Valid
# values are CELSIUS, FAHRENHEIT, KELVIN, RANKIN (optional, defaults to CELSIUS).
#onewire:tempscale=
########################### NetworkHealth Binding #####################################
#
# Default timeout in milliseconds if none is specified in binding configuration
# (optional, default to 5000)
#networkhealth:timeout=
# refresh interval in milliseconds (optional, default to 60000)
#networkhealth:refresh=
############################### HTTP Binding ##########################################
#
# timeout in milliseconds for the http requests (optional, defaults to 5000)
#http:timeout=
# the interval in milliseconds when to find new refresh candidates
# (optional, defaults to 1000)
#http:granularity=
# configuration of the first cache item
# http:<id1>.url=
# http:<id1>.updateInterval=
# configuration of the second cache item
# http:<id2>.url=
# http:<id2>.updateInterval=
############################# Fritz!Box Binding #######################################
#
# Please note: To be able to connect to the monitor port, the "CallMonitor" must be
# activated by dialing "#96*5*" once on a telephone that is connected to the Fritz!Box.
# IP address of Fritz!Box to connect to
#fritzbox:ip=fritz.box
############################### Asterisk Binding ######################################
#
# Please note: The Asterisk Management Interface (AMI) has to be activated in the
# manager.conf file of your Asterisk PBX.
# hostname of the AMI
#asterisk:host=
# the username and password to login to the AMI
#asterisk:username=
#asterisk:password=
################################ NTP Binding ##########################################
#
# refresh interval in milliseconds (optional, defaults to 900000 [15 minutes])
#ntp:refresh=
# the hostname of the timeserver
ntp:hostname=ptbtime1.ptb.de
################################ MPD Binding ##########################################
#
# Host and port of the first MPD to control
# mpd:<player-id-1>.host=
# mpd:<player-id-1>.port=
# The password to authenticate against the MPD server (optional, can be null to
# indicate that no authentication is required)
# mpd:<player-id-1>.password=
# Host and port of the second MPD to control
# mpd:<player-id-2>.host=
# mpd:<player-id-2>.port=
# The password to authenticate against the MPD server (optional, can be null to
# indicate that no authentication is required)
# mpd:<player-id-2>.password=
################################ VDR Binding ##########################################
#
# Host and port of the first VDR to control
# vdr:<vdr-id-1>.host=
# vdr:<vdr-id-1>.port=6419
# Host and port of the second VDR to control
# vdr:<vdr-id-2>.host=
# vdr:<vdr-id-2>.port=6419
################################ SNMP Binding #########################################
#
# Listening Port (optional, defaults to '162')
#snmp:port=
# The SNMP community to listen to (optional, defaults to 'public')
#snmp:community=
# The SNMP retry timeout (in milliseconds). Defaults to 1500.
# Sets the number of milliseconds between retries.
#snmp:timeout=
# The SNMP number of retries. Defaults to 0.
# Sets the number of retries before aborting the request.
#snmp:retries=
######################## Novelan (Siemens) Heatpump Binding ###########################
#
# IP address of the Novelan (Siemens) Heatpump to connect to
#novelanheatpump:ip=
# refresh interval in milliseconds (optional, defaults to 60000)
#novelanheatpump:refresh=
############################### Cups Binding ##########################################
#
# CupsServer IP address or Host name
#cups:host=
# CupsServer Port (optional, defaults to 631)
#cups:port=
# refresh interval in milliseconds (optional, defaults to 60000)
#cups:refresh=
############################ IHC / ELKO LS Binding ####################################
#
# Controller IP address
#ihc:ip=
# Username and password for Controller
#ihc:username=
#ihc:password=
# Timeout for controller communication
#ihc:timeout=5000
############################## Plugwise Binding #######################################
#
# "stick" is reserved plug wise id
#plugwise:stick.port=
# interval in ms to wait between messages sent on the ZigBee network
#plugwise:stick.interval=150
# "circleplus" is reserved plug wise id
#plugwise:circleplus.mac=
#plugwise:<plugwise-id-1>.mac=
############################### Modbus Binding ########################################
#
# sets refresh interval to Modbus polling service.
# Value in milliseconds (optional, defaults to 200)
modbus:poll=800
# host (mandatory)
modbus:tcp.wxwacC.connection=192.168.1.144:502
# The data type, can be "coil" "discrete" "holding" "input"
modbus:tcp.wxwacC.type=coil
# the TCP port (optional, defaults to '502')
#modbus:tcp.wxwacC.port=502
# The slave id (optional, defaults to '1')
modbus:tcp.wxwacC.id=1
# The slave start address (optional, defaults to '0')
modbus:tcp.wxwacC.start=0
# The number of data item to read
# (optional, defaults to '0' - but set it to something meaningful)
modbus:tcp.wxwacC.length=16
### Air Dumper
modbus:tcp.wxwacI.connection=192.168.1.144:502
modbus:tcp.wxwacI.id=1
modbus:tcp.wxwacI.type=input
modbus:tcp.wxwacI.start=13
modbus:tcp.wxwacI.length=1
### Fan temp and Air Temperature
modbus:tcp.wxwacH.connection=192.168.1.144:502
modbus:tcp.wxwacH.id=1
modbus:tcp.wxwacH.type=holding
modbus:tcp.wxwacH.start=16
modbus:tcp.wxwacH.length=2
### misc
modbus:tcp.wxwacI2.connection=192.168.1.144:502
modbus:tcp.wxwacI2.id=1
modbus:tcp.wxwacI2.type=input
modbus:tcp.wxwacI2.start=18
modbus:tcp.wxwacI2.length=8
############################### PLC Bus Binding #######################################
#
# PLCBus adapter serial port
#plcbus:port=
################################# DMX Binding #########################################
#
# The combined connection String, e.g. 'localhost:9010' (optional, defaults to
# 'localhost:9010' or 'localhost:9020' depending on the choosen connection type)
#dmx:connection=
############################### Philips Hue Binding ###################################
#
# IP address of Hue Bridge (optional, default is auto-discovery)
#hue:ip=
# Default secret key for the pairing of the Philips Hue Bridge.
# It has to be between 10-40 (alphanumeric) characters
# This may be changed by the user for security reasons.
hue:secret=openHABRuntime
################################ RFXCOM Binding #######################################
#
# Serial port of RFXCOM interface
# Valid values are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux
#rfxcom:serialPort=
# Set mode command for controller (optional)
# E.g. rfxcom:setMode=0D000000035300000C2F00000000
#rfxcom:setMode=
############################## Pulseaudio Binding #####################################
#
# PulseaudioServer IP address
#pulseaudio:Main.host=
# PulseaudioServer Port (optional, defaults to 4712)
#pulseaudio:Main.port=
############################### Homematic Binding #####################################
#
# Hostname / IP address of the Homematic CCU
#homematic:host=
# Hostname / IP address for the callback server (optional, default is auto-discovery)
# This is normally the IP / hostname of the local host
# (but not "localhost" or "127.0.0.1").
#homematic:callback.host=
# Port number for the callback server. (optional, defaults to 9123)
#homematic:callback.port=
################################ Koubachi Binding #####################################
#
# refresh interval in milliseconds (optional, defaults to 900000ms, 15m)
#koubachi:refresh
# The URL of the Device list (optional, defaults to
# 'https://api.koubachi.com/v2/user/smart_devices?user_credentials=%1$s&app_key=%2$s')
#koubachi:deviceurl
# The URL of the Plant list (optional, defaults to
# 'https://api.koubachi.com/v2/plants?user_credentials=%1$s&app_key=%2$s')
#koubachi:planturl
# The URL for care actions (optional, defaults to
# 'https://api.koubachi.com/v2/plants/%3$s/tasks?user_credentials=%1$s&app_key=%2$s')
#koubachi:tasksurl
# The single access token configured at http://labs.kpubachi.com
#koubachi:credentials
# The personal appKey configured at http://labs.koubachi.com
#koubachi:appkey
################################ Sonos Binding ########################################
#
# Host and port of the first VDR to control
#sonos:office.udn=RINCON_000XXXXXXXXX01400
#sonos:living.udn=RINCON_000YYYYYYYYY01400
################################ SAMSUNG TV Binding ###################################
#
# Host of the first TV to control
# samsungtv:<TVid1>.host=
# Port of the TV to control (optional, defaults to 55000)
# samsungtv:<TVid1>.port=
# Host of the second TV to control
# samsungtv:<TVid2>.host=
# Port of the TV to control (optional, defaults to 55000)
# samsungtv:<TVid2>.port=
################################# Onkyo Binding ######################################
#
# Host of the first Onkyo device to control
# onkyo:<OnkyoId1>.host=
# Port of the Onkyo to control (optional, defaults to 60128)
# onkyo:<OnkyoId1>.port=
# Host of the second Onkyo device to control
# onkyo:<OnkyoId2>.host=
# Port of the Onkyo to control (optional, defaults to 60128)
# onkyo:<OnkyoId2>.port=
################################ OpenSprinkler Binding ################################
#
# The type of OpenSprinkler connection to make (optional, defaults to 'gpio').
# There are two valid options:
#
# gpio: this mode is only applicable when running openHAB on a Raspberry Pi, which
# is connected directly to an OpenSprinkler Pi. In this mode the communication
# is directly over the GPIO pins of the Raspberry Pi
# http: this mode is applicable to both OpenSprinkler and OpenSprinkler Pi, as long as
# they are running the interval program. Realistically though if you have an
# OpenSprinkler Pi, it makes more sense to directly connect via gpio mode.
# openSprinkler:mode=
# If the http mode is used, you need to specify the url of the internal program,
# and the password to access it. By default the password is 'opendoor'.
# openSprinkler:httpUrl=http://localhost:8080/
# openSprinkler:httpPassword=opendoor
# The number of stations available. By default this is 8, but for each expansion board
# installed this number will can be incremented by 8 (optional, defaults to 8).
# openSprinkler:numberOfStations=
############################ Epson Projector Binding ##################################
#
# Serial port or Host and port of the first Epson projector to control
# epsonprojector:<devId1>.serialPort=
# epsonprojector:<devId1>.host=
# Port of the Epson projector to control (optional, defaults to 60128)
# epsonprojector:<devId1>.port=
# Serial port or Host and port of the second Epson projector to control
# epsonprojector:<devId2>.serialPort=
# epsonprojector:<devId2>.host=
# Port of the Epson projector to control (optional, defaults to 60128)
# epsonprojector:<devId2>.port=
################################# Zehnder ComfoAir ####################################
#
# Serial port of the Zehnder ComfoAir to connect to
#comfoair:port=/dev/ttyS0
# refresh interval in milliseconds (optional, defaults to 60000)
#comfoair:refresh=
############################### EDS OWSever Binding ###################################
#
# Host of the first OWServer device to control
# owserver:<serverId1>.host=
# Host of the second OWServer device to control
# owserver:<serverId2>.host=
################################ digitalSTROM Binding #################################
#
# URI of the digitalSTROM server (dSS)
# digitalstrom:uri=https://dss.local:8080
# Connect timeout (defaults to 4000 ms)
#digitalstrom:connectTimeout=
# Connect timeout (defaults to 10000 ms)
#digitalstrom:readTimeout=
# to login without a user and password; loginToken must be enabled once
#digitalstrom:loginToken=
# to login with username and password; default user is dssadmin and default password
# is dssadmin if you have loginToken and username with password the loginToken will
# be prefered by default
#digitalstrom:user=
#digitalstrom:password=
################################## Squeezebox Binding #################################
#
# Host of the first Squeezebox device to control
#squeeze:<boxId1>.host=
# Port of cli interface of the first Squeezebox device to control
# (optional, defaults to 9090)
#squeeze:<boxId1>.cliport=
# Webport interface of the first Squeezebox device to control (optional,
# defaults to 9000)
#squeeze:<boxId1>.webport=
# Host of the second Squeezebox device to control
#squeeze:<boxId2>.host=
# Port of cli interface of the second Squeezebox device to control (optional,
# defaults to 9090)
#squeeze:<boxId2>.cliport=
# Webport interface of the second Squeezebox device to control (optional,
# defaults to 9000)
#squeeze:<boxId2>.webport=
################################### Milight Binding ###################################
#
# Host of the first Milight bridge to control
#milight:<MilightId1>.host=
# Port of the bridge to control (optional, defaults to 50000)
#milight:<MilightId1>.port=
#
# Host of the second Milight bridge to control
#milight:<MilightId2>.host=
# Port of the bridge to control (optional, defaults to 50000)
#milight:<MilightId2>.port=
############################### Systeminfo Binding ####################################
#
# Interval in milliseconds when to find new refresh candidates
# (optional, defaults to 1000)
#systeminfo:granularity=
# Data Storage Unit, where B=Bytes, K=kB, M=MB, T=TB (optional, defaults to M)
#systeminfo:units=
################################### PiFace Binding ####################################
#
# Watchdog polling interval (optional, defaults to 60000)
#piface:watchdog.interval=
# Host of the first Raspberry PI carrying a PiFace board
#piface:<piface-id1>.host=
# Port of the Piface listener of the first RasPi (optional, defaults to 15432)
#piface:<piface-id1>.listenerport=
# Port of the Piface monitor of the first RasPi (optional, defaults to 15433)
#piface:<piface-id1>.monitorport=
# Socket timeout when sending packets to the first RasPi (optional, defaults to 1000ms)
#piface:<piface-id1>.sockettimeout=
# Number of retry attempts before failing a packet for the first RasPi (optional, defaults to 3)
#piface:<piface-id1>.maxretries=
############################# Fritz AHA Binding #######################################
#
# refresh interval in milliseconds (optional, defaults to 10000)
#fritzaha:refresh=
# Binding supports multiple AHA hosts (e.g. FRITZ!Box, Fritz!Powerline 546E). Format is
# fritzaha:<hostID>.<option>=<value>, where hostID is up to user choice
# Host name of the first AHA host (e.g. fritz.box)
#fritzaha:<hostID1>.host=
# Port of the first AHA host (optional, defaults to protocol-specific default port)
#fritzaha:<hostID1>.port=
# Protocol to connect to web interface. Supports https and http.
# Use of https requires SSL certificate to be trusted by the JRE.
# (optional, defaults to http)
#fritzaha:<hostID1>.protocol=
# Username of the first AHA host. User must have HomeAuto permissions.
# (optional for local networks, required for remote access)
#fritzaha:<hostID1>.username=
# Password of the first AHA host's web interface.
# (optional, but required if password is set in host)
#fritzaha:<hostID1>.password=
# timeout for synchronous http-connections (optional, default 2000)
#fritzaha:<hostID1>.synctimeout=
# timeout for asynchronous http-connections (optional, default 4000)
#fritzaha:<hostID1>.asynctimeout=
############################## Tinkerforge Binding ###################################
#
# IP addresses / Hostnames of the hosts running the brickd (optional port
# separated by a colon, defaults to 4223)
# tinkerforge:hosts=
######################## NIBE HEAT PUMP Binding #######################################
#
# UDP port of the Heatpump Monitor (optional, defaults to 9999)
#nibeheatpump:udpPort=
# Switch on the Nibe HeatPump Simulator (for testing purpose only)
#nibeheatpump:simulate=true
################################ Z-Wave Binding ######################################
#
# The Z-Wave controller port. Valid values are e.g. COM1 for Windows and /dev/ttyS0 or
# /dev/ttyUSB0 for Linux
#zwave:port=
# Z-Wave binding refresh value (optional, defaults to 10000)
#zwave:refresh=
# Z-Wave binding refresh interval threshold (optional, defaults to every 6 times)
#zwave:refreshThreshold=
################################ Nikobus Binding ######################################
#
# Serial Port connected to pc-link. Valid values are e.g. COM1 for Windows and /dev/ttyS0 or
# /dev/ttyUSB0 for Linux
#nikobus:serial.port=
# Directory path where the command cache file should be created.
# Optional. Defaults to the users' home directory.
#nikobus:cache.location=
# Perform a module status query every x seconds (optional, defaults to 600 (10 minutes)).
#nikobus:refresh=
################################# EnOcean Binding #####################################
#
# EnOcean USB adapter serial port
#enocean:serialPort=
################################# TCP - UDP Binding ###################################
#
# all parameters can be applied to both the TCP and UDP binding unless
# specified otherwise
# Port to listen for incoming connections
#tcp:port=25001
# Cron-like string to reconnect remote ends, e.g for unstable connection or remote ends
#tcp:reconnectron='0 0 0 * * ?'
# Interval between reconnection attempts when recovering from a communication error,
# in seconds
#tcp:retryinterval=5
# Queue data whilst recovering from a connection problem (TCP only)
#tcp:queue=true
# Maximum buffer size whilst reading incoming data
#tcp:buffersize=1024
# Share connections within the Item binding configurations
#tcp:itemsharedconnections=true
# Share connections between Item binding configurations
#tcp:bindingsharedconnections=true
# Share connections between inbound and outbound connections
#tcp:directionssharedconnections=false
# Allow masks in ip:port addressing, e.g. 192.168.0.1:* etc
#tcp:addressmask=true
# Pre-amble that will be put in front of data being sent
#tcp:preamble=''
# Post-amble that will be appended to data being sent
#tcp:postamble='\r\n'
# Perform all write/read (send/receive) operations in a blocking mode, e.g. the binding
# will wait for a reply from the remote end after data has been sent
#tcp:blocking=false
# timeout, in milliseconds, to wait for a reply when initiating a blocking write/read
# operation
#tcp:timeout=3000
# Update the status of Items using the response received from the remote end (if the
# remote end sends replies to commands)
#tcp:updatewithresponse=true
# Timeout - or 'refresh interval', in milliseconds, of the worker thread
tcp:refreshinterval=250
# Timeout, in milliseconds, to wait when "Selecting" IO channels ready for communication
#tcp:selecttimeout=1000
################################# Mqttitude Binding ###################################
#
# Mqttitude can track your presence in two ways;
#
# 1. Regions - by defining a region in your Mqttitude app (on your phone) you specify
# a set of lat/lon coordinates, a geofence, and a name - by using this name
# in your item binding openHAB will listen for enter/leave events for this
# region and thus allow you to track your presence in multiple locations
# 2. Home - by defining the lat/lon of your home, along with a geofence radius (below),
# the binding will listen for location publishes from the Mqttitude app and
# manually calculate the distance from your 'home'
#
# Optional. The latitude/longitude coordinates of 'home'.
#mqttitude:home.lat=
#mqttitude:home.lon=
# Optional. The geofence radius.
#mqttitude:geofence=
############################### OpenPaths Binding #####################################
#
# The latitude/longitude coordinates of 'home'.
#openpaths:home.lat=
#openpaths:home.long
# Interval in milliseconds to poll for user location (optional, defaults to 5mins).
#openpaths:refresh=
# Distance in metres a user must be from 'home' to be considered inside the
# geofence (optional, defaults to 100m).
#openpaths:geofence=
# OpenPaths access/secret keys for each user.
#openpaths:<name>.accesskey=<accesskey>
#openpaths:<name>.secretkey=<secretkey>
######################## Swegon ventilation Binding ###################################
#
# UDP port (optional, defaults to 9998)
#swegonventilation:udpPort=
# Switch on the Swegon Simulator (for testing purpose only)
#swegonventilation:simulate=true
################################ MAX!Cube Binding ##########################################
#
# MAX!Cube LAN gateway IP address
#maxcube:ip=
# MAX!Cube port (Optional, default to 62910)
#maxcube:port=
# MAX!Cube refresh interval in ms (Optional, default to 10000)
#maxcube:refreshInterval=
################################### Tivo Binding ###########################################
#
# The TiVo binding simply acts as a network remote control for your Tivo device. To use
# it you must therefore enable network remote control on your Tivo device. Once that is
# done, all you need to do is specify the IP address of your Tivo in the configuration
# below.
# The IP address of the Tivo host
#tivo:host=
################################ Insteon Hub Binding #######################################
#
# The IP address of the Insteon Hub
#insteonhub:host=
################################# Pioneer AVR Binding ######################################
#
# Hostname/IP of the first Pioneer device to control
#pioneeravr:livingroom.host=
# Portnumber of the Pioneer device to control (optional, defaults to 23)
#pioneeravr:livingroom.port=
# Switch for disabling the connection check (optional, defaults to 1)
#pioneeravr:livingroom.checkconn=
################################ Heatmiser Binding #########################################
#
# Refresh interval in milliseconds (optional, defaults to 2000ms)
#heatmiser:refresh
# Set the heatmiser network address
#heatmiser:address=
# Set the port number for the Heatmiser interface
#heatmiser:port=
################################### MQTT Transport #########################################
#
# Define your MQTT broker connections here for use in the MQTT Binding or MQTT
# Persistence bundles. Replace <broker> with a id you choose.
# URL to the MQTT broker, e.g. tcp://localhost:1883 or ssl://localhost:8883
#mqtt:<broker>.url=tcp://<host>:1883
# Optional. Client id (max 23 chars) to use when connecting to the broker.
# If not provided a default one is generated.
#mqtt:<broker>.clientId=<clientId>
# Optional. User id to authenticate with the broker.
# mqtt:<broker>.user=<user>
# Optional. Password to authenticate with the broker.
#mqtt:<broker>.pwd=<password>
# Optional. Set the quality of service level for sending messages to this broker.
# Possible values are 0 (Deliver at most once),1 (Deliver at least once) or 2
# (Deliver exactly once). Defaults to 0.
#mqtt:<broker>.qos=<qos>
# Optional. True or false. Defines if the broker should retain the messages sent to
# it. Defaults to false.
#mqtt:<broker>.retain=<retain>
# Optional. True or false. Defines if messages are published asynchronously or
# synchronously. Defaults to true.
#mqtt:<broker>.async=<async>
########################### Open Energy Monitor Binding ###############################
#
# UDP port of the Open Energy Monitor devices (optional, defaults to 9997)
#openenergymonitor:udpPort=9997
# For testing purposes
#openenergymonitor:simulate=true
############################## Netatmo Binding ##############################
#
# Refresh interval in milliseconds (optional, defaults to 300000)
#netatmo:refresh=
# The Netatmo client id (see http://dev.netatmo.com/dev/listapps)
#netatmo:clientid=
# The Netatmo client secret (see http://dev.netatmo.com/dev/listapps)
#netatmo:clientsecret=
# The Netatmo refresh token (see http://dev.netatmo.com/doc/authentication/usercred)
#netatmo:refreshtoken=
########################### HDanywhere Binding ###############################
#
# Optional, specify the number of input and output ports for a given HDanywhere matrix
#hdanywhere:192.168.0.88.ports=4
import org.openhab.core.library.types.*
import org.openhab.core.persistence.*
import org.openhab.model.script.actions.*
import java.lang.Math
rule "Change Filter Message by Mail"
when
Item FilterError changed
then
if( (FilterError.state as StringType) != "Ok" ){
send("wac@westaflex.net", "Please change the Filter for you Westaflex Air Control unit.")
}
end
sitemap WAC label="Main"
{
Frame label="Westaflex Air Control" {
Text label="Settings" icon="climate" {
Frame label="Inside" {
Setpoint item=TemperatureSetPoint minValue=0 maxValue=30 step=1
}
Frame label="Outside" {
Text item=TemperatureOutDoor
Text item=InDumpper /* minValue=0 maxValue=90 step=1 */
}
/* maybe to technical for normal usage */
Frame label="Motor Settings" {
Text item=MotorActive
Setpoint item=Speed minValue=0 maxValue=4 step=1
Setpoint item=Motor1 minValue=0 maxValue=3 step=1
Setpoint item=Motor2 minValue=0 maxValue=3 step=1
}
}
Text label="Maintenance" icon="settings" {
Frame label="Environment" {
Text item=HeatError
Text item=FireError
Text item=TemperatureExtractError
Text item=TemperatureExhaustError
Text item=TemperatureImitError
Text item=RHError
Text item=TemperatureOutDoorError
}
Frame label="System"{
Text item=FilterError
Text item=LowPowerError
Text item=ReturnWaterError
}
}
Text label="Statistics" icon="pie" {
Text label="Consumption" icon="pie" {
Text label="by Date" icon="pie"{
Frame {
Text item=MotorActive
}
Frame label="Hourly" {
Chart item=Motor1 period=H refresh=10000
Chart item=Motor2 period=H refresh=10000
Chart item=Preheater period=H refresh=10000
Chart item=Heater period=H refresh=10000
}
Frame label="Weekly" {
Chart item=Motor1 period=W refresh=10000
Chart item=Motor2 period=W refresh=10000
Chart item=Preheater period=W refresh=10000
Chart item=Heater period=W refresh=10000
}
Frame label="Monthly" {
Chart item=Motor1 period=M refresh=10000
Chart item=Motor2 period=M refresh=10000
Chart item=Preheater period=M refresh=10000
Chart item=Heater period=M refresh=10000
}
Frame label="Yearly" {
Chart item=Motor1 period=Y refresh=10000
Chart item=Motor2 period=Y refresh=10000
Chart item=Preheater period=Y refresh=10000
Chart item=Heater period=Y refresh=10000
}
}
Text label="by Consumer" icon="pie" {
Frame {
Text item=MotorActive
}
Frame label="Motor 1"{
Chart item=Motor1 period=H refresh=10000
Chart item=Motor1 period=W refresh=86400
Chart item=Motor1 period=M refresh=86400
Chart item=Motor1 period=Y refresh=86400
}
Frame label="Motor 2"{
Chart item=Motor2 period=H refresh=10000
Chart item=Motor2 period=W refresh=86400
Chart item=Motor2 period=M refresh=86400
Chart item=Motor2 period=Y refresh=86400
}
Frame label="Preheater"{
Chart item=Preheater period=H refresh=10000
Chart item=Preheater period=W refresh=86400
Chart item=Preheater period=M refresh=86400
Chart item=Preheater period=Y refresh=86400
}
Frame label="Heater"{
Chart item=Heater period=H refresh=10000
Chart item=Heater period=W refresh=86400
Chart item=Heater period=M refresh=86400
Chart item=Heater period=Y refresh=86400
}
}
}
Text label="Environment" icon="pie" {
Frame {
Text item=TemperatureOutDoor
}
Frame {
Chart item=TemperatureOutDoor period=D refresh=10000
Chart item=TemperatureOutDoor period=W refresh=10000
Chart item=TemperatureOutDoor period=M refresh=86400
Chart item=TemperatureOutDoor period=Y refresh=86400
}
}
}
}
}
CLOSED=Deactivated
OPEN=Active
undefined=unknown
-=not set
CLOSED=Ok
OPEN=Alarm
undefined=unknown
-=not set
Tradename | Tags | Keynote | Shortcut |
---|---|---|---|
WAC | metal components | Industry4.0 | HVAC |
New generation of ERV Energy Recovery Ventilation Systems in multi-zone modular or ceiling installation. It's perfect for the needs of craftsmen. | |||
Quadroflex | metal-to-metal-joint | any-shape tube | Fittings |
Westaflex products are used in a variety of applications including automotive production, train technology (ICE ventilation), for the air supply and ventilation of living spaces, exhaust technology and water treatment. | |||
Modbus | Utility, SCADA, Statistics | RS-232, RS-485 | DIY, Maker |
Modbus is a serial communications protocol for use with its programmable logic controllers (PLCs). Modbus enables communication between many (approximately 240) devices connected to a supervisory computer with a remote terminal unit (RTU) in supervisory control and data acquisition (SCADA) systems. | |||
Westaflex | aluminium, stainless steel, plastic | since 1933 | SME |
Westaflex is a manufacturer of HVAC appliances, commercial equipment, based in Gütersloh, Germany. It was founded as a family business and has always been a privately held, family-owned, family-run company. |
ℹ Please find all documentation for openHAB 2 under http://docs.openhab.org.
The wiki pages here contain (outdated) documentation for the older openHAB 1.x version. Please be aware that a lot of core details changed with openHAB 2.0 and this wiki as well as all tutorials found for openHAB 1.x might be misleading. Check http://docs.openhab.org for more details and consult the community forum for all remaining questions.
- Classic UI
- iOS Client
- Android Client
- Windows Phone Client
- GreenT UI
- CometVisu
- Kodi
- Chrome Extension
- Alfred Workflow
- Cosm Persistence
- db4o Persistence
- Amazon DynamoDB Persistence
- Exec Persistence
- Google Calendar Presence Simulator
- InfluxDB Persistence
- JDBC Persistence
- JPA Persistence
- Logging Persistence
- mapdb Persistence
- MongoDB Persistence
- MQTT Persistence
- my.openHAB Persistence
- MySQL Persistence
- rrd4j Persistence
- Sen.Se Persistence
- SiteWhere Persistence
- AKM868 Binding
- AlarmDecoder Binding
- Anel Binding
- Arduino SmartHome Souliss Binding
- Asterisk Binding
- Astro Binding
- Autelis Pool Control Binding
- BenQ Projector Binding
- Bluetooth Binding
- Bticino Binding
- CalDAV Binding
- Chamberlain MyQ Binding
- Comfo Air Binding
- Config Admin Binding
- CUL Transport
- CUL Intertechno Binding
- CUPS Binding
- DAIKIN Binding
- Davis Binding
- DD-WRT Binding
- Denon Binding
- digitalSTROM Binding
- DIY on XBee Binding
- DMX512 Binding
- DSC Alarm Binding
- DSMR Binding
- eBUS Binding
- Ecobee Binding
- EDS OWSever Binding
- eKey Binding
- Energenie Binding
- EnOcean Binding
- Enphase Energy Binding
- Epson Projector Binding
- Exec Binding
- Expire Binding
- Fatek PLC Binding
- Freebox Binding
- Freeswitch Binding
- Frontier Silicon Radio Binding
- Fritz AHA Binding
- Fritz!Box Binding
- FritzBox-TR064-Binding
- FS20 Binding
- Garadget Binding
- Global Caché IR Binding
- GPIO Binding
- HAI/Leviton OmniLink Binding
- HDAnywhere Binding
- Heatmiser Binding
- Homematic / Homegear Binding
- Horizon Mediabox Binding
- HTTP Binding
- IEC 62056-21 Binding
- IHC / ELKO Binding
- ImperiHome Binding
- Insteon Hub Binding
- Insteon PLM Binding
- IPX800 Binding
- IRtrans Binding
- jointSPACE-Binding
- KM200 Binding
- KNX Binding
- Koubachi Binding
- LCN Binding
- LightwaveRF Binding
- Leviton/HAI Omnilink Binding
- Lg TV Binding
- Logitech Harmony Hub
- MailControl Binding
- MAX!Cube-Binding
- MAX! CUL Binding
- MCP23017 I/O Expander Binding
- MCP3424 ADC Binding
- MiLight Binding
- MiOS Binding
- Mochad X10 Binding
- Modbus Binding
- MPD Binding
- MQTT Binding
- MQTTitude binding
- MystromEcoPower Binding
- Neohub Binding
- Nest Binding
- Netatmo Binding
- Network Health Binding
- Network UPS Tools Binding
- Nibe Heatpump Binding
- Nikobus Binding
- Novelan/Luxtronic Heatpump Binding
- NTP Binding
- One-Wire Binding
- Onkyo AV Receiver Binding
- Open Energy Monitor Binding
- OpenPaths presence detection binding
- OpenSprinkler Binding
- OSGi Configuration Admin Binding
- Panasonic TV Binding
- panStamp Binding
- Philips Hue Binding
- Picnet Binding
- Piface Binding
- PiXtend Binding
- pilight Binding
- Pioneer-AVR-Binding
- Plex Binding
- Plugwise Binding
- PLCBus Binding
- PowerDog Local API Binding
- Powermax alarm Binding
- Primare Binding
- Pulseaudio Binding
- Raspberry Pi RC Switch Binding
- RFXCOM Binding
- RWE Smarthome Binding
- Sager WeatherCaster Binding
- Samsung AC Binding
- Samsung TV Binding
- Serial Binding
- Sallegra Binding
- Satel Alarm Binding
- Siemens Logo! Binding
- SimpleBinary Binding
- Sinthesi Sapp Binding
- Smarthomatic Binding
- Snmp Binding
- Somfy URTSI II Binding
- Sonance Binding
- Sonos Binding
- Souliss Binding
- Squeezebox Binding
- Stiebel Eltron Heatpump
- Swegon ventilation Binding
- System Info Binding
- TA CMI Binding
- TCP/UDP Binding
- Tellstick Binding
- TinkerForge Binding
- Tivo Binding
- UCProjects.eu Relay Board Binding
- UPB Binding
- VDR Binding
- Velleman-K8055-Binding
- Wago Binding
- Wake-on-LAN Binding
- Waterkotte EcoTouch Heatpump Binding
- Weather Binding
- Wemo Binding
- Withings Binding
- XBMC Binding
- xPL Binding
- Yamahareceiver Binding
- Zibase Binding
- Z-Wave Binding
- Asterisk
- DoorBird
- FIND
- Foscam IP Cameras
- LG Hombot
- Worx Landroid
- Heatmiser PRT Thermostat
- Google Calendar
- Linux Media Players
- Osram Lightify
- Rainforest EAGLE Energy Access Gateway
- Roku Integration
- ROS Robot Operating System
- Slack
- Telldus Tellstick
- Zoneminder
- Wink Hub (rooted)
- Wink Monitoring
- openHAB Cloud Connector
- Google Calendar Scheduler
- Transformations
- XSLT
- JSON
- REST-API
- Security
- Service Discovery
- Voice Control
- BritishGasHive-Using-Ruby
- Dropbox Bundle
A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.
Please update the wiki if you do come across any out of date information.
- Rollershutter Bindings
- Squeezebox
- WAC Binding
- WebSolarLog
- Alarm Clock
- Convert Fahrenheit to Celsius
- The mother of all lighting rules
- Reusable Rules via Functions
- Combining different Items
- Items, Rules and more Examples of a SmartHome
- Google Map
- Controlling openHAB with Android
- Usecase examples
- B-Control Manager
- Spell checking for foreign languages
- Flic via Tasker
- Chromecast via castnow
- Speedtest.net integration