Page 1 sur 1

uservariable python

Publié : 02 juin 2021, 19:12
par jms1100
Bonjour,
j'essaie de remonter les valeurs d'un capteur de piscine (Blue Riiot)
je bloque sur les mises à jour des variables urtilisateur.

j'ai un script ifttt qui met à jour une variable texte "BLUE_DATA". (je récupère du JSON)
j'essaie ensuite de mettre à jour les différentes variables concernées de maniere individuelle.
avec le navigateur ça marche , en python rien.
le get user variable fonctionne et retourne la valeur globale
BLUE_DATA= "piscine 02/06/2021 15:34:25 22.5 7.2 684 7095 4.1"
ensuite j'essaie de parser comme je peux... pour obtenir les valeurs et mettre à jour les variables
Bref help

Code : Tout sélectionner

IDX=str(1)
USERVARIABLENAME='BLUE_DATA'
USERVARIABLETYPE=str(2)

DomoTest='/json.htm?type=command&param=getuservariable&idx=' + IDX  
DomoMaj='/json.htm?type=command&param=updateuservariable&vname='

url = DomoUrl + DomoTest


with urlopen(url) as json_data:
    data_dict = json.load(json_data)
    data_str = json.dumps(data_dict)
    tokens = word_tokenize(data_str)
    flag = 0
    i = 0
    for par in tokens:
        if ("piscine" in par):  # début des valeurs recherchées
            flag = 1
        if ("''" in par):   #fin des valeurs que je cherche
            flag = 0
        if (flag):
            i += 1
           
            if i == 1: #Nom piscine
                url = DomoUrl + DomoMaj + 'Blue_DATA_Nom_Piscine&vtype=2&vvalue=' +par
            if i == 2: #Date Maj
                url = DomoUrl + DomoMaj + 'Blue_DATA_Date_MAJ&vtype=2&vvalue=' +par
            if i == 3: #Heure Maj
                url = DomoUrl + DomoMaj + 'Blue_DATA_Heure_Maj&vtype=2&vvalue=' +par
            if i == 4: #temperature
                url = DomoUrl + DomoMaj + 'BLUE_Temperature&vtype=2&vvalue=' +par
            if i == 5: #pH
                url = DomoUrl + DomoMaj + 'BLUE_pH&vtype=2&vvalue=' +par
            if i == 6: #BLUE_Redox
                url = DomoUrl + DomoMaj + 'BLUE_Redox&vtype=2&vvalue=' +par
            if i == 7: #BLUE_Salinite
                url = DomoUrl + DomoMaj + 'BLUE_Salinite&vtype=2&vvalue=' +par
            if i == 8: #BLUE_Conductivite
                url = DomoUrl + DomoMaj + 'BLUE_Conductivite&vtype=2&vvalue=' +par

Re: uservariable python

Publié : 02 juin 2021, 21:39
par Keros
jms1100, peux-tu éditer ton message précédent pour mettre ton script entre les balises code. Ceci facilitera la lecture, merci. Comment faire ? > Remonte sur ton message, clique sur le petit bouton avec un crayon en haut à droite : tu peux ainsi éditer ton message et rajouter les balises (il y a un petit bouton </> au-dessus de la zone de rédaction).