RAPINOLOGYRapin + Technology
La box Homey Pro, vue de face, son anneau lumineux allumé

Domotique · Homey Pro

Applications pour Homey

Une box domotique sait à quelle heure vous vous levez. Elle ignore le prix du gazole à trois kilomètres, si une borne est libre ce soir, et si demain sera un jour rouge.

Ces applications comblent cet écart. Les données existent, elles sont publiques, souvent gratuites, et personne ne les fait entrer dans la maison. Chacune les relève, les range dans des mesures que la box affiche, et surtout les transforme en cartes de Flow, ces briques avec lesquelles on écrit une automatisation sans écrire une ligne de code.

Aucune ne demande de créer un compte. Toutes sont traduites en six langues, cartes de Flow comprises. Celles qui lisent des données françaises se limitent à la France, parce que c'est l'étendue des jeux de données qu'elles emploient, et elles le disent.

00

Le catalogue

Neuf applications, du plein d'essence à la vigilance crue.

Homey écrit une automatisation en trois temps : quand quelque chose arrive, et si telle condition est vraie, alors fais ceci. Ce qui apparaît sur fond clair, comme rayon, est un paramètre que vous réglez dans le Flow. Chaque condition existe aussi à la forme négative, Homey la retourne d'un clic.

01

Disponible · v1.1.7

FR Carburants

Faites le plein au meilleur prix, sans y penser.

Les stations françaises déclarent elles-mêmes leurs prix, plusieurs fois par jour. L'app suit soit la meilleure station dans un rayon que vous choisissez, soit une station précise dont l'historique se lit comme une courbe. Surtout, elle déduit le carburant brûlé pour le détour et retient la station sur le gain net : douze kilomètres effacent souvent trois centimes au litre.

Voir sur le Homey App Store →

Appareils

Station suivie 9 mesures

  • Prix le moins cher
  • Variation de prix
  • Coût d'un plein
  • Bon moment pour faire le plein
  • Niveau de prix sur 30 jours
  • Station la moins chère
  • Adresse
  • Distance
  • Prix mis à jour

Station la moins chère 13 mesures

  • Prix le moins cher
  • Variation de prix
  • Gain net par plein
  • Coût d'un plein
  • Bon moment pour faire le plein
  • Niveau de prix sur 30 jours
  • Station la moins chère
  • Adresse
  • Distance
  • Prix moyen dans le rayon
  • Stations trouvées
  • Stations en rupture
  • Prix mis à jour

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Carburant le moins cher 200 px de haut

Le prix le moins cher du rayon, la station qui le pratique, son adresse, la distance et l'heure du relevé.

Cartes de Flow

Quand 7

  • le moment est devenu bon pour faire le plein
  • Une nouvelle station la moins chère a été détectée
  • Le prix le moins cher est passé sous seuil €/L
  • Le prix le moins cher a changé
  • Le prix le moins cher a baissé d'au moins seuil €/L
  • Le prix le moins cher a augmenté d'au moins seuil €/L
  • Plus de seuil % des stations sont en rupture

Et 6

  • La station la moins chère est à moins de distance km
  • le moment est bon pour faire le plein
  • Le prix le moins cher est inférieur à seuil €/L
  • Le prix le moins cher est inférieur d'au moins marge €/L à la moyenne locale
  • Le gain sur un plein est supérieur à montant
  • station est la station la moins chère

Alors 3

  • Trouver le carburant le moins cher dans un rayon de rayon km
  • Actualiser les prix
  • Définir le rayon de recherche à rayon km
02

Disponible · v1.1.3

FR Bornes VE

Sachez qu'une borne est libre avant de partir.

Les opérateurs déclarent leurs bornes au point d'accès national aux données de transport. L'app suit toutes les bornes d'un rayon, ou une station précise, avec le nombre de points libres, la puissance et le tarif quand il est publié. Elle est franche sur ses limites : la disponibilité vient des opérateurs et n'est pas toujours fraîche, donc l'app affiche toujours de quand date le relevé.

Voir sur le Homey App Store →

Appareils

Station suivie 13 mesures

  • État
  • Bornes libres
  • Points de charge
  • Borne libre
  • Hors service
  • Station
  • Adresse
  • Distance
  • Puissance maximale
  • Tarif
  • Prix au kWh
  • Données à jour
  • Relevé du

Bornes à proximité 13 mesures

  • Bornes libres
  • Points de charge
  • Stations dans le rayon
  • Rayon de recherche
  • Borne libre
  • Station
  • Adresse
  • Distance
  • Puissance maximale
  • Tarif
  • Prix au kWh
  • Données à jour
  • Relevé du

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Points de charge 200 px de haut

Le nombre de points de charge libres, la station, son adresse, le tarif quand il est publié, et la fraîcheur du relevé.

Cartes de Flow

Quand 6

  • Le nombre de bornes libres a changé
  • Les bornes libres dépassent nombre
  • Une borne s'est libérée
  • Une borne est tombée hors service
  • Plus aucune borne libre
  • L'état de la station a changé

Et 5

  • Au moins pourcentage % des points de charge ont un relevé récent
  • La station est à moins de distance km
  • Les bornes libres sont au moins nombre
  • Le prix publié est inférieur à prix €/kWh
  • L'état de la station est état

Alors 2

  • Actualiser les données des bornes
  • Définir le rayon de recherche à rayon km
03

Disponible · v1.1.1

FR Qualité de l'air

Laissez la maison respirer au bon moment.

L'indice ATMO est publié commune par commune, avec la prévision du lendemain et le détail des cinq polluants qui le composent. C'est l'app dont l'usage domotique est le plus direct : une ventilation qui s'arrête quand l'air du dehors est plus mauvais que celui du dedans, une fenêtre motorisée qui ne s'ouvre pas pendant un pic. La carte qui se déclenche à la publication de la prévision laisse une soirée entière pour s'organiser.

Voir sur le Homey App Store →

Appareils

Qualité de l'air d'une commune 12 mesures

  • Qualité de l'air aujourd'hui
  • Indice ATMO
  • Alerte qualité de l'air
  • Polluant principal
  • Qualité de l'air demain
  • Sous-indice NO₂
  • Sous-indice O₃
  • Sous-indice PM10
  • Sous-indice PM2.5
  • Sous-indice SO₂
  • Indice diffusé le
  • Dernière mise à jour

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Indice ATMO 150 px de haut

La commune, l'indice chiffré posé sur son échelle de couleur, et le polluant qui le porte.

Qualité de l'air 150 px de haut

La même chose en mots plutôt qu'en chiffres : la commune, le niveau en toutes lettres et le polluant principal.

Cartes de Flow

Quand 4

  • L'indice de qualité de l'air a changé
  • Un épisode de pollution est en cours
  • La qualité de l'air descend à niveau ou pire
  • La prévision de demain est publiée

Et 3

  • la qualité de l'air est niveau ou pire
  • la qualité de l'air est niveau
  • la qualité de l'air de demain est niveau

Alors 1

  • actualiser l'indice de qualité de l'air
04

En cours de validation · v1.1.2

Point de rosée et moisissures

Sachez quand un mur va se mouiller, en degrés plutôt qu'en avertissement vague.

Celle-ci ne va rien chercher dehors. Elle prend un capteur de température et d'humidité que vous avez déjà, une température extérieure, et calcule le point de rosée de la pièce puis la température de sa paroi la plus froide. Ce qu'elle donne, et qu'aucun capteur ne donne seul, c'est une marge : combien de degrés séparent encore le mur du moment où l'eau s'y condensera. Un hygromètre à soixante-cinq pour cent ne dit pas si c'est grave, une marge d'un degré le dit.

Voir sur le Homey App Store →

Appareils

Pièce 6 mesures

  • Risque de moisissure
  • Marge avant condensation
  • Point de rosée
  • Température de la paroi froide
  • Température
  • Humidité

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Pièce 200 px de haut

La marge avant condensation en gros, le niveau de risque, et en dessous le point de rosée et la température de la paroi froide.

Cartes de Flow

Quand 2

  • Le point de rosée dépasse valeur °C
  • Le risque de moisissure est devenu niveau

Et 2

  • Le point de rosée est supérieur à valeur °C
  • Le risque de moisissure est niveau

Alors 1

  • Recalculer maintenant
05

En développement · v1.2.0

Éphémérides

Tous les crépuscules, heures dorées et phases de lune de chez vous, calculés hors ligne.

Là où Homey ne connaît que le lever et le coucher du soleil, cette app donne les quatorze instants de la journée, les trois crépuscules, l'heure dorée et l'heure bleue, ainsi que la position du soleil et de la lune à tout moment, avec la phase, l'illumination et l'âge. Un second appareil ajoute les jours fériés français, métropole ou Alsace-Moselle. Aux latitudes élevées, et même à Paris en été, certains crépuscules n'existent pas : l'app le dit au lieu d'inventer une heure.

Appareils

Éphémérides 13 mesures

  • Phase du soleil
  • Hauteur du soleil
  • Azimut du soleil
  • Durée du jour
  • Prochain événement solaire
  • Prochain événement à
  • Phase de la lune
  • Illumination de la lune
  • Lune au-dessus de l'horizon
  • Âge de la lune
  • Hauteur de la lune
  • Azimut de la lune
  • Distance de la lune

Jours fériés (France) 6 mesures

  • Jour férié aujourd'hui
  • Jour férié du jour
  • Jour férié demain
  • Prochain jour férié
  • Date du prochain jour férié
  • Jours avant le prochain férié

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Jours fériés 150 px de haut

Le jour férié du jour, ou le fait qu'il s'agit d'un jour ordinaire, puis le compte à rebours vers le prochain et sa date en toutes lettres.

Soleil et lune 200 px de haut

La phase du soleil en cours, l'heure du prochain événement en grand, la durée du jour, et en pied la phase lunaire avec son illumination et une pastille qui dit si la lune est levée.

Le calcul, étape par étape

Ces calculs reposent sur suncalc, une bibliothèque tierce dont le comportement réel a dû être vérifié pas à pas, sa documentation décrivant encore une version antérieure. Trois écarts entre ce qu'elle documente et ce qu'elle rend ont fallu être trouvés et corrigés avant que l'app ne dise juste.

  1. 01

    De la hauteur apparente à la hauteur géométrique

    hauteur géométrique = hauteur apparente − réfraction(max(hauteur géométrique, 0))

    suncalc rend une hauteur apparente, réfraction atmosphérique comprise, alors que le lever, le coucher et les crépuscules sont définis sur la hauteur géométrique, celle du centre réel du disque. Mais sa formule de réfraction borne d'abord la hauteur à zéro, ce qui ajoute une constante de 0,484° partout sous l'horizon, à −18° comme à −1°. Exposer la hauteur apparente aurait fait partir un seuil « sous −6° » deux minutes après l'aube civile, pour la même définition. Sous l'horizon, retirer la réfraction est donc une simple soustraction ; au-dessus, où elle varie avec la hauteur, il faut itérer, et une seule itération traversant le coude oscille sans converger : il en faut six.

  2. 02

    Le sens de la course, même sans lever ni coucher

    montant = maintenant < midi solaire

    Une hauteur de −3° est une aube le matin, un crépuscule le soir : la phase du ciel dépend donc du sens dans lequel le soleil se déplace, pas seulement de sa hauteur. Ce sens ne peut pas se lire sur le lever, qui n'existe pas en toute saison ni à toute latitude, mais sur le midi solaire, seul repère qui reste défini même un jour de soleil de minuit ou de nuit polaire.

  3. 03

    Trois façons de ne rien dire

    événement absent = null, undefined, ou Invalid Date selon le champ

    Un événement qui n'existe pas ce jour-là, un crépuscule astronomique en plein été nordique par exemple, ne prend pas toujours la même forme absente : selon le champ, suncalc rend `null`, `undefined`, ou une date invalide. Un simple `instanceof Date` ne les attrape pas tous, et lire l'heure d'une date invalide lève une exception plutôt que de la signaler. Les trois formes sont donc ramenées à un seul signal avant d'atteindre le reste du code.

  4. 04

    L'échelle des phases du ciel

    jour ≥ 6° > heure dorée ≥ −0,833° > crépuscule civil ≥ −6° > nautique ≥ −12° > astronomique ≥ −18° > nuit

    Dix phases se succèdent entre le plein jour et la nuit noire, chacune bornée par une hauteur géométrique du soleil : le jour au-delà de 6°, l'heure dorée jusqu'au lever officiel à −0,833°, puis les trois crépuscules civil, nautique et astronomique, à −6°, −12° et −18°, avant la nuit. La même échelle, parcourue dans l'autre sens, donne les phases du matin. C'est cette échelle que lit la capacité affichée sur la tuile, ses dix libellés venant du manifeste plutôt que d'être dupliqués dans les traductions.

  5. 05

    La phase et l'âge de la lune

    phase lunaire ∈ [0, 1[, 0 = nouvelle lune, 0,5 = pleine lune ; âge = phase × 29,530588853 j

    suncalc rend la phase lunaire comme une fraction de cycle entre 0 et 1, où 0 est la nouvelle lune et 0,5 la pleine lune. Cette fraction unique est convertie en l'un des huit noms usuels, nouvelle lune, premier croissant, premier quartier…, par une simple série de bornes. Multipliée par la durée moyenne d'une lunaison, 29,530588853 jours, elle donne aussi l'âge de la lune, sans recalcul indépendant : c'est la même fraction qui porte les deux informations.

  6. 06

    Le dimanche de Pâques, et son double contrôle

    algorithme grégorien anonyme (Meeus, Jones, Butcher), confronté à l'algorithme de Gauss de 1900 à 2200

    Les onze jours fériés du régime général se déduisent tous d'une date fixe ou du dimanche de Pâques, calculé hors ligne par l'algorithme grégorien anonyme, valable pour tout millésime du calendrier grégorien. Plutôt que de le croire sur parole, un test le confronte à l'algorithme de Gauss, formulé indépendamment, sur les trois cents et un ans de 1900 à 2200 : les deux s'accordent chaque année. L'Alsace-Moselle ajoute deux jours au régime général, le Vendredi saint et le 26 décembre, au titre du droit local.

  7. 07

    Le bon instant, dans le bon fuseau

    instant local = mur UTC − décalage(fuseau), décalage recalculé deux fois après un premier essai

    Programmer une annonce à dix-huit heures locales suppose de connaître le décalage du fuseau à cet instant précis, or ce décalage dépend de l'instant qu'on cherche encore, à cause de l'heure d'été. La première estimation part d'une heure murale traitée comme de l'UTC, puis le décalage réel est recalculé à cet instant corrigé, deux fois de suite : le procédé converge avant même d'atteindre un jour de bascule d'heure, et un test le vérifie sur trois cent soixante-cinq jours et trois fuseaux.

Cartes de Flow

Quand 8

  • événement survient
  • minutes minutes par rapport à événement
  • Le soleil passe sens degrés°
  • La lune se lève
  • La lune se couche
  • La phase de la lune devient phase
  • Aujourd'hui est un jour férié
  • Demain est un jour férié

Et 12

  • Il fait jour
  • Le soleil est au-dessus de degrés°
  • C'est l'heure dorée
  • C'est l'heure bleue
  • On est entre début et fin
  • La lune est au-dessus de l'horizon
  • La phase de la lune est phase
  • La lune est éclairée à plus de pourcentage %
  • Aujourd'hui est un jour férié
  • Demain est un jour férié
  • Le prochain jour férié est dans moins de jours jour(s)
  • Aujourd'hui est jour férié

Alors 1

  • Recalculer maintenant
06

En développement · v1.0.2

Tendances des capteurs

Transformez n'importe quel capteur en tendance : monte, descend ou stable, avec le rythme.

N'importe quel capteur numérique devient une tendance : à la hausse, à la baisse ou stable, avec le rythme par heure et une fiabilité qui dit de combien la pente dépasse le bruit du capteur. S'y ajoutent une prévision à échéance choisie et le temps restant avant d'atteindre un seuil. Une température qui monte de deux dixièmes par heure n'appelle pas la même réaction qu'une température qui monte de deux degrés.

Appareils

Tendance 5 mesures

  • Tendance
  • Pente
  • Fiabilité
  • Prévision
  • Seuil atteint dans

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Tendance 200 px de haut

La valeur et sa pente par heure, la fiabilité, une courbe sur la fenêtre observée, et l'échéance vers le seuil quand elle existe.

Le calcul, étape par étape

Une tendance est facile à annoncer et difficile à tenir : deux mesures suffisent à tracer une droite, et un capteur bruyant en trace une nouvelle à chaque relevé. Voici ce que l'app fait pour ne dire « ça monte » que lorsque ça monte vraiment.

  1. 01

    La droite, par Theil-Sen

    pente = médiane des (vⱼ − vᵢ) ⁄ (tⱼ − tᵢ), pour toutes les paires i < j

    La pente n'est pas ajustée par moindres carrés mais prise comme la médiane des pentes de toutes les paires de points. Une valeur aberrante n'entre que dans les paires qui la contiennent, donc une minorité, et la médiane l'écarte. Les moindres carrés, eux, minimisent des carrés d'écarts : un seul point fou y pèse plus que tous les autres réunis. Sur trois cents points, cela fait 44 850 paires, quelques millisecondes.

  2. 02

    Le bruit du capteur

    σ = 1,4826 × médiane( |rᵢ − médiane(r)| ), avec rᵢ = vᵢ − (a + b·tᵢ)

    Le bruit est mesuré sur les écarts à la droite, pas sur les valeurs brutes : une montée franche n'est pas du bruit. On emploie l'écart absolu médian, que le facteur 1,4826 ramène à un écart-type. Un plancher le protège d'un piège : sur un capteur quantifié, un anémomètre en kilomètres-heure entiers par exemple, plus de la moitié des écarts peuvent être identiques et l'estimation tomber à zéro. Le bruit ne peut donc pas être annoncé plus fin que la moitié du pas du capteur.

  3. 03

    L'incertitude sur la pente

    σ_pente = σ ⁄ ( √n × σ_t ) × 3600

    Le bruit d'une mesure n'est pas le bruit de la pente. Plus les points sont nombreux, plus la pente est sûre, d'où la racine de n ; et plus ils sont étalés dans le temps, plus elle l'est aussi, d'où l'écart-type des horodatages au dénominateur. Dix mesures prises en une minute disent beaucoup moins qu'un temps qu'un pas de mesure étalé sur une heure.

  4. 04

    La zone morte

    zone morte = k × σ_pente, avec k = 3 par défaut

    En deçà de trois fois son incertitude, une pente ne se distingue pas du bruit : l'app annonce « stable » plutôt que d'inventer un mouvement. Le facteur se règle, et il peut être remplacé par un seuil fixe en unités par heure quand on sait ce qu'on cherche.

  5. 05

    La fiabilité

    fiabilité = min( 100 ; 50 × |pente| ⁄ (k × σ_pente) )

    Elle dit de combien la pente dépasse son propre bruit, et rien d'autre. Cinquante signifie que la pente vaut exactement la zone morte, cent qu'elle en vaut le double. Une pente franche sur un capteur bruyant peut donc être très fiable, et une pente minuscule sur un capteur précis ne pas l'être.

  6. 06

    La prévision et l'échéance

    v̂ = a + b·t_dernier · prévision = v̂ + b × horizon · échéance = (seuil − v̂) ⁄ b

    Les deux partent de la valeur du modèle au dernier instant, jamais de la dernière mesure brute : extrapoler depuis un point bruité propagerait ce bruit. L'échéance vers un seuil rend une valeur vide dans les trois cas où un chiffre mentirait, à savoir une pente dans la zone morte, un seuil déjà franchi ou situé du mauvais côté, et une échéance au-delà de vingt-quatre heures, distance à laquelle la pente aura changé plusieurs fois.

  7. 07

    L'hystérésis

    changement retenu si confirmé 2 fois de suite ET direction précédente tenue ≥ 300 s

    C'est la seule chose qui empêche un volet de battre autour de son seuil. Un changement de direction n'est retenu qu'après deux confirmations consécutives, et seulement si la direction précédente a tenu au moins cinq minutes. Les deux conditions sont exigées ensemble.

  8. 08

    Le retournement

    fenêtre coupée en deux, chaque moitié ajustée ; signes opposés et hors zone morte → pic ou creux

    Une droite unique ne voit pas un sommet : elle le moyenne. La fenêtre est donc coupée en deux moitiés, chacune ajustée séparément, chacune devant compter au moins quatre points. Si les deux pentes sortent de la zone morte et sont de signes opposés, l'app annonce un pic quand la première montait, un creux quand elle descendait.

Cartes de Flow

Quand 5

  • La valeur s'écarte de son habitude de écart-type écarts-types
  • La tendance est devenue sens
  • seuil sera atteint dans moins de minutes min
  • type a été détecté
  • Le capteur semble figé

Et 4

  • La fiabilité est d'au moins pourcentage %
  • La tendance est sens
  • seuil sera atteint avant minutes min
  • La pente est comparaison valeur par heure
07

En développement · v1.0.0

FR Saint du jour

Sachez qui est fêté aujourd'hui, sans ouvrir un calendrier.

Nominis, le service de l'Église catholique en France, publie chaque jour le saint fêté et les prénoms qui s'y rattachent, dérivés compris. Vous inscrivez ceux qui comptent pour vous, et une carte se déclenche le jour venu, une autre la veille à l'heure que vous choisissez. Trois cas particuliers sont traités plutôt qu'ignorés : le 29 février n'a aucun saint majeur et l'app le dit, la Toussaint fête tous les prénoms à la fois, et un dérivé compte autant que le prénom dont il vient.

Appareils

Calendrier des saints 6 mesures

  • Saint du jour
  • Prénoms fêtés
  • Un prénom suivi est fêté
  • Nombre de prénoms fêtés
  • Saint de demain
  • Relevé du

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Saint du jour 200 px de haut

Le saint du jour en grand avec sa notice, les prénoms fêtés en dessous, et en pied ceux de vos prénoms suivis qui le sont ainsi que le saint du lendemain. À la Toussaint, la liste cède la place au fait que tout le monde est fêté.

Cartes de Flow

Quand 3

  • Le saint du jour a changé
  • Un prénom suivi est fêté
  • Un prénom suivi est fêté demain

Et 3

  • Aujourd'hui est la Saint nom
  • prenom est fêté aujourd'hui
  • Tout le monde est fêté aujourd'hui

Alors 1

  • Actualiser le calendrier
08

En développement · v1.0.1

ISS

Sachez quand la station spatiale passe au-dessus de chez vous, et quand elle se voit.

La Station spatiale internationale fait le tour de la Terre en quatre-vingt-douze minutes et passe plusieurs fois par jour au-dessus de chez vous. L'app calcule ces passages un jour à l'avance, pour la position de votre Homey, et distingue surtout ceux qu'on peut voir à l'œil nu, ce qui demande trois choses à la fois : la station éclairée par le Soleil, votre ciel déjà sombre, et une hauteur suffisante pour échapper aux toits. Un Flow peut alors allumer un éclairage ou vous prévenir quelques minutes avant.

Appareils

Passage au-dessus 8 mesures

  • Passage en cours
  • Hauteur sur l'horizon
  • Distance au sol
  • Distance à la station
  • Prochain passage à
  • Minutes avant le prochain passage
  • Hauteur du prochain passage
  • Prochain passage visible à l'œil nu

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Prochain passage 200 px de haut

L'heure du prochain passage en grand et le temps qui en sépare, puis l'arc de sa course dessiné à sa hauteur réelle, plus haut pour un passage au zénith que pour un passage rasant. La pastille et la courbe virent à l'or quand le passage est visible à l'œil nu.

Le calcul, étape par étape

Prévoir un passage demande de savoir où sera la station, où elle se trouve par rapport à vous, et si vous pourrez la voir. Les trois questions se traitent séparément, et la troisième est celle où l'on se trompe le plus facilement.

  1. 01

    Où sera la station

    le service répond aux instants futurs, jusqu'à 24 h, balayage au pas de 60 s, 30 instants par requête

    Il n'y a pas de propagation d'orbite embarquée, et c'est un choix. Le service accepte qu'on lui demande la position à un instant futur, jusqu'à vingt-quatre heures : il suffit alors de balayer la fenêtre minute par minute. Un jour entier coûte quarante-neuf requêtes, pour un quota annoncé de trois cent cinquante par tranche de cinq minutes. Le balayage n'a lieu qu'au démarrage, à minuit, et sur demande.

  2. 02

    L'angle qui vous sépare de son aplomb

    γ = 2·arcsin( √( sin²(Δφ⁄2) + cos φ₁ · cos φ₂ · sin²(Δλ⁄2) ) )

    C'est l'angle au centre de la Terre entre chez vous et le point situé sous la station. Il est calculé par la formule de la haversine et non par le cosinus direct, qui perd toute précision quand deux points sont proches, c'est-à-dire précisément quand la station passe à votre zénith. Un test l'éprouve sur deux points distants d'un mètre.

  3. 03

    La hauteur sur l'horizon

    h = arctan2( cos γ − R ⁄ (R + a) , sin γ )

    C'est ce que l'œil voit, et c'est donc la grandeur qui décide de tout. L'arc-tangente à deux arguments est employée plutôt qu'une division, qui donnerait l'infini au zénith, là où le sinus s'annule. Le réglage de l'appareil porte sur cette hauteur, dix degrés par défaut : en deçà, un passage est mangé par les toits et les arbres.

  4. 04

    Les deux distances, qui ne se comparent pas

    d = √( R² + (R + a)² − 2 · R · (R + a) · cos γ )

    La distance à la station est la corde à travers l'espace, donnée par la loi des cosinus. La distance au sol est l'arc parcouru sur la surface, soit R fois l'angle. Quand la station est loin, l'arc est plus long que la corde, ce qui surprend à la lecture de la tuile mais est parfaitement exact : à cent degrés d'écart, il y a près de onze mille kilomètres de sol pour dix mille kilomètres à vol d'oiseau.

  5. 05

    Le contrôle qui valide toute la géométrie

    rayon de visibilité = R · arccos( R ⁄ (R + a) ) ≈ 2 257 km à 420 km d'altitude

    C'est le rayon du cercle depuis lequel la station est au-dessus de l'horizon. Or le service publie lui-même une empreinte, le diamètre de ce même cercle : les deux se comparent. L'écart mesuré est de 1,34 kilomètre sur 2 258, soit six centièmes de pour cent, ce qui correspond au choix du rayon terrestre, moyen ici, équatorial chez eux. La géométrie est donc validée sans qu'on ait à croire le service sur parole.

  6. 06

    L'éclairement de la station, et le piège qu'il fallait éviter

    la station est éclairée si γ(station, point subsolaire) < 90° + arccos( R ⁄ (R + a) )

    Le service publie un champ nommé « visibility », et s'y fier serait une faute. Il décrit le sol sous la station, pas la station : il répond « plein jour » quand il fait jour dessous, alors même que la station est en plein soleil et parfaitement visible depuis un observateur lointain plongé dans la nuit. S'en remettre à lui faisait conclure à aucun passage visible sur vingt-quatre heures ; en calculant l'éclairement depuis le point subsolaire, que le service fournit par ailleurs, deux passages apparaissaient, tous deux en fin de nuit, ce qui est bien le moment où la station se voit à cette saison. L'ombre de la Terre est traitée comme un cylindre, et l'altitude ajoute une vingtaine de degrés au demi-angle.

  7. 07

    L'obscurité de votre ciel

    hauteur du Soleil chez l'observateur < −6°, le crépuscule civil

    C'est la condition que le service ne donne pas et qu'il faut calculer soi-même : une station éclairée survolant un ciel de plein jour reste invisible. La hauteur du Soleil vient des équations NOAA, les mêmes que celles de l'app Éphémérides, et les deux implémentations ont été confrontées : elles concordent au dix-millième de degré sur une valeur relevée en fonctionnement.

  8. 08

    Le découpage en passages

    un passage = les instants consécutifs où h > 0 ; retenu si son sommet atteint la hauteur minimale

    La série balayée est découpée en suites d'instants consécutifs où la station est au-dessus de l'horizon. Chaque suite donne un passage, dont on retient le début, la fin, le sommet et son azimut. Ceux dont le sommet n'atteint pas la hauteur réglée sont écartés, et un passage n'est déclaré visible que si l'un de ses instants réunit les trois conditions à la fois. La carte de distance, elle, ne se déclenche qu'au franchissement vers le bas : sans quoi elle se rallumerait à chaque relevé tant que la station reste dans le rayon.

Cartes de Flow

Quand 4

  • Un passage commence
  • Un passage commence bientôt
  • Un passage visible commence bientôt
  • La station passe à moins de distance km

Et 3

  • La station est au-dessus de degrés °
  • Un passage est en cours
  • Le prochain passage est visible à l'œil nu

Alors 1

  • Recalculer les passages
09

En développement · v1.0.0

FR Vigilance

Les niveaux de vigilance crue et incendie près de chez vous, depuis les services publics français.

Deux services publics français, suivis côte à côte. Vigicrues colore chaque tronçon de rivière en vert, jaune, orange ou rouge ; la Météo des forêts publie chaque jour, par département, le danger incendie de demain et d'après-demain, pendant la saison des feux. L'app suit un tronçon trouvé par son nom ou proposé à proximité de votre Homey, et un département trouvé par son nom ou son numéro, et peut réagir dès qu'un niveau monte.

Appareils

Vigilance crue 3 mesures

  • Niveau de vigilance
  • Alerte de vigilance
  • Dernière mise à jour

Danger incendie 4 mesures

  • Niveau de vigilance
  • Niveau après-demain
  • Alerte de vigilance
  • Dernière mise à jour

Sur l'écran d'accueil

Un widget est une tuile posée sur l'écran d'accueil de l'app Homey : elle affiche sans qu'on ouvre quoi que ce soit.

Vigilance crue 200 px de haut

Une pastille de couleur, du vert au rouge, avec le nom du tronçon suivi et l'ancienneté du relevé.

Danger incendie 200 px de haut

Deux pastilles côte à côte, demain et après-demain, pour le département suivi. Vide hors saison des feux, de juin à septembre.

Le calcul, étape par étape

Vigicrues ne publie ni recherche par coordonnées ni recherche par nom : le flux national donne tous les tronçons à la fois, à l'app de les trier. La Météo des forêts, elle, ne publie qu'un flux qui grossit chaque jour, avec la dernière valeur d'un département noyée dedans.

  1. 01

    Le tronçon le plus proche

    distance ≈ haversine(centroïde du tronçon, position de la Homey)

    Chaque tronçon est une ligne, parfois longue de plusieurs dizaines de kilomètres : sa position est ramenée à la moyenne de tous les points de sa géométrie, un centroïde, suffisant pour trier plus de trois cents tronçons par proximité sans calculer une vraie distance au segment le plus proche. La liste sert aussi bien à l'appairage, pour proposer les tronçons proches de la Homey, qu'à la recherche par nom.

  2. 02

    Un seul relevé pour tous les tronçons suivis

    un relevé national partagé par tous les appareils, plutôt qu'un par appareil

    Le flux national pèse environ deux mégaoctets, quel que soit le nombre de tronçons qu'on y cherche. Le relever une fois par appareil suivi aurait multiplié ce poids sans raison : il est donc mis en cache le temps d'un cycle et partagé entre tous les appareils du pilote, qui n'y piochent chacun que leur propre tronçon.

  3. 03

    L'absence saisonnière, distinguée d'une panne

    hors juin-septembre : le fichier de l'année est absent, pas en panne

    La Météo des forêts n'est publiée que pendant la saison des feux, de juin à septembre : hors de cette fenêtre, le fichier de l'année n'existe simplement pas encore ou plus. L'appareil le dit tel quel, sans le confondre avec une panne réseau, qui reste, elle, signalée comme telle.

Cartes de Flow

Quand 1

  • le niveau de vigilance change

Et 1

  • le niveau est au moins niveau

Alors 1

  • actualiser le niveau
Une Homey Pro posée sur une étagère de salon, sous un téléviseur
La box tient dans une main et se pose n'importe où. Tout ce que ces applications calculent se calcule là, chez vous.
08

Ce qui les relie

Ce qui les relie

Elles sont écrites dans le kit de développement officiel de Homey, sans dépendance inutile, et chacune est éprouvée sur une Homey Pro avant d'être publiée. Les données qu'elles lisent sont publiques et gratuites ; celles qui calculent le font sur la box, sans qu'aucune information ne sorte de chez vous.