Mon problème concerne la connexion de mes panneaux solaires à Python et sur mon pc.
Je me permets de vous solliciter car je rencontre un souci en essayant de me connecter à un système APsystems (modèle EZ1). J’ai suivi attentivement toutes les étapes décrites dans ce mais je me heurte à un problème que je n’arrive pas à résoudre seul. (très débutant)
J’ai bien l’adresse IP correcte du système (après m’être connecté à l’application Apsystem et avoir obtenu l’adresse IP) mais lorsque je tente de l’ouvrir via mon navigateur, il m’indique que l’adresse n’existe pas. Pourtant, je suis certain que l’IP est valide. Cela m’empêche d’avancer, d’autant plus que je ne suis pas encore à l’aise avec la partie qui consiste à passer de cette configuration à un dialogue Python fonctionnel.
Il doit manquer quelques informations pour répondre à ma question dont je n’ai sûrement pas conscience… N’hésitez pas à m’en parler
Si l’un d’entre vous a déjà travaillé avec ce modèle d’APsystems ou a des conseils sur la manière de gérer ce genre de situation, je serais très reconnaissant pour un coup de main. Merci d’avance pour vos suggestions !
Hello
Vu le message de ton navigateur ton ip est bonne et réponds bien
C’est par contre ton uri (l’adresse tapée dans ton navigateur) qui est erronée
Pas besoin de cacher des ip locales (celles qui commencent par 192.168.x.x)
Et merci de faire des captures d’écran plutôt que des photos
Merci
Hey,
Un grand merci pour ta réponse et tes recommandations.
Etrangement, je ne vois pas ce qui cloche…
Je voudrais pouvoir utiliser python sur le PC pour les panneaux mais je ne vois pas par où commencer si l’IP est erronnée.
Dois-je installer un editeur python avant de manipuler l’IP?
Si oui, comment connecter le panneau avec simplement un editeur et ce que j’ai à l’heure actuelle. (Python & pip + le package apsystem a été installé)
Je suis assez perdu honnêtement et une petite aide me requinquerait lol
Pourquoi vouloir utiliser un script python ?
Il existe une intégration officielle pour ces MO : APsystems - Home Assistant
Sinon comme indiqué dans la doc il faut activer l’API de l’onduleur depuis l’application :
Make sure the local API is activated and set to Continuously . For that, connect to the inverter via Bluetooth using the app and go to Settings > Local Mode , set the switch Enable Local Mode to on and make sure to set this to Continuously .
C’est mon père qui est dans tout ça, il s’y connait bien mais il n’arrive pas à comprendre la suite, je voulais simplement l’aider avec l’avis d’autres « pro »
Hello Makai, merci pour ton message.
C’est mon père qui fait tout ça, j’essaye simplement de l’aider de mon côté parceque il est bloqué
Merci pour tes conseils, activer l’API de l’onduleur réglerait donc ce problème ?
Je viens de lire la doc constructeur. Ces MO n’ont pas d’interface web. Pour les joindre c’est soit l’app sur le téléphone connecté en Bluetooth au MO, soit l’app sur le téléphone connecté par internet au cloud APsystems.
La 3ieme c’est d’activer l’API locale et d’utiliser un script compatible (ou HA).
Le wifi n’est la que pour permettre au MO d’envoyer les données sur le cloud APSystems ou pour utiliser l’API locale
Quel code est-ce que votre père tente d’utiliser ?
from APsystemsEZ1 import APsystemsEZ1M # import the APsystemsEZ1 library
import asyncio
# Initialize the inverter with the specified IP address and port number.
inverter = APsystemsEZ1M("192.168.1.100", 8050)
async def main():
try:
# Get device information
device_info = await inverter.get_device_info()
print("Device Information:", device_info)
# Get alarm information
alarm_info = await inverter.get_alarm_info()
print("Alarm Information:", alarm_info)
# Get output data
output_data = await inverter.get_output_data()
print("Output Data:", output_data)
# Set maximum power limit (ensure the value is within valid range)
set_power_response = await inverter.set_max_power(500)
print("Set Power Response:", set_power_response)
# Set power status (ensure "ON" or other value is valid)
set_power_status_response = await inverter.set_device_power_status("ON")
print("Set Power Status Response:", set_power_status_response)
# Get current power status
power_status = await inverter.get_device_power_status()
print("Power Status:", power_status)
except Exception as e:
print(f"An error occurred: {e}")
# Run the main coroutine
asyncio.run(main())
Celui là par exemple. Je vois, merci beaucoup pour les renseignements et le temps que vous m’avez accordé j’apprécie fortement