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. Skripten / Logik
  4. Gelöst: Stur schalten oder lieber vorher IST-Zustand abfrag

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    924

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Gelöst: Stur schalten oder lieber vorher IST-Zustand abfrag

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 2 Kommentatoren 443 Aufrufe 1 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.
  • W Online
    W Online
    Wildbill
    schrieb am zuletzt editiert von Wildbill
    #1

    Hi zusammen,

    ich überlege gerade einige Scripte, die zum Beispiel Licht ein- und ausschalten bei Erkennung von Präsenz, zu optimieren. Betrifft aber auch einige andere ähnliche Scripte.

    Ist es sinnvoller (ressourcenschonender) wenn ich jetzt in einem Script vor dem Absenden eines Schaltbefehls nochmal abfrage, ob der Schaltbefehl Sinn macht (einen Zustand ändert) bzw. der Datenpunkt bereits passend steht, oder ist es sinnvoller (ressourcenschonender) wenn ich die Abfrage im Script spare und den Schaltbefehl einfach abschicke, auch wenn er dann nichts ändert?

    Hier mal zwei Beispiele. Beide machen exakt das Gleiche (laufen nicht beide, nur hier als Beispiel :blush: )

    98e740a1-7812-4eec-a8d7-fa3946d698b3-image.png

    Obiges schaltet immer, auch wenn das Schalten "unnötig" wäre, falls der Zustand bereits besteht. Unteres prüft vorher, hat aber halt etwas mehr Code.

    Oder kommt es gar auf den Adapter des Schalters an, wie der damit umgeht, wenn ein eigentlich unnötiger Schaltbefehl kommt? Bei mir betroffen wären MQTT, Homematic (+IP), Sonoff, Shelly, Deconz und Hue.

    Mir geht es einmal darum, unnötigen (Funk-)Verkehr einzusparen, andererseits aber die Scripte nicht unnötig aufzublähen und nur das zu tun, was auch nötig und sinnvoll ist.

    Gruss, Jürgen

    paul53P 1 Antwort Letzte Antwort
    0
    • W Wildbill

      Hi zusammen,

      ich überlege gerade einige Scripte, die zum Beispiel Licht ein- und ausschalten bei Erkennung von Präsenz, zu optimieren. Betrifft aber auch einige andere ähnliche Scripte.

      Ist es sinnvoller (ressourcenschonender) wenn ich jetzt in einem Script vor dem Absenden eines Schaltbefehls nochmal abfrage, ob der Schaltbefehl Sinn macht (einen Zustand ändert) bzw. der Datenpunkt bereits passend steht, oder ist es sinnvoller (ressourcenschonender) wenn ich die Abfrage im Script spare und den Schaltbefehl einfach abschicke, auch wenn er dann nichts ändert?

      Hier mal zwei Beispiele. Beide machen exakt das Gleiche (laufen nicht beide, nur hier als Beispiel :blush: )

      98e740a1-7812-4eec-a8d7-fa3946d698b3-image.png

      Obiges schaltet immer, auch wenn das Schalten "unnötig" wäre, falls der Zustand bereits besteht. Unteres prüft vorher, hat aber halt etwas mehr Code.

      Oder kommt es gar auf den Adapter des Schalters an, wie der damit umgeht, wenn ein eigentlich unnötiger Schaltbefehl kommt? Bei mir betroffen wären MQTT, Homematic (+IP), Sonoff, Shelly, Deconz und Hue.

      Mir geht es einmal darum, unnötigen (Funk-)Verkehr einzusparen, andererseits aber die Scripte nicht unnötig aufzublähen und nur das zu tun, was auch nötig und sinnvoll ist.

      Gruss, Jürgen

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @wildbill sagte: unnötigen (Funk-)Verkehr einzusparen

      Das sollte man, da man so gegenseitige Störungen vermeidet. Bei 868 MHz (HomeMatic) muss man unnötiges Senden auch mit Rücksicht auf den Duty Cycle vermeiden.

      EDIT: Die komplexe Funktion "steuere" nur einmal per Callback-Funktion verwenden:

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      W 1 Antwort Letzte Antwort
      1
      • paul53P paul53

        @wildbill sagte: unnötigen (Funk-)Verkehr einzusparen

        Das sollte man, da man so gegenseitige Störungen vermeidet. Bei 868 MHz (HomeMatic) muss man unnötiges Senden auch mit Rücksicht auf den Duty Cycle vermeiden.

        EDIT: Die komplexe Funktion "steuere" nur einmal per Callback-Funktion verwenden:

        Blockly_temp.JPG

        W Online
        W Online
        Wildbill
        schrieb am zuletzt editiert von
        #3

        @paul53 Da muss ich mich erstmal reindenken. Aber sieht gut aus, dann werde ich die Scripte so auf- bzw. umbauen.
        Auf welche ID bezieht sich in Deinem Beispiel „Wert von Objekt-ID (ID auswählen)? Schon auf den jeweils zu schaltenden Datenpunkt (den Du an den anderen Stellen „Licht“ genannt hast?

        Da Du den Duty cycle ansprichst. Das heißt also, Homematic (und andere?) würde stur ein Paket absenden, auch wenn es eigentlich unnötig wäre?

        Gruss, Jürgen

        paul53P 1 Antwort Letzte Antwort
        0
        • W Wildbill

          @paul53 Da muss ich mich erstmal reindenken. Aber sieht gut aus, dann werde ich die Scripte so auf- bzw. umbauen.
          Auf welche ID bezieht sich in Deinem Beispiel „Wert von Objekt-ID (ID auswählen)? Schon auf den jeweils zu schaltenden Datenpunkt (den Du an den anderen Stellen „Licht“ genannt hast?

          Da Du den Duty cycle ansprichst. Das heißt also, Homematic (und andere?) würde stur ein Paket absenden, auch wenn es eigentlich unnötig wäre?

          Gruss, Jürgen

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @wildbill sagte: Auf welche ID bezieht sich in Deinem Beispiel „Wert von Objekt-ID (ID auswählen)?

          Bei dir "BWM_Alle_aktiv".

          @wildbill sagte in Stur schalten oder lieber vorher IST-Zustand abfragen:

          Homematic (und andere?) würde stur ein Paket absenden, auch wenn es eigentlich unnötig wäre?

          Ja. Die anderen genannten Protokolle funken auf 2,4 GHz. Auf 868 MHz funken auch Z-Wave und Enocean.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          W 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @wildbill sagte: Auf welche ID bezieht sich in Deinem Beispiel „Wert von Objekt-ID (ID auswählen)?

            Bei dir "BWM_Alle_aktiv".

            @wildbill sagte in Stur schalten oder lieber vorher IST-Zustand abfragen:

            Homematic (und andere?) würde stur ein Paket absenden, auch wenn es eigentlich unnötig wäre?

            Ja. Die anderen genannten Protokolle funken auf 2,4 GHz. Auf 868 MHz funken auch Z-Wave und Enocean.

            W Online
            W Online
            Wildbill
            schrieb am zuletzt editiert von
            #5

            @paul53 Ich Blindfisch, vor lauter Abfragen hatte ich vergessen, dass ich ja auch abfrage, ob auf Bewegungsmelder gerade überhaupt reagiert werdedn soll oder ich zu nachtschlafender Zeit lieber darauf verzichte. Super, dann ist mir klar, was ich zu tun habe. Ich danke Dir. :+1:

            Und Danke für die Info, dass Adapter auch stur Pakete absenden, wenn es eigentlich nicht nötig wäre. Da habe ich dann doch noch einiges mehr zu optimieren.

            Gruss, Jürgen

            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

            706

            Online

            32.6k

            Benutzer

            82.2k

            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