Aller au contenu

Ce tchat, hébergé sur une plateforme indépendante d'Infoclimat, est géré et modéré par une équipe autonome, sans lien avec l'Association.
Un compte séparé du site et du forum d'Infoclimat est nécessaire pour s'y connecter.

Équivalence template (.htx) weatherlink avec WeeWX ? (surout <!--ForecastStr--> avec une console Vantage)


Pascal032
 Partager

Messages recommandés

Bonjour à toutes et tous,

Tout d'abord, espérons que l'on sorte de cette année de m.... pour avoir une année 2021 merveilleuse ;)

 

Je suis débutant WeeWX

Avec weatherlink, il y a moyen, (via des fichiers ".htx"), de "sortir"  quelques valeurs afin de fabriquer sa propre page.  Par exmple, j'utilise

<!--Date-->
<!--Time-->
<!--outsideTemp-->
<!--outsideHumidity-->
<!--barometer-->
<!--BarTrend-->
<!--windSpeed-->
<!--windDirection-->
<!--rainRate-->
<!--ForecastStr-->
<!--dailyRain-->
<!--sunriseTime-->
<!--sunsetTime-->

 qui m'aidaient à fabriquer mon entête de page WEB.

 

Ceci pour une Vantage dont la console donne une chaine de prévision pas trop mal : <!--ForecastStr-->
Ma question est : existe-t'il un équivalent avec WeeWX ?

Merci et bien à vous,
Pascal

Modifié par Pascal032
Lien à poster
Partager sur d’autres sites

  • Pascal032 changed the title to Équivalence template (.htx) weatherlink avec WeeWX ? (surout <!--ForecastStr--> avec une console Vantage)

Bonjour,

 

Effectivement, les prévisions générées par la console ne sont pas récupérées par weewx.  

Il est possible de demander à weewx de générer un fichier personnalisé tel que tu le faisais avec Weatherlink, ceci en utilisant les tags disponibles ( voir http://www.weewx.com/docs/customizing.htm#Tags ).

Ce fichier personnalisé pourrait contenir (sans les prévisions) :

$current.dateTime.format("%d-%m-%Y")
$current.dateTime.format("%H:%M:%S")
$current.outTemp
$current.outHumidity
$current.barometer
$trend($time_delta=10800).barometer
$current.windSpeed
$current.windDir
$current.rainRate
$day.rain.sum
$almanac.sunrise
$almanac.sunset

 

On peut créer un nouveau "skin" pour cela, mais il est plus facile d'intégrer ce fichier personnalisé dans un skin existant, si tu en utilises au moins un.

Lien à poster
Partager sur d’autres sites

Après vérification dans le code du driver weewx de la vantage, les prévisions sont bien reçues par weewx sous forme de code. Je ne retrouve pas actuellement de lien, mais je me souviens avoir vu quelque part une liste de textes correspondant à chacun des codes de prévision.

Voici donc le fichier personnalisé avec le code de prévisions de la console :

$current.dateTime.format("%d-%m-%Y")
$current.dateTime.format("%H:%M:%S")
$current.outTemp
$current.outHumidity
$current.barometer
$trend($time_delta=10800).barometer
$current.windSpeed
$current.windDir
$current.rainRate
$current.forecastRule
$day.rain.sum
$almanac.sunrise
$almanac.sunset

 EDIT : j'ai retrouvé la corresponde code - texte, mais en anglais : https://www.wxforum.net/index.php?topic=2158.msg15424#msg15424

Modifié par jackT
  • J'aime 1
  • Merci 1
Lien à poster
Partager sur d’autres sites

Bonjour jackT

 

Merci pour tes recherches, j'avais aussi continué les miennes pour trouver la même chose que toi, ou presque.

J'avais vu dans le driver Vantage que forecastrule était dans le schéma, mais je n'avais pas capté que la variable $current.forecastRule existait.  Quand le l'inclus dans un skin, c'est bien le bon numéro de règle. 

J'avais aussi trouvé cette liste en anglais.  Je suis passé par https://translate.google.com pour la traduire, et une correction manuelle (vent possible vers l'ouest NO ou N.) et puis en faire un tableau texte que j'ai joins.

 

Maintenant, comment introduire la règle dans la page ?  Je sais faire cela en PHP.  Mais dans un skin ?...

 

Merci encore !

forecastrule.txt

Lien à poster
Partager sur d’autres sites

Il y a 3 heures, Pascal032 a dit :

Maintenant, comment introduire la règle dans la page ? 

