Flipr piscine

Bonjour
Quelqu’un s’est-il déjà penché sur la création d’un script ou plugin pour récupérer les infos de Flipr (objet connecté pour récupérer les infos de sa piscine) dans Jeedom ?
Accessible au commun des mortels bien sur :zipper_mouth_face:
Merci

J’ai fait un script qui permet de remonter les infos dans Jeedom : https://github.com/MattDierick/Flipr_API_Jeedom

Il se connecte a leur cloud avec tes credentials, recupere un token et fait un call pour avoir les dernières infos. Tout ca avec le plugin script.

Bonjour Matt

Oui effectivement j’ai trouvé le fil sur l’ancien forum ou tu as publié ton script mais comme indiqué plus haut je suis un peu limité niveau technique donc j’ai un peu de mal à le mettre en oeuvre :face_with_head_bandage:.

Pour commencer j’ai installer les plugins script et jeeXplorer.

J’ai crée le script Flipr.py dans /var/www/html/plugins/script/core/ressources/
avec ce contenu:

import requests, json, codecs

url_token = “https://apis.goflipr.com/OAuth2/token
url_flipr = “https://apis.goflipr.com/modules/ID_Flipr/survey/last

payload_token = "grant_type=password&username=jblabla@orange.fr&password=MDP"
headers_token = {
‘Content-Type’: “application/x-www-form-urlencoded”,
‘Cache-Control’: “no-cache”,
}

response_token = requests.request(“POST”, url_token, data=payload_token, headers=headers_token)
jsonlist = json.loads(response_token.text)
jsonlist = jsonlist[‘access_token’]

headers_flipr = {
‘Authorization’: "Bearer " + str(jsonlist),
‘Cache-Control’: “no-cache”,
}

response_flipr = requests.request(“GET”, url_flipr, headers=headers_flipr)
payload = response_flipr.text

f = codecs.open(‘flipr_data.txt’, ‘w’, encoding=‘utf8’)
f.write(payload)

En indiquant L’ID du Flipr et mes identifiants de connection.

Crée un fichier flipr_data.txt vide dans /core/ajax/ pour récupérer les infos du script.

Ensuite crée un Script JSON pour récupérer une info quelconque (PH chlore…)

J’ai réussi à ne plus avoir de message d’erreur et le fichier flipr_data.txt se rempli avec les bonnes infos mais je n’arrive pas a voir ces infos mises en forme dans la tuile du dashboard.
Mais j’ai progressé :grin:

Merci

Salut

Bon je me réponds à moi même, si ça peut aider d’autre débutants comme moi !!
En fait pour la mise en forme dans la tuile il faut remplir les requêtes des scripts JSON comme suit
PH > Value
Desinfectant > Message
Temperature
Conductivity > Level
DateTime
ETC…
En gros de la manière dont ils sont libellés dans le fichier flipr_data.txt.
C’est con mais j’ai mis un moment à percuter.

Maintenant le bloque sur l’actualisation
Si on déclenche le script python en manuel, pas de soucis, mais des qu’on veut l’actualiser à intervalle régulier on a une erreur de droit d’écriture sur le fichier flipr_data.txt
Pourtant les droits sont bien en lecture/écriture.

Sur l’ancien forum @matt262810 , tu parle de déplacer le fichier flipr_data.txt à la racine /var/www/html pour éviter ce problème de droits mais je ne voit pas comment modifier le script pour lui indiquer ce nouvel emplacement ?

A suivre…

Dans le fichier php

f = codecs.open(’/var/www/html/flipr_data.txt’, ‘w’, encoding=‘utf8’)

Et pour les json http://ton address ip/flipr_data.txt

Le cron fonctionne avec ces modifs

@epgdurand
Merci pour ton aide, j’avais bien repéré que c’était le seul endroit ou flipr-data apparaissait dans le script mais comme il n’y avait pas d’ adresse indiquée… je ne comprenais pas
Pour gérer les crons avec décalage de 1 minute tu crée un widget par info ?
Merci

Script tu veux dire ?
J ai fait les 2 :

  • un script unique qui récupère tout : c’est a dire fichier php et lecture des valeurs dans le fichier
    *J ai aussi un script unique pour le fichier php et un script pour chaque valeur à lire dans le fichier (1 pour temp, 1 pour ph et libellé, 1 pour chlore, 1 pour date relevé)
    Je n’ai pas vu de diff réel entre les 2 façons mais la j’utilise un script pour le php et un par type de valeur à lire dans le fichier.
  • Cron script fichier php 30 mins
  • Cron des scripts de lecture dans le fichier 15 mins
    Il me reste à décoder l,heure pour afficher +2h si été et +1h si hivers

Oui c’est bien ça , un script par valeur à récupérer et le cron qui va avec.
Faut que je trouve un beau widget pour organiser tout ça :grin: