Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] NUT bzw. upsd über Blockly neu starten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] NUT bzw. upsd über Blockly neu starten

    This topic has been deleted. Only users with topic management privileges can see it.
    • JoJo58
      JoJo58 last edited by JoJo58

      Guten Morgen,

      an einem meiner Raspis habe ich eine Greencell USV per USB angeschlossen und den upsd (Dienst?) eingerichtet. Funktioniert seit mehreren Monaten auch sauber. Nur nach einem reboot des Raspis bekommt die Instanz "nut.0" keine Verbindung zum Dienst und ich muss erst mit:

      sudo upsd -c stop
      

      den Dienst stoppen und dann mit

      sudo upsd
      

      wieder starten. Das wollte ich eigentlich automatisieren und habe gedacht, das könnte ich mit Blockly und den "exec" Blöcken lösen. Funktioniert aber nicht, da man die Befehle mit "sudo" aufrufen muss und der Benutzer "iobroker" keine Sudo Rechte hat und ich die dem auch nicht geben will. So habe ich es zumindest hier im Forum gelesen.
      Am besten wäre es natürlich, ich könnte das von meinem IoBroker (VM auf NUC) aus machen, aber auch darüber und einer Funktion klapp es nicht. Ich hatte extra einen zusätzlichen Benutzer auf dem Raspi angelegt, aber der darf nur das System remote neu starten.

      Jemand eine Idee wie ich das lösen könnte?

      Gruß, Johannes

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @JoJo58 last edited by

        @jojo58

        Das macht man über einen service.

        systemctl status upsd.service
        

        sagt?

        JoJo58 2 Replies Last reply Reply Quote 0
        • JoJo58
          JoJo58 @Thomas Braun last edited by

          @thomas-braun sagte in NUT bzw. upsd über Blockly neu starten:

          systemctl status upsd.service

          smarthome@raspi4gb:~ $ systemctl status upsd.service
          Unit upsd.service could not be found.
          
          smarthome@raspi4gb:~ $ sudo systemctl status upsd.service
          Unit upsd.service could not be found.
          
          

          Deswegen habe ich ja gefragt, ob das überhaupt ein Dienst ist.

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • JoJo58
            JoJo58 @Thomas Braun last edited by

            @thomas-braun

            Ich habe gerade nochmal in dem Beitrag https://forum.iobroker.net/topic/23688/howto-usv-nut-server-auf-sbc-installieren/2 nachgelesen, dass man eine Zeile für eine Pause einfügen soll. Habe also die:

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

            editiert und die Zeile mit dem Sleep eingefügt.

            [Unit]
            Description=Network UPS Tools - power devices information server
            After=local-fs.target network.target nut-driver.target
            # 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.target
            # The `upsd` is a networked service (even if bound to a `localhost`)
            # so it requires that the OS has some notion of networking already.
            # Extending the unit does not require *this* file to be edited, you
            # can instead drop in an additional piece of configuration, e.g. add
            # a `/etc/systemd/system/nut-server.service.d/network.conf` with:
            #   [Unit]
            #   Requires=network-online.target
            #   After=network-online.target
            Requires=network.target
            Before=nut-monitor.service
            PartOf=nut.target
            
            [Service]
            EnvironmentFile=-/etc/nut/nut.conf
            SyslogIdentifier=%N
            # Note: foreground mode by default skips writing a PID file (and
            # needs Type=simple); can use "-FF" here to create one anyway:
            ExecStartPre=/bin/sleep 30
            ExecStart=/sbin/upsd -F
            ExecReload=/sbin/upsd -c reload -P $MAINPID
            
            [Install]
            WantedBy=nut.target
            
            

            Eventuell reicht das ja schon und die USV ist jetzt auch nach einem Neustart zu erreichen.

            Wenn ich das jetzt richtig verstanden habe, ist der eigentliche Dienst der "nut-server" und und da gibt dein vorgeschlagener Befehl folgendes aus:

            smarthome@raspi4gb:~ $ sudo systemctl status nut-server.service
            Warning: The unit file, source configuration file or drop-ins of nut-server.service changed on disk. Run 'systemctl daemon-reload' to reload units.
            × nut-server.service - Network UPS Tools - power devices information server
                 Loaded: loaded (/lib/systemd/system/nut-server.service; enabled; preset: enabled)
                 Active: failed (Result: exit-code) since Wed 2024-03-06 10:03:42 CET; 2h 44min ago
               Duration: 2.988s
               Main PID: 777 (code=exited, status=1/FAILURE)
                    CPU: 19ms
            
            Mär 06 10:03:42 raspi4gb nut-server[777]: Could not find PID file '/run/nut/upsd.pid' to see if previous upsd instance is already running!
            Mär 06 10:03:42 raspi4gb nut-server[777]: not listening on 192.168.1.11 port 3493
            Mär 06 10:03:42 raspi4gb nut-server[777]: listening on 127.0.0.1 port 3493
            Mär 06 10:03:42 raspi4gb nut-server[777]: no listening interface available
            Mär 06 10:03:42 raspi4gb nut-server[777]: Network UPS Tools upsd 2.8.0
            Mär 06 10:03:42 raspi4gb upsd[777]: not listening on 192.168.1.11 port 3493
            Mär 06 10:03:42 raspi4gb upsd[777]: listening on 127.0.0.1 port 3493
            Mär 06 10:03:42 raspi4gb upsd[777]: no listening interface available
            Mär 06 10:03:42 raspi4gb systemd[1]: nut-server.service: Main process exited, code=exited, status=1/FAILURE
            Mär 06 10:03:42 raspi4gb systemd[1]: nut-server.service: Failed with result 'exit-code'.
            
            

            Hilft dir das weiter?

            1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @JoJo58 last edited by

              @jojo58 sagte in NUT bzw. upsd über Blockly neu starten:

              Deswegen habe ich ja gefragt, ob das überhaupt ein Dienst ist.

              Bei mir ist das ein Dienst...

              JoJo58 1 Reply Last reply Reply Quote 0
              • W
                Wildbill last edited by

                @jojo58 Les mal, was bei Deinem Output so steht. Du hast das service-file geändert, also musst Du auch einmal

                sudo systemctl daemon-reload
                

                Eingeben. Danach ein

                sudo systemctl restart nut-server
                

                und es sollte laufen.
                Auch nach einem Reboot.

                Gruss, Jürgen

                JoJo58 1 Reply Last reply Reply Quote 1
                • JoJo58
                  JoJo58 @Wildbill last edited by JoJo58

                  @wildbill

                  Ich glaube man merkt, das ich aus der Windows Welt komme. Jetzt sieht das schon besser aus:

                  smarthome@raspi4gb:~ $ sudo systemctl status nut-server.service
                  ● nut-server.service - Network UPS Tools - power devices information server
                       Loaded: loaded (/lib/systemd/system/nut-server.service; enabled; preset: enabled)
                       Active: active (running) since Wed 2024-03-06 13:55:06 CET; 2min 28s ago
                     Main PID: 1450 (upsd)
                        Tasks: 1 (limit: 3932)
                          CPU: 52ms
                       CGroup: /system.slice/nut-server.service
                               └─1450 /lib/nut/upsd -F
                  
                  Mär 06 13:55:07 raspi4gb nut-server[1450]: fopen /run/nut/upsd.pid: No such file or directory
                  Mär 06 13:55:07 raspi4gb nut-server[1450]: Could not find PID file '/run/nut/upsd.pid' to see if previous upsd instance is already running!
                  Mär 06 13:55:08 raspi4gb nut-server[1450]: listening on 192.168.1.11 port 3493
                  Mär 06 13:55:08 raspi4gb upsd[1450]: listening on 192.168.1.11 port 3493
                  Mär 06 13:55:08 raspi4gb nut-server[1450]: listening on 127.0.0.1 port 3493
                  Mär 06 13:55:08 raspi4gb upsd[1450]: listening on 127.0.0.1 port 3493
                  Mär 06 13:55:08 raspi4gb nut-server[1450]: Connected to UPS [ups]: blazer_usb-ups
                  Mär 06 13:55:08 raspi4gb upsd[1450]: Connected to UPS [ups]: blazer_usb-ups
                  Mär 06 13:55:08 raspi4gb nut-server[1450]: Running as foreground process, not saving a PID file
                  Mär 06 13:55:08 raspi4gb upsd[1450]: Running as foreground process, not saving a PID file
                  
                  

                  Danke für den Hinweis...

                  EDIT: Diesmal wurde der Dienst nach einem Reboot sauber gestartet.

                  1 Reply Last reply Reply Quote 0
                  • JoJo58
                    JoJo58 @Thomas Braun last edited by

                    @thomas-braun sagte in NUT bzw. upsd über Blockly neu starten:

                    Bei mir ist das ein Dienst...

                    Sollte das bei mir auch so sein? Wenn ja, wie kriege ich das hin, oder soll ich es jetzt einfach so lassen, scheint ja jetzt zu funktionieren.

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      Wildbill @JoJo58 last edited by

                      @jojo58 Es ist bei Dir ein Dienst. Und der heisst bei Dir nut-server.service. Das „.service“ bedeutet, dass das als Dienst eingerichtet ist, den man mit

                      sudo systemctl start/restart/stop Dienstname
                      

                      steuern kann.

                      Mit

                      sudo systemctl enable/disable Dienstname
                      

                      kann man den automatischen Start ein- und ausschalten. Der steht bei Dir aber bereits auf enabled, also läuft alles.
                      Gehört so zum Standard-Linux-Einmaleins. 😊

                      Gruss, Jürgen

                      JoJo58 1 Reply Last reply Reply Quote 0
                      • JoJo58
                        JoJo58 @Wildbill last edited by

                        @wildbill

                        Okay, das habe ich begriffen. Mich hat das halt verwundert, das ich das, laut der Anleitung, über upsd machen soll. Aber wie ich schon geschrieben habe, nach einem Reboot funktioniert es jetzt automatisch und damit ist das Blockly überflüssig geworden. Obwohl ich mich gerne mit Blocklys beschäftige, so finde ich es jetzt besser. 😃 👍

                        1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active last edited by Thomas Braun

                          @jojo58

                          Bei mir sind das zwei Services.
                          Muss aber mal in Ruhe Zuhause schauen was da genau aufgesetzt wurde.

                          JoJo58 1 Reply Last reply Reply Quote 0
                          • JoJo58
                            JoJo58 @Thomas Braun last edited by

                            @thomas-braun

                            Dann würde ich das bei mir auch noch anpassen, danke schon mal.

                            W 1 Reply Last reply Reply Quote 0
                            • W
                              Wildbill @JoJo58 last edited by

                              @jojo58 sagte in [Gelöst] NUT bzw. upsd über Blockly neu starten:

                              @thomas-braun

                              Dann würde ich das bei mir auch noch anpassen, danke schon mal.

                              Kein Grund, irgendwas zu ändern. Läuft ja nun korrekt.
                              @Thomas-Braun Wenn man es simpel via

                              sudo apt install nut
                              

                              installiert, wird AFAIK gleich passend ein nut-server.service und nut-client.service angelegt. upsd.service als solchen kenne ich gar nicht. Hast Du vermutlich von Hand erstellt?!

                              Gruss, Jürgen

                              Thomas Braun 1 Reply Last reply Reply Quote 1
                              • Thomas Braun
                                Thomas Braun Most Active @Wildbill last edited by

                                @wildbill

                                Ist schon länger her. Ist wohl auch nur ein Alias:

                                echad@chet:~ $ systemctl status upsd.service
                                ● nut-server.service - Network UPS Tools - power devices information server
                                     Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; prese>     Active: active (running) since Sun 2024-02-18 23:25:29 CET; 2 weeks 2 days>   Main PID: 805 (upsd)
                                      Tasks: 1 (limit: 8752)
                                        CPU: 2min 9.101s
                                     CGroup: /system.slice/nut-server.service
                                             └─805 /lib/nut/upsd -F
                                Feb 18 23:25:30 chet nut-server[805]: Connected to UPS [ups]: usbhid-ups-ups
                                Feb 18 23:25:30 chet nut-server[805]: Found 1 UPS defined in ups.conf
                                Feb 18 23:25:30 chet upsd[805]: Connected to UPS [ups]: usbhid-ups-ups
                                Feb 18 23:25:30 chet upsd[805]: Found 1 UPS defined in ups.conf
                                Feb 18 23:25:30 chet nut-server[805]: Running as foreground process, not saving>Feb 18 23:25:30 chet nut-server[805]: upsnotify: failed to notify about state 2>Feb 18 23:25:30 chet upsd[805]: Running as foreground process, not saving a PID>Feb 18 23:25:30 chet upsd[805]: upsnotify: failed to notify about state 2: no n>Feb 18 23:25:30 chet nut-server[805]: User upsmon@127.0.0.1 logged into UPS [up>Feb 18 23:25:30 chet upsd[805]: User upsmon@127.0.0.1 logged into UPS [ups]
                                echad@chet:~ $ systemctl status nut-server.service
                                ● nut-server.service - Network UPS Tools - power devices information server
                                     Loaded: loaded (/usr/lib/systemd/system/nut-server.service; enabled; prese>     Active: active (running) since Sun 2024-02-18 23:25:29 CET; 2 weeks 2 days>   Main PID: 805 (upsd)
                                      Tasks: 1 (limit: 8752)
                                        CPU: 2min 9.105s
                                     CGroup: /system.slice/nut-server.service
                                             └─805 /lib/nut/upsd -F
                                Feb 18 23:25:30 chet nut-server[805]: Connected to UPS [ups]: usbhid-ups-ups
                                Feb 18 23:25:30 chet nut-server[805]: Found 1 UPS defined in ups.conf
                                Feb 18 23:25:30 chet upsd[805]: Connected to UPS [ups]: usbhid-ups-ups
                                Feb 18 23:25:30 chet upsd[805]: Found 1 UPS defined in ups.conf
                                Feb 18 23:25:30 chet nut-server[805]: Running as foreground process, not saving>Feb 18 23:25:30 chet nut-server[805]: upsnotify: failed to notify about state 2>Feb 18 23:25:30 chet upsd[805]: Running as foreground process, not saving a PID>Feb 18 23:25:30 chet upsd[805]: upsnotify: failed to notify about state 2: no n>Feb 18 23:25:30 chet nut-server[805]: User upsmon@127.0.0.1 logged into UPS [up>Feb 18 23:25:30 chet upsd[805]: User upsmon@127.0.0.1 logged into UPS [ups]
                                echad@chet:~ $
                                
                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                734
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                3
                                14
                                505
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo