Skip to main content

A simple class to represent items from openHAB. There is a separate object for each item type. The class can be used in conjunction with the REST API of openHAB.

Project description

Python openHAB Item

A simple module to represent Items from openHAB. There is a separate object for each Item Type. The module can be used in conjunction with the REST API of openHAB.

Installation

You can install it by using pip:

python3 -m pip install python-openhab-item

Usage

You have to import either Item or one of the Item objects:

from openhab import Item, ColorItem, ContactItem, DateTimeItem, DimmerItem, GroupItem, ImageItem, LocationItem, NumberItem, PlayerItem, RollershutterItem, StringItem, SwitchItem

Basic Item Creation

You can create an Item by using an Item object like this:

item = Item("Switch", "my_switch")

So you need at least the Item Type and the name of your Item. You can choose between following Item Types:

  • Color
  • Contact
  • DateTime
  • Dimmer
  • Group
  • Image
  • Location
  • Number
  • Player
  • Rollershutter
  • String
  • Switch

The constructor will automatically check if you choosed a correct Item Type. The type and name attribute are checked if a str is passed. Both are required. Alternatively you can run:

item = Item(type="Switch", name="my_switch")

Instead of creating an Item object you can create an object for each Item Type. You do not need to pass a parameter for the type attribute, so only the name is required:

color = ColorItem("my_color")
contact = ContactItem("my_contact")
datetime = DateTimeItem("my_datetime")
dimmer = DimmerItem("my_dimmer")
group = GroupItem("my_group")
image = ImageItem("my_image")
location = LocationItem("my_location")
number = NumberItem("my_number")
player = PlayerItem("my_player")
rollershutter = RollershutterItem("my_rollershutter")
string = StringItem("my_string")
switch = SwitchItem("my_switch")

Optional attributes are state, tags or groups.

Set State

If you will set a state it will automatically validate if the state is valid:

switch = SwitchItem("my_switch", "ON")
switch2 = Item("Switch", "my_switch2", "ON")

or

switch = SwitchItem(name="my_switch", state="ON")
switch2 = Item(type="Switch", name="my_switch2", state="ON")

or

switch = SwitchItem("my_switch")
switch.setState("ON")
switch2 = Item("Switch", "my_switch2")
switch2.setState("ON")

You can validate if a state is correct before you set it, so your program doesn't abort because of an error message:

switch = SwitchItem("my_switch")

if switch.validate("ON"):
    switch.setState("ON")

And of course the state does not have to be a str if the Item Type allows other values:

number = NumberItem("my_number", 3.14)
number2 = NumberItem("my_number2", 21)

Get State

From an Item object you can logically also query what the state is:

switch = SwitchItem("my_switch", "ON")
switch_state = switch.getState()
print(switch_state)

number = NumberItem("my_number", 3.14)
number_state = number.getState()
print(number_state)

Set Tag(s)

To each Item you can set a tag or multiple tags. Therefore you need a list object. As example the tag Switchable:

switch = SwitchItem("my_switch", "ON", ["Switchable"])
switch2 = SwitchItem(name="my_switch2", state="ON", tags=["Switchable"])
switch3 = SwitchItem(name="my_switch3")

Set Group(s)

An Item can be subordinated to one or more Group's. Therefore you will also need a list object:

switch = SwitchItem("my_switch", "ON", ["Switchable"], ["group1", "group2"])
switch2 = SwitchItem(name="my_switch2", state="ON", tags=["Switchable"], groups=["group1", "group2"])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

python_openhab_item-1.0.0-py3-none-any.whl (12.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page