Configuration de sécurité domestique en Ukraine avec Home Assistant face aux attaques de missiles et de drones
(denysdovhan.com)- Face à la menace répétée de frappes aériennes en Ukraine, Home Assistant sert de système d’alerte de sécurité à domicile, transmettant les informations sur l’approche de missiles et de drones vers les téléphones et les enceintes
- Les seules sirènes d’alerte aérienne ne suffisant pas à évaluer la situation, le décollage de MiG-31K, les drones suicides, les missiles balistiques, les missiles de croisière et les attaques combinées sont séparés en différents niveaux de risque
- L’intégration intégrée Ukraine Alarm surveille les alertes aériennes nationales et déclenche des notifications critiques ainsi que des annonces sur enceintes connectées uniquement lorsqu’un membre de la famille se trouve à Kyiv
- Les canaux de surveillance Telegram sont vérifiés toutes les 5 secondes avec HA Multiscrape, et des mots-clés comme décollage de Tu-95, Kyiv, nom du quartier ou consignes d’abri permettent de détecter une attaque imminente et un danger direct
- Lorsqu’un danger direct est détecté, une notification au volume maximal sur le téléphone et une annonce sur le HomePod de la chambre incitent à se déplacer immédiatement vers un abri situé derrière deux murs, comme la salle de bains
Situation des frappes aériennes en Ukraine et niveaux de risque
- Depuis l’invasion à grande échelle de la Russie en 2022, l’Ukraine subit chaque jour des attaques avec diverses armes, à l’exception du nucléaire, et Home Assistant est utilisé pour signaler les menaces en approche
- Les sirènes d’alerte aérienne peuvent retentir plusieurs fois par jour ; se rendre à chaque fois dans un abri mettrait complètement le quotidien à l’arrêt
- Beaucoup de personnes vérifient le niveau de danger réel sur leur téléphone lorsque la sirène retentit
- Elles consultent des apps comme alerts.in.ua et des canaux Telegram pour connaître le type de menace, la trajectoire des missiles et l’existence d’un danger direct
- Le risque de frappe aérienne se divise en plusieurs types
- Décollage de MiG-31K : cela peut se produire plusieurs fois par jour, et le MiG-31K peut emporter un missile hypersonique Kh-47M2 Kinjal. Comme il est impossible de prévoir s’il en transporte réellement un, beaucoup de personnes acceptent ce niveau de risque
- Attaque de drones suicides : elle est principalement menée avec des drones iraniens Shahed 136 ; même si la plupart sont abattus, ils restent dangereux et terrifiants. En raison du bruit de leur moteur, ils sont surnommés “mopeds” ou “lawn-mowers”
- Attaque de missiles balistiques : des missiles balistiques comme le 9K720 Iskander sont très rapides, à environ 2 km/s, et le temps disponible pour se mettre à l’abri est d’au plus une dizaine de minutes. Le moyen le plus rapide est de se cacher derrière deux murs, par exemple dans un couloir ou une salle de bains
- Attaque de missiles de croisière : des missiles de croisière comme les Kalibr sont relativement lents et volent comme des avions, mais ils parcourent de longues distances et peuvent atteindre n’importe quel point du pays
- Le type le plus dangereux est l’attaque combinée
- Les drones et les missiles de croisière épuisent la défense antiaérienne, avant des frappes balistiques ou hypersoniques
- Cela se produit généralement pendant la nuit, vers 4 h du matin
Surveillance des alertes aériennes avec Home Assistant
- L’intégration intégrée Ukraine Alarm de Home Assistant surveille le système national d’alerte aérienne
- Elle active et désactive des capteurs de sécurité dans Home Assistant
- Lorsqu’un danger de quelque type que ce soit apparaît, elle envoie une notification critique et fait lire un message par les enceintes connectées
- Même si les sirènes d’alerte aérienne de la rue retentissent dans toute la ville, l’automatisation est configurée pour être sûr de se réveiller à la maison et de vérifier la situation
- L’automatisation de la sirène d’alerte aérienne à Kyiv utilise comme déclencheur le changement d’état de
binary_sensor.alerts_kyiv_air- Quand il passe de
offàon, elle utilise “Air Alert goes off!” - Quand il passe de
onàoff, elle utilise “It is safe now!” - Elle ne s’exécute que lorsque
sensor.family_in_kyivvauton, donc seulement lorsqu’une personne se trouve à Kyiv
- Quand il passe de
- Les notifications sont exécutées via
script.announcementforce_speak: trueforce l’annonce même en mode Ne pas déranger- Les notifications push sont configurées avec
critical: 1et un volume de0.75
Scraping des canaux Telegram
- Pendant une frappe aérienne, les canaux Telegram fournissent des mises à jour en temps réel sur les dangers, les trajectoires de vol et les types d’attaque
- La tâche qui consistait à regarder constamment son téléphone pour déterminer s’il y avait un danger direct ou s’il était possible de dormir encore quelques heures est confiée à Home Assistant
- Un avertissement précise que, si vous êtes en Ukraine, vous devez vous rendre dans un abri, et que cette configuration ne doit pas être suivie comme consigne de conduite
- Le scraping utilise l’intégration personnalisée HA Multiscrape
- Home Assistant dispose aussi d’une intégration scrape intégrée, mais elle a des limites lorsqu’il faut créer plusieurs capteurs à partir d’un même scraping et manipuler des listes de données
- Des pages web Telegram comme
https://t.me/s/war_monitorsont récupérées, la liste.js-message_textest lue, et le message le plus récent sert au calcul des capteurs et à leurs attributs
Détection d’une attaque imminente via le décollage de Tu-95
- Les missiles de croisière sont généralement transportés et lancés par des bombardiers Tu-95
- Un Tu-95 vole environ 3 heures jusqu’au point de lancement des missiles, puis, après le lancement, ceux-ci mettent environ 1 à 2 heures pour atteindre Kyiv
- Pendant ce temps, on prépare un abri comme la salle de bains
- On rassemble des documents et on peut dormir quelques heures avant le début de l’attaque
- Ce type de situation survient généralement le soir et signifie qu’une attaque massive de missiles est possible pendant la nuit
- Le capteur scrape la liste des messages du canal Telegram toutes les 5 secondes
- Il convertit le message le plus récent en minuscules pour l’inspecter
- Il vérifie la présence de combinaisons de mots spécifiques correspondant à “take off”, “plane”, “tu-95”
- Le message le plus récent est enregistré dans l’attribut
latest_message
- Lorsque le capteur s’active, cela signifie que des bombardiers sont en vol et qu’il reste du temps pour se préparer
- L’automatisation s’exécute lorsque
binary_sensor.imminent_attack_in_war_monitoroubinary_sensor.imminent_attack_in_operinformpasse deoffàon - Le titre de la notification est “Bombers take off 🛫” et le message utilise le
latest_messagedu capteur
- L’automatisation s’exécute lorsque
Notifications de danger direct et comportement d’évacuation
- Le capteur de danger direct envoie une notification lorsqu’une menace immédiate vise l’emplacement de l’utilisateur
- Lors des attaques nocturnes, il faut parfois choisir entre aller dans un abri et passer une nuit blanche, ou rester au lit le plus longtemps possible pour pouvoir aller travailler le lendemain
- Une exposition prolongée à cet environnement conduit à calculer le risque
- Il faut dormir suffisamment pour travailler
- La défense antiaérienne abat régulièrement les menaces entrantes
- À Kyiv, le risque d’être directement touché, ou touché par des débris, est considéré, selon une estimation non scientifique, comme comparable au risque d’être renversé par une voiture, et donc acceptable
- En cas d’impact direct, les chances de survie sont très faibles
- Si un missile ou un drone est abattu à proximité, l’onde de choc peut briser les fenêtres
- La plupart du temps, on dort dans son lit, et si la situation s’aggrave, on se cache dans la salle de bains
- C’est un choix visant à se trouver derrière deux murs pour se protéger des éclats de verre et de l’onde de choc en cas d’explosion à proximité
- Le capteur de danger direct recherche des mots-clés précis
- Condition de localisation : “Kyiv” ou le nom du quartier
- Condition de danger : des expressions correspondant à “warning”, “be in a safe place”, “fast target”
- Si les deux conditions sont vraies, le capteur s’active
- Lorsque le capteur s’active, le danger est considéré comme direct et impose de se mettre immédiatement à l’abri
- Il envoie une notification critique intitulée
Direct Danger ⚠️ - La notification push est configurée avec
critical: 1et un volume de1 - Le volume du HomePod de la chambre est réglé sur
0.6 - L’enceinte lit des messages d’alerte en ukrainien du type “mettez-vous immédiatement à l’abri” et “menace d’attaque sur Kyiv”
force_speak: trueforce l’exécution de l’annonce sur l’enceinte
- Il envoie une notification critique intitulée
2 commentaires
🇺🇦💙💛💪🌟🙌🌍✨
Avis Hacker News
Le fait même que cela existe est à la fois fascinant et horrible
Quand on utilise beaucoup de YAML pour K8s ou Ansible, on valide généralement en environnement de test avant la mise en production, mais ici un seul bug YAML peut réellement coûter des vies humaines
Sans aller jusqu’à accepter son destin, si l’on a déjà renoncé à rejoindre un véritable abri, on peut au moins le configurer pour éviter les éclats de verre pendant une heure au lieu de se cacher pendant des heures à l’arrivée de missiles de croisière et de drones tueurs
Plus près du front que Kyiv, c’est presque inutile. Même pour des missiles balistiques non hypersoniques ou des bombes planantes, le temps de vol est si court qu’on entend presque l’alarme et l’explosion en même temps
Des statistiques comme le nombre et la durée des alertes aériennes sur l’ensemble de l’Ukraine, ou le nombre d’explosions rapportées par la presse selon la région et la période, sont disponibles sur https://alerts.in.ua/en
Il y a une section de synthèse statistique, et il suffit d’appuyer sur le bouton en forme de sablier en bas de l’écran puis de filtrer par période
La vraie question, c’est pourquoi il n’existe pas d’API officielle détaillant précisément la nature du danger. On ne devrait pas avoir à scraper Telegram pour connaître le type d’arme aérienne, sa vitesse et son heure d’arrivée estimée
Au passage, Kropyva mérite aussi le détour. C’est une sorte d’Uber pour l’artillerie, et c’est très utile pour effacer les forces russes
Le recours à d’autres services permet en quelque sorte de répartir la surface d’attaque
Les journalistes qui mettent à jour ces canaux reçoivent des informations non seulement de sources internes à la défense antiaérienne ukrainienne, mais aussi d’activistes OSINT surveillant les communications radio russes avec des SDR, ou de personnes observant depuis le sol les décollages d’avions en Russie et au Bélarus. C’est très dangereux, mais il existe des moyens relativement sûrs de transmettre l’information, et les avions sont en général bruyants
Si un journaliste disparaît pour une raison quelconque, d’autres peuvent continuer à publier les mises à jour. Chaque oblast dispose aussi de ses propres canaux d’alerte, parfois gérés par l’administration locale ou les services d’urgence
Les responsables de la défense antiaérienne sont tout simplement trop occupés pour surveiller directement tout cela et le résumer par écrit. Souvent, le mieux qu’ils puissent faire est de laisser un court message dans un chat de groupe ou à un bot Telegram avant que la situation ne s’aggrave, tout en ajustant le moment de publication pour laisser suffisamment de temps d’alerte sans révéler les capacités ni l’emplacement des postes d’observation ukrainiens
Ce système doit rester simple. Tous les personnels formés à la défense antiaérienne ne sont pas des technophiles, et beaucoup ne savent même pas ce qu’est une API. De même, beaucoup d’Ukrainiens ne savent pas manipuler une API, mais peuvent lire une alerte Telegram
Les journalistes qui assurent la curation des canaux de surveillance reçoivent aussi du grand public des signalements sur les trajectoires de missiles et de drones. Il existe quelques applications permettant d’envoyer des données en utilisant le GPS et la boussole du téléphone en pointant l’appareil vers l’objet, mais au fond il s’agit surtout de disposer de plusieurs canaux d’information faciles à utiliser pour des non-techniciens
Même le simple fait d’envoyer un message indiquant qu’on a entendu passer un missile de croisière, avec une localisation approximative, peut aider, car la couverture radar n’est pas de 100 %. Ces messages sont ensuite retransmis en temps réel aux responsables ukrainiens de la défense antiaérienne qui tentent les interceptions
Les enjeux de sécurité sont aussi évidents. On peut vérifier les contacts personnels et l’accès aux discussions de groupe, et comme il est difficile de lever l’anonymat externe des auteurs sur les canaux Telegram, il est moins facile de cibler leurs appareils par cyberattaque. Une API, en revanche, devrait être ouverte au monde entier et deviendrait donc immédiatement une cible
C’est un système bricolé, mais il fonctionne
Kropyva n’est pas accessible au grand public et reste loin des capacités de systèmes OTAN comparables. Sa force, c’est d’être une application Android qui tourne sur des tablettes bon marché, sans dépendre du matériel fourni par le complexe militaro-industriel. Ce type de matériel est plus sûr et plus robuste, mais aussi beaucoup plus cher
En lisant le passage « Home Assistant a une intégration Ukraine Alarm intégrée. Elle surveille le système national d’alerte aérienne et bascule les capteurs de sécurité de HA », je ne connais pas très bien la communauté HA, mais j’ai l’impression qu’il faut être extrêmement prudent avec tout nouveau commit affectant ce plugin
L’idéal serait qu’un groupe de pairs de confiance relise le code avec énormément de soin, et que des signatures ou équivalents garantissent à tous, pour ainsi dire, qu’ils « reçoivent bien ce pour quoi ils ont payé »
On n’en dépend peut-être pas au point que des vies soient directement en jeu, mais si c’est assez important pour être utilisé, c’est assez important pour être vérifié correctement
Cela dit, c’est facile à dire quand on n’essaie pas de dormir pendant qu’une liste terrifiante de munitions tombe sur sa maison, et une mesure simple comme « ne pas mettre à jour une configuration validée » peut déjà suffire
Le fait que cela existe est à la fois glaçant et encourageant
On dirait un guide de modding pour Cold Waters
Un usage intéressant de Home Assistant. La section suivante mentionne un moniteur d’uptime, et je me demande ce qu’ils utilisent pour rester en ligne. Probablement un UPS ou une batterie de secours
Mais comme il fallait quand même continuer à travailler, beaucoup se sont équipés de UPS, d’EcoFlow, de générateurs, de systèmes solaires, et, avec un budget plus serré, même de batteries DIY. C’est pareil cette année
Utiliser la technologie pour améliorer la vie, c’est déjà remarquable, mais l’utiliser pour survivre à des frappes de missiles est d’un tout autre ordre.
Parfois, on en vient à se demander si l’humanité pourra un jour mettre fin à la guerre pour toujours.
Même si la guerre se « résolvait » par la capitulation immédiate du pays attaqué, laissant un seul envahisseur dominer le monde, des factions finiraient par émerger en son sein pour se disputer à nouveau le pouvoir.
Si les technologies défensives surpassaient durablement les technologies offensives, cela pourrait peut-être être une solution, mais les gens trouveraient quand même un moyen. La guerre pourrait même commencer en modifiant psychologiquement les loyautés des gens.
Une question plus réaliste et plus pratique serait plutôt : « Pourquoi Biden n’a-t-il pas mis fin à la guerre ? »
Et là, le vrai débat commence. Des idées contradictoires, pas mal d’hostilité, des personnages du genre MTG et leurs partisans, et bien sûr ce commentaire serait massivement downvoté jusqu’en enfer.
C’est précisément ça, le point central. Sur un même sujet, la manière de penser change énormément selon qu’il s’agit d’une hypothèse lointaine ou d’une réalité physique.
Les chaînes Telegram ont sauvé la vie de nombreuses personnes et constituent aussi une ressource majeure pour les médias. La manière dont elles sont utilisées ici est intéressante.
Les acteurs étatiques russes seraient probablement prêts à payer très cher pour prendre le contrôle de telles chaînes ou les infiltrer.
C’est une situation vraiment insensée. Le stress de subir de telles attaques à n’importe quelle heure du jour ou de la nuit me ferait probablement vieillir de 10 ans. Et malgré ça, on s’attend quand même à ce que vous retourniez travailler quelques heures plus tard ou le lendemain.
Ce n’est que l’un des facteurs de stress liés à la guerre. Il faut aussi entendre chaque semaine parler de victimes civiles, lire et écouter les récits atroces de ceux qui ont fui les territoires occupés ou ont été libérés, comme à Bucha ou à Kherson, apprendre que des amis ou des connaissances sont morts au combat, faire face à la conscription, ainsi qu’à des perspectives d’avenir incertaines mais globalement sombres.
C’est pourquoi une journée passe comme si c’étaient des années. Ne répétez pas nos erreurs et écrivez à vos représentants.
C’est à parts exactement égales encourageant et horrible. Quand l’Occident comprendra-t-il enfin que Putin ne respecte que la force et trouvera-t-il le courage d’agir ?
Il faut donner aux Ukrainiens tout ce dont ils ont besoin. C’est la bonne chose à faire, et c’est aussi l’affaire militaire du siècle. Pendant que l’Ukraine continue d’user massivement l’armée russe, l’OTAN n’a pas à perdre un seul soldat.
Sinon, il faudra laisser la Russie gagner et gérer des millions de réfugiés ukrainiens. Et il est très probable qu’ensuite la Russie attaque encore un autre pays.