Opennet Homematic: Unterschied zwischen den Versionen
Aus Opennet
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, 16: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:
- Session.login (username password) - Anmeldung vornehmen, Session-ID erhalten
- Program.getAll (_session_id_) - Liste der Programme ausgeben; Liste durchsuchen nach den relevanten Programmen durchsuchen und jeweilige aktuelle Programm-ID erhalten
- Program.execute (_session_id_ id) - gewünschtes Programm id ausführen
- 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" }