Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Blockly
  5. Blockly Geräte Check

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    220

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    217

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    891

Blockly Geräte Check

Geplant Angeheftet Gesperrt Verschoben Blockly
5 Beiträge 4 Kommentatoren 631 Aufrufe 3 Beobachtet
  • Ä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.
  • Johan2009J Offline
    Johan2009J Offline
    Johan2009
    schrieb am zuletzt editiert von
    #1

    Hallo community,

    hoffentlich könnt ihr mir mit meinem Blockly-Skript weiter helfen.

    Ich habe eine Szene gebaut, die nach dem Kommando (Bedtijd) alle Geräte im Wohnzimmer ausschaltet. Das funktioniert super, manchmal aber werden bestimmte Geräte wieder eingeschaltet (eine Lampe zum Beispiel). Ich weiß noch nicht genau, woran das liegt.

    Was ich jetzt mit meinem Skript erreichen möchte, ist, dass nachdem die Szene 'Bedtijd' aktiviert worden ist, in der Nacht regelmäßig geprüft wird, ob die Geräte noch immer ausgeschaltetet sind.

    Jetzt habe ich dieses Skript gebaut und wollte es euch mal vorlegen. Ist dies die beste Weise, das Skript zu bauen? Wird es mit den 'Falls-Mache' nicht zu kompliziert?

    Schon mal vielen Dank im Voraus fürs Mitdenken!

    Grüße

    Johan

    Blockly check.png

    AsgothianA HomoranH 2 Antworten Letzte Antwort
    0
    • Johan2009J Johan2009

      Hallo community,

      hoffentlich könnt ihr mir mit meinem Blockly-Skript weiter helfen.

      Ich habe eine Szene gebaut, die nach dem Kommando (Bedtijd) alle Geräte im Wohnzimmer ausschaltet. Das funktioniert super, manchmal aber werden bestimmte Geräte wieder eingeschaltet (eine Lampe zum Beispiel). Ich weiß noch nicht genau, woran das liegt.

      Was ich jetzt mit meinem Skript erreichen möchte, ist, dass nachdem die Szene 'Bedtijd' aktiviert worden ist, in der Nacht regelmäßig geprüft wird, ob die Geräte noch immer ausgeschaltetet sind.

      Jetzt habe ich dieses Skript gebaut und wollte es euch mal vorlegen. Ist dies die beste Weise, das Skript zu bauen? Wird es mit den 'Falls-Mache' nicht zu kompliziert?

      Schon mal vielen Dank im Voraus fürs Mitdenken!

      Grüße

      Johan

      Blockly check.png

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @johan2009

      Was du brauchst ist folgendes :

      • einen "state" "bedtime_aktiv".
      • einen Trigger auf diesen State, der Änderungen des State in eine Variable ("var_bedtime") Schreibt. warum das erklär ich weiter unten
      • für jedes Gerät einen Trigger auf "ist grösser als vorher". Darin:
        -- die Variable "var_bedtime" abfragen. Wenn die wahr ist: Gerät wieder ausschalten.
      • In deinem Zeitplan setzt du den State "bedtime_aktiv" auf wahr
      • Du brauchst einen 2. Zeitplan um morgens den "bedtime_aktiv" auf falsch zu setzen.

      Warum dieses "Gehampel" mit variable "var_bedtime" und dem State "bedtime_aktiv":

      • Wenn du in jedem Trigger der Lampen, sprich jedes mal wenn du die Lampe ein/aus schaltest diesen state überprüfst dann erzeugt das eine gewisse Last. Da sich dieser State aber nur 2 mal in 24 stunden ändern sollte ist es besser den Statisch in eine Variable zu holen.
      • Wenn du den Status nur in einer Variable hast dann geht der verloren wenn das Skript aus versehen neu gestartet wird.

      Da du in dem Beispiel oben nicht das komplette Skript zeigst kann ich nicht sicher sagen ob dein State "BedTijd" schon dem von mir gewünschten "bedtime_aktiv" entspricht. Ich gehe aber im Moment davon aus das das NICHT der Fall ist. Wenn doch (das hängt davon ab wie dein Zeitplan definiert ist), dann wäre das ganze Skript ein Ressourcenfresser.

      Warum - wenn alleine das umsetzen von BedTijd innerhalb des angegebenen Zeitraums dazu führt das die Lampen aus gehen dann muss der Zeitplan alle x sekunden laufen. Das muss er aber nicht, statt dessen kannst du einfacher einen Trigger direkt auf den Status BedTijd setzen, und dann darin als erstes die Uhrzeit Prüfen. Ist sie ausserhalb des Zeitplans dann keine Anpassung, ist sie innerhalb, dann Licht aus.

      Ansonsten machst Du da ein Paar unnötige Klimmzüge:

      • die ganzen "falls wert von x = wahr" können weg, du kannst einfach direkt die Werte mit "falsch" ansteuern. Wenn die schon "falsch" sind passiert im Zweifelsfall nichts.

      Wenn Du Lust / Zeit hast kannst du ja heute nachmittag / frühen Abend (gegen 16/17:00 Uhr) in den ioBroker discord kommen - da können wir uns das gesamte Skript mal gemeinsam anschauen, incl. einiger Hinweise auf mögliche Verbesserungen / Alternativen.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      A 1 Antwort Letzte Antwort
      0
      • Johan2009J Johan2009

        Hallo community,

        hoffentlich könnt ihr mir mit meinem Blockly-Skript weiter helfen.

        Ich habe eine Szene gebaut, die nach dem Kommando (Bedtijd) alle Geräte im Wohnzimmer ausschaltet. Das funktioniert super, manchmal aber werden bestimmte Geräte wieder eingeschaltet (eine Lampe zum Beispiel). Ich weiß noch nicht genau, woran das liegt.

        Was ich jetzt mit meinem Skript erreichen möchte, ist, dass nachdem die Szene 'Bedtijd' aktiviert worden ist, in der Nacht regelmäßig geprüft wird, ob die Geräte noch immer ausgeschaltetet sind.

        Jetzt habe ich dieses Skript gebaut und wollte es euch mal vorlegen. Ist dies die beste Weise, das Skript zu bauen? Wird es mit den 'Falls-Mache' nicht zu kompliziert?

        Schon mal vielen Dank im Voraus fürs Mitdenken!

        Grüße

        Johan

        Blockly check.png

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @johan2009 sagte in Blockly Geräte Check:

        Ich habe eine Szene gebaut

        mit iobroker.scenes?
        dann kannst du doch den Datenpunkt is true o.ä. (der den Zustand der Szene anzeigt) überprüfen und wenn der nicht true ist die Szene wieder auf true setzen

        kein Support per PN! - Fragen im Forum stellen -
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

          @johan2009

          Was du brauchst ist folgendes :

          • einen "state" "bedtime_aktiv".
          • einen Trigger auf diesen State, der Änderungen des State in eine Variable ("var_bedtime") Schreibt. warum das erklär ich weiter unten
          • für jedes Gerät einen Trigger auf "ist grösser als vorher". Darin:
            -- die Variable "var_bedtime" abfragen. Wenn die wahr ist: Gerät wieder ausschalten.
          • In deinem Zeitplan setzt du den State "bedtime_aktiv" auf wahr
          • Du brauchst einen 2. Zeitplan um morgens den "bedtime_aktiv" auf falsch zu setzen.

          Warum dieses "Gehampel" mit variable "var_bedtime" und dem State "bedtime_aktiv":

          • Wenn du in jedem Trigger der Lampen, sprich jedes mal wenn du die Lampe ein/aus schaltest diesen state überprüfst dann erzeugt das eine gewisse Last. Da sich dieser State aber nur 2 mal in 24 stunden ändern sollte ist es besser den Statisch in eine Variable zu holen.
          • Wenn du den Status nur in einer Variable hast dann geht der verloren wenn das Skript aus versehen neu gestartet wird.

          Da du in dem Beispiel oben nicht das komplette Skript zeigst kann ich nicht sicher sagen ob dein State "BedTijd" schon dem von mir gewünschten "bedtime_aktiv" entspricht. Ich gehe aber im Moment davon aus das das NICHT der Fall ist. Wenn doch (das hängt davon ab wie dein Zeitplan definiert ist), dann wäre das ganze Skript ein Ressourcenfresser.

          Warum - wenn alleine das umsetzen von BedTijd innerhalb des angegebenen Zeitraums dazu führt das die Lampen aus gehen dann muss der Zeitplan alle x sekunden laufen. Das muss er aber nicht, statt dessen kannst du einfacher einen Trigger direkt auf den Status BedTijd setzen, und dann darin als erstes die Uhrzeit Prüfen. Ist sie ausserhalb des Zeitplans dann keine Anpassung, ist sie innerhalb, dann Licht aus.

          Ansonsten machst Du da ein Paar unnötige Klimmzüge:

          • die ganzen "falls wert von x = wahr" können weg, du kannst einfach direkt die Werte mit "falsch" ansteuern. Wenn die schon "falsch" sind passiert im Zweifelsfall nichts.

          Wenn Du Lust / Zeit hast kannst du ja heute nachmittag / frühen Abend (gegen 16/17:00 Uhr) in den ioBroker discord kommen - da können wir uns das gesamte Skript mal gemeinsam anschauen, incl. einiger Hinweise auf mögliche Verbesserungen / Alternativen.

          A.

          A Online
          A Online
          Ahnungsbefreit
          schrieb am zuletzt editiert von
          #4

          @Johan2009 Wie bereits in Discord erklärt (hier noch mal für die "Nachwelt"), so würde das Script nach dem Vorschlag von @Asgothian aussehen:
          b4a6f61c-47d4-4bdf-ab55-334ba30a6daf-image.png
          Bei "Object ID" dann Deine Werte wie im Kommentar daneben gezeigt einsetzen (die habe ich ja nicht) und den mittleren Teil für jede Lampe wiederholen, das war's.

          @Asgothian Korrigier mich, wenn ich Dich falsch verstanden haben sollte aber so macht's für mich Sinn.

          Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

          Johan2009J 1 Antwort Letzte Antwort
          0
          • A Ahnungsbefreit

            @Johan2009 Wie bereits in Discord erklärt (hier noch mal für die "Nachwelt"), so würde das Script nach dem Vorschlag von @Asgothian aussehen:
            b4a6f61c-47d4-4bdf-ab55-334ba30a6daf-image.png
            Bei "Object ID" dann Deine Werte wie im Kommentar daneben gezeigt einsetzen (die habe ich ja nicht) und den mittleren Teil für jede Lampe wiederholen, das war's.

            @Asgothian Korrigier mich, wenn ich Dich falsch verstanden haben sollte aber so macht's für mich Sinn.

            Johan2009J Offline
            Johan2009J Offline
            Johan2009
            schrieb am zuletzt editiert von
            #5

            @ahnungsbefreit @Asgothian

            Ich habe den Vorschlag in ein Skript umgesetzt. Wenn ich das so sehe, dann ist es genau das, was @Homoran gemeint hat. Heute oder morgen werde ich testen ob alles funktioniert.

            Vielen Dank an alle für die Hilfe!

            Johan

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            388

            Online

            32.8k

            Benutzer

            82.8k

            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