-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
añadir cerradura electrónica #234
Comments
Hola, |
Yo tambien tengo la cerradura. Los dispositivos de securitas se comunican con una conexion estilo zigbee a la alarma, pero entiendo que no se podria bypasear de forma sencilla esta comunicacion ya que no usan el estandar normal y ademas va cifrado. Lo suyo seria poder hacer todos las operaciones a traves de la API. Si @guerrerotook necesita mas detalles, dinos como podemos ayudar. |
Hola @kytos22, si eres capaz de encontrar una operación en la API que permita trabajar con la cerradura, perfecto, comparte la operación, que argumentos necesita y la implemento en la API. |
Ok creo que he sacado lo importante, no se hasta que punto son importantes las otras operaciones o si solo son para log y la interfaz. Gracias por este proyecto. Cuando le das click al boton para que salgan las opciones de bloquear y desbloquear solicita la configuracion de la cerradura con este JSON:
Y la respuesta es:
JSON Cuando le das a bloquar cerradura:
Respuesta:
JSON status mientras se cierra la cerradura:
Respuesta (wait in progress):
Respuesta (OK):
Resto JSON 1
respuesta (wait):
respuesta: {"data":{"xSGetSignals":{"res":"OK","status":"procesed","signalResponse":"2"}}} Resto JSON 2
Respuesta: {"ok":true,"message":"Dump logging request accepted"} Resto JSON 3
respuesta:
Resto JSON 4
respuesta:
|
Uno más que se une a la petición :) |
También me uno! |
@guerrerotook crees que se podrá integrar? |
Hola a todos y muchas gracias por compartir las operaciones de la API. Pero hasta el mes de febrero voy a estar liado con cosas del trabajo y con la UNED (que tengo exámenes) y no voy a poder dedicar mucho tiempo a hacer cosas nuevas. Pero dicho eso si alguien se anima a implementar hay que añadir un fichero nuevo lock.py e implementar esta operaciones. https://developers.home-assistant.io/docs/core/entity/lock La parte complicada de esto, es que yo no tengo ese cerrojo inteligente en mi casa y no puedo probarlo así que va a ser difícil. |
Hola, gracias por la respuesta. Yo aunque puedo entender gran parte del codigo y puedo hacer scripts no me dedico a programar, pero le echare un vistazo. Por otro lado yo me puedo ofrecer a hacer las pruebas que hagan falta. Si se te ocurre otro consejo que darme para ponerme a ello me dices. |
Se necesitan nociones de python para programar y necesitas Docker y Visual Studio Code para ejecutar una version de desarrollo de Home Assistant donde tengas la integración de la alarma y puedas depurar y poner puntos de ruptura y todo eso. |
No se, si se puede hacer una zona beta como otro github aparte de este para hacer las betas o en la versiones una versión beta para que los que tengan cerraduras, cámaras, perimetrales.... etc puedan probar y ver si falla algo. Yo 0 de programación. Intenté hacer algo con la ia de bolt pero sin logros, supongo que por las apis. Por si alguno la quiere ver https://bolt.new/ está chulo |
Intentaré hacer algo estos dias en un fork, pero no espereis nada serio de mis experimentos. Valores API: En operacion" xSGetLockCurrentMode" la respuesta equivale a: "lockStatus": "1" = unlocked En operacion "xSChangeSmartlockMode" la variable equivale a: Probando con postman, importando las operaciones desde el navegador, bloquea y desbloquea sin problemas. |
Hola
¿Sería posible añadir la apertura y cierre de la nueva cerradura eléctronica de SD?
He capturado las llamadas a la API:
{ "operationName": "xSGetSmartlockConfig", "variables": { "numinst": "XXXXXXX", "panel": "SDVECUW", "devices": [ { "deviceType": "DR", "deviceId": "01", "keytype": "0" } ] }, "query": "query xSGetSmartlockConfig($numinst: String!, $panel: String!, $devices: [SmartlockDevicesInfo]!) {\n xSGetSmartlockConfig(numinst: $numinst, panel: $panel, devices: $devices) {\n res\n referenceId\n zoneId\n serialNumber\n location\n family\n type\n label\n features {\n holdBackLatchTime\n calibrationType\n autolock {\n active\n timeout\n }\n }\n }\n}" }
Respuesta:
{ "data": { "xSGetSmartlockConfig": [ { "res": "OK", "referenceId": null, "zoneId": "DR01", "serialNumber": "XXXXXXX", "location": "Pl_1_Recibidor", "family": "User", "type": "163", "label": "Cerradura", "features": { "holdBackLatchTime": 3, "calibrationType": 0, "autolock": { "active": true, "timeout": "1800" } } } ] } }
Apertura:
{ "operationName": "xSChangeSmartlockMode", "variables": { "numinst": "XXXXXXX", "panel": "SDVECUW", "deviceId": "01", "deviceType": "DR", "lock": false }, "query": "mutation xSChangeSmartlockMode($numinst: String!, $panel: String!, $deviceId: String!, $deviceType: String!, $lock: Boolean!) {\n xSChangeSmartlockMode(\n numinst: $numinst\n panel: $panel\n deviceId: $deviceId\n deviceType: $deviceType\n lock: $lock\n ) {\n res\n msg\n referenceId\n }\n}" }
Respuesta:
{ "data": { "xSChangeSmartlockMode": { "res": "OK", "msg": "Your request has been sent", "referenceId": "OWP______________XXXXXX__XXXXXXXX________________" } } }
{ "operationName": "xSChangeSmartlockModeStatus", "variables": { "numinst": "xxxxxxx", "panel": "SDVECUW", "deviceId": "01", "referenceId": "OWP_______________xxxxx_xxxxxxx_______________", "counter": 1 }, "query": "query xSChangeSmartlockModeStatus($numinst: String!, $panel: String!, $referenceId: String!, $deviceId: String, $counter: Int) {\n xSChangeSmartlockModeStatus(\n numinst: $numinst\n panel: $panel\n referenceId: $referenceId\n counter: $counter\n deviceId: $deviceId\n ) {\n res\n msg\n protomResponse\n status\n }\n}" }
{ "data": { "xSChangeSmartlockModeStatus": { "res": "WAIT", "msg": "Request in progress, please wait", "protomResponse": null, "status": null } } }
Y al final:
{ "data": { "xSChangeSmartlockModeStatus": { "res": "OK", "msg": "Request processed correctly", "protomResponse": null, "status": "procesed" } } }
Y para el cierre:
{ "operationName": "xSChangeSmartlockMode", "variables": { "numinst": "xxxxxxx", "panel": "SDVECUW", "deviceId": "01", "deviceType": "DR", "lock": true }, "query": "mutation xSChangeSmartlockMode($numinst: String!, $panel: String!, $deviceId: String!, $deviceType: String!, $lock: Boolean!) {\n xSChangeSmartlockMode(\n numinst: $numinst\n panel: $panel\n deviceId: $deviceId\n deviceType: $deviceType\n lock: $lock\n ) {\n res\n msg\n referenceId\n }\n}" }
The text was updated successfully, but these errors were encountered: