CasaOS / ZimaOS [TUTO] Surveiller votre onduleur UPS avec Nutify

  • Vague de SPAM

    Suite à une vague de spam sur le forum, les inscriptions sont temporairement limitées.

    Après votre inscription, un membre de l'équipe devra valider votre compte avant qu'il ne soit activé. Nous sommes désolés pour la gêne occasionnée et vous remercions de votre patience.
  • Passkey + Bitwarden : KO

    Un bug affecte la dernière version de l’extension Bitwarden, empêchant son utilisation correcte sur tous les sites Web.

    Si vous n'arrivez pas à vous connecter sur le forum avec la Passkey, videz le cache de votre navigateur (ou nouvelle fenêtre privée) ou encore utilisez un autre navigateur... et tentez une connexion identifiant + mot de passe

    Plus d'info, cliquez ici

morgyann

Grand Maître Jedi
Membre Confirmé
2 Février 2023
2 386
552
158
.bzh
L’interface de ZimaOS ne gère pas à ce jour le pilotage d’un UPS adjoint et protégeant votre serveur d’éventuelle coupure de courant.

Après plusieurs recherches, je n'avais trouvé pour seule application de surveillance d'onduleur : NUT que vous installez en mode en serveur de connexion à votre onduleur. Puis, à ce serveur NUT vous intégrez une interface graphique en mode client du type PeaNUT, Home Assistant, Grafana ou Promethus. NUT est aussi proposée sur UnRaid ...
L'installation de NUT est assez simple ainsi que son couplage avec une interface graphique pour qui a l'habitude de déployer des piles Docker et/ou souhaite l'intégrer à un tableau de bord du type Home Assistant ou Grafana. L'installation pour un débutant peut s'avérer un peu + compliquée (repérage en ligne de commande de l'USB, déployer dans un premier temps NUT et le contrôler à nouveau en ligne de commande, refaire un YAML pour son couplage avec un client ...).

J'ai donc continué mes recherches pour tester une app qui corresponde un peu plus à l'objectif de ZimaOS à savoir une installation simple avec un résultat efficient et, je suis tombé sur Nutify, une app assez récente créée par un passionné qui se présente très modestement comme un développeur amateur, il y a 8 mois sur Reddit ...

Vous trouverez son GitHub à https://github.com/DartSteven/Nutify?tab=readme-ov-file et si cette app vous plait n'hésitez pas à lui payer un café

Nutify vous permet de surveiller votre onduleur facilement.

Si vous êtes complètement débutant pour installer une app manuellement sur ZimaOS vous trouverez un tuto pour l'installation de Nutify pas à pas ICI

Au préalable, votre serveur doit être alimenté par un onduleur et connecté à celui-ci en USB (pour les + avancés, il y a aussi une conf en réseau et en simple client)

1. Installer Nutify sur ZimaOS​

1.1. Cliquez sur l’icône + en haut à droite de la page d’accueil au dessus des tuiles et sélectionnez Installer une application personnalisée.

1.1.png

1.2. La fenêtre des paramètres de votre application s’ouvre et cliquez sur l’icône flèche vers le carré en haut à droite, avec pour libellé Importer

1.3. Le pop-up vous propose d’importer votre configuration avec un fichier YAML ou de copier-coller celle-ci dans la fenêtre dédiée. Vous pouvez agrandir cette fenêtre en sélectionnant les deux traits en bas à droite.

1.4. Copier-coller dans la fenêtre le script de configuration
ci dessous.
Important : l’image du script est pour un système fonctionnant avec un CPU, le plus courant, en AMD64/x86_64
Pour un système fonctionnant en ARM64/aarch64, comme un Raspberry Pi, le Tag de l’image devra être modifié en: arm64-latest
L’environnement SECRET_KEY pourra être changé après l’importation
Le port 443 et son volume ont été retirés du script original afin de ne pas interférer avec l’installation d’un logiciel de Proxy Inversé.


