-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
MAX!Cube Binding
Documentation of the MAX!Cube Binding Bundle
The openHAB MAX!Cube binding allows to connect to (ELV) MAX!Cube Lan Gateway installations. The binding allows to communicate with the MAX! devices through the MAX!Cube Lan Gateway.
To communicate with MAX! devices, a already setup MAX! environment including a MAX!Cube Lan Gateway is required. In addition, the binding expects an already set up MAX environment.
No configuration is required in basic setting. The MaxCube is automatically discovered from the network. You can configure the MAX!Cube Lan Gateway IP address in the openhab.cfg file. If not configured via DHCP, the factory default address of the MAX!Cube is 192.168.0.222.
################################ MAX!Cube Binding #####################################
#
# MAX!Cube LAN gateway IP address (Optional, can be auto-discovered)
# maxcube:ip=192.168.0.222
# MAX!Cube port (Optional, default to 62910)
# maxcube:port=62910
# MAX!Cube refresh interval in ms (Optional, default to 10000)
# maxcube:refreshInterval=10000
# Max!Cube exclusive mode. (Optional, default to false)
# When true, the binding keeps the connection to the Cube open
# and polls more efficiently. No other application can use the Cube while the binding is running
# in exclusive mode, including Android and Desktop Max! Software.
# With this mode, the refreshInterval can easily set to 500 or 1000ms if you
# want the window contacts or eco button more responsive.
# maxcube:exclusive=false
# Max!Cube maximum requests per connection. (Optional, default to 1000)
# In exclusive mode, the binding will open the connection to the Cube and polls with
# refreshInterval maxRequestsPerConnection times. When maxRequestsPerConnection is reached
# it will disconnect and reconnect. This may work around issues with long going connections
# like slow reaction on events.
# When set to 0, the binding will keep the connection open as long as possible.
# maxcube:maxRequestsPerConnection=1000
Additional you can configure the port the MAX!Cube communicates with openHAB. By default this is 62910 and should not need to be changed.
Furthermore, you can change the refresh interval openHAB communicates with the MAX!Cube. By default the refresh interval is set to 10 seconds.
Starting from 1.6.0 you can use the exclusive mode. If you are not using MAX! smartphone or desktop software, this is recommended.
Please note that the MAX!Cube desktop software also keeps the connection open and openhab will not be able to connect if the MAX!Cube software is running. Close if from the windows taskbar.
In order to bind an generic item to the device, you need to provide MAX!Cube configuration settings in your item file (in the folder configurations/items) containing at least the serial number of the device you wish to control (not the serial of the cube).
How to get the serial number of a device: you can use the original MAX! software: edit the room, click on structure, rename devices. There you'll see the names and serials.
The syntax of the binding configuration strings accepted is the following:
maxcube="<serialNumber>"
The state of a shutter contact can be retrieved via the generic item binding. To display the shutter state, you need to use a Contact item.
Contact Office_Window "Office Window [MAP(en.map):%s]" (MyGroup) { maxcube="JEQ0650337" }
Display the Target Temperature
For a heating thermostat, an identical configuration will provide the setpoint temperature of the heating thermostat (4.5° corresponds to OFF shown on the thermostat display). To show the temperature setpoint you need to use a number item.
Number Heating_Max "Heating Thermostat [%.1f °C]" (MyGroup) { maxcube="JEQ0336148" }
The above examples would be shown as
MAX heating thermostat devices show OFF when turned to the minimum or On when turned to the maximum. The openHAB MAX!Cube binding would show the values 4.5 for OFF and 30.5 for On instead.
If you would like to display OFF and on instead, you can apply a mapping and change the binding using this mapping to
Number Heating_Max "Heating Thermostat [MAP(maxcube.map):%s]" (MyGroup) { maxcube="JEQ0336148" }
Instead of values 4.5 and 30.5 the results would look like
To apply this mapping you need to copy the maxcube.map mapping file into the configuration/transformation folder within the openHAB directory. (Alternatively you can use this maxcube.map file when the mappings of round temperature settings don't show.)
Depending on the correpsonding device the MAX!Cube binding can be used to provide specific information about a device instead of the default information.
Setting the Target Temperature
In order to be able to set a thermostat (and thus sending a temperature setting to an individual thermostat) use the Setpoint item in your sitemap configuration:
Setpoint item=Heating_Max_Valve step=0.5 minValue=18 maxValue=30
This SetPoint item will allow a user to set the thermostat with 0.5 degrees intervals. If you would like to set the thermostat yourself, for instance in a rule, use the sendCommand option in your rules file, like in the following example:
rule "Bedtime"
when
Time cron "0 0 23 * * ?"
then
sendCommand (Heating_Max_Valve, 15 )
end
To receive the valve position of a heating thermostat, the type for the desired information needs to be specified in the bonding configuration.
Actual Temperature
Per release 1.6 you can request the actual temperature for the WallThermostat. The actual temperature can also be requested from the heating Thermostats, however is usually outdated for the radiator thermostats, since they only send it over when their valve position changes. For the Wall thermostats, the value is accurate, since those send updates every couple of minutes.
Number Heating_Max_Temp "Thermostat Temperature [%.1f °C]" (MyGroup) { maxcube="JEQ0336148:type=actual" }
Valve Position
To receive the valve position of a heating thermostat, the type for the desired information needs to be specified in the bonding configuration
Number Heating_Max_Valve "Thermostat Valve Position [%.1f %%]" (MyGroup) { maxcube="JEQ0336148:type=valve" }
The value position is transmitted as rarely as the actual temperature. You may have to wait very long until something is displayed.
Mode
The operating mode can be requested using the mode type in the corresponding binding configuration.
String Heating_Max_Valve_Mode "Thermostat Mode [%s]" (MyGroup) { maxcube="JEQ0336148:type=mode" }
The mode is displayed as "AUTOMATIC" for example.
The following configuration is available for all MAX! devices.
Battery State
The battery state of a device can be requested using the battery type in the corresponding binding configuration.
String Heating_Max_Valve "Thermostat Battery [%s]" (MyGroup) { maxcube="JEQ0336148:type=battery" }
String values returned by the binding are either ok or low.
Connection Error (Since 1.8.0)
The connection state between a device and the MAX!Cube can be requested using the connectionError type in the corresponding binding configuration.
Switch Heating_Connection_Error "Thermostat Conn. Error" (MyGroup) { maxcube="JEQ0336148:type=connectionError" }
The switch will change to ON if the MAX!Cube reports that it cannot connect (anymore) to the configured device.
If you want to have some insights, what actually happens it may be useful to print some log messages. Add the following to your logback.xml in the configuration directory:
<appender name="MAXCUBE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${openhab.logdir:-logs}/maxcube.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- weekly rollover and archiving -->
<fileNamePattern>${openhab.logdir:-logs}/maxcube-%d{yyyy-ww}.log.zip</fileNamePattern>
<!-- maximum number of archive files to keep -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-30.30logger{36}] - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.openhab.binding.maxcube" level="DEBUG">
<appender-ref ref="MAXCUBE" />
</logger>
This will print the log messages of this binding to a file called maxcube.log in the logging directory (usually /var/log/openhab).
If you have a lot of devices the log is an alternative way to get the serial numbers of the devices. They are logged, when the openhab server is started.
To log even more information, set the level of org.openhab.binding.maxcube from DEBUG to TRACE or ALL.
ℹ 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