uservariable python

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
jms1100
Messages : 3
Inscription : 27 mai 2021, 11:26

uservariable python

Message 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
Dernière modification par jms1100 le 03 juin 2021, 08:49, modifié 1 fois.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: uservariable python

Message 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).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre