Integrierte Komponenten¶
ORBIT bringt einige integrierte Komponenten mit. Diese gliedern sich in die folgenden Bereiche:
Common¶
Dieses Modul enthält einige Komponenten für den allgemeinen Einsatz.
Enthalten sind die folgenden Komponenten:
EventCallbackComponent¶
- class orbit_framework.components.common.EventCallbackComponent(name, slot, callback, **nargs)¶
Diese Komponente wartet mit Hilfe eines Empfangsmusters auf Nachrichten, und ruft ein Callback auf, wenn eine passende Nachricht eintrifft.
Parameter
name
Der Name der Komponente.
slot
Das Empfangsmuster für den Empfang der Nachrichten.
callback
Eine parameterlose Funktion.
Timer¶
Dieses Modul enthält einige Komponenten für die zeitabhängige Steuerung.
Enthalten sind die folgenden Komponenten:
ActivityTimerComponent¶
- class orbit_framework.components.timer.ActivityTimerComponent(name, slot, initial_state=True, timeout=6, **nargs)¶
Diese Komponente schaltet zwischen den zwei Zuständen aktiv und inaktiv um und versendet Nachrichten bei einer Änderung des Zustands. Der Zustand wird durch Nachrichtenaktivität gesteuert. Dazu empfängt die Komponente Nachrichten mit einem Empfangsmuster und schaltet auf aktiv, sobald eine Nachricht eintrifft. Vergeht eine vorgegebene Zeitspanne ohne eingehende Nachrichten, schaltet die Komponente auf inaktiv.
Parameter
name
Der Name der Komponente.
slot
Das Empfangsmuster für den Empfang der Nachrichten.
initial_state
(optional)Der Anfangszustand der Komponente. Mögliche Werte sind
True
für aktiv undFalse
für inaktiv. Standardwert istTrue
für aktiv.timeout
Die Zeitspanne in Sekunden ohne Nachrichten, bis die Komponente in den Zustand inaktiv wechselt.
Nachrichten
Wenn die Komponente in den Zustand aktiv wechselt, werden die folgenden beiden Nachrichten versandt:
name:
'state'
, value:True
name:
'on'
, value:None
Wenn die Komponente in den Zustand inaktiv wechselt, werden die folgenden beiden Nachrichten versandt:
name:
'state'
, value:False
name:
'off'
, value:None
IntervalTimerComponent¶
- class orbit_framework.components.timer.IntervalTimerComponent(name, interval=1, **nargs)¶
Diese Komponente implementiert einen Zeitgeber, der in regelmäßigen Abständen eine Nachricht versendet.
Parameter
name
Der Name der Komponente.
interval
Das Interval für den Nachrichtenversand in Sekunden.
Nachrichten
Die Komponente sendet im angegebenen Intervall die folgende Nachricht:
name:
'timer'
, value: Der Zeitpunkt an dem die Nachricht versandt wurde.
LCD¶
Dieses Modul enthält einige Komponenten für die Steuerung von LCD-Displays.
Enthalten sind die folgenden Komponenten:
LCD20x4BacklightComponent¶
- class orbit_framework.components.lcd.LCD20x4BacklightComponent(name, slot, initial_state=False, **nargs)¶
Diese Komponente schaltet die Hintergrundbeleuchtung aller angeschlossener LCD-20x4-Displays entsprechend dem Nachrichteninhalt eintreffender Nachrichten.
Parameter
name
Der Name der Komponente.
slot
Das Empfangsmuster für den Nachrichtenempfang.
initial_state
(optional)Der Anfangszustand der Hintergrundbeleuchtung. Mögliche Werte sind
True
für eingeschaltet undFalse
für ausgeschaltet. Der Standardwert istFalse
.
Beschreibung
Trifft eine Nachricht ein, die dem abgegebenen Empfangsmuster entspricht, wird der Nachrichteninhalt entsprechend der Python-Semantik als Wahrheitswert interpretiert. Ist der Wert Wahr, wird die Hintergrundbeleuchtung für aller angeschlossenen LCD-20x4-Displays eingeschaltet, andernfalls wird sie ausgeschaltet.
LCD20x4WatchComponent¶
- class orbit_framework.components.lcd.LCD20x4WatchComponent(name, slot, lcd_uid=None, lines={0: '%d.%m.%Y %H:%M:%S'}, **nargs)¶
Diese Komponente zeigt beim Eintreffen einer Nachricht auf einem oder allen LCD-20x4-Displays eine formatierte Uhrzeit an.
Parameter
name
Der Name der Komponente.
slot
Das Empfangsmuster für den Nachrichtenempfang.
lcd_uid
(optional)Die UID eines LCD-20x4-Displays oder
None
. WirdNone
angegeben, wird die Uhrzeit auf allen angeschlossenen Displays angezeigt. Der Standardwert istNone
.lines
(optional)Ein Dictionary welches eine Zeilennummer auf eine Formatierungszeichenkette abbildet. Die Zeilennummer gibt die 0-basierte Zeile im LCD-Display an. Die Formatierungszeichenkette muss der Formatierungssyntax von
datetime.strftime()
entsprechen. Standardwert ist{0: '%d.%m.%Y %H:%M:%S'}
.
Beschreibung
Sobald eine Nachricht empfangen wird, die dem angegebenen Empfangsmuster entspricht, wird die aktuelle Uhrzeit mit dem im Parameter
lines
angegebenen Format formatiert angezeigt. Wenn für Parameterlcd_uid
eine UID übergeben wird, wird die Uhrzeit nur auf dem Display mit dieser UID angezeigt, andernfalls wird die Uhrzeit auf allen angeschlossenen LCD-20x4-Displays angezeigt.
LCD20x4MessageComponent¶
- class orbit_framework.components.lcd.LCD20x4MessageComponent(name, lines, lcd_uid=None, **nargs)¶
Diese Komponente zeigt eine konstante Nachricht auf einem oder allen LCD-20x4-Displays an.
Parameter
name
Der Name der Komponente.
slot
Das Empfangsmuster für den Nachrichtenempfang.
lcd_uid
(optional)Die UID eines LCD-20x4-Displays oder
None
. WirdNone
angegeben, wird die Nachricht auf allen angeschlossenen Displays angezeigt. Der Standardwert istNone
.lines
Eine Sequenz mit Zeichenketten. Es werden maximal 4 Zeichenketten ausgegeben. Ist eine Zeichenkette länger als 20 Zeichen, wird der Rest abgeschnitten.
Beschreibung
Sobald eine Nachricht empfangen wird, die dem angegebenen Empfangsmuster entspricht, wird die Nachricht aus dem Parameter
lines
angezeigt. Wenn für Parameterlcd_uid
eine UID übergeben wird, wird die Nachricht nur auf dem Display mit dieser UID angezeigt, andernfalls wird die Nachricht auf allen angeschlossenen LCD-20x4-Displays angezeigt.
Remote Switch¶
Dieses Modul enthält Komponenten für die Steuerung mit einem Remote-Switch-Bricklet.
Enthalten sind die folgenden Komponenten:
RemoteSwitchComponent¶
- class orbit_framework.components.remoteswitch.RemoteSwitchComponent(name, group, socket, on_slot, off_slot, remote_type='A', switch_uid=None, **nargs)¶
Diese Komponente steuert eine Funksteckdose mit Hilfe des Remote-Switch-Bricklets wenn Nachrichten über das Nachrichtensystem empfangen werden.
Parameter
name
Der Name der Komponente.
group
Die Gruppennummer der Funksteckdose.
socket
Die ID der Funksteckdose.
on_slot
Ein Empfangsmuster welches die Funksteckdose einschalten soll.
off_slot
Ein Empfangsmuster welches die Funksteckdose ausschalten soll.
remote_type
(optional)Der Typ der Funksteckdose. Mögliche Werte sind
'A'
,'B'
oder'C'
. Der Standardwert ist'A'
. Mehr Informationen zu Steckdosentypen sind in der Remote-Switch-Dokumentation zu finden.switch_uid
(optional)Die UID des Remote-Switch-Bricklets oder
None
für den ersten der gefunden wird. Der Standardwert istNone
.
Beschreibung
Wenn eine Nachricht mit dem Empfangsmuster von
on_slot
eintrifft, wird der Einschaltbefehl an die angegebene Steckdose gesendet. Wenn eine Nachricht mit dem Empfangsmuster vonoff_slot
eintrifft, wird der Ausschaltbefehl an die angegebene Steckdose gesendet.Siehe auch: Remote-Switch-Dokumentation