dmoranf / home-assistant-wattio

Wattio Smart Home custom integration for Home Assistant
MIT License
7 stars 0 forks source link

El estado sobre la seguridad no es correcto. #12

Closed garzy closed 3 years ago

garzy commented 3 years ago

Buenos días,

He notado que el estado de seguridad no es correcto, adjunto capturas de pantalla:

HomeAssistant

Wattio

Además, cuando pulso en el botón de grupo, que activa todos a la vez, me salta la alarma de casa, ese funcionamiento no es el deseado, me explico:

Me gustaría disponer de la misma funcionalidad ;)

Por cierto, una vez que la alarma ha saltado ¿es posible desactivarla desde el componente? Creo recordar que Wattio me dijo que, por seguridad, no era posible, al menos a través de su servicio IFTTT.

Saludos.

garzy commented 3 years ago

Por lo que he podido observar, seguro que está relacionada con la #9

dmoranf commented 3 years ago

Hola,

Sí, el tema de los updates del estado de los sensores de seguridad se quedó mal en una actualización anterior para pasar las peticiones a asíncronas, debería haberse recuperado en la 0.2.11 también.

Con respecto al siren (perdona pero no tengo esos dispositivos y va un poco en función de lo que me vais diciendo), creo recordar que el switch del SIREN si lo tocas hace sonar la alarma ¿no? Y se pone como activo si está en alarma (sonando) o en pre-alarma (se ha activado y va a sonar). Se correspondería con esto:

https://api.wattio.com/documentation/#api-Appliances-setSiren

Entiendo que faltaría un switch para el estado general de la seguridad, que sería el que concuerda con la primera opción del interface de la APP y se correspondería con esto otro:

https://api.wattio.com/documentation/#api-Security-setSecurity

garzy commented 3 years ago

No te preocupes, para eso estamos los usuarios para aportar las pruebas con los sensores que te faltan ;)

No es correcto lo que dices, el switch del SIREN si lo tocas deja la alarma preparada por si llegado el momento, tenga que activarse y sonar. Si está desmarcado entonces, llegado el momento, no sonaría, aunque nos llegue la alerta por notificaciones.

Para activar la alarma y detenerla cuando ha saltado, se hace con el botón rojo de abajo del todo "¡Hacer sonar la sirena!" (éste cambia a "Detener alarma" cuando la sirena ha comenzado a sonar o está en la fase de los pitidos leves avisando de que va a sonar")

Te explico un poco cómo opero yo en esa pantalla.

Realmente la zona "Control por dispositivo" no la toco nunca.

Lo que hago es, cuando me voy de casa, activo, una vez fuera de la vivienda, el estado general de "Activar/Desactivar alarma", y entonces, automáticamente se activan los otros dos controles por dispositivo.

Cuando llego a casa y antes de abrir la puerta, desactivo el estado general de "Activar/Desactivar alarma" y entonces, automáticamente se desactivan los otros dos controles por dispositivo.

Eso a nivel usuario, por debajo no sé exactamente qué hará, supongo que ignorará el estado de los controles cuando el estado general está desactivado.

Muchas gracias por tan rápido feedback!

dmoranf commented 3 years ago

Vale, entendido tu caso, faltaría el switch genérico que activa y desactiva la alarma (el de arriba del todo), en principio creo que podría añadirse sin problema.

Entiendo que al intentar activar el grupo entero de HASS (ALARMA) se modifica el estado del SIREN y este hace sonar la alarma, ¿no?

Es decir, si pulsas el switch del SIREN en HASS ¿te hace sonar la alarma? ¿Sería el equivalente al botón rojo?

Gracias!

Un Saludo,

garzy commented 3 years ago

Si, jaja, eso es justo lo que pasó, que fuí a hacer la prueba y empezó a sonar la sirena!, xD

dmoranf commented 3 years ago

Ya he visto porqué no lo incluí en su día ... otra chapu más, la api de wattio tiene un endpoint para cambiar el estado de la seguridad, pero no tiene un endpoint para VER el estado del seguridad.

Es más, si lanzas un cambio hacia la API te devuelve algo tal que así:

{
    "fieldCount": 0,
    "affectedRows": 2,
    "insertId": 0,
    "serverStatus": 34,
    "warningCount": 0,
    "message": "(Rows matched: 2  Changed: 2  Warnings: 0",
    "protocol41": true,
    "changedRows": 2
}

Es decir, yo que tengo 2 dispositivos compatibles con seguridad, me cambia el estado de los dos (y devuelve este JSON de la BBDD vete tu a saber porque, como si hubiera quedado a media hacer ...)

Siendo así no es fácil implementarlo a nivel de componente en un solo botón ya que hay que verificar el estado de otros componentes (que además son de estado asíncrono) o duplicar las peticiones a la API (no aconsejable porque no va muy fina).

No obstante, viendo cómo funciona, el efecto debería ser el mismo que si pulsas el botón del grupo de ALARMA que tienes en hass, pero sacando del grupo el SIREN previamente. Deberías tener también una entidad sec_SIREN que sería el equivalente al botón del panel de control de dispositivos de wattio, que tendrías que meter en el grupo de ALARMA, para que al pulsar el switch de grupo el comportamiento fuese igual que al pulsar "Activar/Desactivar alarma"

¿Me puedes confirmar porfa si tienes la entidad de sec_SIREN? Es posible que no la esté creando por algún motivo ...

Saludos!

garzy commented 3 years ago

Si, si la tengo, como puedes ver en las capturas de pantalla.

He comprobado que el switch que activa la alarma es "SIREN", con el icono de advertencia.

He eliminado esa entidad de la carta, curiosamente es la única que hace algo, porque los dispositivo sec_xxx haga lo que haga no cambian nada en la aplicación wattio y además siguen sin reflejar el estado real en el que están (me salen siempre desactivado y si los activo, a los pocos segundos automáticamente cambian a desactivado)

garzy commented 3 years ago

Añado más información que acabo de probar.

Al quitar SIREN de la tarjeta, ya no sale el swith general que activaba las tres. Los controles sec_xxx realmente si que se actualizan en wattio, lo que pasa es que en Wattio tienen un bug gigante, en el panel de seguridad (hace años me di cuenta y se me había olvidado).

El bug que tienen es que los cambios externos no se actualizan en la ventana Seguridad, para verlo hay que seleccionar otra ventana (por ejemplo Alertas) y después volver a seguridad (paso de decirlas nada porque están en plan de no tocar una línea de código de su app)

Por otra parte, confirmo que con activar alguno de los sec_xxx se activa el swith general "Activar/Desactivar Alarma", por lo que para mí es válida la opción de actrivar los dos dispositivos sec_xxx, me parece perfecto (lo que no sé es por qué no se ma sale el switch en la tarjeta para actualizar los dos a la vez, llevo escasos 15 días conociendo HomeAssistant).

El único problema que veo es que los dispositivos de seguridad, si bien cambien correctamente el estado en wattio, en lovelace estás siempre dibujándose como "apagados"

garzy commented 3 years ago

Por cierto, en una tarjeta aparte he dejado la entidad SIREN porque, en contra de lo que decían los de wattio, si me sirve para apagar la sirena si ésta ha saltado (creo que se referían a que por IFTTT no estaba la opción de apagar sirena)

Así que con todas estas cosas no voy a tener necesidad de abrir la app Wattio, que al final es lo que buscamos con Homeassistant

dmoranf commented 3 years ago

Buenas,

En la última update de los offsets pisé sin querer la parte de los switches de security, lo he vuelto a subir en 0.2.13 con todo junto.

He estado haciendo pruebas y parece que funciona bien, y si, es cierto he visto el bug que comentas y que en su día también habíamos detectado ... a veces tienes que forzar que actualice en la app cambiando de pestaña o incluso saliendo ...

No te sabría decir el tema del botón de grupo, la verdad que tampoco soy experto en hass, al final la entidad debería ser del mismo tipo que las otras.

garzy commented 3 years ago

Lo acabo de probar y funciona de lujo, todo correcto!! Es más, ahora sí me sale el botón general en la carta que activa los dos sec_xxx, así que mejor!

Gran trabajo!! Cierro la issue

(PD: Me encanta que en estos momentos me salga Iluminación: 0w, yeeeyyyy)