Durante el desarrollo de la integración de vigieau habría sido interesante recuperar las coordenadas de la casa que configuramos en Gladys.
Aquí está el feedback de claude sobre el tema:
1 y 2. Recuperar el lugar de la casa Gladys — imposible, y no hay forma de evitarlo
Cloné el núcleo de Gladys para verificar en lugar de suponer. La casa tiene coordenadas (server/models/house.js: latitude/longitude), pero nada las expone a un contenedor de integración:
La API host de las integraciones (/api/integration/v1/*) tiene exactamente 21 rutas (server/api/routes.js) — ninguna se refiere a la casa. getConfig() solo devuelve la configuración de la integración en sí.
GET /api/v1/house está authenticated: true, por lo que un JWT de usuario: session.validateAccessToken exige audience: 'user', mientras que un token de integración lleva audience: 'integration'. El middleware lo dice explícitamente — los dos públicos nunca se cruzan.
Ruta alternativa a través de getDevices(): la respuesta incluye room, pero getStandardDeviceIncludes() no anida la casa — la habitación solo tiene un house_id, sin coordenadas.
El botón solicitado requeriría un PR en el núcleo (una ruta GET /api/integration/v1/house + un método SDK). No he implementado nada de este lado, y he registrado el hallazgo en CLAUDE.md para que no se vuelva a enseñar.
¿No sería posible coordinar con el desarrollador de @Will_71 y elegir su « operador » meteorológico?
Sé que se hablaba de eso para fusionar Openweathermap y MétéoFrance en la integración interna y elegir el que se deseara.
Ahora con la integración externa, no sé en qué queda eso, hay demasiados temas que seguir y recordar
@pierre-gilles ha modificado el SDK para que podamos desarrollar integraciones meteorológicas externas.
El widget que he desarrollado estará en el núcleo y podremos elegir la fuente que tomará ya sea OpenWeather, Météo France, Météo Suisse…
Por mi parte, la integración externa de Météo-France está lista para ser probada. Solo espero a que la PR del SDK y el núcleo de Gladys, con la parte meteorológica, esté lista.
¡Buenas noticias, estamos de acuerdo en que es una verdadera necesidad Y no solo para vigieau, por cierto: meteorología, calidad del aire, polen… todas las integraciones relacionadas con la ubicación tienen este problema hoy.
Tu análisis es correcto: las coordenadas están en la base de datos, pero nada las expone en la API de las integraciones. Por lo tanto, vamos a agregar una ruta GET /api/integration/v1/house que devolverá la lista de casas con su nombre y sus coordenadas (y solo eso, no la información de la alarma, obviamente), con el método SDK correspondiente.
Un pequeño detalle que tiene su importancia: las coordenadas de la casa son datos sensibles (¡es la dirección del domicilio!). Por lo tanto, la integración deberá declarar en su manifiesto que necesita la ubicación, y esto será visible en la tienda antes de la instalación. Si la integración no lo ha declarado, la API devolverá un 403. La misma lógica que la que ya usamos para la detección de red.
Para tu código: las coordenadas pueden ser nulas (si el usuario no las ha configurado), y puede haber varias casas. Asegúrate de manejar estos dos casos