openhab-docs/v2.1/addons/bindings/piface1
Yannick Schaus 0965e5ec24 Revert "Clean up the master branch"
This reverts commit bad6b47ef9.

Signed-off-by: Yannick Schaus <habpanel@schaus.net>
2018-06-14 16:43:24 +02:00
..
readme.html Revert "Clean up the master branch" 2018-06-14 16:43:24 +02:00

readme.html

This file contains invisible Unicode characters!

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.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these 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>Piface - Bindings - openHAB 2 - Empowering the Smart Home</title>

  <!-- CSS -->
  <link type="text/css" rel="stylesheet" href="/v2.1/css/materialize.css" media="screen,projection" />
  <link type="text/css" rel="stylesheet" href="/v2.1/css/pygments-jekyll-style.css" />
  <link type="text/css" rel="stylesheet" href="/v2.1/css/styles.css" />
  <link type="text/css" rel="stylesheet" href="/v2.1/css/openhab.css" />
  <link type="text/css" rel="stylesheet" href="/v2.1/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="http://docs.openhab.org/addons/bindings/piface1/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.1/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.1/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.1/index.html">Home</a></li>
            <li><a href="/tutorials/index.html">Tutorials</a></li>
            <li><a href="/v2.1/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.1/introduction.html">Introduction</a></li>
  <li><a href="/v2.1/concepts/index.html">Concepts</a>
    <ul>
      <li><a href="/v2.1/concepts/index.html">Overview</a></li>
      <hr />
      <li><a href="/v2.1/concepts/things.html">Things</a></li>
      <li><a href="/v2.1/concepts/items.html">Items</a></li>
      <li><a href="/v2.1/concepts/discovery.html">Inbox &amp; Discovery</a></li>
      <li><a href="/v2.1/concepts/audio.html">Audio &amp; Voice</a></li>
    </ul>
  </li>
  <li><a href="/v2.1/installation/index.html">Installation</a>
    <ul>
      <li><a href="/v2.1/installation/index.html">Overview</a></li>
      <hr />
      <li><a href="/v2.1/installation/linux.html">Linux</a></li>
      <li><a href="/v2.1/installation/windows.html">Windows</a></li>
      <li><a href="/v2.1/installation/macosx.html">Mac OS X</a></li>
      <hr />
      <li><a href="/v2.1/installation/openhabian.html">openHABian</a></li>
      <li><a href="/v2.1/installation/docker.html">Docker</a></li>
      <hr />
      <li><a href="/v2.1/installation/rasppi.html">Raspberry Pi</a></li>
      <li><a href="/v2.1/installation/pine.html">Pine A64</a></li>
      <li><a href="/v2.1/installation/synology.html">Synology DiskStation</a></li>
      <li><a href="/v2.1/installation/qnap.html">QNAP NAS</a></li>
      <hr />
      <li><a href="/v2.1/installation/designer.html">SmartHome Designer</a></li>
      <li><a href="/v2.1/installation/security.html">Security &amp; Remote Access</a></li>
      <li><a href="http://www.myopenhab.org">myopenHAB</a></li>
    </ul>
  </li>
  <li><a href="/v2.1/configuration/index.html">Configuration</a>
    <ul>
      <li><a href="/v2.1/configuration/index.html">Overview</a></li>
      <hr />
      <li><a href="/v2.1/configuration/things.html">Things</a></li>
      <li><a href="/v2.1/configuration/items.html">Items</a></li>
      <li><a href="/v2.1/configuration/sitemaps.html">Sitemaps</a></li>
      <li><a href="/v2.1/configuration/transform.html">Transformations</a></li>
      <li><a href="/v2.1/configuration/persistence.html">Persistence</a></li>
      <li><a href="/v2.1/configuration/rules-dsl.html">Rules</a></li>
      <li><a href="/v2.1/configuration/services.html">Services</a></li>
      <hr />
      <li><a href="/v2.1/configuration/packages.html">Initial Setup Packages</a></li>
      <li><a href="/v2.1/configuration/paperui.html">Paper UI</a></li>
      <li><a href="/v2.1/configuration/habmin.html">HABmin</a></li>
      <li><a href="/v2.1/configuration/rules-ng.html">Rules (Experimental)</a></li>
      <hr />
      <li><a href="/v2.1/configuration/multimedia.html">Audio &amp; Voice</a></li>
    </ul>
  </li>
  <li><a href="/v2.1/addons/index.html">Add-ons</a>
    <ul>
      <li><a href="/v2.1/addons/index.html">Overview</a></li>
      <hr />
      <li><a href="/v2.1/addons/bindings.html">Bindings</a>
        <ul>
          <li><a href="/v2.1/addons/bindings.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/bindings/airquality/readme.html">Air Quality</a></li>
          
          <li><a href="/v2.1/addons/bindings/akm8681/readme.html">AKM868</a></li>
          
          <li><a href="/v2.1/addons/bindings/alarmdecoder1/readme.html">Alarm Decoder</a></li>
          
          <li><a href="/v2.1/addons/bindings/allplay/readme.html">AllPlay</a></li>
          
          <li><a href="/v2.1/addons/bindings/amazondashbutton/readme.html">Amazon Dash Button</a></li>
          
          <li><a href="/v2.1/addons/bindings/anel1/readme.html">Anel NET-PwrCtrl</a></li>
          
          <li><a href="/v2.1/addons/bindings/asterisk1/readme.html">Asterisk</a></li>
          
          <li><a href="/v2.1/addons/bindings/astro/readme.html">Astro</a></li>
          
          <li><a href="/v2.1/addons/bindings/astro1/readme.html">Astro</a></li>
          
          <li><a href="/v2.1/addons/bindings/atlona/readme.html">Atlona</a></li>
          
          <li><a href="/v2.1/addons/bindings/autelis/readme.html">Autelis Pool Control</a></li>
          
          <li><a href="/v2.1/addons/bindings/autelis1/readme.html">Autelis</a></li>
          
          <li><a href="/v2.1/addons/bindings/avmfritz/readme.html">AVM FRITZ!</a></li>
          
          <li><a href="/v2.1/addons/bindings/benqprojector1/readme.html">BenQ Projector</a></li>
          
          <li><a href="/v2.1/addons/bindings/bigassfan/readme.html">BigAssFan</a></li>
          
          <li><a href="/v2.1/addons/bindings/bluetooth1/readme.html">Bluetooth</a></li>
          
          <li><a href="/v2.1/addons/bindings/boschindego/readme.html">Bosch Indego</a></li>
          
          <li><a href="/v2.1/addons/bindings/bticino1/readme.html">Bticino</a></li>
          
          <li><a href="/v2.1/addons/bindings/caldav-command1/readme.html">CalDAV Command</a></li>
          
          <li><a href="/v2.1/addons/bindings/caldav-personal1/readme.html">CalDAV Personal</a></li>
          
          <li><a href="/v2.1/addons/bindings/chromecast/readme.html">Chromecast</a></li>
          
          <li><a href="/v2.1/addons/bindings/comfoair1/readme.html">ComfoAir</a></li>
          
          <li><a href="/v2.1/addons/bindings/configadmin1/readme.html">ConfigAdmin</a></li>
          
          <li><a href="/v2.1/addons/bindings/coolmasternet/readme.html">CoolMasterNet</a></li>
          
          <li><a href="/v2.1/addons/bindings/cups1/readme.html">CUPS</a></li>
          
          <li><a href="/v2.1/addons/bindings/daikin1/readme.html">Daikin</a></li>
          
          <li><a href="/v2.1/addons/bindings/davis1/readme.html">Davis</a></li>
          
          <li><a href="/v2.1/addons/bindings/ddwrt1/readme.html">DD-WRT</a></li>
          
          <li><a href="/v2.1/addons/bindings/denon1/readme.html">Denon</a></li>
          
          <li><a href="/v2.1/addons/bindings/digitalstrom/readme.html">digitalSTROM</a></li>
          
          <li><a href="/v2.1/addons/bindings/digitalstrom1/readme.html">digitalSTROM</a></li>
          
          <li><a href="/v2.1/addons/bindings/diyonxbee1/readme.html">DIYOnXBee</a></li>
          
          <li><a href="/v2.1/addons/bindings/dlinksmarthome/readme.html">D-Link Smart Home</a></li>
          
          <li><a href="/v2.1/addons/bindings/dmx1/readme.html">DMX</a></li>
          
          <li><a href="/v2.1/addons/bindings/dscalarm/readme.html">DSC Alarm</a></li>
          
          <li><a href="/v2.1/addons/bindings/dscalarm1/readme.html">DSC PowerSeries Alarm System</a></li>
          
          <li><a href="/v2.1/addons/bindings/dsmr1/readme.html">DSMR</a></li>
          
          <li><a href="/v2.1/addons/bindings/ebus1/readme.html">eBUS</a></li>
          
          <li><a href="/v2.1/addons/bindings/ecobee1/readme.html">Ecobee</a></li>
          
          <li><a href="/v2.1/addons/bindings/ecotouch1/readme.html">EcoTouch</a></li>
          
          <li><a href="/v2.1/addons/bindings/ekey1/readme.html">ekey</a></li>
          
          <li><a href="/v2.1/addons/bindings/energenie1/readme.html">Energenie</a></li>
          
          <li><a href="/v2.1/addons/bindings/enocean1/readme.html">EnOcean</a></li>
          
          <li><a href="/v2.1/addons/bindings/enphaseenergy1/readme.html">Enphase Energy</a></li>
          
          <li><a href="/v2.1/addons/bindings/epsonprojector1/readme.html">Epson Projector</a></li>
          
          <li><a href="/v2.1/addons/bindings/exec/readme.html">Exec</a></li>
          
          <li><a href="/v2.1/addons/bindings/exec1/readme.html">Exec</a></li>
          
          <li><a href="/v2.1/addons/bindings/expire1/readme.html">Expire</a></li>
          
          <li><a href="/v2.1/addons/bindings/fatekplc1/readme.html">Fatek PLC</a></li>
          
          <li><a href="/v2.1/addons/bindings/feed/readme.html">Feed</a></li>
          
          <li><a href="/v2.1/addons/bindings/fht1/readme.html">FHT</a></li>
          
          <li><a href="/v2.1/addons/bindings/folding/readme.html">Folding@home</a></li>
          
          <li><a href="/v2.1/addons/bindings/freebox/readme.html">Freebox</a></li>
          
          <li><a href="/v2.1/addons/bindings/freebox1/readme.html">Freebox</a></li>
          
          <li><a href="/v2.1/addons/bindings/freeswitch1/readme.html">FreeSWITCH</a></li>
          
          <li><a href="/v2.1/addons/bindings/fritzaha1/readme.html">Fritz AHA</a></li>
          
          <li><a href="/v2.1/addons/bindings/fritzbox1/readme.html">Fritz!Box</a></li>
          
          <li><a href="/v2.1/addons/bindings/fritzboxtr0641/readme.html">Fritzbox (using TR064 protocol)</a></li>
          
          <li><a href="/v2.1/addons/bindings/frontiersiliconradio1/readme.html">Frontier Silicon Radio</a></li>
          
          <li><a href="/v2.1/addons/bindings/fs201/readme.html">FS20</a></li>
          
          <li><a href="/v2.1/addons/bindings/fsinternetradio/readme.html">FS Internet Radio</a></li>
          
          <li><a href="/v2.1/addons/bindings/garadget1/readme.html">Garadget</a></li>
          
          <li><a href="/v2.1/addons/bindings/gardena/readme.html">Gardena</a></li>
          
          <li><a href="/v2.1/addons/bindings/gc100ir1/readme.html">Global Cache IR</a></li>
          
          <li><a href="/v2.1/addons/bindings/globalcache/readme.html">GlobalCache</a></li>
          
          <li><a href="/v2.1/addons/bindings/gpio1/readme.html">GPIO</a></li>
          
          <li><a href="/v2.1/addons/bindings/harmonyhub/readme.html">Logitech Harmony Hub</a></li>
          
          <li><a href="/v2.1/addons/bindings/harmonyhub1/readme.html">Harmony Hub</a></li>
          
          <li><a href="/v2.1/addons/bindings/hdanywhere/readme.html">HDanywhere</a></li>
          
          <li><a href="/v2.1/addons/bindings/hdanywhere1/readme.html">HDanywhere</a></li>
          
          <li><a href="/v2.1/addons/bindings/hdpowerview/readme.html">Hunter Douglas PowerView</a></li>
          
          <li><a href="/v2.1/addons/bindings/heatmiser1/readme.html">Heatmiser</a></li>
          
          <li><a href="/v2.1/addons/bindings/hms1/readme.html">HMS</a></li>
          
          <li><a href="/v2.1/addons/bindings/homematic/readme.html">Homematic</a></li>
          
          <li><a href="/v2.1/addons/bindings/homematic1/readme.html">Homematic</a></li>
          
          <li><a href="/v2.1/addons/bindings/horizon1/readme.html">Horizon mediabox</a></li>
          
          <li><a href="/v2.1/addons/bindings/http1/readme.html">HTTP</a></li>
          
          <li><a href="/v2.1/addons/bindings/hue/readme.html">Philips Hue</a></li>
          
          <li><a href="/v2.1/addons/bindings/hue1/readme.html">Hue</a></li>
          
          <li><a href="/v2.1/addons/bindings/iec6205621meter1/readme.html">IEC 62056-21 Meter</a></li>
          
          <li><a href="/v2.1/addons/bindings/ihc1/readme.html">IHC / ELKO</a></li>
          
          <li><a href="/v2.1/addons/bindings/insteonhub1/readme.html">Insteon Hub</a></li>
          
          <li><a href="/v2.1/addons/bindings/insteonplm1/readme.html">Insteon PLM</a></li>
          
          <li><a href="/v2.1/addons/bindings/intertechno1/readme.html">Intertechno</a></li>
          
          <li><a href="/v2.1/addons/bindings/ipp/readme.html">IPP</a></li>
          
          <li><a href="/v2.1/addons/bindings/ipx8001/readme.html">IPX800</a></li>
          
          <li><a href="/v2.1/addons/bindings/irtrans1/readme.html">IRTrans</a></li>
          
          <li><a href="/v2.1/addons/bindings/isy1/readme.html">Description</a></li>
          
          <li><a href="/v2.1/addons/bindings/jointspace1/readme.html">jointSPACE</a></li>
          
          <li><a href="/v2.1/addons/bindings/k80551/readme.html">Velleman k8055 USB IO Board</a></li>
          
          <li><a href="/v2.1/addons/bindings/keba/readme.html">Keba</a></li>
          
          <li><a href="/v2.1/addons/bindings/km2001/readme.html">KM200</a></li>
          
          <li><a href="/v2.1/addons/bindings/knx1/readme.html">KNX</a></li>
          
          <li><a href="/v2.1/addons/bindings/kodi/readme.html">Kodi</a></li>
          
          <li><a href="/v2.1/addons/bindings/kostalinverter/readme.html">Kostal Inverter</a></li>
          
          <li><a href="/v2.1/addons/bindings/koubachi1/readme.html">Koubachi</a></li>
          
          <li><a href="/v2.1/addons/bindings/lcn1/readme.html">LCN</a></li>
          
          <li><a href="/v2.1/addons/bindings/lgtv1/readme.html">LG TV</a></li>
          
          <li><a href="/v2.1/addons/bindings/lgtvserial/readme.html">LG TV control using serial protocol</a></li>
          
          <li><a href="/v2.1/addons/bindings/lifx/readme.html">LIFX</a></li>
          
          <li><a href="/v2.1/addons/bindings/lightwaverf1/readme.html">LightwaveRF</a></li>
          
          <li><a href="/v2.1/addons/bindings/lutron/readme.html">Lutron</a></li>
          
          <li><a href="/v2.1/addons/bindings/mailcontrol1/readme.html">MailControl</a></li>
          
          <li><a href="/v2.1/addons/bindings/max/readme.html">MAX!</a></li>
          
          <li><a href="/v2.1/addons/bindings/maxcube1/readme.html">MAX!Cube</a></li>
          
          <li><a href="/v2.1/addons/bindings/maxcul1/readme.html">MAX!CUL</a></li>
          
          <li><a href="/v2.1/addons/bindings/mcp230171/readme.html">MCP23017</a></li>
          
          <li><a href="/v2.1/addons/bindings/mcp34241/readme.html">MCP3424</a></li>
          
          <li><a href="/v2.1/addons/bindings/meteostick/readme.html">Meteostick</a></li>
          
          <li><a href="/v2.1/addons/bindings/miele/readme.html">Miele@home</a></li>
          
          <li><a href="/v2.1/addons/bindings/mihome/readme.html">Xiaomi Mi Smart Home</a></li>
          
          <li><a href="/v2.1/addons/bindings/milight/readme.html">Milight/Easybulb/Limitless</a></li>
          
          <li><a href="/v2.1/addons/bindings/milight1/readme.html">Milight</a></li>
          
          <li><a href="/v2.1/addons/bindings/minecraft/readme.html">Minecraft</a></li>
          
          <li><a href="/v2.1/addons/bindings/mios1/readme.html">MiOS Bridge</a></li>
          
          <li><a href="/v2.1/addons/bindings/mochadx101/readme.html">Mochad X10</a></li>
          
          <li><a href="/v2.1/addons/bindings/modbus1/readme.html">Modbus</a></li>
          
          <li><a href="/v2.1/addons/bindings/mpd1/readme.html">MPD</a></li>
          
          <li><a href="/v2.1/addons/bindings/mqtt1/readme.html">MQTT</a></li>
          
          <li><a href="/v2.1/addons/bindings/mqttitude1/readme.html">OwnTracks (formerly MQTTitude)</a></li>
          
          <li><a href="/v2.1/addons/bindings/myq1/readme.html">Chamberlain MyQ</a></li>
          
          <li><a href="/v2.1/addons/bindings/mystromecopower1/readme.html">Mystrom Eco Power</a></li>
          
          <li><a href="/v2.1/addons/bindings/neohub1/readme.html">NeoHub</a></li>
          
          <li><a href="/v2.1/addons/bindings/nest1/readme.html">Nest</a></li>
          
          <li><a href="/v2.1/addons/bindings/netatmo/readme.html">Netatmo</a></li>
          
          <li><a href="/v2.1/addons/bindings/netatmo1/readme.html">Netatmo</a></li>
          
          <li><a href="/v2.1/addons/bindings/network/readme.html">Network</a></li>
          
          <li><a href="/v2.1/addons/bindings/networkhealth1/readme.html">Network Health</a></li>
          
          <li><a href="/v2.1/addons/bindings/networkupstools1/readme.html">Network UPS Tools</a></li>
          
          <li><a href="/v2.1/addons/bindings/nibeheatpump1/readme.html">Nibe Heatpump</a></li>
          
          <li><a href="/v2.1/addons/bindings/nikobus1/readme.html">Nikobus</a></li>
          
          <li><a href="/v2.1/addons/bindings/nikohomecontrol/readme.html">Niko Home Control</a></li>
          
          <li><a href="/v2.1/addons/bindings/novelanheatpump1/readme.html">Novelan/Luxtronic Heat Pump</a></li>
          
          <li><a href="/v2.1/addons/bindings/ntp/readme.html">NTP</a></li>
          
          <li><a href="/v2.1/addons/bindings/ntp1/readme.html">Network Time Protocol (NTP)</a></li>
          
          <li><a href="/v2.1/addons/bindings/oceanic/readme.html">Oceanic</a></li>
          
          <li><a href="/v2.1/addons/bindings/omnilink1/readme.html">HAI/Leviton Omni and Lumina</a></li>
          
          <li><a href="/v2.1/addons/bindings/onebusaway/readme.html">OneBusAway</a></li>
          
          <li><a href="/v2.1/addons/bindings/onewire1/readme.html">OneWire</a></li>
          
          <li><a href="/v2.1/addons/bindings/onkyo/readme.html">Onkyo</a></li>
          
          <li><a href="/v2.1/addons/bindings/onkyo1/readme.html">Onkyo AV Receiver</a></li>
          
          <li><a href="/v2.1/addons/bindings/openenergymonitor1/readme.html">Open Energy Monitor</a></li>
          
          <li><a href="/v2.1/addons/bindings/openpaths1/readme.html">OpenPaths</a></li>
          
          <li><a href="/v2.1/addons/bindings/opensprinkler/readme.html">OpenSprinkler</a></li>
          
          <li><a href="/v2.1/addons/bindings/opensprinkler1/readme.html">OpenSprinkler</a></li>
          
          <li><a href="/v2.1/addons/bindings/orvibo/readme.html">Orvibo</a></li>
          
          <li><a href="/v2.1/addons/bindings/owserver1/readme.html">OWServer</a></li>
          
          <li><a href="/v2.1/addons/bindings/panasonictv1/readme.html">Panasonic TV</a></li>
          
          <li><a href="/v2.1/addons/bindings/panstamp1/readme.html">panStamp</a></li>
          
          <li><a href="/v2.1/addons/bindings/piface1/readme.html">Piface</a></li>
          
          <li><a href="/v2.1/addons/bindings/pilight1/readme.html">pilight</a></li>
          
          <li><a href="/v2.1/addons/bindings/pioneeravr/readme.html">PioneerAVR Configuration</a></li>
          
          <li><a href="/v2.1/addons/bindings/pioneeravr1/readme.html">Pioneer AV Receiver (1.x)</a></li>
          
          <li><a href="/v2.1/addons/bindings/plcbus1/readme.html">PLCBus</a></li>
          
          <li><a href="/v2.1/addons/bindings/plclogo1/readme.html">PLCLogo</a></li>
          
          <li><a href="/v2.1/addons/bindings/plex1/readme.html">Plex</a></li>
          
          <li><a href="/v2.1/addons/bindings/plugwise1/readme.html">Plugwise</a></li>
          
          <li><a href="/v2.1/addons/bindings/powerdoglocalapi1/readme.html">PowerDog Local API</a></li>
          
          <li><a href="/v2.1/addons/bindings/powermax1/readme.html">Visonic Powermax</a></li>
          
          <li><a href="/v2.1/addons/bindings/primare1/readme.html">Primare</a></li>
          
          <li><a href="/v2.1/addons/bindings/pulseaudio/readme.html">Pulseaudio</a></li>
          
          <li><a href="/v2.1/addons/bindings/pulseaudio1/readme.html">Pulseaudio</a></li>
          
          <li><a href="/v2.1/addons/bindings/rfxcom/readme.html">RFXCOM</a></li>
          
          <li><a href="/v2.1/addons/bindings/rfxcom1/readme.html">RFXCOM</a></li>
          
          <li><a href="/v2.1/addons/bindings/rme/readme.html">RME</a></li>
          
          <li><a href="/v2.1/addons/bindings/rpircswitch1/readme.html">Raspberry Pi RC Switch</a></li>
          
          <li><a href="/v2.1/addons/bindings/russound/readme.html">Russound</a></li>
          
          <li><a href="/v2.1/addons/bindings/rwesmarthome1/readme.html">RWE SmartHome</a></li>
          
          <li><a href="/v2.1/addons/bindings/sagercaster1/readme.html">Sager Weathercaster</a></li>
          
          <li><a href="/v2.1/addons/bindings/sallegra1/readme.html">Sallegra</a></li>
          
          <li><a href="/v2.1/addons/bindings/samsungac1/readme.html">Samsung Air Conditioner</a></li>
          
          <li><a href="/v2.1/addons/bindings/samsungtv/readme.html">Samsung TV</a></li>
          
          <li><a href="/v2.1/addons/bindings/samsungtv1/readme.html">Samsung TV</a></li>
          
          <li><a href="/v2.1/addons/bindings/sapp1/readme.html">Picnet Sapp</a></li>
          
          <li><a href="/v2.1/addons/bindings/satel1/readme.html">Satel Integra Alarm System</a></li>
          
          <li><a href="/v2.1/addons/bindings/sensebox/readme.html">senseBox</a></li>
          
          <li><a href="/v2.1/addons/bindings/serial1/readme.html">Serial</a></li>
          
          <li><a href="/v2.1/addons/bindings/silvercrestwifisocket/readme.html">Silvercrest Wifi Plug</a></li>
          
          <li><a href="/v2.1/addons/bindings/sleepiq/readme.html">SleepIQ</a></li>
          
          <li><a href="/v2.1/addons/bindings/smaenergymeter/readme.html">SMA Energy Meter</a></li>
          
          <li><a href="/v2.1/addons/bindings/smarthomatic1/readme.html">Smarthomatic</a></li>
          
          <li><a href="/v2.1/addons/bindings/snmp1/readme.html">SNMP</a></li>
          
          <li><a href="/v2.1/addons/bindings/sonance1/readme.html">Sonance</a></li>
          
          <li><a href="/v2.1/addons/bindings/sonos/readme.html">Sonos</a></li>
          
          <li><a href="/v2.1/addons/bindings/sonos1/readme.html">Sonos</a></li>
          
          <li><a href="/v2.1/addons/bindings/souliss1/readme.html">Souliss</a></li>
          
          <li><a href="/v2.1/addons/bindings/squeezebox/readme.html">Logitech Squeezebox</a></li>
          
          <li><a href="/v2.1/addons/bindings/squeezebox1/readme.html">Squeezebox</a></li>
          
          <li><a href="/v2.1/addons/bindings/stiebelheatpump1/readme.html">Stiebel Eltron LWZ</a></li>
          
          <li><a href="/v2.1/addons/bindings/swegonventilation1/readme.html">Swegon Ventilation</a></li>
          
          <li><a href="/v2.1/addons/bindings/synopanalyzer/readme.html">Synop Analyzer</a></li>
          
          <li><a href="/v2.1/addons/bindings/systeminfo/readme.html">Systeminfo</a></li>
          
          <li><a href="/v2.1/addons/bindings/systeminfo1/readme.html">System Information</a></li>
          
          <li><a href="/v2.1/addons/bindings/tacmi1/readme.html">TACmi</a></li>
          
          <li><a href="/v2.1/addons/bindings/tankerkoenig/readme.html">Tankerkönig</a></li>
          
          <li><a href="/v2.1/addons/bindings/tcp1/readme.html">TCP & UDP</a></li>
          
          <li><a href="/v2.1/addons/bindings/tellstick/readme.html">Tellstick</a></li>
          
          <li><a href="/v2.1/addons/bindings/tellstick1/readme.html">Tellstick</a></li>
          
          <li><a href="/v2.1/addons/bindings/tesla/readme.html">Tesla</a></li>
          
          <li><a href="/v2.1/addons/bindings/tinkerforge1/readme.html">TinkerForge</a></li>
          
          <li><a href="/v2.1/addons/bindings/tivo1/readme.html">TiVo</a></li>
          
          <li><a href="/v2.1/addons/bindings/toon/readme.html">Toon</a></li>
          
          <li><a href="/v2.1/addons/bindings/tradfri/readme.html">Trådfri</a></li>
          
          <li><a href="/v2.1/addons/bindings/ucprelayboard1/readme.html">UCProjects.eu Relay Board</a></li>
          
          <li><a href="/v2.1/addons/bindings/upb1/readme.html">UPB</a></li>
          
          <li><a href="/v2.1/addons/bindings/urtsi/readme.html">Somfy URTSI II</a></li>
          
          <li><a href="/v2.1/addons/bindings/urtsi1/readme.html">Somfy URTSI II</a></li>
          
          <li><a href="/v2.1/addons/bindings/vdr1/readme.html">Video Disk Recorder (VDR)</a></li>
          
          <li><a href="/v2.1/addons/bindings/vitotronic/readme.html">Vitotronic</a></li>
          
          <li><a href="/v2.1/addons/bindings/wago1/readme.html">WAGO</a></li>
          
          <li><a href="/v2.1/addons/bindings/weather1/readme.html">Weather</a></li>
          
          <li><a href="/v2.1/addons/bindings/wemo/readme.html">Belkin Wemo</a></li>
          
          <li><a href="/v2.1/addons/bindings/wemo1/readme.html">Wemo</a></li>
          
          <li><a href="/v2.1/addons/bindings/wifiled/readme.html">WiFi LED</a></li>
          
          <li><a href="/v2.1/addons/bindings/windcentrale/readme.html">Windcentrale</a></li>
          
          <li><a href="/v2.1/addons/bindings/withings1/readme.html">Withings</a></li>
          
          <li><a href="/v2.1/addons/bindings/wol1/readme.html">Wake-on-LAN</a></li>
          
          <li><a href="/v2.1/addons/bindings/wr32231/readme.html">WR3223 ventilation controller</a></li>
          
          <li><a href="/v2.1/addons/bindings/xbmc1/readme.html">XBMC binding (for KODI) (1.x)</a></li>
          
          <li><a href="/v2.1/addons/bindings/xpl1/readme.html">xPL</a></li>
          
          <li><a href="/v2.1/addons/bindings/yahooweather/readme.html">YahooWeather</a></li>
          
          <li><a href="/v2.1/addons/bindings/yamahareceiver/readme.html">Yamahareceiver</a></li>
          
          <li><a href="/v2.1/addons/bindings/yamahareceiver1/readme.html">Yamaha Receiver (1.x)</a></li>
          
          <li><a href="/v2.1/addons/bindings/zibase1/readme.html">Zibase</a></li>
          
          <li><a href="/v2.1/addons/bindings/zigbee/readme.html">ZigBee</a></li>
          
          <li><a href="/v2.1/addons/bindings/zoneminder/readme.html">Zoneminder</a></li>
          
          <li><a href="/v2.1/addons/bindings/zwave/readme.html">ZWave</a></li>
          
          <li><a href="/v2.1/addons/bindings/zwave1/readme.html">Z-Wave</a></li>
          
          <li><a href="/v2.1/addons/bindings/zway/readme.html">Z-Way</a></li>
          
        </ul>
      </li>
      <li><a href="/v2.1/addons/uis.html">User Interfaces</a>
        <ul>
          <li><a href="/v2.1/addons/uis.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/uis/basic/readme.html">Basic UI</a></li>
          
          <li><a href="/v2.1/addons/uis/classic/readme.html">Classic UI</a></li>
          
          <li><a href="/v2.1/addons/uis/habmin/readme.html">HABmin</a></li>
          
          <li><a href="/v2.1/addons/uis/habpanel/readme.html">HABPanel</a></li>
          
          <li><a href="/v2.1/addons/uis/paper/readme.html">Paper UI</a></li>
          
          <hr />
          <li><a href="/v2.1/addons/uis/apps/android.html">Android openHAB App</a></li>
          <li><a href="/v2.1/addons/uis/apps/ios.html">iOS openHAB App</a></li>
          <li><a href="/v2.1/addons/uis/apps/windows.html">Windows 10 openHAB App</a></li>
          <hr />
          <li><a href="/v2.1/addons/iconsets/classic/readme.html">Iconset (classic)</a></li>
        </ul>
      </li>
      <li><a href="/v2.1/addons/persistence.html">Persistence</a>
        <ul>
          <li><a href="/v2.1/addons/persistence.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/persistence/caldav/readme.html">CalDAV</a></li>
          
          <li><a href="/v2.1/addons/persistence/cosm/readme.html">Xively (formerly Cosm)</a></li>
          
          <li><a href="/v2.1/addons/persistence/db4o/readme.html">db4o</a></li>
          
          <li><a href="/v2.1/addons/persistence/dynamodb/readme.html">Amazon DynamoDB</a></li>
          
          <li><a href="/v2.1/addons/persistence/exec/readme.html">Exec</a></li>
          
          <li><a href="/v2.1/addons/persistence/influxdb/readme.html">InfluxDB (0.9 and newer)</a></li>
          
          <li><a href="/v2.1/addons/persistence/influxdb08/readme.html">InfluxDB (up to 0.8.x)</a></li>
          
          <li><a href="/v2.1/addons/persistence/jdbc/readme.html">JDBC</a></li>
          
          <li><a href="/v2.1/addons/persistence/jpa/readme.html">Java Persistence API (JPA)</a></li>
          
          <li><a href="/v2.1/addons/persistence/mapdb/readme.html">mapdb</a></li>
          
          <li><a href="/v2.1/addons/persistence/mongodb/readme.html">MongoDB</a></li>
          
          <li><a href="/v2.1/addons/persistence/mqtt/readme.html">MQTT</a></li>
          
          <li><a href="/v2.1/addons/persistence/mysql/readme.html">MySQL</a></li>
          
          <li><a href="/v2.1/addons/persistence/rrd4j/readme.html">rrd4j</a></li>
          
          <li><a href="/v2.1/addons/persistence/sense/readme.html">Sen.Se</a></li>
          
          <li><a href="/v2.1/addons/persistence/sitewhere/readme.html">SiteWhere</a></li>
          
        </ul>
      </li>
      <li><a href="/v2.1/addons/actions.html">Actions</a>
        <ul>
          <li><a href="/v2.1/addons/actions.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/actions/astro/readme.html">Astro</a></li>
          
          <li><a href="/v2.1/addons/actions/ciscospark/readme.html">Cisco Spark</a></li>
          
          <li><a href="/v2.1/addons/actions/dscalarm/readme.html">DSC Alarm</a></li>
          
          <li><a href="/v2.1/addons/actions/ecobee/readme.html">Ecobee</a></li>
          
          <li><a href="/v2.1/addons/actions/harmonyhub/readme.html">Logitech Harmony Hub</a></li>
          
          <li><a href="/v2.1/addons/actions/homematic/readme.html">Homematic</a></li>
          
          <li><a href="/v2.1/addons/actions/mail/readme.html">Mail</a></li>
          
          <li><a href="/v2.1/addons/actions/mios/readme.html">MiOS</a></li>
          
          <li><a href="/v2.1/addons/actions/mqtt/readme.html">MQTT</a></li>
          
          <li><a href="/v2.1/addons/actions/nma/readme.html">NotifyMyAndroid</a></li>
          
          <li><a href="/v2.1/addons/actions/openwebif/readme.html">OpenWebIf</a></li>
          
          <li><a href="/v2.1/addons/actions/pebble/readme.html">Pebble</a></li>
          
          <li><a href="/v2.1/addons/actions/prowl/readme.html">Prowl</a></li>
          
          <li><a href="/v2.1/addons/actions/pushover/readme.html">Pushover</a></li>
          
          <li><a href="/v2.1/addons/actions/pushsafer/readme.html">Pushsafer</a></li>
          
          <li><a href="/v2.1/addons/actions/satel/readme.html">Satel</a></li>
          
          <li><a href="/v2.1/addons/actions/squeezebox/readme.html">Squeezebox</a></li>
          
          <li><a href="/v2.1/addons/actions/telegram/readme.html">Telegram</a></li>
          
          <li><a href="/v2.1/addons/actions/tinkerforge/readme.html">TinkerForge</a></li>
          
          <li><a href="/v2.1/addons/actions/twitter/readme.html">Twitter</a></li>
          
          <li><a href="/v2.1/addons/actions/weather/readme.html">Weather</a></li>
          
          <li><a href="/v2.1/addons/actions/xbmc/readme.html">XBMC</a></li>
          
          <li><a href="/v2.1/addons/actions/xmpp/readme.html">XMPP</a></li>
          
          <li><a href="/v2.1/addons/actions/xpl/readme.html">xPL</a></li>
          
        </ul>
      </li>
      <li><a href="/v2.1/addons/transformations.html">Transformations</a>
        <ul>
          <li><a href="/v2.1/addons/transformations.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/transformations/exec/readme.html">Exec</a></li>
          
          <li><a href="/v2.1/addons/transformations/javascript/readme.html">JavaScript</a></li>
          
          <li><a href="/v2.1/addons/transformations/jsonpath/readme.html">JsonPath</a></li>
          
          <li><a href="/v2.1/addons/transformations/map/readme.html">Map</a></li>
          
          <li><a href="/v2.1/addons/transformations/regex/readme.html">RegEx</a></li>
          
          <li><a href="/v2.1/addons/transformations/scale/readme.html">Scale</a></li>
          
          <li><a href="/v2.1/addons/transformations/xpath/readme.html">XPath</a></li>
          
          <li><a href="/v2.1/addons/transformations/xslt/readme.html">XSLT</a></li>
          
        </ul>
      </li>
      <li><a href="/v2.1/addons/voice.html">Voice Services</a>
        <ul>
          <li><a href="/v2.1/addons/voice.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/voice/mactts/readme.html">MacOS Text-to-Speech</a></li>
          
          <li><a href="/v2.1/addons/voice/marytts/readme.html">Mary Text-to-Speech</a></li>
          
          <li><a href="/v2.1/addons/voice/voicerss/readme.html">VoiceRSS Text-to-Speech</a></li>
          
        </ul>
      </li>
      <hr />
      <li><a href="/v2.1/addons/io.html">3rd Party Integration</a>
        <ul>
          <li><a href="/v2.1/addons/io.html">Overview</a></li>
          <hr />
          
          <li><a href="/v2.1/addons/io/dropbox/readme.html">Dropbox Synchronization</a></li>
          
          <li><a href="/v2.1/addons/io/gcal/readme.html">Google Calendar Scheduler</a></li>
          
          <li><a href="/v2.1/addons/io/homekit/readme.html">HomeKit Add-on</a></li>
          
          <li><a href="/v2.1/addons/io/hueemulation/readme.html">openHAB Hue Emulation</a></li>
          
          <li><a href="/v2.1/addons/io/imperihome/readme.html">ImperiHome integration service</a></li>
          
          <li><a href="/v2.1/addons/io/openhabcloud/readme.html">openHAB Cloud Connector</a></li>
          
          <hr />
          <li><a href="/v2.1/configuration/restdocs.html">REST API</a></li>
          <li><a href="http://www.myopenhab.org/" target="_blank">IFTTT</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="/v2.1/administration/index.html">Advanced Functionality</a>
    <ul>
      <li><a href="/v2.1/administration/index.html">Overview</a></li>
      <hr />
      <li><a href="/v2.1/administration/console.html">Console</a></li>
      <li><a href="/v2.1/administration/runtime.html">Runtime Commands</a></li>
      <li><a href="/v2.1/administration/bundles.html">Bundle Management</a></li>
      <li><a href="/v2.1/administration/logging.html">Logging</a></li>
      <hr />
      <li><a href="/v2.1/administration/jsondb.html">JsonDB Storage</a></li>
    </ul>
  </li>
  <li><a href="/v2.1/appendix/help.html">Community Guidance</a>
    <ul>
      <li><a href="/v2.1/appendix/help.html">Finding Help &amp; FAQs</a></li>
      <li><a href="/v2.1/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.1/../addons/bindings/piface1/readme.html">latest version</a></li>
      <li><a href="/v2.1/../v2.2/addons/bindings/piface1/readme.html">v2.2</a></li>
      <li><a href="/v2.1/addons/bindings/piface1/readme.html">v2.1<i class="tiny material-icons right">lens</i></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="piface-binding">Piface Binding</h1>

<p>A Piface extension board is attached to a Raspberry Pi via the GPIO connector. It has 8 digital input and 8 digital output pins. It is not possible to set the value of input pins, or read the value of output pins. There is plenty of documentation on the web about the Piface board and how it can be used.</p>

<h2 id="prerequisites">Prerequisites</h2>

<p>In order to communicate with the Raspberry Pi carrying the PiFace daughter board please install the scripts that can be found <a href="https://github.com/openhab/openhab1-addons/tree/master/bundles/binding/org.openhab.binding.piface/scripts">here</a>. If you upgrade from an older openHAB version make sure that you update the scripts to avoid watchdog errors in your logfile.</p>

<p>In newer RasPi kernel versions the hardware resource allocation is handled by the <a href="http://www.raspberrypi.org/documentation/configuration/device-tree.md">device tree</a>. This may stop the SPI kernel module from loading after an update of the RasPi firmware (<strong>rpi-update</strong> command) even if the the ohpiface scripts are correctly installed and where already working. If you experiencing issues please</p>

<ol>
  <li>Check if the SPI kernel module is loaded</li>
  <li>Check if the SPI kernel module can be loaded</li>
  <li>Modify <strong>/boot/config.txt</strong> to enable SPI in the device tree</li>
  <li>Reboot your Raspberry</li>
