[PARTAGE] micropython installation esp8266 esp32 et dialogue jeedom sans plugin

Tutoriel partie 3

Les fichiers de base

Envoi de données à un virtuel Jeedom

Extraire des données de Jeedom


Bon nous voilà au pied du mur, on met quoi dans les fichiers.py ?
Du code MicroPython bien sûr :wink:

Le point de départ c’est le fichier boot.py
Nous allons mettre ici des instructions qui servent à l’initialisation.
exemple :

# exemple de fichier boot.py
import webrepl
webrepl.start()

Puis il nous faut renseigner le fichier main.py

# exemple de fichier main.py
#ce serait pas mal d'initialiser tout de suite le réseau
from network  import WLAN,STA_IF
from time     import sleep

ssid ='lessiddevotrewifi'
mot_de_passe = 'lemotdepasseduwifi'

WLAN(STA_IF).active(1)
WLAN(STA_IF).connect(ssid, mot_de_passe)

print("Attente du réseau WiFi")
at=0
while not WLAN(STA_IF).isconnected(): #Boucle infinie d'attente de connexion wifi
    sleep(1)
    af='Attente wifi ' + str(at)
    print(af)
    at+=1
    pass

print("Le wifi est connecté")

Faites trés attention en Python comme en MicroPython l’indentation est très importante et fait partie de la syntaxe du langage.

Le décalage en marge est de 4 espaces. Dans l’exemple la fin boucle while est en marge avec le print qui suit.
Voilà nous venons d’automatiser tout ce que nous avons fait à la main dans la partie 2.


On s’approche mais on a pas encore envoyé de données à jeedom …
Allez on va ajouter 2 lignes au fichier main.py
mais avant il nous faut un virtuel dans jeedom …
Creez un virtuel puis ajouter une commande info virtuel de type numérique
dans l’équipement notez :
URL de retour
puis
dans la commande
notez (1ere colonne) le n°ID de la commande

L’affaire est assez simple et la ligne assez longue
il vous faudra personnaliser les infos suivante dans la 2iéme ligne ci-dessous
A savoir
IPJEEDOM (inscrite dans URL de RETOUR)
APIJEEDOM (Réglage/systeme/configuration/onglet_API/Clé API)
IDDUVIRTUEL (dans la commande) 1ere colonne
VALEURAENVOYER à vous de choisir une valeur qui sera reçue par la commande virtuel

import urequests

urequests.get("http://IPJEEDOM/core/api/jeeApi.php?plugin=virtual&apikey=APIJEEDOM&type=virtual&id=IDDUVIRTUEL&value=VALEURAENVOYER").text


Il nous reste à faire le contraire prendre une donnée de jeedom vers l’ESP

Le combat est presque le même
Choisir une commande cliquez sur la roue cranté pour obtenir la configuration de la commande.
Dans l’onglet information en haut à droite bouton de droite au dessus de url direct copiez le lien.

on obtiens une adresse comme celle-ci:

http://IP/core/api/jeeApi.php?apikey=1234567890&type=cmd&id=2440

reportez cette adresse dans les lignes suivantes en lieu et place de ICI

import urequests
valeur=str(urequests.get("____ICI____").text)
print(valeur)

Le import urequests n’est à utiliser qu’une fois par fichier.py.

Ouff ca y est non on va devoir mettre un peu d’ordre la dedans,
Je vous ai fait tout ça à l’arrache mais le principe est là.

1 « J'aime »