Code:
name: nutify
services:
  nut:
    cap_add:
      - SYS_ADMIN
      - SYS_RAWIO
      - MKNOD
    cpu_shares:
    command: []
    container_name: nutify
    deploy:
      resources:
        limits:
          memory:
        reservations:
          devices: []
    device_cgroup_rules:
      - c 189:* rwm
    devices:
      - /dev/bus/usb:/dev/bus/usb
    environment:
      - SECRET_KEY=e43a4fbb813170e5436ef42ffc201bae55246d0756696bd10bfebb1c83f0e4f2
      - UDEV=1
    image: dartsteven/nutify:amd64-latest
    labels:
      icon: https://github.com/DartSteven/Nutify/raw/main/pic/Nutify-Logo.png
    ports:
      - target: 3493
        published: "3493"
        protocol: tcp
      - target: 5050
        published: "5050"
        protocol: tcp
    privileged: true
    restart: always
    volumes:
      - type: bind
        source: /tmp/nutify/logs
        target: /app/nutify/logs
      - type: bind
        source: /tmp/nutify/instance
        target: /app/nutify/instance
      - type: bind
        source: /tmp/nutify/etc/nut
        target: /etc/nut
      - type: bind
        source: /dev
        target: /dev
      - type: bind
        source: /run/udev
        target: /run/udev
    network_mode: bridge
x-casaos:
  author: self
  category: self
  hostname:
  icon: https://github.com/DartSteven/Nutify/raw/main/pic/Nutify-Logo.png
  index: /
  is_uncontrolled: false
  port_map: "5050"
  scheme: http
  store_app_id: nutify
  title:
    custom: NUTIFY
    en_us: nut


Cliquez sur Appliquer, puis sur OK sur le Pop-up qui s’affiche

1.5. Sur le Panneau Paramètres, maintenant pré-rempli, modifiez,
  • L’espace Web UI en inscrivant en dur l’IP locale du serveur qui s’affiche en filigrane
1.5.png

  • Générez votre clé secrète sur ce site et remplacez celle inscrite dans l’espace Variables d’environnement -> SECRET_KEY -> Valeur
1.5.2.png


1.6. Cliquez sur Installer et patientez le temps de l’installation



2. Première configuration assistée​

2.1. La première page vous propose de personnaliser le nom de votre onduleur UPS, si vous le souhaitez. Puis, Next

2.1.png

2.2. Sur la seconde page indiquez votre fuseau horaire à choisir dans la liste déroulante. Puis, Next

2.3. Indiquez un mot de passe pour le compte adminNe pas changer le libellé admin, vous pourrez créer d’autre comptes par la suite. Puis, Next

2.4. Choisissez le mode de connexion à votre onduleur le premier, dans une configuration classique par un branchement direct à votre serveur. Si vous avez plusieurs machines connectées à ce même UPS, deux autres modes sont proposés via le réseau ou en simple client d’un serveur NUT. Puis, Next

2.4.png

2.5. Choisissez la détection automatique de votre Onduleur UPS, dans le cas où il ne serait pas reconnu il vous faudra l’identifier manuellement. Puis, Next

2.5.png

2.6. Dans la mesure où le modèle de votre onduleur fait partie de la grande liste répertoriée par l’application, le scan procédera à identification de l’UPS. Puis, Next

2.7. Activer Test Configuration

2.8. Ajoutez les variables complémentaires si demandé. Puis, Close

2.9. Sauvegardez la configuration

2.9.png

2.10. Redémarrez


3. Connection à Nutify


Pour la première connexion, authentifiez-vous en admin et ->Login

3.1.png

Administrez votre onduleur avec Nutify

Installer Nutify - Interface Nutify.png



J'ai, à ce jour, juste fait le tour d'horizon des possibilités de configuration de l'interface (extrait GitHub) :


