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
nameDer Name der Komponente.
slotDas Empfangsmuster für den Empfang der Nachrichten.
callbackEine 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
nameDer Name der Komponente.
slotDas Empfangsmuster für den Empfang der Nachrichten.
initial_state(optional)Der Anfangszustand der Komponente. Mögliche Werte sind
Truefür aktiv undFalsefür inaktiv. Standardwert istTruefür aktiv.timeoutDie 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:Truename:
'on', value:None
Wenn die Komponente in den Zustand inaktiv wechselt, werden die folgenden beiden Nachrichten versandt:
name:
'state', value:Falsename:
'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
nameDer Name der Komponente.
intervalDas 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
nameDer Name der Komponente.
slotDas Empfangsmuster für den Nachrichtenempfang.
initial_state(optional)Der Anfangszustand der Hintergrundbeleuchtung. Mögliche Werte sind
Truefür eingeschaltet undFalsefü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
nameDer Name der Komponente.
slotDas Empfangsmuster für den Nachrichtenempfang.
lcd_uid(optional)Die UID eines LCD-20x4-Displays oder
None. WirdNoneangegeben, 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
linesangegebenen Format formatiert angezeigt. Wenn für Parameterlcd_uideine 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
nameDer Name der Komponente.
slotDas Empfangsmuster für den Nachrichtenempfang.
lcd_uid(optional)Die UID eines LCD-20x4-Displays oder
None. WirdNoneangegeben, wird die Nachricht auf allen angeschlossenen Displays angezeigt. Der Standardwert istNone.linesEine 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
linesangezeigt. Wenn für Parameterlcd_uideine 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
nameDer Name der Komponente.
groupDie Gruppennummer der Funksteckdose.
socketDie ID der Funksteckdose.
on_slotEin Empfangsmuster welches die Funksteckdose einschalten soll.
off_slotEin 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
Nonefür den ersten der gefunden wird. Der Standardwert istNone.
Beschreibung
Wenn eine Nachricht mit dem Empfangsmuster von
on_sloteintrifft, wird der Einschaltbefehl an die angegebene Steckdose gesendet. Wenn eine Nachricht mit dem Empfangsmuster vonoff_sloteintrifft, wird der Ausschaltbefehl an die angegebene Steckdose gesendet.Siehe auch: Remote-Switch-Dokumentation