Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Idee Scene Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Idee Scene Adapter

Geplant Angeheftet Gesperrt Verschoben Entwicklung
4 Beiträge 4 Kommentatoren 2.3k 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.
  • P Offline
    P Offline
    Pman
    schrieb am zuletzt editiert von
    #1

    Der Scene Adapter kann echt praktisch sein und viele Skripte ersetzen. Allerdings ist mir bei der Nutzung eine Situation aufgefallen, welcher regelmäßig dazu führt, dass ich doch ein Skript schreiben muss.

    Ich hatte schon häufiger den Fall, dass ich bei Szenen und Gruppen, je nach Situation, nicht alle Zustände schalten möchte.

    Beispiel:

    Ich habe eine virtuelle Gruppe mit allen Wohnzimmerlampen, um diese gleichzeitig dimmen zu können. Nun möchte ich aber, dass dies nur auf Lampen angewendet wird, welche schon eingeschaltet sind. Lampen die aus sind, sollen auch aus bleiben.

    Idee:

    Man kann für jeden Datenpunkt eine Vorbedingung definieren. Der Zustand wird dann nur erfüllt, wenn diese Bedingung erfüllt ist. Bei dem Beispiel wäre das dann: lampe.level > 0 (ID Bedingung Wert)
    422_scene1.png
    bzw. bei aktiviertem "set on false":
    422_scene2.png

    Problem:

    Jetzt gibt es natürlich den Fall, dass keine Lampe an ist (Gruppenzustand 0). In diesem Fall wäre es toll, wenn wieder alle Lampen angesteuert würden, es würde aber keine Lampe angesteuert. Man müsste also Bedingungen verketten können, das gilt allerdings auch schon für die trigger zum Starten und Stoppen der Szenen, wo ich manchmal gerne mehr als eine Bedingung verwenden würde.

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      Jetzt habe dein Einsatz verstanden.

      Da jetzt SzenenAdapter sowieso zu Komplex ist, da muss man was an der Bedienung machen.

      Und wenn man noch jetzt mit so eine Einstellung kommt, dann wird man komplett verloren.

      Das ist meine Meinung. Du bist aber selbst ein guter Programmierer. Mach mal ein gutes Bedienkonzept 🙂 Mit Pull Request :lol:

      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        Heinzelmaennchen
        schrieb am zuletzt editiert von
        #3

        Hallo pman, Hallo Bluefox,

        Ich bin zwar so gar kein Programmierer, nutze aber dennoch den Szenenadapter sehr intensiv und kann das Problem von pman sehr gut nachvollziehen. Daher würde ich gerne ein paar Gedanken einstreuen.

        Zum Hintergrund. Bei mir laufen derzeit zwei Instanzen des Adapters je für:

        Lichtsteuerung (~35 Hue Leuchten)

        und (mangels funktionierendem occ Adapter)

        Heizungssteuerung(~ 10 Zimmersteuerungen mit je Wandthermostat und zugehörigen Heizkörperthermostaten in Gruppen zusammengefasst) Die Szenen werden über cron-Trigger abgearbeitet.

        Entscheidungen, wie sie pman beschreibt, treffen zu können wäre schlichtweg genial.

        Ich sehe hier drei Szenarien:

        Entscheidungen, die VOR dem Ausführen einer Szene entscheiden, ob überhaupt und wenn ja welche Szene gestartet werden soll

        Entscheidungen INNERHALB einer Szene

        Entscheidungen NACH dem Abarbeiten einer Szene oder einer (auch im Fehlerfall) nicht ausgeführten Szene getroffen werden.

        Kurzum. Ich würde gerne meine Mitarbeit bei der Sache anbieten.

        Gruß

        Bernhard

        –------------------------------------------

        263 Kanäle in 91 Geräten

        3x Sonos Play:1, 1x Sonos:Amp, 1x Sonos Playbar

        4x Hue E27, 21xHue GU10, 1x Lightify RGB Stripe, 1x Lightify E27 TW

        -------------...

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          miggedy
          schrieb am zuletzt editiert von
          #4

          Ich habe auch noch solch einer Lösung gesucht und wollte kurz mein Workaround hierfür mit euch teilen:

          Mein Beamer ist nicht "smart", daher steuer ich diesen mit einer Broadlink Fernbedienung. Das Problem ist, dass um ihn auszuschalten man die Power-Taste zwei mal drücken muss. Das bedeutet, dass wenn der Beamer gerade gar nicht an ist, zwei mal die Power-Taste den Beamer anschalten würde (anstatt ihn ausgeschaltet zu lassen).

          Den obigen Vorschlag hätte ich daher hierfür nutzen können. In einer Variable speichere ich ob der Beamer an ist (wenn ich den Beamer mit einer Scene starte). Starte ich nun die Szene die den Beamer ausschalten soll, setze ich für die Ausschalt-Aktion die Bedingung, dass der Beamer nur ausgeschaltet werden soll wenn das System meint das er überhaupt an ist.

          Da es diese Funktion (noch) nicht gibt, habe ich mir ein Script geschrieben, dass dies für mich überprüft:

          const root = "javascript." + instance  + ".myObjects.";
          const beamerIsOn = root + "beamerIsOn";
          const beamerTurnOff = root + "beamerTurnOff";
          const beamerPowerButton = "broadlink.0.learnedSignals.CODE_...";
          
          on(beamerTurnOff, function (obj) {
              if (!obj.state.ack && obj.state.val) {
                  turnOffBeanerIfNotOn();
              }
          });
          
          function turnOffBeanerIfNotOn() {
              if (!getState(beamerIsOn).val) {
                  // beamer is not on
                  return;
              }
              // press power button twice to turn off
              setState(beamerPowerButton, true);
              setTimeout(function() {
                  setState(beamerPowerButton, true);
              }, 2000);
              setState(beamerIsOn, false);
              setState(beamerTurnOff, false);
          }
          
          

          In meiner Szene starte ich nun dieses Script (anstatt den Beamer direkt auszuschalten) indem ich den "beamerTurnOff"-Wert auf true setze.

          Hoffe das bietet Leuten mit ähnlichen Anforderungen einen Gedanken-Anstoß.

          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

          721

          Online

          32.4k

          Benutzer

          81.4k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe