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
Domotique · Homey Pro
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.
Le catalogue
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.
Faites le plein au meilleur prix, sans y penser.
Lire la fiche →Sachez qu'une borne est libre avant de partir.
Lire la fiche →Laissez la maison respirer au bon moment.
Lire la fiche →Sachez quand un mur va se mouiller, en degrés plutôt qu'en avertissement vague.
Lire la fiche →Tous les crépuscules, heures dorées et phases de lune de chez vous, calculés hors ligne.
Lire la fiche →Transformez n'importe quel capteur en tendance : monte, descend ou stable, avec le rythme.
Lire la fiche →Sachez qui est fêté aujourd'hui, sans ouvrir un calendrier.
Lire la fiche →Sachez quand la station spatiale passe au-dessus de chez vous, et quand elle se voit.
Lire la fiche →Les niveaux de vigilance crue et incendie près de chez vous, depuis les services publics français.
Lire la fiche →Disponible · v1.1.7
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 →Quand 7
Et 6
Alors 3
Disponible · v1.1.3
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 →Quand 6
Et 5
Alors 2
Disponible · v1.1.1
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 →Quand 4
Et 3
Alors 1
En cours de validation · v1.1.2
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 →Quand 2
Et 2
Alors 1
En développement · v1.2.0
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.
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.
01
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.
02
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.
03
é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.
04
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.
05
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.
06
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.
07
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.
Quand 8
Et 12
Alors 1
En développement · v1.0.2
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.
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.
01
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.
02
σ = 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.
03
σ_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.
04
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.
05
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.
06
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.
07
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.
08
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.
Quand 5
Et 4
En développement · v1.0.0
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.
Quand 3
Et 3
Alors 1
En développement · v1.0.1
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.
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.
01
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.
02
γ = 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.
03
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.
04
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.
05
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.
06
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.
07
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.
08
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.
Quand 4
Et 3
Alors 1
En développement · v1.0.0
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.
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.
01
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.
02
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.
03
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.
Quand 1
Et 1
Alors 1
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.