Compare commits
	
		
			1 Commits
		
	
	
		
			4e2dec2441
			...
			multithrea
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						7199432169
	
				 | 
					
					
						
							
								
								
									
										58
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								README.md
									
									
									
									
									
								
							@@ -263,7 +263,63 @@ ping 192.168.10.202
 | 
			
		||||
 | 
			
		||||
## Support multi-équipements
 | 
			
		||||
 | 
			
		||||
**Note** : Le support complet multi-équipements nécessite une implémentation avec threading/multiprocessing. Actuellement, le script traite le premier équipement de la liste et affiche un avertissement pour les autres.
 | 
			
		||||
Le script supporte nativement la surveillance simultanée de plusieurs équipements grâce à une architecture **multi-threading** :
 | 
			
		||||
 | 
			
		||||
### Fonctionnement
 | 
			
		||||
 | 
			
		||||
- **Thread indépendant** pour chaque équipement configuré
 | 
			
		||||
- **Surveillance parallèle** : tous les équipements sont surveillés simultanément
 | 
			
		||||
- **Isolation des erreurs** : la défaillance d'un équipement n'affecte pas les autres
 | 
			
		||||
- **Clients MQTT séparés** : chaque thread utilise son propre client MQTT
 | 
			
		||||
- **Arrêt gracieux** : tous les threads s'arrêtent proprement sur signal
 | 
			
		||||
 | 
			
		||||
### Avantages
 | 
			
		||||
 | 
			
		||||
- ⚡ **Performance optimale** : pas de blocage entre équipements
 | 
			
		||||
- 🔄 **Traitement parallèle** : requêtes SNMP simultanées
 | 
			
		||||
- 🛡️ **Robustesse** : isolation des défaillances
 | 
			
		||||
- 📊 **Scalabilité** : facilement extensible à des dizaines d'équipements
 | 
			
		||||
- 🔧 **Maintenance** : logs clairement identifiés par équipement
 | 
			
		||||
 | 
			
		||||
### Configuration multi-équipements
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
devices:
 | 
			
		||||
  routeur_principal:
 | 
			
		||||
    ip: "192.168.10.1"
 | 
			
		||||
    snmp_community: "public"
 | 
			
		||||
    oids:
 | 
			
		||||
      # ... configuration OID ...
 | 
			
		||||
  
 | 
			
		||||
  switch_bureau:
 | 
			
		||||
    ip: "192.168.10.5"
 | 
			
		||||
    snmp_community: "public" 
 | 
			
		||||
    oids:
 | 
			
		||||
      # ... configuration OID ...
 | 
			
		||||
  
 | 
			
		||||
  point_acces_wifi:
 | 
			
		||||
    ip: "192.168.10.10"
 | 
			
		||||
    snmp_community: "private"
 | 
			
		||||
    oids:
 | 
			
		||||
      # ... configuration OID ...
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Logs multi-threading
 | 
			
		||||
 | 
			
		||||
Chaque thread est clairement identifié dans les logs :
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
(INFO) [Device-routeur_principal] Starting monitoring thread
 | 
			
		||||
(INFO) [Device-switch_bureau] MQTT client connected
 | 
			
		||||
(DEBUG) [Device-point_acces_wifi] Published state to SNMP/point_acces_wifi/state
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Gestion des ressources
 | 
			
		||||
 | 
			
		||||
- **Clients MQTT uniques** : ID client basé sur le nom de l'équipement
 | 
			
		||||
- **Topics séparés** : chaque équipement a ses propres topics MQTT
 | 
			
		||||
- **Discovery HA indépendante** : configuration Home Assistant par équipement
 | 
			
		||||
- **Disponibilité individuelle** : statut online/offline par équipement
 | 
			
		||||
 | 
			
		||||
## Logs et debugging
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user