Je pense que le plus simple est de le faire en php.  Un script php récupère le code de prévision et le convertit en texte. Il suffit de définir un "array" associant le code de prévision et le texte correspondant.

Lien à poster
Partager sur d’autres sites

à l’instant, Pascal032 a dit :

Il me semble aussi, mais peut-on mettre du code PHP dans un skin ?

Non.  Mais j'imagine que le fichier personnalisé généré par weewx avec les diverses valeurs, dont le code de prévision, sont utilisés par un script php ou javascript  pour l'affichage sur ton site?  Dans ce cas, il suffit d'intégrer dans le script  en question un tableau qui convertit le code de prévision en texte

Lien à poster
Partager sur d’autres sites

Oui, tu imagines bien.

En fait, je fais abstraction de ce que je connais pour repartir de zéro, mais en essayant de laisser à weewx  le maximum du travail.

Question (mais je vais essayer) est-ce que un « .inc » peut-être un classique php, ou tout ce bazar doit être écrit en Python ?

Lien à poster
Partager sur d’autres sites

Le système de skin est assez puisant ; peu de lignes pour un résultat époustouflant. Heureusement, le .css est classique et permet moult changements.

 

Je suis francophone unilingue et il me faut passer par des traducteurs pas toujours au top.  Ce n'est pas toujours évident

Modifié par Pascal032
Lien à poster
Partager sur d’autres sites

Il y a 2 heures, Pascal032 a dit :

ou tout ce bazar doit être écrit en Python ?

Il est possible d'ajouter du code python dans les fichiers personnalisés de weewx, et ce serait la meilleure manière de faire.

Voir par exemple au début du fichier celestial.inc  du skin par défaut "Season". Toutes les lignes de code python commencent par "#', et les commentaires par "##'

 

Sinon, un script php sur le serveur peut lire le code de prévision depuis le ficher personnalisé et y associer le texte correspondant.  Tout dépend de l'organisation de son site meteo.

Modifié par jackT
Lien à poster
Partager sur d’autres sites

@Pascal032  Voici un exemple de fichier personnalisé qui donne directement le texte des prévisions de la console :

$current.dateTime.format("%d-%m-%Y")
$current.dateTime.format("%H:%M:%S")
$current.outTemp
$current.outHumidity
$current.barometer
$trend($time_delta=10800).barometer
$current.windSpeed
$current.windDir
$current.rainRate
#set $forecast_list={'0':'Principalement clair et plus frais.'}
#set $forecast_list['1']='Principalement clair avec peu de changement de température.'
#set $forecast_list['2']='Principalement clair pendant 12 heures avec peu de changement de température.'
#set $forecast_list['3']= ..........
#set $vpforecast = $current.forecastRule.format(format_string="%.0f")
$forecast_list[$vpforecast]
$day.rain.sum
$almanac.sunrise
$almanac.sunset

 J'ai mis les 3 premiers codes de prévision, et il faudrait ajouter tous les autres. La variable $forecast_list[$vpforecast] donne directement la prévision sous forme de texte.

  • J'aime 1
Lien à poster
Partager sur d’autres sites

Bonjour JackT & Cie

 

J'ai donc essayé ton code dans le titlebar.inc du skin Seasons.  J'ai d'abord eu des problèmes avec le « ' » de « vers l'ouest ... ». L'erreur était bien claire dans le syslog.  J'ai essayé avec « \' », mais toujours des erreurs moins claires.  Je l'ai carrément supprimé, et pas mieux.

Je joins titlebar.inc  et 2 syslog

Un "syslog-ok" lors de la création de la  page  https://cambier.eu/meteo/  Je n'ai ai ajouté au titlebar.inc que  « $current.forecastRule.format(format_string="%.0f") », qui donne pour le moment « 44 », et qui correspond à la console ;)

Un "syslog-bad" pour le titlebar.inc joint

 

<div id="title_bar">
  <div id="title">
    <h1 class="page_title">$station.location</h1>
    <p class="lastupdate">$current.dateTime</p>
    $current.forecastRule.format(format_string="%.0f")
  </div>

 

 

Bien à vous tous,

Pascal

syslog-ok titlebar.inc syslog-bad

Lien à poster
Partager sur d’autres sites

@Pascal032,  dans ton fichier titlebar.inc, il y a un "=" de trop pour chaque ligne :

Les lignes devraient avoir ce format :

#set $forecast_list['3']='Généralement clair pendant 12 à 24 heures et plus frais.'

