[TUTO] Liaison avec une station météo personnelle (PWS)

Pouvez me dire si ce tuto est valable pour une station Bresser ?

Bonjour à tous,

J’ai installé une WALDBECK Halley WHT3 pour améliorer la gestion de mes volets et bso.
J’ai suivi pas à pas les instruction de LMQT (que je remercie particulièrement au passage), mais depuis j’ai un message qui remonte (jeeEvent Vous n’êtes pas autorisé à effectuer cette action 1, IP : 192.168.1.29) plusieurs fois par minutes et l’adresse c’est celle de jeedom et également là ou j’ai installé le index.php. Il semblerai que ce soit un message lié à un problème d’API. Comme je ne suis pas très à l’aise sur linux j’aurai aimé savoir exactement quoi remplacer par l’API et l’adresse IP ? Et si c’est que à cette endroit qu’il y a des choses à modifier a part les ID.

Variables pour Jeedom

# URL type = "http://ADRESSE-IP-JEEDOM/core/api/jeeApi.php?apikey=CLE-API-JEEDOM&type=virtual&id=ID-VIRTUEL-JEEDOM&value=XXX"
$v_JeedomUrl = "http://192.168.1.29/core/api/jeeApi.php?apikey=XXXX-API-JEEDOM-XXXX&type=virtual";

Je sais que c’est une question de débutant et m’en excuse.

Merci

Bonjour,

Ce message ressemble fort à celui que Jeedom renvoie lors de l’utilisation d’une mauvaise API.
Donc voir le point 1 de mon tuto (tout premier post de ce topic) pour récupérer la bonne valeur, puis le point 3 pour l’endroit où la renseigner :wink:

1 « J'aime »

Aucune idée !
Teste avec mon mini-script « RAW » que j’ai mis dans la section « DEBOGAGE » et tu verras si tu obtiens des infos utilisables par mon script principal :wink:

1 « J'aime »

Merci beaucoup pour ta réponse.

Comme je ne me connecte pas en SSH j’ai recopier la clé et j’ai mis un i majuscule à la place d’un l…
Je sais le SSH c’est pratique, mais bon ça crée une porte en plus et je suis pas fan.
Ça y est j’ai le retour des infos.

Et oui c’est mon tout premier post, j’ai toujours écumé les forums et trouvé toutes les réponses à mes questions.
La programmation c’est pas trop mon truc, heureusement qu’il y a des personnes que roulent leurs bosses.

Merci encore

Ça ne crée pas plus de portes que d’origine : l’accès à Jeedom se fait déjà par login/password :wink:
Et puis tu peux activer la double authentification et encore mieux, restreindre l’accès en local.
Linux, tout se fait quand même en ligne de commande, donc sans SSH, ben t’es coincé un jour ou l’autre, ou alors tu branches clavier et écran.

1 « J'aime »

Bonjour,

J’ai le message d’erreur suivant :

Sun Sep 27 14:51:05.787595 2020] [php7:error] [pid 646] [client 192.168.1.39:63096] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 10
[Sun Sep 27 14:52:06.790549 2020] [php7:error] [pid 1177] [client 192.168.1.39:32056] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 10
[Sun Sep 27 14:53:07.795182 2020] [php7:error] [pid 1177] [client 192.168.1.39:19313] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 10
[Sun Sep 27 14:54:08.799766 2020] [php7:error] [pid 646] [client 192.168.1.39:15072] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 10
[Sun Sep 27 14:55:09.800052 2020] [php7:error] [pid 644] [client 192.168.1.39:1211] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 10
[Sun Sep 27 14:56:10.808176 2020] [php7:error] [pid 644] [client 192.168.1.39:25510] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 10

192.168.1.39 est l’adresse IP de ma station météo

J’ai fait la configuration de cette ligne

$v_JeedomUrl = "http://192.168.1.2/core/api/jeeApi.php?apikey=123456789ABCDEFGHI&type=virtual&id=151";

apikey est bien la clé API Globale de Jeedom ???
id = 151 c’est l’ID de mon virtuel sur Jeedom des valeurs de la station météo.

# URL type = "http://ADRESSE-IP-JEEDOM/core/api/jeeApi.php?apikey=CLE-API-JEEDOM&type=virtual&id=ID-VIRTUEL-JEEDOM&value=XXX"

Dans cette exemple, c’est quoi le value à mettre ?

Merci d’avance

Sébastien

Bonjour,

