/einder

An API wrapper for Samsungs set-top boxes SMT-G7400 and SMT-G7401.

Primary LanguagePythonMIT LicenseMIT

Build Status PyPI

Einder

Einder is an API wrapper for the set-top boxes SMT C7400 and SMT C7401. In the Netherlands these boxes are sold by a big Dutch cable operator under the name Horizon Box. The name Einder is a Dutch synonym for horizon.

I'd like to thank kuijp for his work on horizoncontrol. This is just a shameless Python rip off.

Installation

$ pip install einder

Usage

einder.Client controls the set-top box by sending bytes. These bytes represent the buttons of a remote control. You can find all supported keys in einder.keys. The example shows how to send keys.

import time

import logging
from einder import Client
from einder import keys

# Enable logging.
logging.basicConfig(level=logging.DEBUG)

# Replace IP with the IP of your set-top box. The port parameter is optional,
# by default its 5900.
c = Client("192.168.1.245", port=5900)

c.power_on()

# Wait a few seconds to let the set-top box have some time to start.
time.sleep(5)

# Select channel 501.
c.send_key(keys.NUM_5)
c.send_key(keys.NUM_0)
c.send_key(keys.NUM_1)

# For selecting a channel einder.Client offers a small helper function.
c.select_channel(501)

# No watch some TV...

c.power_off()
c.disconnect()

The einder.Client can also be used as a context manager:

from einder import Client

with Client("192.168.1.245") as c:
    c.select_channel(501)

License

This software is licensed under the MIT license.