Principales caractéristiques

  • Surveillance UPS en temps réel : Collecte et affiche en continu les données de vos appareils UPS
  • Système d'authentification des utilisateurs : Connexion multi-utilisateur avec contrôle granulaire des autorisations pour les pages individuelles et les zones de configuration
  • Rapports détaillés : Génère des rapports complets sur les performances d'UPS avec une intégration pandas améliorée
  • Graphiques interactifs : Visualise les données UPS à l'aide de graphiques interactifs
  • Assistant de configuration : Assistant de configuration amélioré avec interface utilisateur et navigation améliorées
  • Tableaux de bord personnalisables : Fournit un tableau de bord Web pour afficher les données en temps réel
  • Persistance des données : Stocke les données UPS historiques dans une base de données SQLite avec un schéma amélioré
  • Déploiement dockerisé : Facilement déployable à l'aide de Docker et Docker Compose
  • Modes de déploiement flexibles : Exécuter en tant que serveur NUT complet ou en tant que client léger se connectant à un serveur NUT distant
  • Détection de mode robuste : Détection de mode CLIENT/SERVEUR multicouche avec mécanismes de secours automatiques
  • Système de notification amélioré : Notifications basées sur une base de données avec plusieurs canaux (e-mail, Ntfy, Webhooks)
  • Intégration Discord : Envoyez des notifications directement aux canaux Discord
  • Surveillance du système : Widgets d'utilisation de la RAM et du processeur en temps réel dans l'en-tête du tableau de bord
  • Assistance par e-mail multi-comptes : Configurez plusieurs comptes de messagerie pour les notifications avec une configuration de fournisseur simplifiée
  • Surveillance énergétique : Analyse détaillée de la consommation d'énergie
  • Gestion de la batterie : Surveillance de l'état et des performances de la batterie
  • Gestion d'événements : Enregistrement et notification des événements UPS
  • Commandes UPS : Interface pour envoyer des commandes à l'UPS avec contrôle des autorisations
  • Thème sombre/clair : Interface personnalisable avec des thèmes sombres et clairs
  • Rapports automatisés : Rapports programmés avec état UPS détaillé et précision améliorée
  • Notifications push : Intégration avec Ntfy pour des alertes mobiles instantanées
  • Intégration de Webhook : Rappels HTTP flexibles pour l'intégration de systèmes tiers
  • Configuration avancée : Contrôle précis des paramètres NUT et des sondages avec accès basé sur l'utilisateur
  • Récupération de connexion : Reconnexion automatique et récupération après les pannes de communication UPS
  • Gestion optimisée des événements : Intégration native de Python avec upsmon.conf pour une stabilité et une réactivité améliorées
  • Données en temps réel basées sur WebSocket : Système de mise en cache efficace réduisant considérablement l'utilisation du processeur et de la RAM
  • Architecture modulaire : Conception extensible avec séparation nette des préoccupations
  • Image de marque professionnelle : Logo officiel et favicon pour une identité cohérente sur toutes les plateformes
  • Prise en charge UPS étendue : Pilotes ajoutés pour une gamme plus large de modèles UPS
  • Sécurité renforcée : Système d'authentification et d'autorisation des utilisateurs protégeant les zones de configuration



En revanche, je n'ai pas encore trouvé le temps de configurer l'interface et d'effectuer les différents tests d'opérabilité, fiabilité et de viabilité de Nutify. Si certains d'entres vous l'installent et la testent. Merci de faire un retour sur ce poste (ou de poster un tuto concernant sa configuration).
 
Dernière édition:
  • J'aime
Réactions: Nincha et Ludo33
Hello,
J’ai installer grâce a ton tuto, j’ai dû supprimé une ligne car le port 443 est utilisé pour https.
Par contre j’ai réussi a l’ouvrir avec l’icône de l’appli donc j’ai mis l’ip de mon nas suivi de :5050.
Très bien cette application car beaucoup d’information. Après je sais pas si ça arrête le nas automatiquement ou si une configuration est à faire. Je suis en train de chercher cela.
 
  • J'aime
