# Instalare și Configurare WinNUT pe Windows 11 (VM 201) ## Despre WinNUT este un client NUT (Network UPS Tools) pentru Windows care permite monitorizarea vizuală a unui UPS conectat la un server NUT remote (în cazul nostru, pvemini). **IMPORTANT:** WinNUT este folosit DOAR pentru monitorizare vizuală. Shutdown-ul automat este gestionat de scripturile de pe Proxmox. ## Prerequisite - Windows 11 (VM 201 pe pvemini) - Server NUT funcțional pe pvemini (10.0.20.201) - Conectivitate rețea către serverul NUT (port 3493) ## 1. Descărcare WinNUT ### Opțiunea 1: GitHub Releases (Recomandat) 1. Deschide browser în VM 201 2. Accesează: https://github.com/gawindx/WinNUT-V2/releases 3. Descarcă ultima versiune (ex: `WinNUT-v2.x.x-Setup.exe`) ### Opțiunea 2: Build from source (Opțional) ```powershell # Clonează repository git clone https://github.com/gawindx/WinNUT-V2.git cd WinNUT-V2 # Urmează instrucțiunile de build din README ``` ## 2. Instalare WinNUT ### 2.1. Rulare instalator 1. Rulează `WinNUT-v2.x.x-Setup.exe` ca Administrator 2. Acceptă UAC prompt 3. Alege directorul de instalare (implicit: `C:\Program Files\WinNUT`) 4. Finalizează instalarea ### 2.2. Verificare instalare WinNUT ar trebui să pornească automat după instalare. Icon-ul va apărea în system tray. ## 3. Configurare WinNUT ### 3.1. Deschidere fereastră Options - Click dreapta pe icon-ul WinNUT din system tray - Selectează **"Options"** sau dublu-click pe icon ### 3.2. Tab Connection Configurează următoarele: | Câmp | Valoare | Descriere | |------|---------|-----------| | **NUT host** | `10.0.20.201` | IP-ul serverului NUT (pvemini) | | **NUT Port** | `3493` | Portul default NUT | | **UPS Name** | `nutdev1` | Numele UPS-ului (din ups.conf) | | **Polling Interval** | `15` | Interval de polling în secunde (NU pune 0!) | | **Login** | `admin` | Username (din upsd.users) | | **Password** | `parola99` | Parola (din upsd.users) | | **Re-establish connection** | ☑ Checked | Reconectare automată | **IMPORTANT:** - **Polling Interval** trebuie să fie > 0 (recomandat: 15) - Dacă Polling Interval = 0, WinNUT nu se va conecta! ### 3.3. Tab Calibration Lasă valorile default sau ajustează după preferințe pentru afișarea gauge-urilor. ### 3.4. Tab Miscellaneous Configurări opționale: - ☑ **Start with Windows** - Pornire automată - ☑ **Minimize to tray** - Minimizare în system tray - ☐ **Sound alerts** - Alerte sonore (opțional) ### 3.5. Tab Shutdown Options **⚠️ IMPORTANT:** NU configura shutdown options în WinNUT! Shutdown-ul este gestionat automat de scripturile de pe Proxmox. WinNUT este doar pentru monitorizare. Lasă toate opțiunile de shutdown dezactivate: - ☐ Shutdown on battery - ☐ Shutdown on low battery - ☐ Force shutdown ### 3.6. Salvare configurație 1. Click **OK** pentru a salva 2. WinNUT se va reconecta automat la serverul NUT 3. În câteva secunde, ar trebui să vezi datele UPS-ului ## 4. Verificare Funcționare ### 4.1. Fereastră principală După conectare cu succes, ar trebui să vezi: **Gauge-uri (indicatoare circulare):** - **Input Voltage** (Tensiune intrare): ~230V - **Output Voltage** (Tensiune ieșire): ~230V - **Frequency** (Frecvență): ~50Hz - **Battery Charge** (Încărcare baterie): 0-100% - **Battery Voltage** (Tensiune baterie): ~24V (depinde de UPS) - **UPS Load** (Sarcină UPS): 0-100% **Status checkboxes:** - ☑ **UPS On Line** - UPS pe curent electric (normal) - ☐ **UPS On Battery** - UPS pe baterie (întrerupere curent) - ☐ **UPS Overload** - UPS supraîncărcat - ☐ **UPS Battery Low** - Baterie scăzută **Informații suplimentare:** - **Manufacturer:** (producător UPS) - **Name:** nutdev1 - **Serial:** (număr serie) - **Firmware:** (versiune firmware) ### 4.2. System tray icon - **Verde:** UPS On Line (normal) - **Galben:** UPS On Battery (atenție) - **Roșu:** UPS Battery Low (critic) ### 4.3. Mesaj reconectare În partea de jos a ferestrei vezi: ``` [id 4: 10/6/2025 7:56:48 PM] Try Reconnect 1 / 30 ``` Dacă vezi acest mesaj constant: 1. Verifică configurația Connection (mai ales Polling Interval) 2. Verifică conectivitatea rețea (ping 10.0.20.201) 3. Verifică că serverul NUT rulează pe pvemini ## 5. Testare ### 5.1. Test conectivitate din PowerShell ```powershell # Test ping Test-NetConnection -ComputerName 10.0.20.201 -Port 3493 # Ar trebui să vezi: # TcpTestSucceeded : True ``` ### 5.2. Test simulare UPS pe baterie 1. Deconectează fizic UPS-ul de la priză (pe pvemini) 2. Observă în WinNUT: - Checkbox **"UPS On Battery"** devine ☑ - Icon în system tray devine galben - Input voltage scade - Battery charge începe să scadă 3. Reconectează UPS-ul 4. Observă că status revine la **"UPS On Line"** **NU lăsa UPS-ul pe baterie mai mult de 3 minute** - se va declanșa shutdown automat! ## 6. Troubleshooting ### 6.1. WinNUT nu se conectează **Verificări:** 1. **Polling Interval = 0?** - Schimbă la 15 secunde - Click OK și așteaptă 10-20 secunde 2. **Firewall blochează portul 3493?** ```powershell # Test port Test-NetConnection -ComputerName 10.0.20.201 -Port 3493 ``` 3. **Server NUT nu rulează?** - SSH pe pvemini: ```bash systemctl status nut-server ss -tulpn | grep 3493 ``` 4. **Date de autentificare greșite?** - Verifică username/password din Options - Compară cu `/etc/nut/upsd.users` de pe pvemini 5. **Nume UPS greșit?** - Verifică că UPS Name = `nutdev1` - Listează UPS-uri disponibile: ```bash ssh root@10.0.20.201 "upsc -l" ``` ### 6.2. WinNUT se conectează dar nu afișează date 1. **Restart WinNUT:** - Click dreapta → Exit - Pornește WinNUT din nou 2. **Verifică permisiuni:** - Username `admin` trebuie să existe în `/etc/nut/upsd.users` 3. **Verifică logs pe server:** ```bash ssh root@10.0.20.201 "journalctl -u nut-server -n 50" ``` ### 6.3. Icon-ul lipsește din system tray 1. Deschide **Settings → Personalization → Taskbar** 2. Click pe **"Taskbar corner overflow"** 3. Activează **WinNUT** ### 6.4. Eroare "Connection refused" **Pe pvemini, verifică:** ```bash # Server ascultă pe IP-ul corect? ss -tulpn | grep 3493 # Firewall permite trafic? iptables -L INPUT -n | grep 3493 # Restart server systemctl restart nut-server ``` ## 7. Configurare Avansată ### 7.1. Monitorizare multiple UPS-uri WinNUT poate monitoriza un singur UPS. Pentru multiple UPS-uri: - Rulează multiple instanțe WinNUT (necesită build custom) - Folosește alte tool-uri (NUT-Monitor, upsc via SSH) ### 7.2. Export date UPS WinNUT nu are funcție de export built-in. Pentru logging: **Opțiunea 1: PowerShell script** ```powershell # Script simplu de logging UPS via SSH while ($true) { $status = ssh root@10.0.20.201 "upsc nutdev1 ups.status battery.charge input.voltage" $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" "$timestamp - $status" | Out-File -Append C:\UPS-Logs\ups-log.txt Start-Sleep -Seconds 60 } ``` **Opțiunea 2: Monitoring tools** - Prometheus + NUT Exporter - Grafana + InfluxDB - Zabbix ### 7.3. Notificări personalizate Pentru notificări Windows când UPS trece pe baterie: **PowerShell monitoring script:** ```powershell # Rulează continuu, verifică status UPS $lastStatus = "OL" while ($true) { try { $currentStatus = ssh root@10.0.20.201 "upsc nutdev1 ups.status" if ($currentStatus -match "OB" -and $lastStatus -eq "OL") { # Notificare Windows [System.Windows.Forms.MessageBox]::Show( "UPS a trecut pe baterie!", "ALERT UPS", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Warning ) } $lastStatus = $currentStatus } catch { Write-Host "Error: $_" } Start-Sleep -Seconds 10 } ``` ## 8. Alternative la WinNUT Dacă WinNUT nu funcționează satisfăcător: ### 8.1. NUT-Monitor (Java) - Cross-platform (Windows, Linux, macOS) - Interfață mai modernă - Download: https://github.com/networkupstools/nut/wiki/NUT-Monitor ### 8.2. upsc via SSH Folosește direct comanda `upsc` prin SSH: ```powershell # PowerShell - Status UPS ssh root@10.0.20.201 "upsc nutdev1" # Doar câmpuri specifice ssh root@10.0.20.201 "upsc nutdev1 ups.status battery.charge input.voltage" # Monitoring continuu while ($true) { Clear-Host ssh root@10.0.20.201 "upsc nutdev1 ups.status battery.charge input.voltage" Start-Sleep -Seconds 5 } ``` ### 8.3. Web UI pe server Instalează web UI pe pvemini: ```bash # Instalare NUT CGI scripts apt install -y nut-cgi apache2 # Configurare # Accesează: http://10.0.20.201/cgi-bin/nut/upsstats.cgi ``` ## 9. Pornire Automată WinNUT ### 9.1. Via Task Scheduler 1. Deschide **Task Scheduler** 2. Create Task: - **General:** - Name: WinNUT Auto Start - Run whether user is logged on or not - **Triggers:** - At startup - **Actions:** - Start a program: `C:\Program Files\WinNUT\WinNUT.exe` - **Conditions:** - Start only if network available ### 9.2. Via Startup Folder 1. `Win + R` → `shell:startup` 2. Crează shortcut către `WinNUT.exe` ## 10. Documentație și Suport - **WinNUT GitHub:** https://github.com/gawindx/WinNUT-V2 - **NUT Documentation:** https://networkupstools.org/ - **Issues:** Raportează probleme pe GitHub Issues ## Rezumat Configurare Rapidă ``` NUT host: 10.0.20.201 NUT Port: 3493 UPS Name: nutdev1 Polling Interval: 15 Login: admin Password: parola99 Re-establish conn: ✓ Checked ``` **Click OK → Așteaptă 10-20 secunde → Vezi date UPS!**