</ol>

<h3 id="check-if-the-spi-kernel-module-spi_bcm2708-or-spi_bcm2835-is-loaded">Check if the SPI kernel module (spi_bcm2708 or spi_bcm2835) is loaded</h3>

<p>The command</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>lsmod | grep spi_bcm2708
</code></pre></div></div>

<p>or</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>lsmod | grep spi_bcm2835
</code></pre></div></div>

<p>checks if the kernel module is loaded. If the module is loaded you will get output like</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>spi_bcm2708             6018  0
</code></pre></div></div>

<p>if not - no output is generated.</p>

<h3 id="check-if-the-spi-kernel-module-can-be-loaded">Check if the SPI kernel module can be loaded</h3>

<p>If the module is not loaded you may try</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>modprobe spi_bcm2708
</code></pre></div></div>

<p>to load the kernel module. If you get an error message</p>

<h3 id="enable-spi-in-the-device-tree">Enable SPI in the device tree</h3>

<p>Add the line</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>device_tree_param=spi=on
</code></pre></div></div>

<p>to the file <code class="highlighter-rouge">/boot/config.txt</code> to enable SPI in the device tree and reboot. The kernel module should now load into the kernel and the ohpiface scripts should work again.</p>

<h2 id="binding-configuration">Binding Configuration</h2>

<p>This binding can be configured in the file <code class="highlighter-rouge">services/piface.cfg</code>.</p>

<p>The binding supports multiple Piface devices by specifying a unique <code class="highlighter-rouge">&lt;PifaceId&gt;</code> in the binding configuration. The <code class="highlighter-rouge">&lt;PifaceId&gt;</code> is used in the item configuration to identify which device it is associated with.</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><code class="highlighter-rouge">&lt;Pifaceid&gt;</code>.host</td>
      <td> </td>
      <td style="text-align: center">Yes</td>
      <td>Host IP address of the Piface device</td>
    </tr>
    <tr>
      <td><code class="highlighter-rouge">&lt;Pifaceid&gt;</code>.listenerport</td>
      <td>15432</td>
      <td style="text-align: center">No</td>
      <td>Port the Piface device is listening on for commands FROM the binding</td>
    </tr>
    <tr>
      <td><code class="highlighter-rouge">&lt;Pifaceid&gt;</code>.monitorport</td>
      <td>15433</td>
      <td style="text-align: center">No</td>
      <td>Port the Piface device uses to send updates TO the binding</td>
    </tr>
    <tr>
      <td><code class="highlighter-rouge">&lt;Pifaceid&gt;</code>.sockettimeout</td>
      <td>1000</td>
      <td style="text-align: center">No</td>
      <td>Socket timeout in milliseconds when sending packets</td>
    </tr>
    <tr>
      <td><code class="highlighter-rouge">&lt;Pifaceid&gt;</code>.maxretries</td>
      <td>3</td>
      <td style="text-align: center">No</td>
      <td>Number of retry attempts before failing a packet</td>
    </tr>
    <tr>
      <td>watchdog.interval</td>
      <td>60000</td>
      <td style="text-align: center">No</td>
      <td>Watchdog polling interval in milliseconds</td>
    </tr>
  </tbody>
</table>

<p>where <code class="highlighter-rouge">&lt;Pifaceid&gt;</code> is a simple name you choose for a specific Piface device; the name is used in your item configurations (see below).  Do not use <code class="highlighter-rouge">watchdog</code> for <code class="highlighter-rouge">&lt;Pifaceid&gt;</code> as it is reserved.  You can repeat entries in <code class="highlighter-rouge">services/piface.cfg</code> to address multiple Piface devices.</p>

<h2 id="item-configuration">Item Configuration</h2>

<p>The binding supports Switch and Contact item types only. In order to associate an item with a particular Piface pin/port, you must first define the <code class="highlighter-rouge">&lt;PifaceId&gt;</code>, as configured in the binding configuration, and then specify the pin type and number.</p>

<p>The syntax (by way of example) of the item configuration is shown below:</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/* Two Piface items - an OUT switch, and an IN contact */
Switch     PifaceSwitch1       "Switch 1"  { piface="pifaceid1:OUT:1" }
Contact    PifaceContact1      "Contact 1" { piface="pifaceid1:IN:1" }
</code></pre></div></div>

<p>In this example the first item is a Switch, which when activated in openHAB, will set OUTPUT pin 1 on the Piface board high/low. I.e. this is enabling openHAB to turn on/off something in the real-world - e.g. a garage door opener.</p>

<p>The second item is a Contact item which will be updated to open/closed when INPUT pin 1 on the Piface board is set high/low. I.e. this is reading the state of something in the real-world - e.g. it could be a reed switch on a garage door.</p>

<p>When the binding is initialised, it will attempt to read the current state of any INPUT pins and update the items on the openHAB event bus. Output pins cannot be read currently so should be initialised to a known state by a rule in your openHAB configuration.</p>

<h3 id="watchdog">Watchdog</h3>

<p>WATCHDOG monitor ensures your Pi is connected and responding. No further configuration is required as long as you do not want to make use of the watchdog feature.</p>

<p>By binding a switch/contact item to the WATCHDOG command for a Piface board you will be able to check your Pi is alive. The watchdog polling interval is configured in your <a href="#binding-configuration">binding configuration</a>.</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Switch  PiFaceWatchDog1        "Watchdog 1"  { piface="pifaceid1:WATCHDOG" }
</code></pre></div></div>

<h2 id="examples">Examples</h2>

<p>Below is an example of my setup. I am using one of the output relays to control my underfloor heating system, and the other to activate my garage door opener. I also have 3 inputs configured, one from the underfloor thermostat controller, one from a reed switch on my garage door, and one attached to a homemade water sensor (just two pieces of aluminium foil wrapped around a piece of plastic with a 5mm gap).</p>

<h3 id="item-definitions">Item Definitions</h3>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>// Underfloor heating
Switch   UFThermostat      "Underfloor Thermostat" &lt;heating&gt;        { piface="piface1:IN:0" }
Switch   UFHeatpump        "Underfloor Heatpump"   &lt;heating&gt;        { piface="piface1:OUT:1" }

// Garage door
Contact  GarageDoor        "Garage Door [%s]"      &lt;garagedoor&gt;     { piface="piface1:IN:3" }
Switch   GarageDoorOpener  "Garage Door Opener"    &lt;remotecontrol&gt;  { piface="piface1:OUT:0" }

// Hot Water Cylinder cupboard water sensor
Switch   HWCWaterSensor    "HWC Water Sensor"      &lt;watersensor&gt;    { piface="piface1:IN:7" }
</code></pre></div></div>

<h3 id="heating-rules">Heating Rules</h3>

<p>The rules for these items are below. The underfloor heating rule is pretty simple, if the thermostat decides it is time to heat openHAB simply passes this signal onto the heat pump, unless I am away on holiday! There is also a rule to check if the forecast is for a cold day ahead, and if the heat pump isnt already running at 5am, to give the heating a boost for a couple of hours. It should be noted I only run the heat pump from 9pm till 7am as this is when I get cheap power.</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>// turn on/off the underfloor heatpump based on the thermostat
rule "Underfloor heating"
when
    Item UFThermostat changed
then
    // don't turn on heating if we are on 'holiday' (unless there is a house sitter)
    if (Holidays_Holiday.state != ON || Presence_HouseSitter.state == ON) {
        if (UFThermostat.state == ON)
            sendCommand(UFHeatpump, ON)
        else
            sendCommand(UFHeatpump, OFF)
    }
end

// if the underfloor heatpump is off at 5am and tomorrow is looking
// cold then we give the underfloor a boost for a couple of hours
rule "Underfloor boost"
when
    Time cron "0 0 5 * * ?"
then
    // the minimum forecast max temperature before we attempt to boost
    var boostTempThreshold = 10

    // don't turn on heating if we are on 'holiday' (unless there is a house sitter)
    if (Holidays_Holiday.state != ON || Presence_HouseSitter.state == ON) {
        // if the heat pump is currently off then check the weather forecast for today
        if (UFHeatpump.state == OFF &amp;&amp; Weather_TodayMax.state &lt; boostTempThreshold) {
            sendCommand(UFHeatpump, ON)
            sendTweet("Boosting underfloor heating since it looks chilly today")
        }
    }
end

rule "Shutoff underfloor heating"
when
    Time cron "0 0 7 * * ?"
then
    if (UFHeatpump.state == ON) {
        sendCommand(UFHeatpump, OFF);
    }
end
</code></pre></div></div>

<h3 id="garage-door-rules">Garage Door Rules</h3>

<p>The garage door opener is a simple rule that effectively turns the switch into a button press, simulating the button being held down for one second. I also have a few notifications setup so any XBMC instances that are running get a popup when the garage door is opened. There are other rules linked to the garage door as well, i.e. to turn on the internal garage light for 5 mins when the door is opened.</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>var Timer openGarageDoorTimer = null

rule "Garage door opener"
when
    Item GarageDoorOpener received command ON
then
    if (openGarageDoorTimer != null)
        openGarageDoorTimer.cancel()

    // release the garage door 'opener' after a short delay
    openGarageDoorTimer = createTimer(now.plusSeconds(1)) [|
        sendCommand(GarageDoorOpener, OFF)
    ]
end

rule "Garage door open notification"
when
    Item GarageDoor changed to OPEN
then
    sendXbmcNotification("192.168.1.40", 80, "openHAB Alert", "Garage door is open!")
    sendXbmcNotification("192.168.1.41", 80, "openHAB Alert", "Garage door is open!")
end
</code></pre></div></div>

<h3 id="hwc-sensor-rules">HWC Sensor Rules</h3>

<p>The HWC sensor rule is there to alert me of any leak and to dampen the notification frequency, since my sensor tends to change rapidly when it gets wet - flicking on/off very quickly!</p>

<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rule "HWC Water Sensor"
when
    Item HWCWaterSensor changed to ON
then
    // the water sensor can rapidly switch on/off when water detected - don't want 100's of alerts
    // so ignore all activations for 5 mins once it is triggered
    if (!ignore_HWCWaterSensor) {
        // send an email and notification
        sendMail("xxx@xxx.com", "openHAB Alert", "WATER detected in HWC cupboard!!!")
        sendXMPP("xxx@xxx.com", "WATER detected in HWC cupboard!!!")

        // send a notification to both XBMCs
        sendXbmcNotification("192.168.1.40", 80, "openHAB Alert", "WATER detected in HWC cupboard!!!")
        sendXbmcNotification("192.168.1.41", 80, "openHAB Alert", "WATER detected in HWC cupboard!!!")

        // we only send the alerts once every 5 mins
        ignore_HWCWaterSensor = true

        if (timer_HWCWaterSensor != null)
            timer_HWCWaterSensor.cancel()

        // reset the ignore sensor flag after 5 mins
        timer_HWCWaterSensor = createTimer(now.plusMinutes(5)) [|
            ignore_HWCWaterSensor = false
        ]
    }
end
</code></pre></div></div>

    </div>
  </div>
</section>






<footer>
  <div class="container">
    <div class="row">
        <div class="col s12 m7">
            Copyright &copy; 2017 by the <a href="https://github.com/openhab">openHAB Community</a> and the <a href="http://www.openhabfoundation.org/">openHAB&nbsp;Foundation&nbsp;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>
            </ul>
        </div>
    </div>
  </div>
</footer>
<script src="/v2.1/js/jquery.min.js"></script>
<script src="/v2.1/js/jquery.scrollme.min.js"></script>
<script src="/v2.1/js/jquery.sticky.js"></script>
<script src="/v2.1/js/materialize.min.js"></script>
<script src="/v2.1/js/init.js"></script>

<script>
$(document).ready(function () {

    $('#oh2-checkbox').change(function () {
        if (this.checked) $('.since-2x').show('slow');
        else $('.source-oh2').hide('slow');
    });

    $('#oh1-checkbox').change(function () {
        if (this.checked) $('.since-1x').show('slow');
        else $('.source-oh1').hide('slow');
    });

    $('#legacy-checkbox').change(function () {
        if (this.checked) $('.install-legacy').show('slow');
        else $('.install-legacy').hide('slow');
    });

    $('#manual-checkbox').change(function () {
        if (this.checked) $('.install-manual').show('slow');
        else $('.install-manual').hide('slow');
    });

});
</script>

</body>
</html>