Bonjour,
un petit guide sans prétention pour piloter des ecoflow depuis Jeedom. Je ne savais pas trop ou le poster, il ne concerne pas directement un pugin.
Mon soucis était de piloter mes Delta 2 depuis Jeedom (et pas seulement lire des valeurs).
J’ai des panneaux solaires et j’ai souvent du surplus. Je souhaite donc rediriger ce surplus vers mes ecofow plutôt que de le donner au gestionnaire d’énergie.
Mon surplus n’est pas fixe, il varie tout le temps. Mais mes Delta2 permettent de brider la puissance de recharge de 200W à 1200W depuis l’application. L’idée est donc de configurer la recharge en fonction du surplus disponible. Lorsque j’ai du surplus, j’active la prise télécommandée de mon delta le plus déchargé pour l’allumer, puis je règle la puissance de charge au fil de l’eau selon la puissance solaire disponible.
Pour cela, je devais pouvoir piloter mes Delta2 depuis Jeedom.
J’ai commencé par demander un accès à l’API Ecoflow (via https://developer-eu.ecoflow.com/ ), ça a pris 15 jours avant d’avoir les accès API et obtenir mon couple clé/secret.
J’ai ensuite tenté de piloter depuis la version HTTP de l’API, mais sans succès. J’ai pourtant tout suivi comme il faut pour générer les requêtes, mais ça n’a jamais fonctionné alors que l’API me répondait ‹ ok ›. Je me suis tourné vers MQTT (c’est ce protocol qui est utilisé par l’appli Ecoflow).
J’ai trouvé un script shell pour obtenir les infos pour la connexion MQTT : GitHub - mmiller7/ecoflow-withoutflow: Trying to understand how to communicate with Ecoflow Portable Power Stations in OFFLINE mode. (and other useful information)
Le script est le fichier « ecoflow_get_mqtt_login.sh » qu’il faut lancer dans un shell linux. Il demande votre login/pass ecoflow, puis vous retourne vos identifiants MQTT, ainsi que les paramètres de votre serveur MQTT dédié (j’imagine qu’Ecoflow à plusieurs serveurs). Le contenu du script est clair et ne montre pas de risque pour vos identifiants. J’ai trouvé aussi ce site pour ceux qui ne maitrisent pas le shell : ecoflow , c’est supposé faire la même chose, mais le code source est moins clair pour moi, j’ai pas pris le temps de le vérifier à fond.
Le script vous donne une réponse de ce genre :
# Protocol: mqtts://
# Host: mqtt-e.ecoflow.com
# Port: 8883
# Username: app-d794abcdefabcdefabcdefabcdef
# Password: abcdefabcdefabcdefabcdefabcdefab
#
# A few valid unique client IDs for your account different MQTT clients:
# ANDROID_ABCDEF02-9DD1-9DD1-9DD1-123456789112_3456789012345647995
# ANDROID_ABCDEF03-9DD1-9DD1-9DD1-99DE0D5C93BA_1823765354340396802
# ANDROID_ABCDEF04-9DD1-9DD1-9DD1-E9F54C86C492_1823860354275369402
Il faut reporter ça dans Jeedom. Perso, j’utilise le plugin jMQTT, ça doit être similaire si vous en utilisez un autre.
Le truc à noter, c’est le port non standard (j’avais pas fait attention la 1ere fois).
Il faut créer un broker avec ces paramètres. Si tout est bon, il se connectera sans soucis.
Le script vous donner aussi les topics pour lire et écrire. Celui qui nous intéresse est donc celui qui se fini par « /thing/property/set »
ex : /app/3456789012345647995/R331ABCDEFGHIJK/thing/property/set
(notez que le 1er ‹ code › est identique à la fin des clients ID « ANDROID_blabla » et le second est le numéro de série de l’appareil)
J’ai créé un device lié au broker et au topic /app/3456789012345647995/R331ABCDEFGHIJK/thing/property/set.
Puis j’ai ajouté une commande action de type « curseur ». L’appli envoie des puissances par palier de 100W, de 200W à 1200W. Je ne sais pas les conséquences d’envoyer plus, je déconseille d’essayer. Pour mes tests, je suis resté sur les paliers de l’appli (200, 300, etc).
le topic est toujours le même : /app/3456789012345647995/R331ABCDEFGHIJK/thing/property/set
La valeur est tirée de la docs API Ecoflow légèrement modifiée (j’ai repris celle-ci de l’appli offcielle) : {"from":"Android","id":"147331051","isMatter":0,"moduleType":5,"operateType":"acChgCfg","params":{"chgWatts":#slider#,"chgPauseFlag":255},"version":"1.0"}
J’ai juste remplacé la valeur par #slider#. l’id est fixe, ça ne pose pas de soucis, ça sert pour aller chercher le message de réponse correspondant dans le topic ‹ get ›, ce que je ne fais pas.
Via les bon paramètres, on peut activer les sorties AC ou USB, gérer certaines puissances, etc
Dernière précision, tout ceci ne fonctionnait pas avant que mes delta2 passent sur le firmware v1.0.1.158, je ne pouvais faire que de la lecture d’infos.
Et enfin, chaque modèle d’ecoflow à son propre langage, donc lire la doc de l’API pour trouver les valeurs de paramètres. Ceux ici sont spécifique aux Delta 2





