Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] Priorität bei Steurbefehlen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Frage] Priorität bei Steurbefehlen

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

      Hallo zusammen,

      in letzter Zeit hab ich öfter Probleme mit Überschneidungen bei Steuerbefehlen.

      Hier mal ein Beispiel:

      Ich habe 2 Leistungsmess-Zwischenstecker in Reihe. Am 1ten Betreibe ich eine Sonos Box, am 2ten einen Luftentfeuchter.

      In der Nacht brauch ich die Sonos Box nicht also Schalte ich den Zwischenstecker aus. Der Luftentfeuchter dürfte, aber Laufen.

      Genau an diesem Punkt wird es Knifflig: Wenn ich den 1ten Zwischenstecker bei bedarf für den Luftentfeuchter wieder ein schalte, Wieder spricht das meiner Nachtabschaltung. Und dadurch würde der Luftentfeuchter sich wieder ausschalten.

      Mir ist klar das ich dafür eine Ausnahme in das Nachtabschaltungs Skript schreiben könnte, nur hab ich auch deutlich komplexere Zusammenhänge mit mehr Variablen und möglichkeiten. Und langsam wird das sehr unübersichtlich wann was geschalten wird.

      Und der WAF geht mir gerade in den Keller weil die Nachtabschaltung wegen der Überschneidungen nicht Zuverlässig funktioniert.

      Daher ist meine Idee Prioritäten für die einzelnen Schaltaufgaben zu vergeben. Mir fehlt nur der Ansatz wo und wie ich diese Prioritäten verwalte.

      Gibt es hier Vorschläge oder bereits ein etabliertes System?

      Ich kann mir auch nur Schwer vorstellen das ich der erste oder einzige mit einem solchen Problem bin.

      Gruß

      Jey Cee

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

        Rein aus dem Blauen heraus eine Idee:

        Lass die tatsächliche Schaltaufgabe von einem extra Skript "Proxy" erledigen.

        Die einzelnen Funktionsskripts (Nachtabschaltung, etc.) setzen statt dem tatsächlichen Schalten eine Variable, was sie gerne geschaltet hätten. Ich denke hier brauchst du 2 Kommandos:

        Schalten (mit Zielwert) und Freigeben (dem Funktionsskript ist der Zustand egal).

        In dem Proxy-Skript (oder global) legst du eine Übersicht an, welches Funktionsskript welche Priorität für das Schalten bestimmter Geräte hat.

        Bei Schaltanfragen merkt sich das Proxy-Skript in einer Liste, mit welcher Priorität welcher Status eingestellt werden soll. Das Skript mit höchster Priorität gewinnt.

        Wird der aktuell höchstpriorisierte Zustand freigegeben (sprich, dem Funktionsskript ist der Ziel-Zustand egal), kommt das nächste dran.

        1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer last edited by

          @AlCalzone: Deine Idee ist gut. Ich kann mir vorstellen das ein zu setzen, bin jedoch skeptisch was den Aufwand/Umfang eines Solchen Skripts angeht.

          Auf jeden Fall war es ein guter Denkanstoß.

          Ich hatte den Gedanken direkt in die natives eines Objekts die Priorität zu schreiben.

          Bis jetzt war mir aber nicht klar wie das dann Funktionieren soll. Aber mir ist gerade die Idee gekommen wie das Funktioniert.

          Die Lösung ist so simpel wie genial.

          Das Skript welches Schalten will überprüft mit welcher Priorität zu letzt geschalten wurde, ist die Priorität niedriger macht es gar nichts.

          Momentan bilde ich mir ein die Idee ist so genial das man Überlegen könnte das in ioBroker fest ein zu Bauen.

          Befehl in JS könnte so aussehen:

          setState(id, Priorität, Wert)
          
          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active last edited by

            mach den Parameter aber als optional.. 8-)

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

              @Jey Cee:

              Auf jeden Fall war es ein guter Denkanstoß. `
              Ziel erreicht 🙂

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

              Support us

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

              754
              Online

              32.0k
              Users

              80.4k
              Topics

              1.3m
              Posts

              3
              5
              776
              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