Difficile de dire sans ton fichier, mais je crois comprendre que tu as tout mis bout à bout non ?
Donc ce n’est pas bon.

Tu ne dois pas mettre l’ID sur la variable « v_JeedomURL ». Cette ligne DOIT se terminer par « &type=virtual » et rien d’autre à ajouter.

Les ID (puisqu’il y en a un par valeur à envoyer) sont à indiquer sur les lignes suivantes. Comme ça :

	$v_JeedomUrl = "http://192.168.0.88/core/api/jeeApi.php?apikey=XXXX-API-JEEDOM-XXXX&type=virtual";
	$v_JeedomIdRay = "&id=173";			# solarradiation
	$v_jeedomIdUv = "&id=174";			# uv
	$v_jeedomIdTempExt = "&id=175";		# tempc
	$v_jeedomIdHygroExt = "&id=176";	# humidity
	$v_jeedomIdPressAbs = "&id=177";	# baromabshpa
	$v_jeedomIdPressRel = "&id=178";	# baromrelhpa
	$v_jeedomIdVentDir = "&id=179";		# winddir
	$v_jeedomIdVentVit = "&id=180";		# windspeedkmh
	$v_jeedomIdVentRaf = "&id=181";		# windgustkmh

Bonjour,

Merci pour votre réponse
**Mon matériel est WALDBECK Halley WHT3 **

Le contenu de mon fichier index.php est ici :

index.php_f4gqk.txt (16,2 Ko)

J’ai l’erreur suivante :

[Tue Sep 29 11:27:14.608252 2020] [php7:error] [pid 27095] [client 192.168.1.39:19939] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:28:15.618218 2020] [php7:error] [pid 30210] [client 192.168.1.39:28604] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:29:16.619272 2020] [php7:error] [pid 30210] [client 192.168.1.39:16219] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:30:17.652845 2020] [php7:error] [pid 30210] [client 192.168.1.39:10820] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:31:18.631622 2020] [php7:error] [pid 30210] [client 192.168.1.39:8324] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:32:19.631104 2020] [php7:error] [pid 5898] [client 192.168.1.39:1940] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:33:20.639352 2020] [php7:error] [pid 31880] [client 192.168.1.39:19155] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:34:21.642568 2020] [php7:error] [pid 30210] [client 192.168.1.39:30093] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:35:22.655576 2020] [php7:error] [pid 27095] [client 192.168.1.39:25927] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6
[Tue Sep 29 11:36:23.651327 2020] [php7:error] [pid 27095] [client 192.168.1.39:11867] PHP Parse error:  syntax error, unexpected '=', expecting end of file in /var/www/html/pws/index.php on line 6

Mon fichier de debug

Array
(
    [PASSKEY] => XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    [stationtype] => WH2650A_V1.6.3
    [dateutc] => 2020-09-27 10:39:26
    [tempinf] => 68.9
    [humidityin] => 61
    [baromrelin] => 31.878
    [baromabsin] => 29.314
    [tempf] => 54.1
    [humidity] => 92
    [winddir] => 255
    [windspeedmph] => 10.29
    [windgustmph] => 18.34
    [maxdailygust] => 28.63
    [solarradiation] => 135.30
    [uv] => 1
    [rainratein] => 0.000
    [eventrainin] => 0.780
    [hourlyrainin] => 0.000
    [dailyrainin] => 0.748
    [weeklyrainin] => 0.748
    [monthlyrainin] => 1.260
    [yearlyrainin] => 1.260
    [totalrainin] => 1.260
    [wh65batt] => 0
    [wh25batt] => 0
    [freq] => 868M
    [model] => WH2650
)

Et bien aucune idée, ton fichier index « semble » correctement renseigné au niveau des variables dans la version que tu as mise en ligne.
Peut-être un problème de version PHP/Apache/autre ?? Pour ma part je suis aussi en 7.0x donc je n’y crois pas vraiment.
Essaie de remplacer les guillemets par des apostrophes dans les contenus des variables.
Ce qui est bizarre, c’est qu’il y a une seule erreur à chaque fois et qu’elle se répète x fois sur une seule ligne. Est-ce que tu as bien travaillé sur un fichier en codage UTF-8 ? Est-ce que les droits sont bons ? (www-data par exemple si tu le lance via Jeedom, ou à voir si via la crontab).

Bonjour

J’ai plus d’erreur, cela était un problème d’encodage.

Pour avoir les données dans le dossier pws il faut passer les logs à 1 dans index.php :