Réactions: morgyann
j’ai dû supprimé une ligne car le port 443 est utilisé pour https.
Il faut supprimer aussi le volume associé.
Je viens de mettre à jour le script et précisé ce retrait afin de ne pas interférer avec l'installation d'un Proxy Inversé.
Au départ je l'avais retiré, puis après avoir parcouru le panneau de conf, j'ai constaté qu'il y avait un espace pour mettre la pile en SSL en important son certificat.
Suite à ton poste, je reviens à ma première conf (sans port 443), afin que si l'installation d'un Proxy Inversé (au préalable ou ultérieurement) - qu'il n'y ait pas de blocage d'installation.
 
@Ludo33 depuis la mise à jour V1.5.2Beta et l'activation de la fonction UPS - Nutify a été désactivé et impossible de le redémarrer ... il m'indique un souci de pilote pour mon onduleur - il semblerai donc le pilote utilisé par ZimaOS ne puisse être aussi utilisé par Nutify ???
Peux-tu confirmer (ou infirmer) ce phénomène ?
Ce qui supposerai que soit tu utilises la fonction intégré à Zima soit une app NUT mais pas les 2 ????
 
@morgyann J’ai pas installé la version bêta encore, j’attend la définitive, car je n’ai pas de machine de test 😁, il est possible que ce soit des pilotes open source du coup et ça doit être les mêmes ? Je pourrai te confirmé dans 1 semaine quand la mise à jour sera sorti ( en général ça sort 1 semaine après la bêta ).
Par contre comme j’ai dis plus haut je suis pas arriver à ouvrir depuis l’application donc je fais ip du nas:5050
 
la version bêta encore, j’attend la définitive,
Ok tu nous diras dans une semaine - sinon les versions Beta sont "garanties" par Zima comme stables même si pas finalisées / officialisées - je les ai toutes installées depuis, et pas de souci avec
 
@Ludo33 maintenant que la v1.5.2 est dispo - peux-tu confirmer (ou infirmer) que l'activation de la prise en charge de l'UPS via ZimaOS désactive Nutify. En bref soit l'un soit l'autre.
Je ne peux le vérifier de mon côté ayant désinstallé Nutify, vu que la fonctionnalité UPS De Zima me suffit pour l'instant et je n'ai pas encore installé une multiprises USB pour mes autres machines ... Ce sera donc pour + tard, Nutify a quand même pas mal de fonctionnalités intéressantes alors que Zima assure que l'extinction basique du serveur.
 
@Ludo33 maintenant que la v1.5.2 est dispo - peux-tu confirmer (ou infirmer) que l'activation de la prise en charge de l'UPS via ZimaOS désactive Nutify. En bref soit l'un soit l'autre.
Je ne peux le vérifier de mon côté ayant désinstallé Nutify, vu que la fonctionnalité UPS De Zima me suffit pour l'instant et je n'ai pas encore installé une multiprises USB pour mes autres machines ... Ce sera donc pour + tard, Nutify a quand même pas mal de fonctionnalités intéressantes alors que Zima assure que l'extinction basique du serveur.
je regarde ce soir et te tient au courant.
 
  • J'aime
Réactions: morgyann
@morgyann, la mise à jour ne m’est pas encore proposé je vais attendre un peu 😁
J’ai fais un redémarrage et j’ai eu la mise à jour. Je te dis ça de suite.
 
Dernière édition:
Alors la mise à jour à griser mon app Nutify et Komga également.Komga j’ai juste fais enregistrer et ça refonctionne par contre Nutify ne fonctionne pas également.
 
@morgyann,
Alors j’ai constaté donc après la mise à jour l’application ne fonctionnait plus, j’ai donc essayé de connecter l’Ups dans le réglage de base appareil reconnu je valide ça me met succès mais au niveau de curseur ça n’as pas bougé. ( un bug ?). Voir photo.

Par contre j’ai désinstallé et refait la configuration Nutify ça fonctionne à nouveau, mais pas de dossier de configuration dans appdata ?
 

Pièces jointes

  • IMG_0857.jpeg
    IMG_0857.jpeg
    72.8 KB · Affichages: 2
