This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--<link rel="shortcut icon" href="https://www.openhab.org/favicon.png"></link>-->
<title>CUPS - Bindings - openHAB 2 - Empowering the Smart Home</title>
<!-- CSS -->
<link type="text/css" rel="stylesheet" href="/v2.2/css/materialize.css" media="screen,projection" />
<link type="text/css" rel="stylesheet" href="/v2.2/css/pygments-jekyll-style.css" />
<link type="text/css" rel="stylesheet" href="/v2.2/css/styles.css" />
<link type="text/css" rel="stylesheet" href="/v2.2/css/openhab.css" />
<link type="text/css" rel="stylesheet" href="/v2.2/css/collapsible.css" />
<!-- Font -->
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400,700" />
<link rel="canonical" href="https://docs.openhab.org/addons/bindings/cups1/readme.html" />
<script type="text/javascript">var gaProperty = 'UA-47717934-3';var disableStr = 'ga-disable-' + gaProperty;if (document.cookie.indexOf(disableStr + '=true') > -1) {window[disableStr] = true;}</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-47717934-3', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
</head>
<body class="documentation">
<div id="header" class="navbar-fixed">
<nav role="navigation">
<div class="container">
<div class="nav-wrapper">
<a href="/v2.2/index.html"><img id="logo" src="/images/logo.png" /></a>
<a href="#" data-activates="nav-mobile" class="button-collapse"><i class="material-icons">menu</i></a>
<ul class="right hide-on-med-and-down">
<li><a href="/tutorials/index.html">Tutorials</a></li>
<li><a href="/v2.2/introduction.html">User Manual</a></li>
<li><a href="/developers/index.html">Developer Guide</a></li>
<li><a target="_blank" href="https://community.openhab.org">Community Forum</a></li>
<li><a target="_blank" href="https://github.com/openhab">GitHub</a></li>
<li class="search"><i class="material-icons">search</i></li>
<li class="search">
<form method="GET" id="searchform" class="search-form" action="/search">
<input id="query" name="q" type="text" class="search-form-input" placeholder="search" />
</form>
</li>
</ul>
<ul id="nav-mobile" class="side-nav">
<li><a href="/v2.2/index.html">Home</a></li>
<li><a href="/tutorials/index.html">Tutorials</a></li>
<li><a href="/v2.2/introduction.html">User Manual</a></li>
<li><a href="/developers/index.html">Developer Guide</a></li>
<li><a target="_blank" href="https://community.openhab.org">Community Forum</a></li>
<li><a target="_blank" href="https://github.com/openhab">GitHub</a></li>
<li class="search">
<form method="GET" id="searchformmob" class="search-form" action="/search">
<input id="querymob" name="q" type="text" class="search-form-input" placeholder="search" />
</form>
</li>
</ul>
</div>
</div>
</nav>
</div>
<section id="documentation" class="text content-wrapper">
<div class="container">
<div class="side-nav-wrapper">
<ul class="nav">
<li><a href="/v2.2/introduction.html">Introduction</a></li>
<li><a href="/v2.2/concepts/index.html">Concepts</a>
<ul>
<li><a href="/v2.2/concepts/index.html">Overview</a></li>
<hr />
<li><a href="/v2.2/concepts/things.html">Things</a></li>
<li><a href="/v2.2/concepts/items.html">Items</a></li>
<li><a href="/v2.2/concepts/discovery.html">Inbox & Discovery</a></li>
<li><a href="/v2.2/concepts/audio.html">Audio & Voice</a></li>
</ul>
</li>
<li><a href="/v2.2/installation/index.html">Installation</a>
<ul>
<li><a href="/v2.2/installation/index.html">Overview</a></li>
<hr />
<li><a href="/v2.2/installation/linux.html">Linux</a></li>
<li><a href="/v2.2/installation/windows.html">Windows</a></li>
<li><a href="/v2.2/installation/macosx.html">Mac OS X</a></li>
<hr />
<li><a href="/v2.2/installation/openhabian.html">openHABian</a></li>
<li><a href="/v2.2/installation/docker.html">Docker</a></li>
<hr />
<li><a href="/v2.2/installation/rasppi.html">Raspberry Pi</a></li>
<li><a href="/v2.2/installation/pine.html">Pine A64</a></li>
<li><a href="/v2.2/installation/synology.html">Synology DiskStation</a></li>
<li><a href="/v2.2/installation/qnap.html">QNAP NAS</a></li>
<hr />
<li><a href="/v2.2/installation/security.html">Security & Remote Access</a></li>
<li><a href="http://www.myopenhab.org">myopenHAB</a></li>
</ul>
</li>
<li><a href="/v2.2/configuration/index.html">Configuration</a>
<ul>
<li><a href="/v2.2/configuration/index.html">Overview</a></li>
<hr />
<li><a href="/v2.2/configuration/things.html">Things</a></li>
<li><a href="/v2.2/configuration/items.html">Items</a></li>
<li><a href="/v2.2/configuration/sitemaps.html">Sitemaps</a></li>
<li><a href="/v2.2/configuration/transform.html">Transformations</a></li>
<li><a href="/v2.2/configuration/persistence.html">Persistence</a></li>
<li><a href="/v2.2/configuration/rules-dsl.html">Rules</a></li>
<li><a href="/v2.2/configuration/jsr223.html">JSR223 Scripting</a>
<ul>
<li><a href="/v2.2/configuration/jsr223.html">Overview</a>
<hr />
<li><a href="/v2.2/configuration/jsr223-js.html">Javascript</a></li>
<li><a href="/v2.2/configuration/jsr223-jython.html">Jython</a></li>
</ul>
</li>
<li><a href="/v2.2/configuration/services.html">Services</a></li>
<hr />
<li><a href="/v2.2/configuration/packages.html">Initial Setup Packages</a></li>
<li><a href="/v2.2/configuration/homebuilder.html">Home Builder</a></li>
<li><a href="/v2.2/configuration/paperui.html">Paper UI</a></li>
<li><a href="/v2.2/configuration/habmin.html">HABmin</a></li>
<li><a href="/v2.2/configuration/habpanel.html">HABPanel</a></li>
<li><a href="/v2.2/configuration/rules-ng.html">Rules (Experimental)</a></li>
<li><a href="/v2.2/configuration/editors.html">Editors</a></li>
<hr />
<li><a href="/v2.2/configuration/multimedia.html">Audio & Voice</a></li>
</ul>
</li>
<li><a href="/v2.2/addons/index.html">Add-ons</a>
<ul>
<li><a href="/v2.2/addons/index.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/bindings.html">Bindings</a>
<ul>
<li><a href="/v2.2/addons/bindings.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/bindings/airquality/readme.html">Air Quality</a></li>
<li><a href="/v2.2/addons/bindings/alarmdecoder1/readme.html">Alarm Decoder</a></li>
<li><a href="/v2.2/addons/bindings/allplay/readme.html">AllPlay</a></li>
<li><a href="/v2.2/addons/bindings/amazondashbutton/readme.html">Amazon Dash Button</a></li>
<li><a href="/v2.2/addons/bindings/anel1/readme.html">Anel NET-PwrCtrl</a></li>
<li><a href="/v2.2/addons/bindings/astro/readme.html">Astro</a></li>
<li><a href="/v2.2/addons/bindings/atlona/readme.html">Atlona</a></li>
<li><a href="/v2.2/addons/bindings/autelis/readme.html">Autelis Pool Control</a></li>
<li><a href="/v2.2/addons/bindings/avmfritz/readme.html">AVM FRITZ!</a></li>
<li><a href="/v2.2/addons/bindings/bigassfan/readme.html">BigAssFan</a></li>
<li><a href="/v2.2/addons/bindings/boschindego/readme.html">Bosch Indego</a></li>
<li><a href="/v2.2/addons/bindings/bticino1/readme.html">Bticino</a></li>
<li><a href="/v2.2/addons/bindings/caldav-command1/readme.html">CalDAV Command</a></li>
<li><a href="/v2.2/addons/bindings/caldav-personal1/readme.html">CalDAV Personal</a></li>
<li><a href="/v2.2/addons/bindings/chromecast/readme.html">Chromecast</a></li>
<li><a href="/v2.2/addons/bindings/cm11a/readme.html">Cm11a (X10 controller)</a></li>
<li><a href="/v2.2/addons/bindings/comfoair1/readme.html">ComfoAir</a></li>
<li><a href="/v2.2/addons/bindings/coolmasternet/readme.html">CoolMasterNet</a></li>
<li><a href="/v2.2/addons/bindings/cups1/readme.html">CUPS <small>(legacy/manual)</small></a></li>
<li><a href="/v2.2/addons/bindings/denon1/readme.html">Denon</a></li>
<li><a href="/v2.2/addons/bindings/digitalstrom/readme.html">digitalSTROM</a></li>
<li><a href="/v2.2/addons/bindings/dlinksmarthome/readme.html">D-Link Smart Home</a></li>
<li><a href="/v2.2/addons/bindings/dmx/readme.html">DMX</a></li>
<li><a href="/v2.2/addons/bindings/dscalarm/readme.html">DSC Alarm</a></li>
<li><a href="/v2.2/addons/bindings/dsmr1/readme.html">DSMR</a></li>
<li><a href="/v2.2/addons/bindings/ebus1/readme.html">eBUS</a></li>
<li><a href="/v2.2/addons/bindings/ecobee1/readme.html">Ecobee</a></li>
<li><a href="/v2.2/addons/bindings/ecotouch1/readme.html">EcoTouch</a></li>
<li><a href="/v2.2/addons/bindings/ekey1/readme.html">ekey</a></li>
<li><a href="/v2.2/addons/bindings/energenie1/readme.html">Energenie</a></li>
<li><a href="/v2.2/addons/bindings/enocean1/readme.html">EnOcean</a></li>
<li><a href="/v2.2/addons/bindings/enphaseenergy1/readme.html">Enphase Energy</a></li>
<li><a href="/v2.2/addons/bindings/epsonprojector1/readme.html">Epson Projector</a></li>
<li><a href="/v2.2/addons/bindings/exec/readme.html">Exec</a></li>
<li><a href="/v2.2/addons/bindings/expire1/readme.html">Expire</a></li>
<li><a href="/v2.2/addons/bindings/fatekplc1/readme.html">Fatek PLC</a></li>
<li><a href="/v2.2/addons/bindings/feed/readme.html">Feed</a></li>
<li><a href="/v2.2/addons/bindings/feican/readme.html">Feican</a></li>
<li><a href="/v2.2/addons/bindings/folding/readme.html">Folding@home</a></li>
<li><a href="/v2.2/addons/bindings/freebox/readme.html">Freebox</a></li>
<li><a href="/v2.2/addons/bindings/freeswitch1/readme.html">FreeSWITCH</a></li>
<li><a href="/v2.2/addons/bindings/fritzbox1/readme.html">Fritz!Box</a></li>
<li><a href="/v2.2/addons/bindings/fritzboxtr0641/readme.html">Fritzbox (using TR064 protocol)</a></li>
<li><a href="/v2.2/addons/bindings/fs201/readme.html">FS20</a></li>
<li><a href="/v2.2/addons/bindings/fsinternetradio/readme.html">FS Internet Radio</a></li>
<li><a href="/v2.2/addons/bindings/garadget1/readme.html">Garadget</a></li>
<li><a href="/v2.2/addons/bindings/gardena/readme.html">Gardena</a></li>
<li><a href="/v2.2/addons/bindings/gc100ir1/readme.html">Global Cache IR</a></li>
<li><a href="/v2.2/addons/bindings/globalcache/readme.html">GlobalCache</a></li>
<li><a href="/v2.2/addons/bindings/harmonyhub/readme.html">Logitech Harmony Hub</a></li>
<li><a href="/v2.2/addons/bindings/hdanywhere/readme.html">HDanywhere</a></li>
<li><a href="/v2.2/addons/bindings/hdpowerview/readme.html">Hunter Douglas PowerView</a></li>
<li><a href="/v2.2/addons/bindings/heatmiser1/readme.html">Heatmiser</a></li>
<li><a href="/v2.2/addons/bindings/homematic/readme.html">Homematic</a></li>
<li><a href="/v2.2/addons/bindings/http1/readme.html">HTTP</a></li>
<li><a href="/v2.2/addons/bindings/hue/readme.html">Philips Hue</a></li>
<li><a href="/v2.2/addons/bindings/icloud/readme.html">iCloud</a></li>
<li><a href="/v2.2/addons/bindings/ihc1/readme.html">IHC / ELKO</a></li>
<li><a href="/v2.2/addons/bindings/insteonplm1/readme.html">Insteon PLM</a></li>
<li><a href="/v2.2/addons/bindings/intertechno1/readme.html">Intertechno</a></li>
<li><a href="/v2.2/addons/bindings/ipp/readme.html">IPP</a></li>
<li><a href="/v2.2/addons/bindings/ipx8001/readme.html">IPX800</a></li>
<li><a href="/v2.2/addons/bindings/irtrans1/readme.html">IRTrans</a></li>
<li><a href="/v2.2/addons/bindings/jeelink/readme.html">Jeelink</a></li>
<li><a href="/v2.2/addons/bindings/jointspace1/readme.html">jointSPACE</a></li>
<li><a href="/v2.2/addons/bindings/keba/readme.html">Keba</a></li>
<li><a href="/v2.2/addons/bindings/knx1/readme.html">KNX</a></li>
<li><a href="/v2.2/addons/bindings/kodi/readme.html">Kodi</a></li>
<li><a href="/v2.2/addons/bindings/kostalinverter/readme.html">Kostal Inverter</a></li>
<li><a href="/v2.2/addons/bindings/koubachi1/readme.html">Koubachi</a></li>
<li><a href="/v2.2/addons/bindings/lcn1/readme.html">LCN</a></li>
<li><a href="/v2.2/addons/bindings/lgtv1/readme.html">LG TV</a></li>
<li><a href="/v2.2/addons/bindings/lgtvserial/readme.html">LG TV control using serial protocol</a></li>
<li><a href="/v2.2/addons/bindings/lgwebos/readme.html">LG webOS</a></li>
<li><a href="/v2.2/addons/bindings/lifx/readme.html">LIFX</a></li>
<li><a href="/v2.2/addons/bindings/lirc/readme.html">LIRC</a></li>
<li><a href="/v2.2/addons/bindings/loxone/readme.html">Loxone</a></li>
<li><a href="/v2.2/addons/bindings/lutron/readme.html">Lutron</a></li>
<li><a href="/v2.2/addons/bindings/max/readme.html">MAX!</a></li>
<li><a href="/v2.2/addons/bindings/maxcul1/readme.html">MAX!CUL</a></li>
<li><a href="/v2.2/addons/bindings/meteostick/readme.html">Meteostick</a></li>
<li><a href="/v2.2/addons/bindings/miele/readme.html">Miele@home</a></li>
<li><a href="/v2.2/addons/bindings/mihome/readme.html">Xiaomi Mi Smart Home</a></li>
<li><a href="/v2.2/addons/bindings/milight/readme.html">Milight/Easybulb/Limitless</a></li>
<li><a href="/v2.2/addons/bindings/minecraft/readme.html">Minecraft</a></li>
<li><a href="/v2.2/addons/bindings/mios1/readme.html">MiOS Bridge</a></li>
<li><a href="/v2.2/addons/bindings/mochadx101/readme.html">Mochad X10</a></li>
<li><a href="/v2.2/addons/bindings/modbus1/readme.html">Modbus</a></li>
<li><a href="/v2.2/addons/bindings/mqtt1/readme.html">MQTT</a></li>
<li><a href="/v2.2/addons/bindings/mqttitude1/readme.html">OwnTracks (formerly MQTTitude)</a></li>
<li><a href="/v2.2/addons/bindings/myq1/readme.html">Chamberlain MyQ</a></li>
<li><a href="/v2.2/addons/bindings/neohub1/readme.html">NeoHub</a></li>
<li><a href="/v2.2/addons/bindings/nest/readme.html">Nest</a></li>
<li><a href="/v2.2/addons/bindings/netatmo/readme.html">Netatmo</a></li>
<li><a href="/v2.2/addons/bindings/network/readme.html">Network</a></li>
<li><a href="/v2.2/addons/bindings/networkupstools1/readme.html">Network UPS Tools</a></li>
<li><a href="/v2.2/addons/bindings/nibeheatpump1/readme.html">Nibe Heatpump</a></li>
<li><a href="/v2.2/addons/bindings/nikobus1/readme.html">Nikobus</a></li>
<li><a href="/v2.2/addons/bindings/nikohomecontrol/readme.html">Niko Home Control</a></li>
<li><a href="/v2.2/addons/bindings/novelanheatpump1/readme.html">Novelan/Luxtronic Heat Pump</a></li>
<li><a href="/v2.2/addons/bindings/ntp/readme.html">NTP</a></li>
<li><a href="/v2.2/addons/bindings/oceanic/readme.html">Oceanic</a></li>
<li><a href="/v2.2/addons/bindings/onebusaway/readme.html">OneBusAway</a></li>
<li><a href="/v2.2/addons/bindings/onewire1/readme.html">OneWire</a></li>
<li><a href="/v2.2/addons/bindings/onkyo/readme.html">Onkyo</a></li>
<li><a href="/v2.2/addons/bindings/openenergymonitor1/readme.html">Open Energy Monitor</a></li>
<li><a href="/v2.2/addons/bindings/opensprinkler/readme.html">OpenSprinkler</a></li>
<li><a href="/v2.2/addons/bindings/orvibo/readme.html">Orvibo</a></li>
<li><a href="/v2.2/addons/bindings/owserver1/readme.html">OWServer</a></li>
<li><a href="/v2.2/addons/bindings/panasonictv1/readme.html">Panasonic TV</a></li>
<li><a href="/v2.2/addons/bindings/piface1/readme.html">Piface</a></li>
<li><a href="/v2.2/addons/bindings/pioneeravr/readme.html">PioneerAVR Configuration</a></li>
<li><a href="/v2.2/addons/bindings/plex1/readme.html">Plex</a></li>
<li><a href="/v2.2/addons/bindings/plugwise/readme.html">Plugwise</a></li>
<li><a href="/v2.2/addons/bindings/powermax1/readme.html">Visonic Powermax</a></li>
<li><a href="/v2.2/addons/bindings/pulseaudio/readme.html">Pulseaudio</a></li>
<li><a href="/v2.2/addons/bindings/regoheatpump/readme.html">RegoHeatPump</a></li>
<li><a href="/v2.2/addons/bindings/rfxcom/readme.html">RFXCOM</a></li>
<li><a href="/v2.2/addons/bindings/rme/readme.html">RME</a></li>
<li><a href="/v2.2/addons/bindings/rotelra1x/readme.html">Rotel Amplifier</a></li>
<li><a href="/v2.2/addons/bindings/russound/readme.html">Russound</a></li>
<li><a href="/v2.2/addons/bindings/rwesmarthome1/readme.html">RWE SmartHome</a></li>
<li><a href="/v2.2/addons/bindings/samsungac1/readme.html">Samsung Air Conditioner</a></li>
<li><a href="/v2.2/addons/bindings/samsungtv/readme.html">Samsung TV</a></li>
<li><a href="/v2.2/addons/bindings/sapp1/readme.html">Picnet Sapp</a></li>
<li><a href="/v2.2/addons/bindings/satel1/readme.html">Satel Integra Alarm System</a></li>
<li><a href="/v2.2/addons/bindings/sensebox/readme.html">senseBox</a></li>
<li><a href="/v2.2/addons/bindings/serial1/readme.html">Serial</a></li>
<li><a href="/v2.2/addons/bindings/serialbutton/readme.html">Serial Button</a></li>
<li><a href="/v2.2/addons/bindings/silvercrestwifisocket/readme.html">Silvercrest Wifi Plug</a></li>
<li><a href="/v2.2/addons/bindings/sleepiq/readme.html">SleepIQ</a></li>
<li><a href="/v2.2/addons/bindings/smaenergymeter/readme.html">SMA Energy Meter</a></li>
<li><a href="/v2.2/addons/bindings/snmp1/readme.html">SNMP</a></li>
<li><a href="/v2.2/addons/bindings/sonance1/readme.html">Sonance</a></li>
<li><a href="/v2.2/addons/bindings/sonos/readme.html">Sonos</a></li>
<li><a href="/v2.2/addons/bindings/souliss1/readme.html">Souliss</a></li>
<li><a href="/v2.2/addons/bindings/squeezebox/readme.html">Logitech Squeezebox</a></li>
<li><a href="/v2.2/addons/bindings/swegonventilation1/readme.html">Swegon Ventilation</a></li>
<li><a href="/v2.2/addons/bindings/synopanalyzer/readme.html">Synop Analyzer</a></li>
<li><a href="/v2.2/addons/bindings/systeminfo/readme.html">Systeminfo</a></li>
<li><a href="/v2.2/addons/bindings/tankerkoenig/readme.html">Tankerkönig</a></li>
<li><a href="/v2.2/addons/bindings/tcp1/readme.html">TCP & UDP</a></li>
<li><a href="/v2.2/addons/bindings/tellstick/readme.html">Tellstick</a></li>
<li><a href="/v2.2/addons/bindings/tesla/readme.html">Tesla</a></li>
<li><a href="/v2.2/addons/bindings/tinkerforge1/readme.html">TinkerForge</a></li>
<li><a href="/v2.2/addons/bindings/toon/readme.html">Toon</a></li>
<li><a href="/v2.2/addons/bindings/tplinksmarthome/readme.html">TPLinkSmartHome</a></li>
<li><a href="/v2.2/addons/bindings/tradfri/readme.html">TRÅDFRI</a></li>
<li><a href="/v2.2/addons/bindings/upb1/readme.html">UPB</a></li>
<li><a href="/v2.2/addons/bindings/urtsi/readme.html">Somfy URTSI II</a></li>
<li><a href="/v2.2/addons/bindings/vitotronic/readme.html">Vitotronic</a></li>
<li><a href="/v2.2/addons/bindings/weather1/readme.html">Weather</a></li>
<li><a href="/v2.2/addons/bindings/weatherunderground/readme.html">WeatherUnderground</a></li>
<li><a href="/v2.2/addons/bindings/wemo/readme.html">Belkin Wemo</a></li>
<li><a href="/v2.2/addons/bindings/wifiled/readme.html">WiFi LED</a></li>
<li><a href="/v2.2/addons/bindings/windcentrale/readme.html">Windcentrale</a></li>
<li><a href="/v2.2/addons/bindings/wol1/readme.html">Wake-on-LAN</a></li>
<li><a href="/v2.2/addons/bindings/xbmc1/readme.html">XBMC binding (for KODI) (1.x)</a></li>
<li><a href="/v2.2/addons/bindings/yahooweather/readme.html">YahooWeather</a></li>
<li><a href="/v2.2/addons/bindings/yamahareceiver/readme.html">Yamahareceiver</a></li>
<li><a href="/v2.2/addons/bindings/zigbee/readme.html">ZigBee</a></li>
<li><a href="/v2.2/addons/bindings/zoneminder/readme.html">Zoneminder</a></li>
<li><a href="/v2.2/addons/bindings/zwave/readme.html">ZWave</a></li>
<li><a href="/v2.2/addons/bindings/zway/readme.html">Z-Way</a></li>
</ul>
</li>
<li><a href="/v2.2/addons/uis.html">User Interfaces</a>
<ul>
<li><a href="/v2.2/addons/uis.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/uis/basic/readme.html">Basic UI</a></li>
<li><a href="/v2.2/addons/uis/classic/readme.html">Classic UI</a></li>
<li><a href="/v2.2/addons/uis/habmin/readme.html">HABmin</a></li>
<li><a href="/v2.2/addons/uis/habpanel/doc/habpanel.html"></a></li>
<li><a href="/v2.2/addons/uis/habpanel/readme.html">HABPanel</a></li>
<li><a href="/v2.2/addons/uis/paper/readme.html">Paper UI</a></li>
<hr />
<li><a href="/v2.2/addons/uis/apps/android.html">Android App</a></li>
<li><a href="/v2.2/addons/uis/apps/ios.html">iOS App</a></li>
<li><a href="/v2.2/addons/uis/apps/windows.html">Windows 10 App</a></li>
<hr />
<li><a href="/v2.2/addons/iconsets/classic/readme.html">Iconset (classic)</a></li>
</ul>
</li>
<li><a href="/v2.2/addons/persistence.html">Persistence</a>
<ul>
<li><a href="/v2.2/addons/persistence.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/persistence/influxdb/readme.html">InfluxDB (0.9 and newer)</a></li>
<li><a href="/v2.2/addons/persistence/jdbc/readme.html">JDBC</a></li>
<li><a href="/v2.2/addons/persistence/jpa/readme.html">Java Persistence API (JPA)</a></li>
<li><a href="/v2.2/addons/persistence/mapdb/readme.html">mapdb</a></li>
<li><a href="/v2.2/addons/persistence/mqtt/readme.html">MQTT</a></li>
<li><a href="/v2.2/addons/persistence/mysql/readme.html">MySQL</a></li>
<li><a href="/v2.2/addons/persistence/rrd4j/readme.html">rrd4j</a></li>
</ul>
</li>
<li><a href="/v2.2/addons/actions.html">Actions</a>
<ul>
<li><a href="/v2.2/addons/actions.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/actions/ecobee/readme.html">Ecobee</a></li>
<li><a href="/v2.2/addons/actions/mail/readme.html">Mail</a></li>
<li><a href="/v2.2/addons/actions/mios/readme.html">MiOS</a></li>
<li><a href="/v2.2/addons/actions/mqtt/readme.html">MQTT</a></li>
<li><a href="/v2.2/addons/actions/nma/readme.html">NotifyMyAndroid</a></li>
<li><a href="/v2.2/addons/actions/pebble/readme.html">Pebble</a></li>
<li><a href="/v2.2/addons/actions/prowl/readme.html">Prowl</a></li>
<li><a href="/v2.2/addons/actions/pushbullet/readme.html">Pushbullet</a></li>
<li><a href="/v2.2/addons/actions/pushover/readme.html">Pushover</a></li>
<li><a href="/v2.2/addons/actions/pushsafer/readme.html">Pushsafer</a></li>
<li><a href="/v2.2/addons/actions/satel/readme.html">Satel</a></li>
<li><a href="/v2.2/addons/actions/telegram/readme.html">Telegram</a></li>
<li><a href="/v2.2/addons/actions/twitter/readme.html">Twitter</a></li>
<li><a href="/v2.2/addons/actions/xbmc/readme.html">XBMC</a></li>
<li><a href="/v2.2/addons/actions/xmpp/readme.html">XMPP</a></li>
</ul>
</li>
<li><a href="/v2.2/addons/transformations.html">Transformations</a>
<ul>
<li><a href="/v2.2/addons/transformations.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/transformations/exec/readme.html">Exec</a></li>
<li><a href="/v2.2/addons/transformations/javascript/readme.html">JavaScript</a></li>
<li><a href="/v2.2/addons/transformations/jsonpath/readme.html">JsonPath</a></li>
<li><a href="/v2.2/addons/transformations/map/readme.html">Map</a></li>
<li><a href="/v2.2/addons/transformations/regex/readme.html">RegEx</a></li>
<li><a href="/v2.2/addons/transformations/scale/readme.html">Scale</a></li>
<li><a href="/v2.2/addons/transformations/xpath/readme.html">XPath</a></li>
<li><a href="/v2.2/addons/transformations/xslt/readme.html">XSLT</a></li>
</ul>
</li>
<li><a href="/v2.2/addons/voices.html">Voice Services</a>
<ul>
<li><a href="/v2.2/addons/voices.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/voices/mactts/readme.html">MacOS Text-to-Speech</a></li>
<li><a href="/v2.2/addons/voices/marytts/readme.html">Mary Text-to-Speech</a></li>
<li><a href="/v2.2/addons/voices/voicerss/readme.html">VoiceRSS Text-to-Speech</a></li>
</ul>
</li>
<hr />
<li><a href="/v2.2/addons/io.html">3rd Party Integration</a>
<ul>
<li><a href="/v2.2/addons/io.html">Overview</a></li>
<hr />
<li><a href="/v2.2/addons/ios/alexa-skill/readme.html">Amazon Alexa Skill</a></li>
<li><a href="/v2.2/addons/ios/dropbox/readme.html">Dropbox Synchronization</a></li>
<li><a href="/v2.2/addons/ios/gcal/readme.html">Google Calendar Scheduler</a></li>
<li><a href="/v2.2/addons/ios/homekit/readme.html">HomeKit Add-on</a></li>
<li><a href="/v2.2/addons/ios/hueemulation/readme.html">openHAB Hue Emulation</a></li>
<li><a href="/v2.2/addons/ios/imperihome/readme.html">ImperiHome integration service</a></li>
<li><a href="/v2.2/addons/ios/mycroft-skill/readme.html">Mycroft AI Skill</a></li>
<li><a href="/v2.2/addons/ios/openhabcloud/readme.html">openHAB Cloud Connector</a></li>
<hr />
<li><a href="/v2.2/configuration/restdocs.html">REST API</a></li>
<li><a href="/v2.2/configuration/eclipseiotmarket.html">Eclipse IoT Marketplace</a></li>
<li><a href="http://www.myopenhab.org/" target="_blank">IFTTT</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/v2.2/administration/index.html">Advanced Functionality</a>
<ul>
<li><a href="/v2.2/administration/index.html">Overview</a></li>
<hr />
<li><a href="/v2.2/administration/console.html">Console</a></li>
<li><a href="/v2.2/administration/runtime.html">Runtime Commands</a></li>
<li><a href="/v2.2/administration/bundles.html">Bundle Management</a></li>
<li><a href="/v2.2/administration/logging.html">Logging</a></li>
<hr />
<li><a href="/v2.2/administration/jsondb.html">JsonDB Storage</a></li>
</ul>
</li>
<li><a href="/v2.2/appendix/help.html">Community Guidance</a>
<ul>
<li><a href="/v2.2/appendix/help.html">Finding Help & FAQs</a></li>
<li><a href="/v2.2/appendix/contributing.html">Contributing</a></li>
</ul>
</li>
</ul>
</div>
<div id="versioning" class="row valign-wrapper">
<div class="col s12 right-align">
<ul id="dropdown-versioning" class="dropdown-content">
<li><a href="/v2.2/../addons/bindings/cups1/readme.html">latest version</a></li>
<li><a href="/v2.2/addons/bindings/cups1/readme.html">v2.2<i class="tiny material-icons right">lens</i></a></li>
<li><a href="/v2.2/../v2.1/addons/bindings/cups1/readme.html">v2.1</a></li>
</ul>
<a class="btn dropdown-button grey lighten-1" href="#!" data-activates="dropdown-versioning" title="Select which version of this openHAB documentation article you want to read.">
Switch Article Version<i class="material-icons right">arrow_drop_down</i>
</a>
</div>
</div>
<div class="content">
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
<h1 id="cups-binding">CUPS Binding</h1>
<p>The openHAB CUPS binding allows interaction with printers and their print queues via a CUPS server.</p>
<p>There is also a binding specifically for openHAB 2 <a href="http://docs.openhab.org/addons/bindings/ipp/readme.html">here</a>.</p>
<h2 id="prerequisites">Prerequisites</h2>
<p>To set up this binding, it is necessary to know the names of the printers registered with the CUPS server.</p>
<p>One way to get this information is to download the current <code class="highlighter-rouge">cups4j.runnable-x.x.x.jar</code> file from http://www.cups4j.org/ and query the printers by using the following command</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>java -jar cups4j.runnable-x.x.x.jar -h <CUPS server name> getPrinters
</code></pre></div></div>
<h2 id="binding-configuration">Binding Configuration</h2>
<p>The binding can be configured in the file <code class="highlighter-rouge">services/cups.cfg</code>.</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Default</th>
<th style="text-align: center">Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>host</td>
<td> </td>
<td style="text-align: center">Yes</td>
<td>The hostname or IP address of the CUPS server</td>
</tr>
<tr>
<td>port</td>
<td>631</td>
<td style="text-align: center">No</td>
<td>The port used to connect to the CUPS server</td>
</tr>
<tr>
<td>refresh</td>
<td>60000</td>
<td style="text-align: center">No</td>
<td>The refresh interval (in milliseconds)</td>
</tr>
</tbody>
</table>
<h2 id="item-configuration">Item Configuration</h2>
<p>Each item binding should have this format:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code> cups="<printerName>[#whichJobs]"
</code></pre></div></div>
<p><code class="highlighter-rouge"><printerName></code> is the name or URL of the printer, as registered with the CUPS server.
<code class="highlighter-rouge">whichJobs</code> has a default value of NOT_COMPLETED; possible values are:</p>
<ul>
<li>NOT_COMPLETED</li>
<li>COMPLETED</li>
<li>ALL</li>
</ul>
<h2 id="examples">Examples</h2>
<ul>
<li>
<p>Number Print_Jobs_Queued “Unfinished print jobs” (FF_Office) { cups=”MX-870#NOT_COMPLETED” }</p>
</li>
<li>
<p>Number Print_Jobs_Completed “Completed print jobs” (FF_Office) { cups=”http://127.0.0.1:631/printers/MX-870” }</p>
</li>
</ul>
<h3 id="example-use-case">Example Use Case</h3>
<p>The CUPS Binding can be used to switch on a printer if there are print jobs in the queue and switch it off if the queue is empty.</p>
<h4 id="items">Items</h4>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Number Print_Jobs_Queued "Unfinished print jobs" (FF_Office) { cups="MX-870#NOT_COMPLETED" }
Switch Printer "Printer"
</code></pre></div></div>
<h4 id="rules">Rules</h4>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>import org.openhab.model.script.actions.Timer
var Timer printerTimer = null
rule "CUPS-Printer Queue"
when
Item Print_Jobs_Queued changed
then
if (Print_Jobs_Queued.state>0) {
if (printerTimer!=null) {
printerTimer.cancel
printerTimer=null
}
if (Printer.state==OFF) {
sendCommand(Printer,ON)
}
}
else if (Printer.state==ON) {
printerTimer = createTimer(now.plusMinutes(5)) [|
sendCommand(Printer,OFF)
]
}
end
</code></pre></div></div>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="row">
<div class="col s12 m7">
Copyright © 2017 by the <a href="https://github.com/openhab">openHAB Community</a> and the <a href="http://www.openhabfoundation.org/">openHAB Foundation e.V.</a>
</div>
<div class="col s12 m5">
<ul class="list-inline right-align">
<li><a href="/imprint.html">Imprint</a></li>
<li><a href="/privacy.html">Privacy Policy</a></li>
<li><a href="http://www.openhab.org">openHAB Website</a></li>
<li><a href=# onclick="printPage()">Print This Page</a></li>
</ul>
</div>
</div>
</div>
</footer>
<script src="/v2.2/js/jquery.min.js"></script>
<script src="/v2.2/js/jquery.scrollme.min.js"></script>
<script src="/v2.2/js/jquery.sticky.js"></script>
<script src="/v2.2/js/materialize.min.js"></script>
<script src="/v2.2/js/init.js"></script>
<script src="/v2.2/js/functions.js"></script>
</body>
</html>