# Settings: General
	$device = "auto";  		# Use 'auto' for automatic name from PASSKEY else uses the name 
	$json_data_log = 1; 	# Activate the export to .json (données brutes + données calculées)
	$csv_data_log = 1; 		# Activate the export to .csv (données historisées, une ligne par relevé)
	$txt_data_log = 1;		# Activate the export to .txt (uniquement les données reçues brutes)
	$txt_weewx = 1;         # Activate the export to .txt for weewx driver

Prochaine étape, l’installation sur le même raspberry de Weewx.

Merci

Bonsoir,

Comment faire la liaison entre weewx et le fichier export en txt ?

Quel driver sous weewx doit-on utiliser ?

Merci

Je me doutais bien que c’était ça (encodage), ça y ressemblait fort en tout cas :wink:

Pour weewx, aucune idée car ça n’a pas de rapport avec Jeedom, ça sort du topic là.
J’ai juste laissé la possibilité d’export au cas où ça intéresserait du monde car elle était présente dans le script initial que j’ai modifié pour l’adapter à Jeedom, mais je n’en sais pas plus … à toi de chercher :slight_smile:
Nota : j’ai laissé dans mon script toutes les infos pour aller voir celui d’origine, notamment le lien vers le topic (mais pas en français), donc tu dois pouvoir y trouver du monde pour t’aider, voire peut-être directement directement les méthodes pour cet autre logiciel.

Merci de la réponse,

Je vais étudier ça et quand j’aurai trouvé je donnerai la solution ici :+1:

Sébastien

Comme je disais, ça n’a pas de rapport avec Jeedom, je pense qu’il faudrait plutôt faire un topic dédié :wink:

Ok Pas de problème

1 « J'aime »

Bonsoir,

j’ai besoin pour un logiciel qui incrémente la quantité de pluie chaque interval de soustraire la différence de pluie

$weather_data['dailyrainin']

je rentre le daillyrain dans un fichier txt, il me lit la valeur du dernier interval et fait la soustraction du delta.

dailyrain = nouveau dailyrain - ancien dailyrain
( le plus souvent cela doit faire 0 )

il faudrait que je remplace cette variable par quelquechose de plus simple car cette variable me retourne 0 alors que la valeur n’est pas nulle.

Merci d’avance

Sébastien

Bonjour,

Désolé mais d’une part je n’ai pas compris grand chose sur ce qui te bloque, d’autre part c’est encore du 100% hors topic ça : aucun rapport avec la liaison station=>jeedom :frowning:
Fais ton propre topic dédié à ton soucis dans la rubrique d’entraide et ajoutes ton code, ou au moins la partie concernée, parce que là c’est pas super évident de comprendre pour t’aider :wink:

1 « J'aime »

Bonsoir ,

Mon problème vient de la valeur « eventrainin » qui chez moi ne se remet à pas à zéro avant 30 min ou quelques heures. Je ne sais pas si je suis le seul dans ce cas. Si c’est déja arrivé à quelqu’un, existe t-il une solution. J’ai le dernier firmware.

Sur Jeedom il y a donc un mauvais report de la pluie instantanée.

POUR L’INSTANT JE SUIS QUE SUR JEEDOM

J’ai besoin de cette valeur pour calculer via weewx la valeur de la pluviométrie quotidienne car elle s’incrémente à chaque pluie. Et je peux pas faire autrement.

La solution que j’avais trouvée c’était de faire la soustraction de la nouvelle pluie - l’ancienne pour trouver une pseudo pluie instantanée.

Merci

Sébastien

Concernant cette variable, relis ce que j’ai mis un peu plus haut :wink:

La variable « eventrain » est propre à chaque station, elle ne renvoie pas la même chose suivant la marque et la version de firmware. Il faut consulter sa notice, mais ce n’est pas tout le temps défini. Ce que j’ai mis en commentaire vaut uniquement pour la mienne et celles possédant exactement le même firmware.

En fait, beaucoup de gens se plaignent de cette valeur sur les différents forums météo dans le monde entier, car suivant la marque et parfois même le modèle de la station, la valeur ne concerne pas du tout la même chose.
J’ai l’impression que c’est une variable fourre-tout et que chaque fabricant met ce qu’il imagine bon dedans malheureusement :frowning:

La variable de pluie quotidienne existe normalement, c’est la « daily ». En tout cas sur ma station je l’ai (ce n’est peut-être pas le cas sur toutes les marques …) et elle fonctionne correctement.