HSL 2.0-Framework Beschreibung des Frameworks

Öffentliche Methoden | Aufstellung aller Elemente
hsl20_4_udp.hsl20_4_udp.Multicast Klassenreferenz

Alle Methoden für die Kommunikation per UDP-Multicast. Mehr ...

Abgeleitet von hsl20_4_udp.hsl20_4_udp.UdpBase.

## Öffentliche Methoden
def | set_address (self, server_ip, multicast_ip, port)
| Setzt die Server-Adresse und die Multicast-Adresse, unter der Daten empfangen und gesendet werden können. Mehr ...
def | send (self, data)
| Sendet Daten in die Multicast-Gruppe. Mehr ...
def | start_server (self)
| Startet den UDP-Empfangsserver. Mehr ...
Öffentliche Methoden geerbt von hsl20_4_udp.hsl20_4_udp.UdpBase
def | __init__ (self, framework, context_map)
| Konstruktor. Mehr ...
def | set_on_data (self, callback)
| Setzt einen Callback für den Datenempfang. Mehr ...
def | set_on_error (self, callback)
| Setzt einen Callback für den Fehlerfall. Mehr ...
def | start_server (self)
| Startet den UDP-Empfangsserver. Mehr ...

## Ausführliche Beschreibung

Alle Methoden für die Kommunikation per UDP-Multicast.

Veraltet:
  Diese Klasse sollte nicht mehr eingesetzt werden.

Bietet die Kommunikation per UDP/IP in beide Richtungen.

Wird abgeleitet von UdpBase.

Beispiel

class UDP_Client(hsl20_4.BaseModule):
def __init__(self, homeserver_context):
...
def on_init(self):
self.client=None
def on_input_value(self, index, value):
if index == self.PIN_I_DATA:
if self.client == None:
self.client = self.FRAMEWORK.create_udp_multicast()
self.client.set_address("", self._get_input_value(self.PIN_I_IP), 4711)
self.client.send(value)

Beispiel 2 beinhaltet einen Multicast UDP-Client. Trifft auf Eingang 1 (PIN_I_DATA) ein Telegramm ein, wird dieses per UDP in die Multicast-Gruppe gesendet.

Zu beachten
  Die Klasse arbeitet asynchron. Keine der angebotenen Methoden blockiert.

## Dokumentation der Elementfunktionen

## ◆ send()

def hsl20_4_udp.hsl20_4_udp.Multicast.send | ( |  | self,
|  |  | data
| ) |  |

Sendet Daten in die Multicast-Gruppe.

Parameter

  data | string Daten

Ausnahmebehandlung

  AttributeError | Wird ausgelöst, wenn noch keine Multicast-Adresse oder kein Port definiert wurde.

## ◆ set_address()

def hsl20_4_udp.hsl20_4_udp.Multicast.set_address | ( |  | self,
|  |  | server_ip,
|  |  | multicast_ip,
|  |  | port
| ) |  |

Setzt die Server-Adresse und die Multicast-Adresse, unter der Daten empfangen und gesendet werden können.

Parameter

  server_ip | string IP-Adresse. Wird ein Leerstring angegeben, werden die Daten unter der HomeServer-Netzwerkadresse empfangen.
  multicast_ip | string Multicast-Adresse. Gibt die Multicast-Gruppe an, unter der die Daten empfangen und gesendet werden können.
  port | int IP-Port, unter dem die Daten empfangen und gesendet werden können.

Ausnahmebehandlung

  RuntimeError | Wird diese Methode aufgerufen während der Server bereits gestartet wurde, wird eine RuntimeError-Exception ausgelöst.

## ◆ start_server()

def hsl20_4_udp.hsl20_4_udp.Multicast.start_server | ( |  | self | ) |

Startet den UDP-Empfangsserver.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

- hsl20_4_udp.py