sans "=" entre $forecast_list et "["

 

Et le format du premier élément doit être différent des autres. Cela permet de créer la variable $forecast_list :

#set $forecast_list={'0':'Principalement clair et plus frais.'}

 

Modifié par jackT
Lien à poster
Partager sur d’autres sites

Bonjour,

Cela ne fonctionne toujours pas 😶

J'ai essayé une autre syntaxe

#$forecast_list=[]
#$forecast_list.append("Principalement clair et plus frais.")
#$forecast_list.append("Principalement clair avec peu de changement de température.")
#$forecast_list.append("Principalement clair pendant 12 heures avec peu de changement de température.")

Et pas mieux

titlebar.inc syslog

Lien à poster
Partager sur d’autres sites

il y a une heure, Pascal032 a dit :

Cela ne fonctionne toujours pas 😶

La ligne pour l'index '0' est bonne, mais la syntaxe n'est toujours pas la bonne pour les index de '1' à '200'. Le "=" est mal placé.  Il faut mettre :

#set $forecast_list['1']='Principalement clair avec peu de changement de température.'

 et ceci pour toutes les lignes suivantes.

 

Avec cette syntaxe, cela fonctionne très bien, voir la dernière ligne de cette page de mon site : http://meteo-sciez.fr/site/previsions_autre.php

Modifié par jackT
Lien à poster
Partager sur d’autres sites

Bonjour, encore moi.

 

J'ai essayé comme un grand de trouver les variables classiques et surtout celles spécifiques à Vantage.  Pas de trace de forecastRule, et encore moins de l'équivalence de  <!--BarTrend--> qui n'est pas un calcul comme  $trend($time_delta=10800).barometer, mais un " truc " qui donne 5 indications de tendance, de hausse à baisse rapide, lente ou stable, transmises à l'offset 3 du paquet LOOP

(doc jointe - page 22)  Ce sont elles qui sont aussi représentées par les flèches sur les stations.

 

Une piste pour m'aider ?

 

Merci !

Pascal

 

 

VantageSerialProtocolDocs_v261.pdf

Lien à poster
Partager sur d’autres sites

@Pascal032 : 

D'après le manuel de la console VP2, la tendance barométrique (sur 3h) est :
Hausse rapide : variation >= 2 hPa
Hausse lente : variation >= 0.7 hPa
Stable : variation < 0.7  hPa et > -0.7 hPa
Baisse  lente : variation <= -0.7 hPa
Baisse rapide  : variation <= -2 hPa

 

Le tag weewx $trend($time_delta=10800).barometer.raw donne la valeur brute de la variation de pression sur les 3 dernières heures

Il faut donc tester la valeur du tag pour associer le texte correspondant :

#set $barotrend=float($trend($time_delta=10800).barometer.raw)
#set $barotext="Stable"
#if $barotrend >= 0.7
	#set $barotext="Hausse lente"
#end if
#if $barotrend >= 2
	#set $barotext="Hausse rapide"
#end if
#if $barotrend <= -0.7
	#set $barotext="Baisse lente"
#end if
#if $barotrend <= -2
	#set $barotext="Baisse rapide"
#end if
$barotext

Le tag $barotext indiquera la tendance sur 3h sous forme de texte.

Modifié par jackT
Lien à poster
Partager sur d’autres sites

  • 2 months later...

Bonjour à toutes et tous, j'espère que vous allez bien.

J'ai reçu ma 1ère dose de vaccin, l'Astra-Zeneca, ce matin et je croise les doigts ;)

 

Pour @jackT , j'ai vu dans dans current.inc (skin Seasons) que WeeWx possède un tag pour la tendance barométrique  : $trend.barometer.formatted (donc un petit gain de temps)

 

J'ai aussi vu que la traduction Google a bugué « Clearing cooler and windy. » en proposant « Effacement plus frais et venteux. » (règle 120 et d'autres).  Je crois qu'il vaut mieux que ce soit « s'éclaircissant » ou « plus d’éclaircies »

 

Edit, il y a cette foutue quote qui enquiquine le monde, on va dire « vers éclaircies »

 

Qu'en pensez-vous ?

Modifié par Pascal032
Lien à poster
Partager sur d’autres sites

 

Le 05/01/2021 à 16:23, Pascal032 a dit :

Il me semble aussi, mais peut-on mettre du code PHP dans un skin ?

Bonjour

Avec Belchertown, on doit pouvoir le faire 

Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Partager

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...