Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Ampel rot bekommen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ampel rot bekommen

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

      Hallo zusammen,

      ich habe mehrere Adapter und würde bei falschen Verbindungseinstellungen bzw. Verbindungsfehlern gerne die Ampel in den Instanzen auf rot haben.

      Wenn ich mit adapter.log.erroreinen Fehler werfe, bleibt die Ampel allerdings grün.
      Wenn ich mit throw <Error> eine Exception werfe, dann wird die Ampel zwar rot, allerdings steht dann auch im Log uncaught exception, was ich eigl. vermeiden wollen würde. Außerdem führt das bei mir dazu, dass der Adapter immer wieder neustartet (jetzt schon 12x im Test).

      Danke und viele Grüße
      Zefau

      thewhobox 1 Reply Last reply Reply Quote 0
      • thewhobox
        thewhobox @Zefau last edited by

        @Zefau Hey,
        führt adapter.terminate("keine Zugangsdaten", 4) auch zu einem automatischen Neustart?

        Zefau 1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer last edited by

          @Zefau schau mal hier:
          https://github.com/AlCalzone/ioBroker.ble/blob/master/src/main.ts#L392

          Die Funktion prüft, ob adapter.terminate existiert (ist nicht in allen Versionen verfügbar) und ruft sie auf. Falls nicht, wird process.exit mit Exit-Code 11 aufgerufen, welcher einen Neustart des Adapters verhindert (stoppt den Adapter einfach).

          Zefau 1 Reply Last reply Reply Quote 0
          • Zefau
            Zefau @thewhobox last edited by

            @thewhobox sagte in Ampel rot bekommen:

            adapter.terminate("keine Zugangsdaten", 4)

            Mega, vielen Dank! Ampel bleibt rot und Adapter startet nicht mehr durch.
            Fehlermeldung im Log ist: instance system.adapter.hue-lights.0 terminated by request of the instance itself and will not be restarted, before user restarts it.

            1 Reply Last reply Reply Quote 0
            • Zefau
              Zefau @AlCalzone last edited by

              @AlCalzone super, vielen Dank. Wofür genau steht der Integer Wert bei terminate ?

              AlCalzone 1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer @Zefau last edited by

                @Zefau Du kannst der Funktion einen Grund für die Terminierung (string) angeben, der im Log ausgegeben wird, einen Exit-Code (number), oder beides.

                Die Exit-Codes kannst du hier nachlesen:
                https://github.com/ioBroker/ioBroker.js-controller/blob/master/lib/exitCodes.js

                Der einzig sinnvolle aus Adaptersicht ist eigentlich
                ADAPTER_REQUESTED_TERMINATION: 11

                Zefau 1 Reply Last reply Reply Quote 2
                • Zefau
                  Zefau last edited by

                  @AlCalzone Mit dieser Methodik schlägt travis allerdings fehl, oder? Siehe https://travis-ci.org/Zefau/ioBroker.hue-extended/jobs/570010555#L582

                  1 Reply Last reply Reply Quote 0
                  • Zefau
                    Zefau last edited by

                    Hab's schon rausbekommen. Habe die Option { "allowedExitCodes": [11] } in meine Test-Dateien aufgenommen (Unit & Integration).

                    1 Reply Last reply Reply Quote 1
                    • Zefau
                      Zefau @AlCalzone last edited by Zefau

                      @AlCalzone Nochmal kurz nachgehakt: Wenn ich terminate oder process.exit funktioniert (logischerweise) die message-box nicht mehr (also die Kommunikation von der Adapterkonfiguration in den Adapter via adapter.on('message', function(msg)).

                      Gibt's eine Möglichkeit, dass diese funktionsfähig bleibt trotz roter Ampel?


                      Anwendungsfall: In meinem Roomba Adapter soll eine rote Ampel gezeigt werden, wenn die Roomba Zugangsdaten fehlen. Diese Daten können aber in der Adapterkonfiguration automatisch (aus dem Adapter) geladen werden (im Adapter wird eine Verbindung zum Roomba aufgebaut).
                      Solange die Zugangsdaten fehlen, soll der Adapter aber rot bleiben.

                      thewhobox AlCalzone 2 Replies Last reply Reply Quote 0
                      • thewhobox
                        thewhobox @Zefau last edited by

                        @Zefau wieso stellst du die Ampel nicht auf gelb?
                        Intern stopst du deine Prozesse und setzt Info.connection auf false. (damit wird die Ampel gelb)
                        Damit funktioniert die messages Funktion noch.

                        1 Reply Last reply Reply Quote 1
                        • AlCalzone
                          AlCalzone Developer @Zefau last edited by

                          @Zefau sagte in Ampel rot bekommen:

                          In meinem Roomba Adapter soll eine rote Ampel gezeigt werden, wenn die Roomba Zugangsdaten fehlen.

                          Dafür ist die gelbe Ampel:
                          rot = Adapter aus
                          gelb = Adapter an, aber nicht verbunden
                          grün = Adapter an, verbunden

                          Zefau 1 Reply Last reply Reply Quote 1
                          • Zefau
                            Zefau @AlCalzone last edited by

                            @AlCalzone Alles klar, vielen Dank für eure Antworten. Ist nirgendwo so dokumentiert oder? Werde den Adapter dann auf gelb setzen. Danke euch.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            934
                            Online

                            31.9k
                            Users

                            80.3k
                            Topics

                            1.3m
                            Posts

                            3
                            12
                            651
                            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