Initial setup

Tellstick

You need to install tellstick libraries and set up the devices before OpenHAB can use them.

/etc/tellstick.conf

Added a small set of switches, dimmers and sensors.

user = "nobody"
group = "plugdev"
deviceNode = "/dev/tellstick"
ignoreControllerConfirmation = "false"
device {
  id = 1
  name = "Kontor"
  controller = 0
  protocol = "group"
  # model = ""
  parameters {
    devices = "3,4"
    # house = ""
    # unit = ""
    # code = ""
    # system = ""
    # units = ""
    # fade = ""
  }
}
device {
  id = 2
  name = "WANHAO Duplicator 4S"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "7786526"
    unit = "3"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 3
  name = "Kontor Skrivbordslampor"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "7786526"
    unit = "1"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 4
  name = "Kontor Arbetsbänklampa"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "7786526"
    unit = "2"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 5
  name = "Sovrum"
  controller = 0
  protocol = "group"
  # model = ""
  parameters {
    devices = "6,7,8"
    # house = ""
    # unit = ""
    # code = ""
    # system = ""
    # units = ""
    # fade = ""
  }
}
device {
  id = 6
  name = "Sovrum Bokhylla"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "2001890"
    unit = "3"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 7
  name = "Sovrum Sänglampa 1"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "2001890"
    unit = "1"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 8
  name = "Sovrum Sänglampa 2"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "2001890"
    unit = "2"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 9
  name = "Vardagsrum"
  controller = 0
  protocol = "group"
  # model = ""
  parameters {
    devices = "10,11"
    # house = ""
    # unit = ""
    # code = ""
    # system = ""
    # units = ""
    # fade = ""
  }
}
device {
  id = 10
  name = "Vardagsrum Bordslampa"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "1777894"
    unit = "2"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 11
  name = "Vardagsrum Golvlampa"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "1777894"
    unit = "1"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 12
  name = "Hall Sensor"
  controller = 0
  protocol = "arctech"
  model = "selflearning-switch:nexa"
  parameters {
    # devices = ""
    house = "13739090"
    unit = "10"
    code = "0000000000"
    system = "1"
    # units = ""
    fade = "false"
  }
}
device {
  id = 13
  name = "Hall Dimmer"
  protocol = "arctech"
  model = "selflearning-dimmer"
  parameters {
    house = "123456" # This is the code that the nexa-reciever will learn,
    unit = "1"
  }
}
device {
  id = 100
  name = "KingPin KP100A"
  protocol = "silvanchip"
  model = "kp100"
  parameters {
    house = "12345"
  }
}

controller {
  id = 1
  # name = ""
  type = 2
  serial = "A501WDN7"
}

OpenHAB configuration

openhab.cfg

Added connection information to my receiver

############################# Yamaha Receiver Binding #################################
#
# The IP address of the Yamaha Receiver (required)
yamahareceiver:RX-A3040.host=192.168.1.10

Items configuration

Group All
Group gGF   (All)
Group Weather   (All)
Group Status    (All)

Group Living    "Living Room"       <video>     (gGF)
Group Kitchen   "Kitchen"       <kitchen>   (gGF)
Group Office    "Office"        <bath>      (gGF)
Group Hall  "Hall"          <hall>      (gGF)
Group Bed   "Bedroom"       <bedroom>   (gGF)

/* active groups */
Group:Switch:OR(ON, OFF)        Lights      "All Lights [(%d)]"                     (All)
Group:Switch:OR(ON, OFF)        Heating     "No. of Active Heatings [(%d)]"     <heating>   (All)
Group:Number:AVG            Temperature "Avg. Room Temperature [%.1f °C]"   <temperature>   (Status)

/* Lights */
Switch Office_DeskLamp  "Skrivbordslampor"          {tellstick="3:Command"}
Switch Office_WBLamp    "Arbetsbänkslampa"          {tellstick="4:Command"}
Switch Bedroom_Bookcase "Bokhylla"              {tellstick="6:Command"}
Switch Bedroom_Lamp1    "Sänglampa Vänster"             {tellstick="7:Command"}
Switch Bedroom_Lamp2    "Sänglampa Höger"           {tellstick="8:Command"}
Switch Living_TableLamp "Bordslampa"                {tellstick="10:Command"}
Switch Living_FloorLamp "Golvlampa"             {tellstick="11:Command"}
Dimmer Hall_Lamp        "Halllampa [%d %%]" <halllamp> (corridor)  {tellstick="Hall Dimmer:DimmingLevel:Dimmable"}

/* Switches */
Switch  Hall_Sensor "Hallsensor"                {tellstick="12:Command"}

Switch WANHAO_4S    "WANHAO Duplicator 4S"          {tellstick="2:Command"}

/* Indoor Temperatures */
Number Temperature_Living   "Vardagsrum [%.1f °C]"  <temperature>   {tellstick="66:Temperature"}
Number Temperature_Office   "Labbet [%.1f °C]"  <temperature>   {tellstick="105:Temperature"}
Number Temperature_Bed      "Sovrum [%.1f °C]"  <temperature>   {tellstick="97:Temperature"}
Number Temperature_Balcony  "Balkong [%.1f °C]" <temperature>   {tellstick="111:Temperature"}

/* NTP binding demo item */
DateTime        Date            "Date [%1$tA, %1$td.%1$tm.%1$tY]"   <calendar>  { ntp="Europe/Stockholm:sv_SE" }

Sitemap configuration

sitemap apartment label="Chez Falk"
{
    Frame label="Miljö" {
        Text item=Temperature_Living
        Text item=Temperature_Bed
        Text item=Temperature_Office
    }

    Frame label="Kontor" {
        Switch item=Office_WBLamp label="Arbetsbänk"
        Switch item=Office_DeskLamp label="Skrivbord"
    }

    Frame label="Sovrum" icon="firstfloor" {
        Switch item=Bedroom_Lamp1 label="Sänglampa vänster"
        Switch item=Bedroom_Lamp2 label="Sänglampa höger"
        Switch item=Bedroom_Bookcase label="Bokhylla"
    }

    Frame label="Vardagsrum" icon="firstfloor" {
        Switch item=Living_FloorLamp label="Golvlampa"
        Switch item=Living_TableLamp label="Bordslampa"
    }

    Frame label="Hall" icon="firstfloor" {
        Slider item=Hall_Lamp lable="Taklampa"
    }

    Frame label="Rum" {
        Text label="Kontor-/Hobbyrum" icon="office" {
            Text item=Temperature_Office
            Switch item=WANHAO_4S label="WANHAO Duplicator 4S"
            Switch item=Office_WBLamp label="Arbetsbänk"
            Switch item=Office_DeskLamp label="Skrivbord"
            Chart item=Temperature_Office period=W
        }
    }
}

Rules

I also added a test rule, it will turn on my Hall lamp, dimmed to 45%, when my PIR sensor get triggered.

rule "HallDimUp"
when
        Item Hall_Sensor received update ON
then
        sendCommand(Hall_Lamp, 45)
end

rule "HallDimDown"
when
        Item Hall_Sensor received update OFF
then
        sendCommand(Hall_Lamp, OFF)
end