Da die Homematic Keymatic drei Zustände (LOCK / UNLOCK / OPEN) kennt und alle Beispiele für die XML-API nur für normale Aktoren mit zwei Zuständen (AN/AUS) oder analoge Aktoren gepasst haben, musste ich selber etwas probieren. Anfangs dachte ich Keymatic und XML-API funktionieren nicht zusammen aber so schwer war es dann doch nicht.
Anfangs habe ich versucht die Keymatic über die XML-API den Datenpunkt über z. B. 0 / 1 / 2 anzusteuern. Bewegt hat sich die Keymatic auch, aber nie so wie gewünscht. Die Lösung: Es werden zwei Datenpunkte bzw. deren ISE-ID benötigt. Die ISE-ID der Datenpunkte kann man sich über die Webseite http://<IP-Adresse CCU>/config/xmlapi/statelist.cgi anzeigen lassen.
Ein Datenpunkt für Lock / Unlock => BidCos-RF.<Seriennummer>:1.STATE
und einer für Open => BidCos-RF.<Seriennummer>:1.OPEN
Wäre die ISE_ID von STATE 1111 und die von OPEN 2222 würden die entsprechenden Befehle wie folgt aussehen.
Tür aufschließen
http://<IP-Adresse CCU>/config/xmlapi/statechange.cgi?ise_id=1111&new_value=1
Tür abschließen
http://<IP-Adresse CCU>/config/xmlapi/statechange.cgi?ise_id=1111&new_value=0
Tür öffnen
http://<IP-Adresse CCU>/config/xmlapi/statechange.cgi?ise_id=2222&new_value=1
Warnung! Ohne weitere Sicherheitsvorkehrungen kann damit fast jeder im eigenen Netz (also auch per WLAN) die Haustür öffnen ohne dafür ein Kennwort zu benötigen! Es ist also schon ein wenig riskant Keymatic und XML-API ohne zusätzlichen Schutz zu betreiben. Ein sicheres WLAN ist somit wie so oft einer der wichtigsten Punkte, je nach Smart Home sollten natürlich noch weitere Sicherheitsvorkehrungen getroffen werden.
Wenn dies jemand liest der mir sagen kann wie man die Keymatic mit Authentifizierung ansteuern kann, würde ich mich sehr über ein Kommentar oder Nachricht freuen! Die Keymatic direkt an einen Handsender anlernen und Kontakte abgreifen oder zusätzliche Lösung wie FHEM fallen für mich raus.
Schönen Dank für diese Infos. Ich habe das bei mir mal ausprobiert. Klappt auch soweit.
Aufgefallen ist mir nur, dass Tür aufschliessen und abschliessen genau anders herum funktionieren: (new_value 0 und 1 vertauscht)
Tür aufschließen
http:///config/xmlapi/statechange.cgi?ise_id=1111&new_value=1
Tür abschließen
http:///config/xmlapi/statechange.cgi?ise_id=1111&new_value=0
Gruß
Ralf
Hallo Ralf,
vielen Dank für die Info! Ich habe es im Beitrag angepasst.
Viele Grüße
Stefan
Möglicherweise ist ccu-protect aus dem Homematic Forum was für dich.
Zugriffsbeschränkungen dank iptables
Hallo Stefan
Danke für die supper Aleitung , hat bestens funktioniert.
Die value gehen übrigens auch mit new_value=true oder new_value=false
Gruss
D
Hallo Stefan,
ich habe xml-api wie unter http://psycho0verload.de/2016/10/31/ccu2-xml-api-mit-app%C2%ADfae%C2%ADhiger-https-authentifizierung-mod_auth/ beschrieben abgesichert.
Funktioniert ohne Probleme. Einziger Nachteil: Es ist nach jedem Update (mit geringem Aufwand) neu zu konfigurieren.
Grüße Michael
Hallo Stefan
Durch zufall habe ich deine Webseite gefunden.
Ich weiss, der Inhalt ist schon recht alt, aber möglicherweise siehst du ja meinen Post und würdest mir helfen.
Ich möchte den Zustand der KeyMatic bei mir nicht ändern, sondern auslesen.
Das Ergebis möchte ich in Tasker weiterverarbeiten
Wenn ich http://192.168.177.100/config/xmlapi/state.cgi?ise_id=1111 im Browser öffne ist das xml allerdings leer. Die 1111 habe ich durch meine ID aus dem Channel ersetzt.
Ich denke der Befehl ist nicht fertig, hast du mir bitte einen Tipp wie ich an die Zustände komme?
Ich habe eine CCU2 und XML-API am laufen.
Herzlchen Dank vorab
Hans
Hallo Hans,
ich habe aktuell keinen Zugriff mehr auf eine CCU. Versuche mal wie in der XML-API (Externer Link) Dokumentation beschrieben zuerst mit dem Skript devicelist.cgi die device_id auszulesen und diese dann in der state.cgi zu verwenden.
Viele Grüße
Stefan
Hallo Stefan
Vielen Dank für deine Antwort, ich hatte tatsächlcih ein Verständnissproblem.
Funktioniert für meine Zwecke tiptop!
Grüsse
Hans