Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [HowTo] USV: NUT Server auf SBC installieren

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.7k

[HowTo] USV: NUT Server auf SBC installieren

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
nut usv ups
233 Beiträge 29 Kommentatoren 46.4k Aufrufe 37 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • David G.D David G.

    @Thomas-Braun

    Anstatt meines Befehle aus dem letzten Post?

    Thomas BraunT Online
    Thomas BraunT Online
    Thomas Braun
    Most Active
    schrieb am zuletzt editiert von
    #109

    @David-G Nee, ergänzend.

    Linux-Werkzeugkasten:
    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
    NodeJS Fixer Skript:
    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

    David G.D 1 Antwort Letzte Antwort
    0
    • Thomas BraunT Thomas Braun

      @David-G Nee, ergänzend.

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von
      #110

      @Thomas-Braun

      Last login: Thu Nov  5 19:12:24 2020 from 192.168.99.55
      pi@iobroker:~ $ systemctl get-default
      graphical.target
      pi@iobroker:~ $ sudo apt install nut
      Paketlisten werden gelesen... Fertig
      Abhängigkeitsbaum wird aufgebaut.
      Statusinformationen werden eingelesen.... Fertig
      nut ist schon die neueste Version (2.7.4-8).
      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
      pi@iobroker:~ $
      

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      Thomas BraunT 2 Antworten Letzte Antwort
      0
      • David G.D David G.

        @Thomas-Braun

        Last login: Thu Nov  5 19:12:24 2020 from 192.168.99.55
        pi@iobroker:~ $ systemctl get-default
        graphical.target
        pi@iobroker:~ $ sudo apt install nut
        Paketlisten werden gelesen... Fertig
        Abhängigkeitsbaum wird aufgebaut.
        Statusinformationen werden eingelesen.... Fertig
        nut ist schon die neueste Version (2.7.4-8).
        0 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
        pi@iobroker:~ $
        
        Thomas BraunT Online
        Thomas BraunT Online
        Thomas Braun
        Most Active
        schrieb am zuletzt editiert von
        #111

        @David-G

        sudo systemctl set-default multi-user.target
        sudo apt update
        sudo apt dist-upgrade
        sudo reboot
        

        Linux-Werkzeugkasten:
        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
        NodeJS Fixer Skript:
        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

        1 Antwort Letzte Antwort
        0
        • David G.D David G.

          @Thomas-Braun

          Last login: Thu Nov  5 19:12:24 2020 from 192.168.99.55
          pi@iobroker:~ $ systemctl get-default
          graphical.target
          pi@iobroker:~ $ sudo apt install nut
          Paketlisten werden gelesen... Fertig
          Abhängigkeitsbaum wird aufgebaut.
          Statusinformationen werden eingelesen.... Fertig
          nut ist schon die neueste Version (2.7.4-8).
          0 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.
          pi@iobroker:~ $
          
          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #112

          @David-G
          Und eigentlich muss man jetzt wohl nur noch zwei Dateien mit Leben füllen:

          sudo nano /etc/nut/ups.conf
          sudo nano /etc/nut/nut.conf
          

          Da muss aber ggf. jemand anderes mit einer USV weiterhelfen, das kann ich hier nicht mehr nachstellen.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          David G.D 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @David-G
            Und eigentlich muss man jetzt wohl nur noch zwei Dateien mit Leben füllen:

            sudo nano /etc/nut/ups.conf
            sudo nano /etc/nut/nut.conf
            

            Da muss aber ggf. jemand anderes mit einer USV weiterhelfen, das kann ich hier nicht mehr nachstellen.

            David G.D Online
            David G.D Online
            David G.
            schrieb am zuletzt editiert von
            #113

            @Thomas-Braun

            Die Dateien hatte ich ja bereits befüllt.
            Musste sogar noch eine mehr sein glaube ich.
            Eigentlich haben die Befehle von oben doch nichts überschrieben oder?

            Jetzt ist alles durch und neugestartet.
            Alles genau beim alten.
            Die Ausgabe bei allen Befehlen von dir ist identisch.

            Nachdem ich die beidem Befehle zum starten manuell absetze klappt es.

            Zeigt eure Lovelace-Visualisierung klick
            (Auch ideal um sich Anregungen zu holen)

            Meine Tabellen für eure Visualisierung klick

            Thomas BraunT 1 Antwort Letzte Antwort
            0
            • David G.D David G.

              @Thomas-Braun

              Die Dateien hatte ich ja bereits befüllt.
              Musste sogar noch eine mehr sein glaube ich.
              Eigentlich haben die Befehle von oben doch nichts überschrieben oder?

              Jetzt ist alles durch und neugestartet.
              Alles genau beim alten.
              Die Ausgabe bei allen Befehlen von dir ist identisch.

              Nachdem ich die beidem Befehle zum starten manuell absetze klappt es.

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #114

              @David-G Was steht denn in den beiden Dateien nun drin?

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              David G.D 1 Antwort Letzte Antwort
              0
              • Thomas BraunT Thomas Braun

                @David-G Was steht denn in den beiden Dateien nun drin?

                David G.D Online
                David G.D Online
                David G.
                schrieb am zuletzt editiert von David G.
                #115

                @Thomas-Braun

                Benutzer für den Zugriff auf den Service und was für ein USB Treiber.

                Das war es eigentlich.

                Bin jetzt noch was weiter gekommen.
                Wenn ich den Service sroppe und wieder starte läuft er.

                Screenshot_20201105-204458_RaspController.jpg

                Scheinbar ist das Netzwerk noch nicht da, wenn er den Service laden möchte.
                So scheint es hier zu sein.
                reddit.com
                Am Ende der Diskussion kommen sie zu dem Schluss mit dem Netzwerk. Aber keine Lösung.

                EDIT:
                Weiter oben in dem Status vom Dienst steht ein Fehler mit "listen". So bin ich auf den Forenbeitrag gekommen.
                Meine Fehlermeldung ist zwar minimal anders, jedoch hilft auch der Neustart vom Dienst.

                Man müsste ihn verzögert starten können.

                EDIT 2:
                Müsste ich den Service hier sehen?

                Last login: Thu Nov  5 20:40:24 2020 from 192.168.99.55
                pi@iobroker:~ $ cd /etc/systemd/system
                pi@iobroker:/etc/systemd/system $ ls
                autologin@.service
                bluetooth.target.wants
                dbus-fi.w1.wpa_supplicant1.service
                dbus-org.bluez.service
                dbus-org.freedesktop.Avahi.service
                dbus-org.freedesktop.timesync1.service
                default.target
                dhcpcd5.service
                display-manager.service
                getty.target.wants
                getty@tty1.service.d
                graphical.target.wants
                halt.target.wants
                multi-user.target.wants
                mysqld.service
                mysql.service
                network-online.target.wants
                poweroff.target.wants
                rc-local.service.d
                reboot.target.wants
                remote-fs.target.wants
                sockets.target.wants
                sshd.service
                sysinit.target.wants
                syslog.service
                timers.target.wants
                pi@iobroker:/etc/systemd/system $
                

                Zeigt eure Lovelace-Visualisierung klick
                (Auch ideal um sich Anregungen zu holen)

                Meine Tabellen für eure Visualisierung klick

                Thomas BraunT 1 Antwort Letzte Antwort
                0
                • David G.D David G.

                  @Thomas-Braun

                  Benutzer für den Zugriff auf den Service und was für ein USB Treiber.

                  Das war es eigentlich.

                  Bin jetzt noch was weiter gekommen.
                  Wenn ich den Service sroppe und wieder starte läuft er.

                  Screenshot_20201105-204458_RaspController.jpg

                  Scheinbar ist das Netzwerk noch nicht da, wenn er den Service laden möchte.
                  So scheint es hier zu sein.
                  reddit.com
                  Am Ende der Diskussion kommen sie zu dem Schluss mit dem Netzwerk. Aber keine Lösung.

                  EDIT:
                  Weiter oben in dem Status vom Dienst steht ein Fehler mit "listen". So bin ich auf den Forenbeitrag gekommen.
                  Meine Fehlermeldung ist zwar minimal anders, jedoch hilft auch der Neustart vom Dienst.

                  Man müsste ihn verzögert starten können.

                  EDIT 2:
                  Müsste ich den Service hier sehen?

                  Last login: Thu Nov  5 20:40:24 2020 from 192.168.99.55
                  pi@iobroker:~ $ cd /etc/systemd/system
                  pi@iobroker:/etc/systemd/system $ ls
                  autologin@.service
                  bluetooth.target.wants
                  dbus-fi.w1.wpa_supplicant1.service
                  dbus-org.bluez.service
                  dbus-org.freedesktop.Avahi.service
                  dbus-org.freedesktop.timesync1.service
                  default.target
                  dhcpcd5.service
                  display-manager.service
                  getty.target.wants
                  getty@tty1.service.d
                  graphical.target.wants
                  halt.target.wants
                  multi-user.target.wants
                  mysqld.service
                  mysql.service
                  network-online.target.wants
                  poweroff.target.wants
                  rc-local.service.d
                  reboot.target.wants
                  remote-fs.target.wants
                  sockets.target.wants
                  sshd.service
                  sysinit.target.wants
                  syslog.service
                  timers.target.wants
                  pi@iobroker:/etc/systemd/system $
                  
                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von Thomas Braun
                  #116

                  @David-G

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  David G.D Thomas BraunT 2 Antworten Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @David-G

                    David G.D Online
                    David G.D Online
                    David G.
                    schrieb am zuletzt editiert von
                    #117

                    @Thomas-Braun

                    Wo finde ich die Datei denn?
                    Unter systemd/system finde ich nichts.

                    Zeigt eure Lovelace-Visualisierung klick
                    (Auch ideal um sich Anregungen zu holen)

                    Meine Tabellen für eure Visualisierung klick

                    Thomas BraunT 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      @David-G

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von Thomas Braun
                      #118

                      @Thomas-Braun
                      Die Datei

                      /etc/systemd/system/multi-user.target.wants/nut-server.service
                      sollte so aussehen:

                      [Unit]
                      Description=Network UPS Tools - power devices information server
                      After=local-fs.target network.target nut-driver.service
                      # We don't Require drivers to be successfully started! This would be
                      # a change of behavior compared to init SysV, and could prevent from
                      # accessing successfully started, at least to audit a system.
                      Wants=nut-driver.service
                      Before=nut-monitor.service
                      
                      [Service]
                      ExecStart=/sbin/upsd
                      Type=forking
                      
                      [Install]
                      WantedBy=multi-user.target
                      

                      Die Zeile
                      After=local-fs.target network.target nut-driver.service
                      sorgt dafür, dass der nut-server erst gestartet wird, wenn die drei genannten targets bzw. services bereits laufen.

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      David G.D 1 Antwort Letzte Antwort
                      0
                      • David G.D David G.

                        @Thomas-Braun

                        Wo finde ich die Datei denn?
                        Unter systemd/system finde ich nichts.

                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von Thomas Braun
                        #119

                        @David-G
                        In dem Link
                        https://www.kepstin.ca/blog/networkupstoolsnutandsystemd/

                        schreibt der noch, das sein System das USB-System zu langsam startet und das nut darauf warten soll. Dafür schreibt der sich eine udev-Regel.

                        Now for the fun bit; handling starting up the nut driver for the USB UPS automatically once it’s been probed by the kernel. Ideally, we want to make this independent of things like which USB port it happens to be plugged into—this means creating a device file symlink with an appropriate stable name. Lets see what we have available…

                        Wenn deine USV per USB dran ist würde ich das mal versuchen.
                        Jedenfalls schreibt der am Ende:

                        And now my UPS drivers reliably start, even when my computer can boot faster than USB can probe.

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        1 Antwort Letzte Antwort
                        1
                        • Thomas BraunT Thomas Braun

                          @Thomas-Braun
                          Die Datei

                          /etc/systemd/system/multi-user.target.wants/nut-server.service
                          sollte so aussehen:

                          [Unit]
                          Description=Network UPS Tools - power devices information server
                          After=local-fs.target network.target nut-driver.service
                          # We don't Require drivers to be successfully started! This would be
                          # a change of behavior compared to init SysV, and could prevent from
                          # accessing successfully started, at least to audit a system.
                          Wants=nut-driver.service
                          Before=nut-monitor.service
                          
                          [Service]
                          ExecStart=/sbin/upsd
                          Type=forking
                          
                          [Install]
                          WantedBy=multi-user.target
                          

                          Die Zeile
                          After=local-fs.target network.target nut-driver.service
                          sorgt dafür, dass der nut-server erst gestartet wird, wenn die drei genannten targets bzw. services bereits laufen.

                          David G.D Online
                          David G.D Online
                          David G.
                          schrieb am zuletzt editiert von David G.
                          #120

                          @Thomas-Braun

                          Die drei targets bzw. Dienste standen schon in der Datei.

                          Langsam finde ich das alles komisch.

                          Hab grad nochwas gefunden.
                          Wenn man noch

                          ExecStartPre=/bin/sleep 30
                          

                          mit in den Service einträgt.

                          Und siehe da.
                          ES KLAPPT. DER SERVICE STARTET.

                          @Thomas-Braun
                          Dank dir für die krasse Hilfe.
                          Das obwohl du den Kram garnicht nutzest.
                          Dein Lösungsansatz war es. Hab dann nur zufällig noch diesen Ansatz gesehen beim googlen.

                          EDIT:
                          Grad das mit dem USB gesehen was du gefunden hast.
                          Das umgehe ich dann scheinbar mit den 30sek auf einen anderen Weg.

                          Zeigt eure Lovelace-Visualisierung klick
                          (Auch ideal um sich Anregungen zu holen)

                          Meine Tabellen für eure Visualisierung klick

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • David G.D David G.

                            @Thomas-Braun

                            Die drei targets bzw. Dienste standen schon in der Datei.

                            Langsam finde ich das alles komisch.

                            Hab grad nochwas gefunden.
                            Wenn man noch

                            ExecStartPre=/bin/sleep 30
                            

                            mit in den Service einträgt.

                            Und siehe da.
                            ES KLAPPT. DER SERVICE STARTET.

                            @Thomas-Braun
                            Dank dir für die krasse Hilfe.
                            Das obwohl du den Kram garnicht nutzest.
                            Dein Lösungsansatz war es. Hab dann nur zufällig noch diesen Ansatz gesehen beim googlen.

                            EDIT:
                            Grad das mit dem USB gesehen was du gefunden hast.
                            Das umgehe ich dann scheinbar mit den 30sek auf einen anderen Weg.

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #121

                            @David-G
                            Oder so... ;-)
                            Gibt halt viele Wege nach Rom.

                            Jetzt kannst du das ja fein zusammenfassen und @klassisch kann mal schauen, was er damit dann macht.

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            David G.D 1 Antwort Letzte Antwort
                            0
                            • Thomas BraunT Thomas Braun

                              @David-G
                              Oder so... ;-)
                              Gibt halt viele Wege nach Rom.

                              Jetzt kannst du das ja fein zusammenfassen und @klassisch kann mal schauen, was er damit dann macht.

                              David G.D Online
                              David G.D Online
                              David G.
                              schrieb am zuletzt editiert von
                              #122

                              @Thomas-Braun

                              Werde ich machen.
                              Vermutlich kann er dann das mit der local.rc ganz raus nehmen weil der Service automatisch gestartet wird.
                              Und falls jemand Probleme hat diese 30sek einbauen.
                              In Kurzform.
                              Bevor ich was falsches schreibe.

                              Zeigt eure Lovelace-Visualisierung klick
                              (Auch ideal um sich Anregungen zu holen)

                              Meine Tabellen für eure Visualisierung klick

                              Thomas BraunT 1 Antwort Letzte Antwort
                              0
                              • David G.D David G.

                                @Thomas-Braun

                                Werde ich machen.
                                Vermutlich kann er dann das mit der local.rc ganz raus nehmen weil der Service automatisch gestartet wird.
                                Und falls jemand Probleme hat diese 30sek einbauen.
                                In Kurzform.
                                Bevor ich was falsches schreibe.

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von Thomas Braun
                                #123

                                @David-G
                                Ja.
                                Zum ersten Teil wie man den nut-Server aufsetzt und konfigurieren muss kann ich nichts sagen, aber der Part mit der rc.local ist 'falsch' für ein systemd-befeuertes System. Das muss dann so gemacht werden wie wir das hier zusammengebastelt haben.

                                Hast du mal getestet, ob das ganze Konstrukt auch bei einem Neustart so von alleine auf die Beine kommt?

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                David G.D 1 Antwort Letzte Antwort
                                1
                                • Thomas BraunT Thomas Braun

                                  @David-G
                                  Ja.
                                  Zum ersten Teil wie man den nut-Server aufsetzt und konfigurieren muss kann ich nichts sagen, aber der Part mit der rc.local ist 'falsch' für ein systemd-befeuertes System. Das muss dann so gemacht werden wie wir das hier zusammengebastelt haben.

                                  Hast du mal getestet, ob das ganze Konstrukt auch bei einem Neustart so von alleine auf die Beine kommt?

                                  David G.D Online
                                  David G.D Online
                                  David G.
                                  schrieb am zuletzt editiert von David G.
                                  #124

                                  @Thomas-Braun

                                  Ja, hab ich.
                                  Hab 3 mal einen reboot gemacht.
                                  Mit einem shutdown teste ich es morgen mal noch.
                                  Mein Rasparry ist ziemlich vergraben im Schrank, buddel ich dann morgen aus, um ihn dann wider einzuschalten zu können.

                                  Zeigt eure Lovelace-Visualisierung klick
                                  (Auch ideal um sich Anregungen zu holen)

                                  Meine Tabellen für eure Visualisierung klick

                                  Thomas BraunT 1 Antwort Letzte Antwort
                                  0
                                  • David G.D David G.

                                    @Thomas-Braun

                                    Ja, hab ich.
                                    Hab 3 mal einen reboot gemacht.
                                    Mit einem shutdown teste ich es morgen mal noch.
                                    Mein Rasparry ist ziemlich vergraben im Schrank, buddel ich dann morgen aus, um ihn dann wider einzuschalten zu können.

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #125

                                    @David-G Das darf keinen Unterschied machen.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    1 Antwort Letzte Antwort
                                    0
                                    • K klassisch

                                      Was macht NUT?
                                      Mit NUT (Network UPS Tools) kann man eine unterbrechungsfreie Stromversorgung (USV, UPS) mit Computern verbinden und Daten von den UPS bekommen.
                                      Für ioBroker gibt es den nut Adapter von @Apollon77, Github und ioBrokerForum . Dieser Adapter stellt einen NUT-Cient bereit und legt eine Datenstruktur im Objektbereich an.
                                      Ich nutze den Adapter hauptsächlich zum mitloggen der Daten wie verbleibende Akuulaufzeit und zur Detektion von Netzspannungsausfällen.

                                      Geeignete UPS (USV)
                                      Die meisten UPS unterstützen diesen Datenaustausch. Entweder per serieller Schnittstelle (nur noch selten anzutreffen), meist per USB oder die edleren direkt über Ethernet.
                                      Luxus: UPS mit eingebauter Netzwerkkarte
                                      Die Luxuslösung sieht dann so aus:
                                      Nut-integratef-in-UPS.jpg
                                      Man kann dann z.B. den NAS einige Minuten nach einem Spannungsausfall herunterfahren und die anderen Geräte wie ioBroker, Router, Switches, Homematic weiter betreiben.
                                      Im ioBroker nut-Adapter trägt man die IP-Adresse der Netzwerkkarte der UPS, deren Port (i.d.R 3493), den Namen der UPS sowie Benutzernamen und Passwort, die auf der Netzwerkkarte der UPS festgelegt sind.
                                      Ein konkretes Beispiel kann ich hier leider nicht geben, da ich leider eine andere Lösung habe.

                                      Einfache Lösung mit Haken: NAS als NUT-Server
                                      Wer über ein geeignetes NAS-Gerät verfügt - in meinem Beispiel Synology - kann das USB-Kabel der UPS direkt dort einstecken und den eingebauten NAS-Server nutzen.
                                      Nut-via-NAS-1.jpg
                                      In diesem Fall detektiert die Synology die angeschlossene UPS. Im Menue Hardware & Energie, Tab USV kann man den NUT Server aktivieren und die IP-Adressen der Clients - also auch des ioBroker-Rechners - einstellen.
                                      Im ioBroker Adapter gibt man die IP Adresse der Synology an, sowie wieder Port 3493. Bei Synology muß der Name der UPS sowie dessen Benutzername ups lauten und das password secret .
                                      Das funktioniert recht problemlos und stabil, hat aber einen Haken. Wenn die Synology bei einem Stromausfall heruntergefahren wird, stellt auch deren NUT Server den Dienst ein und der ioBroker wird nicht mehr mit den Daten der UPS versorgt. Also gerade dann, wenn es eigentlich am interessantesten ist.
                                      Um das zu vermeiden, kann man den NUT-Server auf einem (eigenen) Kleinrechner betreiben. Alle anderen Geräte werden dann als Cient betrieben.

                                      NUT-Server auf einem Kleinrechner (SBC)
                                      In meinem Fall ist der SBC ein Orange Pi Plus 2e, der für diese Aufgabe zwar viel zu groß ist, aber durch Migration von ioBoker auf einen Windows Rechner frei wurde.
                                      Nut-via-SBC1.jpg
                                      Das Aufsetzen des NUT-Server erfolgt auf den Spuren von Haus-Automatisierung und Wiki Ubuntuusers
                                      Zuerst System aktualisieren bzw. neu aufsetzen mit µSD Karte

                                      apt update
                                      apt upgrade
                                      

                                      Edit: Den NUT-Rechner mit der USV per USB verbinden. Darauf hat @Homoran hingewiesen.
                                      Nut installation:

                                      sudo apt install nut usbutils
                                      

                                      Bei älteren Systemen sudo apt-get install nut usbutils

                                      sudo nano /etc/nut/ups.conf
                                      

                                      Einfügen:

                                      [ups]
                                      	driver = "usbhid-ups"
                                      	port = "auto"
                                      	desc = "CyberPower"
                                      	pollinterval = 30
                                      

                                      Bei Verwendung einer Synology muß [ups] verwendet werden.

                                      Sudo reboot
                                      
                                      sudo upsdrvctl start
                                      sudo cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/
                                      sudo reboot
                                      
                                      sudo upsdrvctl start
                                      sudo nano /etc/nut/nut.conf
                                      

                                      Eintragen:

                                      MODE=netserver
                                      

                                      Danach den Dienst starten:

                                      sudo upsd
                                      

                                      Wenn alles funktioniert hat, kann man jetzt Daten ausgeben:

                                      sudo upsc ups@localhost
                                      

                                      Hier muss eine sinnvolle Liste gelistet werden: Beispiel:

                                      root@opi2e_reserve:~# sudo upsc ups@localhost
                                      Init SSL without certificate database
                                      battery.charge: 100
                                      battery.charge.low: 10
                                      battery.charge.warning: 20
                                      battery.mfr.date: CPS
                                      battery.runtime: 6690
                                      battery.runtime.low: 300
                                      battery.type: PbAcid
                                      battery.voltage: 24.0
                                      battery.voltage.nominal: 24
                                      device.mfr: CPS
                                      device.model: CP1500EPFCLCD
                                      device.serial: CRABCD12345678
                                      device.type: ups
                                      driver.name: usbhid-ups
                                      driver.parameter.pollfreq: 30
                                      driver.parameter.pollinterval: 30
                                      driver.parameter.port: auto
                                      driver.parameter.synchronous: no
                                      driver.version: 2.7.4
                                      driver.version.data: CyberPower HID 0.4
                                      driver.version.internal: 0.41
                                      input.transfer.high: 260
                                      input.transfer.low: 170
                                      input.voltage: 235.0
                                      input.voltage.nominal: 230
                                      output.voltage: 267.0
                                      ups.beeper.status: enabled
                                      ups.delay.shutdown: 20
                                      ups.delay.start: 30
                                      ups.load: 5
                                      ups.mfr: CPS
                                      ups.model: CP1500EPFCLCD
                                      ups.productid: 0501
                                      ups.realpower.nominal: 900
                                      ups.serial: CRABCD12345678
                                      ups.status: OL
                                      ups.test.result: No test initiated
                                      ups.timer.shutdown: -60
                                      ups.timer.start: -60
                                      ups.vendorid: 0764
                                      root@opi2e_reserve:~#
                                      

                                      Weiter gehts

                                      sudo nano /etc/nut/upsd.conf
                                      

                                      Eintragen:

                                      LISTEN 127.0.0.1 3493
                                      LISTEN 192.168.178.123 3493
                                      

                                      Also IP-Adresse der eigenen (Nut-Server) Eth Schnittstelle
                                      Starten und stoppen, damit das conf-file wieder eingelesen wird

                                      sudo upsd -c stop
                                      sudo upsd
                                      

                                      Jetzt werden Benutzerkonten angelegt, unter denen man von anderen Geräten auf den NUT-Server zugreifen kann. In meinem Beispiel:

                                      Drei user werden erstellt
                                      - upsmaster für den Administrator, der damit aber nichts macht
                                      - monuser für die Synology
                                      - upsmon_remote für den ioBroker

                                      Dazu:

                                      sudo nano /etc/nut/upsd.users
                                      

                                      Eintragen:

                                      [upsmaster]
                                              password = irgendwasabergutmerken
                                              actions = SET
                                              instcmds = ALL
                                              upsmon master
                                      
                                      [monuser]
                                      	password = secret
                                      	upsmon slave
                                      
                                      [upsmon_remote]
                                              password  = secret
                                              upsmon slave
                                      

                                      Wieder übernehmen

                                      sudo upsd -c stop
                                      sudo upsd
                                      

                                      Jetzt müssen wir das Ganze auch noch reboot-fest machen.

                                      Bei neueren Linux-Systemen geschieht das über systemd. @Thomas-Braun und @David-G haben diese Anpassung dankenswerterweise ausgearbeitet und getestet (siehe dort mit Nutzung dieser Fundstelle):
                                      Zuerst mit

                                      cat /etc/systemd/system/multi-user.target.wants/nut-server.service
                                      

                                      prüfen, ob diese Datei vorhanden ist und nut bereits die Vorkehrungen für systemd getroffen hat.
                                      Falls diese Datei existiert, Mit nano öffnen:

                                      sudo nano /etc/systemd/system/multi-user.target.wants/nut-server.service
                                      

                                      Diese Datei sieht dann erst mal so aus:

                                      [Unit]
                                      Description=Network UPS Tools - power devices information server
                                      After=local-fs.target network.target nut-driver.service
                                      # We don't Require drivers to be successfully started! This would be
                                      # a change of behavior compared to init SysV, and could prevent from
                                      # accessing successfully started, at least to audit a system.
                                      Wants=nut-driver.service
                                      Before=nut-monitor.service
                                      
                                      [Service]
                                      ExecStart=/sbin/upsd
                                      Type=forking
                                      
                                      [Install]
                                      WantedBy=multi-user.target
                                      
                                      

                                      Damit genügend Zeit zur Installation der USB Treiber bleibt, nach der Zeile [Service] noch die Verzögerung

                                      ExecStartPre=/bin/sleep 30
                                      

                                      eintragen und die geänderte Datei abspeichern.
                                      Die Datei sollte nun so aussehen

                                      [Unit]
                                      Description=Network UPS Tools - power devices information server
                                      After=local-fs.target network.target nut-driver.service
                                      # We don't Require drivers to be successfully started! This would be
                                      # a change of behavior compared to init SysV, and could prevent from
                                      # accessing successfully started, at least to audit a system.
                                      Wants=nut-driver.service
                                      Before=nut-monitor.service
                                      
                                      [Service]
                                      ExecStartPre=/bin/sleep 30
                                      ExecStart=/sbin/upsd
                                      Type=forking
                                      
                                      [Install]
                                      WantedBy=multi-user.target
                                      
                                      

                                      {
                                      Hier die Methode für alte Systeme, bei denen die Datei /etc/systemd/system/multi-user.target.wants/nut-server.service nicht existiert. Darf nicht verwendet werden, wenn diese Datei vorhanden ist und die vorherigen Schritte schon ausgeführt wurden

                                      sudo nano /etc/rc.local
                                      

                                      Hier VOR exit=0 einfügen

                                      #additions  for nut server
                                      upsdrvctl start
                                      upsd
                                      #end additions for nut server
                                      

                                      } Ende der Einstellungen für Altsysteme. Bei neueren Sytsemen nicht mehr verwenden]

                                      Jetzt wird noch der ioBroker Adapter eingestellt. Beispiel

                                      IP des NUT Servers: 192.168.178.123 #Beispiel
                                      Port des NUT Servers: 3493
                                      NUT Name der UPS: ups
                                      Aktualisierungsintervall 300s
                                      Username der UPS: upsmon_remote
                                      Passwort der UPS: secret
                                      

                                      Bei der Synology wird eingestellt (Hardware & Energie, Tab USV):
                                      Anhaken: USV-Unterstützung aktivieren
                                      Netzwerk-USV-Typ: Synology USV Server
                                      Netzwerk-USV-Server-IP: 192.168.178.123 #Beispiel

                                      Die Zeit einstellen, nach der die Synology heruntergefahren werden soll + anhaken.

                                      NUT-Server und ioBroker auf einem Rechner
                                      Diese Konfiguration hatte ich nie in Betrieb. Sie müßte aber mit den o.g. Installationsschritten möglich sein. Als IP-Adresse des NUT Servers kann innerhalb des Host Rechners dann localhost oder 127.0.0.1 verwendet werden.
                                      Nut-on-ioBroker-Computer.jpg

                                      Edit:
                                      Welcher Treiber passt zu meiner USV?
                                      Auswahltabelle Treiber auf der Seite des NUT-Projekts

                                      David G.D Online
                                      David G.D Online
                                      David G.
                                      schrieb am zuletzt editiert von David G.
                                      #126

                                      @klassisch

                                      Hey,

                                      zusammen mit @Thomas-Braun (mehr Thomas^^), konnten wir mein Problem lösen.

                                      Es gab 2 Ursachen.

                                      1. Dienste über die local.rc zu starten ist nicht mehr die gängige Art und macht wohl öfters Probleme (so wie bei mir). Stattdessen wird systemd verwendet. Dort trägt sich NUT auch selber ein (Es wird eine Datei mit sämtlichen Informationen angelegt (Für mich zum vorstellen so ähnlich wie eine Verknüpfung im Autostartordner von Windows, nur viel umfangreicher.))

                                      2. Mein Rasparry hat nicht alle nötigen Treiber geladen bzw. Geräte verbunden bevor der NUT Dienst startet.
                                        Deshalb starte ich den Dienst jetzt verzögert. Dafür hab ich eine Zeile in der oben erwähnten Datei eingefügt.

                                      Zum Öffnen der Datei:

                                      sudo nano /etc/systemd/system/multi-user.target.wants/nut-server.service
                                      

                                      Dort muss unter der Zeile [Service]

                                      ExecStartPre=/bin/sleep 30
                                      

                                      eingegeben werden. So wird der Dienst 30sek später gestartet. Weniger tut es vermutlich auch.

                                      Dann am besten in der remote.rc die beiden eingefügten Zeilen wieder entfernen.

                                      Ich hoffe das hilft anderen Usern mit dem selben Problem weiter.

                                      Evtl. kannst du auf diesen Post verweisen, für User die auch Probleme haben.
                                      Oder selber nochmal zusammenfassen.

                                      Zeigt eure Lovelace-Visualisierung klick
                                      (Auch ideal um sich Anregungen zu holen)

                                      Meine Tabellen für eure Visualisierung klick

                                      1 Antwort Letzte Antwort
                                      2
                                      • K Offline
                                        K Offline
                                        klassisch
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #127

                                        Herzlichen Dank Euch beiden! Klasse Arbeit! Habe den EIngangspost angepaßt. Könnte Ihr mal drüber schauen, ob es so paßt?

                                        David G.D 1 Antwort Letzte Antwort
                                        0
                                        • K klassisch

                                          Herzlichen Dank Euch beiden! Klasse Arbeit! Habe den EIngangspost angepaßt. Könnte Ihr mal drüber schauen, ob es so paßt?

                                          David G.D Online
                                          David G.D Online
                                          David G.
                                          schrieb am zuletzt editiert von
                                          #128

                                          @klassisch

                                          Ich finde es gut.
                                          Hätte es so am Anfang gut nachvollziehen können.

                                          Auch danke für deine Mühe.

                                          Zeigt eure Lovelace-Visualisierung klick
                                          (Auch ideal um sich Anregungen zu holen)

                                          Meine Tabellen für eure Visualisierung klick

                                          Thomas BraunT 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          759

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe