Zum Inhalt springen

Opennet Homematic: Unterschied zwischen den Versionen

Aus Opennet
Inhalt gelöscht Inhalt hinzugefügt
MathiasMahnke (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
MathiasMahnke (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
JSON-RPC API: /api/homematic.cgi
JSON-RPC API: /api/homematic.cgi (via POST)


Verwendung zur Steuerung der Tür in der [[Frieda23]].
Verwendung zur Steuerung der Tür in der [[Frieda23]].
Zeile 22: Zeile 22:
* Verschlusszustand der Tür prüfen und/oder nachts automatisch schließen? (Kann jeder Zeit von innen mechanisch geöffnet werden)
* Verschlusszustand der Tür prüfen und/oder nachts automatisch schließen? (Kann jeder Zeit von innen mechanisch geöffnet werden)
* Hosting in der Frieda23 um lokalen Zugriff sicher zu stellen?
* Hosting in der Frieda23 um lokalen Zugriff sicher zu stellen?

JSON Beispiele:
* Login:
! Request
{
"method": "Session.login",
"id": 1,
"params": {
"username": "opennet",
"password": "XXX"
}
}
! Response
HTTP/1.1 200 OK
CONTENT-TYPE: application/json; charset=utf-8
Content-Length: 63
Date: ...
Server: lighttpd/1.4.50
{
"error": null,
"id": 1,
"result": "abcd123xyz",
"version": "1.1"
}

Version vom 15. März 2019, 14:20 Uhr

JSON-RPC API: /api/homematic.cgi (via POST)

Verwendung zur Steuerung der Tür in der Frieda23.

Vorbereitung:

  • Benutzer anlegen (hier: opennet)
  • Programme anlegen (hier: door_open, door_close)

Ablauf:

  1. Session.login (username password) - Anmeldung vornehmen, Session-ID erhalten
  2. Program.getAll (_session_id_) - Liste der Programme ausgeben; Liste durchsuchen nach den relevanten Programmen durchsuchen und jeweilige aktuelle Programm-ID erhalten
  3. Program.execute (_session_id_ id) - gewünschtes Programm id ausführen
  4. Session.logout (_session_id_) - Abmeldung vornehmen, auch bei vorzeitigem Programmabbruch

Webinterface:

  • Login, denkbar via Opennet CA Client Login oder Nutzername/Passwort auf jeweils Basis Apache
  • Tür Öffnen, Ausführung nur mit Login
  • Tür Schließen, auch ohne Login erlauben? (Aka, "der letzte der geht macht die Tür zu"?)

Sonstiges:

  • Welche Softwareumgebung soll zum Einsatz kommen? Typisch wäre Bash, PHP, Python und HTML? (SN nutzt PHP-GuzzleHttpClient als Backend und Postman)
  • Verschlusszustand der Tür prüfen und/oder nachts automatisch schließen? (Kann jeder Zeit von innen mechanisch geöffnet werden)
  • Hosting in der Frieda23 um lokalen Zugriff sicher zu stellen?

JSON Beispiele:

  • Login:
! Request
{
 "method": "Session.login",
 "id": 1,
 "params": {
   "username": "opennet",
   "password": "XXX"
 }
}
! Response
HTTP/1.1 200 OK
CONTENT-TYPE: application/json; charset=utf-8
Content-Length: 63
Date: ...
Server: lighttpd/1.4.50
{
   "error": null,
   "id": 1,
   "result": "abcd123xyz",
   "version": "1.1"
}