fix 'enable' button

This commit is contained in:
Jonathan Roth 2025-11-26 21:35:40 +01:00
parent e3df1052ef
commit be329733bd

View File

@ -6,36 +6,39 @@ import json
import time import time
# Variable pour stocker l'adresse IP # Variable pour stocker l'adresse IP
server_ip = "127.0.0.1" # Adresse IP par défaut server_ip = "192.168.1.111" # Adresse IP par défaut
# Fonction pour envoyer la commande de démarrage ou d'arrêt de la chauffe # Fonction pour envoyer la commande de démarrage ou d'arrêt de la chauffe
def toggle_heating_state(heating_button, current_state): def toggle_heating_state(heating_button):
try: try:
global server_ip global server_ip
if server_ip is None: if server_ip is None:
raise ValueError("L'adresse IP du serveur n'est pas définie.") raise ValueError("L'adresse IP du serveur n'est pas définie.")
port = 4623 # Port du serveur port = 4623 # Port du serveur
btcolor = heating_button.cget("bg")
current_state = 0 if btcolor == "gray" else 0
# Si la chauffe est active (vert), envoyer la commande "stop" # Si la chauffe est active (vert), envoyer la commande "stop"
if current_state == "HEATING": if current_state == 1:
print("stop") # print("stop")
command = "stop" command = "stop"
heating_button.config(bg="gray", text="Chauffe inactive") heating_button.config(bg="gray", text="Chauffe inactive")
# Si la chauffe est inactive (gris), envoyer la commande "start" # Si la chauffe est inactive (gris), envoyer la commande "start"
elif current_state == "IDLE": else:
print("start") # print("start")
command = "start" command = "start"
heating_button.config(bg="green", text="Chauffe active") heating_button.config(bg="green", text="Chauffe active")
else:
return # Ne rien faire si l'état est inconnu
# Créer la commande à envoyer au serveur # Créer la commande à envoyer au serveur
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((server_ip, port)) s.connect((server_ip, port))
# Envoi de la commande # Envoi de la commande
s.sendall(command.encode('utf-8')) s.sendall(command.encode('utf-8'))
print(f"Commande envoyée : {command}") # print(f"Commande envoyée : {command}")
except Exception as e: except Exception as e:
print(f"Erreur lors de l'envoi de la commande de chauffe : {e}") print(f"Erreur lors de l'envoi de la commande de chauffe : {e}")
@ -267,7 +270,7 @@ def create_app():
target_button.pack(pady=10) target_button.pack(pady=10)
# Bouton pour gérer la chauffe # Bouton pour gérer la chauffe
heating_button = tk.Button(root, text="Chauffe inactive", bg="gray", width=15, height=2) heating_button = tk.Button(root, text="Chauffe inactive", bg="gray", width=15, height=2, command=lambda: toggle_heating_state(heating_button))
heating_button.pack(pady=10) heating_button.pack(pady=10)
# Fonction de mise à jour des widgets après chaque lecture # Fonction de mise à jour des widgets après chaque lecture