Dernière édition:
au niveau de curseur ça n’as pas bougé. ( un bug ?). Voir photo.
Oui j'ai mis ce jour, la version définitive, mais cela a fait sauté aussi le curseur d'activation de l'UPS :confused: que je n'arrive pas à fixer manuellement.
Image1.png
ce qui veut dire qu'il semble obsolète Grrrrrrrrrr
Je suis donc faire un tour en ligne de commande voir si il était toujours présent ce qui est le cas
1764199588647.png
mais je suppose que pour régler l'affaire, il me faudra le supprimer et le recréer ou autre ??? je verrais demain, si j'ai le temps à tête reposée :unsure:
 
réglage de base appareil reconnu je valide ça me met succès mais au niveau de curseur ça n’as pas bougé. ( un bug ?).
@Ludo33 J'ai réinitialisé la machine - après avoir essayé de trouver vainement une solution pour mon fichier ups.conf bloqué en "state file handle" - pas trop grave il n'y avait rien sur la machine.
Je ne sais si c'est dû à l'install de nutify qui s'est réservée les droits sur le fichier ou le passage par la Bêta ??? :unsure:

Donc après cette réinitialisation en v1.5.2, c'est à nouveau bon mais comme toi ça valide mais le curseur reste désactivé ???
1764253477087.png
1764253506277.png
Tout fonctionnait pour le mieux avec la VBeta et plus avec Vfinalisée ??? Comme tu dis y'a un bug qque part ... Attendons voir si Zima sort un correctif d'ici peu ...
 
  • J'aime
Réactions: Ludo33
@Ludo33 J'ai réinitialisé la machine - après avoir essayé de trouver vainement une solution pour mon fichier ups.conf bloqué en "state file handle" - pas trop grave il n'y avait rien sur la machine.
Je ne sais si c'est dû à l'install de nutify qui s'est réservée les droits sur le fichier ou le passage par la Bêta ??? :unsure:

Donc après cette réinitialisation en v1.5.2, c'est à nouveau bon mais comme toi ça valide mais le curseur reste désactivé ???
Voir la pièce jointe 18772
Voir la pièce jointe 18773
Tout fonctionnait pour le mieux avec la VBeta et plus avec Vfinalisée ??? Comme tu dis y'a un bug qque part ... Attendons voir si Zima sort un correctif d'ici peu ...
J'ai exactement la même chose, je vais tester ce soir en désinstallant nutify, mais le souci que il n'y as pas de fichiers nutify dans appdata ? du coup est cela qui bloque la validation du curseur car c 'est dans les fichiers cachées ?
 
fichiers nutify dans appdata ?
Rien ne créé dans AppData pour ce type de pile. sur mon script le chemin est /tmp Puis, lors de la config il inscrit dans /etc ->nut.conf, ups.conf ...
est cela qui bloque la validation du curseur
Non pas Nutify puisque - j'ai réinitialisé tout le système à zéro
Ci après capture des fichiers inscrits - mais je t'avouerai qu'en terme d'UPS je n'y connais rien ...

1764262906251.png

Je suis allé faire un tour sur le Forum officiel et sur le forum Discord - mais rien vu sur ce dysfonctionnement ... à suivre ...
 
Apres ca se trouve c'est ton post
Non ce n'est pas le mien, mais je vois que nous pas les seuls à rencontrer des difficultés sur ce bug ?
Je vais sans doute aussi poster.
Un autre bug (très mineur) depuis ma réinitialisation de Zima, le téléversement de l'avatar ne fonctionne plus - mais déjà vu un poste à ce sujet sur Discord ou leur forum (je ne sais plus).
Je viens de poster le bug de l'UPS sur le forum - j'ai le même pseudo
 
Dernière édition:
@Ludo33 Le problème du bouton UPS qui ne se fixe pas sera normalement résolu ce jour en beta et ce we en fixe. Je surveille le github.
J'ai échangé sur le forum, ils ont été réactif.
Hello, super je testerez ce week end, la j’essaye d’installer home assistant en vm ( elle est plus complète), j’ai utilisé l’image .vdi ça s’est bien installé j’ai choisi le porte eth 1 lequel mon câble est branché et j’ai bien l’ip de home assistant mais pas moyen d’y accéder, je cherche donc la solution😉