HomematicIP 1.0.16

HomematicIP 1.0.16

Ein Wrapper für die Python 3-Bibliothek für die homematicIP REST API (Access Point Based). Da es keine offizielle Dokumentation zu dieser API gibt, wurde alles über Reverse Engineering erstellt. Die Verwendung erfolgt auf eigenes Risiko.

Die Hilfe und Unterstützung der Community durch Pull-Anfragen ist sehr willkommen.

PyPI download monat PyPI Version fury.io Discord CircleCI PyPI - Python Version

Hilfe über Discord

Wenn Sie Kontakt mit mir aufnehmen möchten oder Hilfe bei der Bibliothek benötigen, können Sie mich über Discord erreichen. Es gibt einen Discord-Server und mein Discord-Tag ist “agonist#6159”.

Unterstützen Sie mich

:heart: Wenn Sie sich bedanken oder mich unterstützen möchten, können Sie das über PayPal tun. Klicken Sie hier.

Dank

Ein großes Dankeschön an @coreGreenberet, der diese Bibliothek erstellt hat.

Dokumentation

Die Dokumentation ist derzeit nicht aktuell.

Die Dokumentation finden Sie unter https://homematicip-rest-api.readthedocs.io.

Installation

Führen Sie einfach pip install -U homematicip aus, um das Paket zu erhalten.

“Nightly” Builds

Jeder Push im Master-Zweig löst einen Build aus. Dadurch können Sie die neueste Version der Bibliothek mit Ihren Systemen testen. Führen Sie einfach pip install -U homematicip -pre aus, um das Paket zu erhalten.

Neue Geräte und Konfigurationsdump

Wenn Ihnen ein Gerät fehlt, das noch nicht implementiert ist, können Sie ein Problem eröffnen und einen Dump Ihrer Konfiguration daran anhängen. Verwenden Sie dazu https://gist.github.com. Um einen Dump zu erstellen, verwenden Sie die CLI: python hmip_cli.py -dump-configuration -anonymize. Weitere Anweisungen finden Sie unter “Verwendung”.

MEHR LESEN  Galaxy Tab S7, S7+ und S7 FE: Die Unterschiede der Samsung-Tablets

Verwendung

Token generieren

Führen Sie zunächst python hmip_generate_auth_token.py (von der Befehlszeile aus) aus, um einen Authentifizierungstoken für Ihren Access Point zu erhalten. Es wird eine “config.ini” in Ihrem aktuellen Verzeichnis generiert.

Verwendung der CLI

Sie können Befehle an homematicIP mit dem Skript hmip_cli.py senden. Verwenden Sie den Parameter -h oder -help, um eine Übersicht zu erhalten. Verwenden Sie das Argument -d in Kombination mit der 24-stelligen ID (301400000000000000000000) von -list-devices, um Geräte anzusprechen.

Ein paar Beispiele:

  • python hmip_cli.py -help um Hilfe zu erhalten.
  • python hmip_cli.py -list-devices um eine Liste Ihrer Geräte zu erhalten.
  • python hmip_cli.py -d <id-from-device-list> -toggle-garage-door um das Garagentor mit HmIP-WGC zu öffnen/schließen.
  • python hmip_cli.py -list-events um Ereignisse und Änderungen in Ihrem homematicIP-System zu überwachen.
  • python hmip_cli.py -d <id> -set-lock-state LOCKED -pin 1234 um eine Tür mit HmIP-DLD zu verriegeln.
  • python hmip_cli.py -dump-configuration -anonymize um die aktuelle Konfiguration zu speichern und anonymisieren.

Beispiele

  • hmip_cli.py um Geräte, Gruppen und Sicherheitsprotokolle aufzulisten; Labels zu setzen und Schalter ein- und auszuschalten.
  • Beispielprojekte finden Sie unter ./homematicip-samples.

Implementierte Funktionen

  • Generieren eines Authentifizierungstokens
  • Auslesen des aktuellen Zustands der Umgebung
  • Wetter
  • Standort
  • Grundlegende Informationen (AP-Version, zugewiesene PIN, Zeitzone, …)
  • Geräte (teilweise)
  • Client
  • Gruppen

Homematic IP Geräte

Hier finden Sie eine Liste der kompatiblen Geräte.

Homematic IP Wired Geräte (kein Funksignal)

Hier finden Sie eine Liste der kompatiblen verkabelten Geräte.

Ereignisse

Es ist auch möglich, Push-Benachrichtigungen basierend auf einer WebSocket-Verbindung zu verwenden. Hier ein Beispiel für die Verwendung:

# Beispiel Funktion zum Anzeigen eingehender Ereignisse.
def print_events(event_list):
    for event in event_list:
        print("EventType: {} Data: {}".format(event["eventType"], event["data"]))

# API initialisieren.
config = homematicip.find_and_load_config_file()
home = Home()
home.set_auth_token(config.auth_token)
home.init(config.access_point)

# Funktion zum Handhaben von Ereignissen hinzufügen und Verbindung starten.
home.onEvent += print_events
home.enable_events()

try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    print("Interrupt.")

Konfigurationspfade für config.ini

Die Skripte suchen nach einer config.ini an 3 verschiedenen Speicherorten, abhängig von Ihrem Betriebssystem. Kopieren Sie die Datei an einen dieser Speicherorte, damit sie von den Skripten zugänglich ist.

  • Allgemein: Arbeitsverzeichnis
  • Windows:
    • %APPDATA%homematicip-rest-api
    • %PROGRAMDATA%homematicip-rest-api
  • Linux:
    • ~/.homematicip-rest-api/
    • /etc/homematicip-rest-api/
  • macOS:
    • ~/Library/Preferences/homematicip-rest-api/
    • /Library/Application Support/homematicip-rest-api/
MEHR LESEN  Handys ohne Vertrag: Flexibilität und Freiheit!