Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Planung neuer Adapter: Smart Control

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Planung neuer Adapter: Smart Control

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

      Hi,

      mein ursprünglicher Plan war/ist, das Bewegungsmelder-Script abzulösen.
      In meiner Umfrage war das auch Wunsch Nummer 1 als nächster Adapter.

      Nun steht ein Konzept, hab aber außer der Adapter-Konfiguration noch keine Zeile Adapter-Code geschrieben 😉

      Selbst der Adapter-Name steht noch nicht fest, hab ihn jetzt erst mal "Room Control" benannt. Namens-Vorschläge sind willkommen ☺

      Was wird der Adapter können:

      Hier mal Beispiel Use Cases:

      • Bad wird am Montag um 7:00 betreten (falls nicht Feiertag), dann geht das Licht an und das Radio schaltet sich an. Falls nach 15 Minuten keine Bewegung mehr, wird ausgeschaltet.
      • Flurlicht-Steuerung mit Bewegungsmeldern, Lichtschaltern, etc.
      • Küchenlicht schaltet sich ein, wenn Helligkeit kleiner xxx Lux und andere Kriterien (z.B. jemand anwesend, Uhrzeit/Astro, Bewegung, etc.) zutreffen.
      • Relax-Bereich: Licht geht an und Alexa spielt Musik, sobald sich jemand auf den Sessel in der "Leseecke" sitzt. Sobald keiner mehr sitzt (z.B. über Xiaomi-Tür/Fenster-Sensor), wird nach paar Minuten wieder ausgeschaltet.

      Ich erkläre es mal anhand der Konfiguration:

      1. Man definiert Auslöser ("Triggers") also z.B. Bewegungsmelder, Wandschalter, einen Fensterkontakt, o.ä.
        518419b5-d566-4f27-befd-5a16cccabfd1-image.png

      2. Man definiert zu schaltende Geräte/Datenpunkte, die geschaltet werden (Mehrfachauswahl) sobald ein Auslöser was meldet.
        fd775c51-619c-4128-80d2-9f0d7ec6dff9-image.png

      3. Man definiert Räume/Bereiche, wie z.B. "Lese-Ecke", "Gäste-WC EG", "Flur 1. OG", "Esstisch", usw. Hier verknüpft man dann die Auslöser und die zu schaltenden Ziele.
        02ecc340-4615-4e08-8e8b-ef02572efdde-image.png
        e98241a6-a01a-476c-be3f-4e6492d64fa1-image.png
        1469979a-a178-4446-b4c8-2726dbf995fb-image.png

      4. Dann definiert man noch gewisse Bedingungen, z.B. Feiertag, alle abwesend, Kaffeemaschine muss gereinigt werden, etc.
        d4d9d283-77f3-4fc1-a66e-f0c2e56d07a6-image.png

      5. Zum Schluss eine Zeitplanung, wann bei Auslösen der Trigger geschaltet wird. Also z.B. immer, wenn ein Trigger auslöst, oder nur zu bestimmten Zeiten und nur falls wer anwesend, nicht auslösen, falls die Kaffeemaschine gereinigt werden muss, usw.
        9bd5f25e-91fe-46f0-b657-c0cdbd8ac22b-image.png

      Soweit so gut. Beim Entwerfen des Konzepts kommt mir immer mehr, dass das eine größere Sache werden könnte und nicht nur limitiert auf Schalter/Bewegungsmelder/Lichter etc. Aber jetzt erst mal hiermit starten 😎

      Hier noch eine gif-Animation zu den geplanten Einstellungen:
      xxtest.gif

      Ausblick

      Fokus ist erst mal "Licht-/Geräte-/Raumsteuerung" in Verbindung mit optionalen Bewegungsmeldern und Zeitplanungen.

      Aber man könnte damit auch viele andere Blockly/JavaScripts ablösen, wie z.B. "Xiaomi Aqara Cube wird geschüttelt --> Fernseher geht aus", also einige ITTT "If This Then That" Sachen, ohne dass man Blockly/JS braucht.
      Mal sehen ☺

      Ideen und Vorschläge anderer User

      • @Tirador hat hier und nachfolgend hier einige sehr gute Ideen zur zentralen Lichtsteuerung gepostet.
      • @Omnedon hat dazu ergänzt.
      • Generell:
        • Thread: Vorlage: Bewegungsmelder-Script
        • Thread: Umfrage: Welchen Adapter soll ich als nächstes entwickeln?

      Nun brauche ich bitte euer Feedback

      Die Umsetzung der Adapter-Entwicklung hängt maßgeblich vom Konzept ab, daher habe ich erst mal die Konfiguration gestaltet. Bevor ich jetzt loslege mit der eigentlichen Entwicklung und unnötig Zeit verbrate:

      • Erscheint das Konzept für euch so sinnvoll?
      • Fehlt was Wesentliches?
      • Was würdet ihr euch noch wünschen?
      • Andere Meinungen?

      VIS-Widgets und VIS-Steuerung schließe ich im Scope des Adapters explizit aus, das überlasse ich anderen 🙂 Aber Datenpunkte kann ich natürlich gerne zur Verfügung stellen zur Konfiguration.

      Brauche auch noch bitte bessere Namensvorschläge für den Adapter (derzeit "Room Control") 😉

      crunchip Scrounger Neuschwansteini 3 Replies Last reply Reply Quote 15
      • crunchip
        crunchip Forum Testing Most Active @Mic last edited by crunchip

        @Mic sagte in Planung neuer Adapter: Licht-/Raumsteuerung und mehr:

        derzeit "Room Control

        irgendwie fehlt das das light um was es eigentlich geht...
        lightroom fällt da wohl flach😜 sind ja nicht bei der Bildbearbeitung
        aber light zwischen deinem Room und Control wäre doch schon mal eine Idee.

        Alles in allem klingt das schon mal sehr gut, muss man sich noch ein zweimal durch den Kopf gehen lassen.
        Ob was fehlt, stellt sich meist erst im nach hinein heraus😉 ausser jemand hat etwas spezielles, was er dadurch umsetzen möchte/könnte, was dann eher wieder Faktor Geräte spezifisch sein könnte.

        Wichtig für mich, hatte ich schon erwähnt, das erkennen, ob manuell geschaltet wurde, oder durch BWM. Da sonst schon mal das Licht beim Zeitungslesen, einem im Stich lässt.🙂

        Mic E 2 Replies Last reply Reply Quote 0
        • Mic
          Mic Developer @crunchip last edited by Mic

          Hi @crunchip

          danke für dein Feedback 🙂

          irgendwie fehlt das das light um was es eigentlich geht...

          Na ja, das war ursprünglich, aber genau so kann der Adapter dann auch sämtliche andere Geräte steuern, und auch unabhängig von Bewegungsmeldern.

          a) Beliebiger Einschalt-Auslöser (Alexa, Wandschalter, BWM, etc.) --> Check ob Bedingungen zutreffen (Zeitraum, wer anwesend, etc.) --> Ziele schalten
          b) Optional: dann wieder ausschalten, falls keine Bewegung mehr nach x Sekunden, und/oder gewisse Zeit abgelaufen. Aber nicht ausschalten, falls "manuell" eingeschaltet (nicht per Bewegungsmelder)

          Daher die "Adapternamen"-Frage...

          Wichtig für mich, hatte ich schon erwähnt, das erkennen, ob manuell geschaltet wurde, oder durch BWM.

          Sehr guter Punkt wird definitiv berücksichtigt 😎

          1 Reply Last reply Reply Quote 0
          • E
            e-s @crunchip last edited by

            @crunchip
            Naja wenn man die sensoren richtig platziert dann braucht man überhaupt keinen Lichtschalter und somit auch die Erkennung wieso das licht an ist überhaupt nicht mehr.
            Da aber nicht nur Licht geschaltet werden soll, sondern alles was gerade in der Nähe ist, ist dies also schon sowas wie der Szenen adapter 2.0.
            Vielleicht wäre auch smart living, oder irgendwas mit automate your live zwar nicht direkt erklärbar für alle Funktionen, aber das wird es wohl nicht dafür geben.

            Egal, wie auch immer das Kind heißen wird, es klingt mehr als vielversprechend. Ich freue mich drauf. Bisher scheint alles dabei zu sein, aber das merkt man erst beim probieren.

            crunchip Mic 2 Replies Last reply Reply Quote 1
            • crunchip
              crunchip Forum Testing Most Active @e-s last edited by

              @e-s sagte in Planung neuer Adapter: Licht-/Raumsteuerung und mehr:

              Naja wenn man die sensoren richtig platziert

              wenn ich irgendwo sitze und das Licht wurde durch nen BWM aktiviert(timer 10min)und nun blätter ich gemütlich im Buch...erkennt das der BWM nicht unbedingt...egal wo ich den platziere, weil es in dem Fall nur ne kleine Handbewegung ist, von daher finde ich das schon sinnvoll, die Möglichkeit zu haben, BWM Zeitgesteuert, aber manuelles Schaltes soll dies ausser Kraft setzen. Gibt vllt auch Gründe, das man in einem Raum bewusst das Licht mal brennen lassen möchte.

              Mic E 2 Replies Last reply Reply Quote 1
              • Mic
                Mic Developer @e-s last edited by

                @e-s
                Danke 🙂

                smart living klingt sehr gut und vor allem mehr "generic" als reduziert auf Raum oder Licht / Bewegung. Namen sind ja eigentlich Schall und Rauch, aber passen sollte es dennoch 😉

                1 Reply Last reply Reply Quote 0
                • Mic
                  Mic Developer @crunchip last edited by

                  @crunchip sagte in Planung neuer Adapter: Licht-/Raumsteuerung und mehr:

                  wenn ich irgendwo sitze und das Licht wurde durch nen BWM aktiviert(timer 10min)und nun blätter ich gemütlich im Buch...erkennt das der BWM nicht unbedingt...egal wo ich den platziere, weil es in dem Fall nur ne kleine Handbewegung ist, von daher finde ich das schon sinnvoll, die Möglichkeit zu haben, BWM Zeitgesteuert, aber manuelles Schaltes soll dies ausser Kraft setzen. Gibt vllt auch Gründe, das man in einem Raum bewusst das Licht mal brennen lassen möchte.

                  Bin absolut bei dir, wird deswegen auch eingebaut 😉
                  Ebenso die Möglichkeit, nach x Minuten ausschalten zu lassen (z.B. nach 2 Stunden) falls kein Trigger wie BWM mehr was auslöst, um Fälle abzudecken wie "der User ist eingeschlafen" 😀 Vermeidet dann auch Festbeleuchtung um 3:00 Uhr Nachts.

                  1 Reply Last reply Reply Quote 1
                  • E
                    e-s @crunchip last edited by

                    @crunchip
                    Hast du schon mal an einen drucksensor unter der toilettenbrille gedacht...

                    Aber sonst hast du schon recht, wenn man das licht an haben will, dann soll das auch an bleiben.

                    crunchip 1 Reply Last reply Reply Quote 0
                    • crunchip
                      crunchip Forum Testing Most Active @e-s last edited by

                      @e-s ich lese nie auf der Toilette😜
                      aber ich saß schon am Esstisch, bzw das Kind am Hausaufgaben machen und zack war das Licht aus.

                      1 Reply Last reply Reply Quote 0
                      • Scrounger
                        Scrounger Developer @Mic last edited by Scrounger

                        @Mic
                        sehr cooles Projekt 👍
                        Da hast dir was sehr anspruchsvolles rausgesucht, hat das Potential das man iob doch irgendwann mal per maus "zusammen klicken" kann.

                        Folgende Namensvorschläge hätte ich:

                        • mySmartControl, mySmartHome, myIntelligentHome bzw. mySmartLiving
                        • Nett wäre auch myWifesShock 😁

                        den Zusatz my fände ich sehr aussagefähig bzgl. "generic" bzw. das man es individuell konfigurieren kann.

                        Bzgl. Widgets kann ich gerne unterstützen bzw. ggf. im MDW noch passende Schnittstellen einbauen. Musst halt json strings zur verfügung stellen 😉

                        1 Reply Last reply Reply Quote 0
                        • K
                          klassisch Most Active last edited by klassisch

                          Sehr interessantes Thema, Bewegungsmelder.
                          Habe etliche BWM und auch Tür-Fensterkontaktsensoren (HM und 433MHz).
                          Allerdings sind bei mir die Lichtfunktionen schon weitgehen "hartverdrahtet" oder mit HM-Direktverknüpfungen umgesetzt. Zuverlässig, könnte aber noch komfortabler werden
                          Was ich noch brauchen könnte:

                          • Abhängigkeit der Schaltaktionen von
                            • Astro
                            • Helligkeitswert eines Helligkeitssensors
                          • Damit verknüpft eine Rampensteuerung der Dimmfunktion (speziell für Durchgangsräume): schnelles Andimmen, Haltezeit, Langsames Ausfaden mit der Möglichkeit per Taster wieder das Licht einzuschalten. Dieses realisiere ich derzeit mit einem Eltako EUD12D-UC was sehr gut funktioniert. Aber ich möchte von 230V LED auf 24V Stripes umstellen, z.B. mit Schelly o.ä.
                            Mit dieser Erweiterung wäre es möglich nachts eine "wärmere" Lichtfarbe einzustellen als morgens und tagsüber.

                          Ferner nutze ich derzeit meine BWM und Türkontaktschalter mit einem selbstgeschriebenen holprigen JS Script

                          • Meldung (z.B. email) bei den ersten 3 Betätigungen pro Tag, die nach einer definierten Uhrzeit (z.B 06:30) erfolgen und mind. x Minuten Abstend haben.
                          • Zählen der Betätigungen pro Tag
                            Und wenn diese Funktionen schon drin sind, dann könnte man die Wassermelder auch gleich mit reinnehmen (Benachrichtigung).
                            Vielleicht passt so etwas noch in den Umfang des Adapters?
                          1 Reply Last reply Reply Quote 1
                          • siggi85
                            siggi85 last edited by

                            Vielleicht noch ein Gedankenansatz:

                            1. Man kann ein Licht ja mit einer neuen Einstellung aufgrund eines Triggers starten lassen
                            2. Man kann aber auch zu gewissen Zeiten die Lichteinstellungen (Helligkeit, Lichtfarbe etc) setzen, OHNE das Licht hierbei anzuschalten. Also quasi die Lichteinstellungen nur proaktiv setzen.

                            Als Beispiel die Deckenbeleuchtung gesteuert über einen Shelly Dimmer: Hier möchte ich gerne, dass der Dimmer selber das Licht anmacht, um unabhängig vom zentralen System zu sein. Denn mindestens das Deckenlicht jeden Raumes soll in meinem Setup auch ohne zentrales System noch angehen können.
                            Beim Shelly Dimmer mit Shelly Adapter wird bspw. das Licht nicht automatisch angeschaltet wenn der Helligkeiswert geändert wird. Ich weiß nicht ob sich alle im ioBroker integrierten Lampen so verhalten.

                            Vielleicht kann man dies auch im Adapter berücksichtigen, gerade im Bezug auf zeitabhängige Lichteinstellungen. Gerade dieses ist für mich sehr interessant, da die Konfiguration über einzelne Blocklys sehr unübersichtlich ist.

                            1 Reply Last reply Reply Quote 1
                            • Neuschwansteini
                              Neuschwansteini @Mic last edited by

                              @Mic Klasse Idee, das würde viele Scripte ersetzen und die Wartung vereinfachen. 👍

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

                                @Scrounger @klassisch @siggi85 @ilovegym

                                Danke für euer Feedback 😎

                                @Scrounger
                                Super Namensvorschläge! myWifesShock gefällt mir am besten 😁 , aber wird wohl jetzt "mySmartControl". Wobei ich noch nicht sicher mit dem "my" bin, denn dann sollte man das ja an konsequenterweise an jeden Adapter-Namen dran hängen, der nicht nur als reiner "Verbinder" einer Hardware mit dem ioBroker dient. Mal sehen 🙂

                                Bzgl. Widgets kann ich gerne unterstützen bzw. ggf. im MDW noch passende Schnittstellen einbauen. Musst halt json strings zur verfügung stellen

                                Herzlichen Dank für dein Angebot!! Darauf komme ich sehr gerne im Bedarf dann zurück. 👍

                                @klassisch
                                Danke für deinen Use Case. Ist notiert.

                                @siggi85
                                Danke, ebenso notiert.

                                1 Reply Last reply Reply Quote 1
                                • Mic
                                  Mic Developer last edited by

                                  Kurzes Update / Zwischenstand:
                                  Bin aktiv an der Entwicklung, aber wie ich halt so dazu komme, habe relativ wenig Zeit, Dauert also noch etwas 😉
                                  Je mehr ich entwickle, desto mehr stelle ich das große Potenzial des Adapters und dieses Konzeptes fest, also später nicht mehr nur begrenzt auf Licht/Raumsteuerung etc., sondern auch ein einfach zusammen-klickbares "If This, Then That"mit optionaler Zeitsteuerung, etc..... Mal sehen, lassen wir uns überraschen 😉

                                  Accomplishments:

                                  • User friendly Admin-Oberfläche steht. Hat mich viel Zeit gekostet, aber war es wert!
                                  • Saubere input validation für die User-Angaben im Admin (z.B. ob Datenpunkte existieren, die angegebenen State-Values mit Type des Datenpunktes etc. übereinstimmen, usw.) für alle Konfig-Tabellen implementiert. Gekapselt in eine Function, daher gut skalierbar usw.
                                  • Alles async/await und mit ES6 class, damit sauberer Code zustande kommt. Musste mich erst einarbeiten in die Thematik 😉
                                  • Verkettung/Abgleich der Config-Tabellen mit vielen Abhängigkeiten (in Kürze schwierig zu erklären, aber war sehr zeitintensiv)
                                  • Vieles weitere.

                                  Derzeitiger Entwicklungsstand: ca. 25% fertig. Jetzt fängt es an, Spaß zu machen mit den Logiken, etc.

                                  sigi234 1 Reply Last reply Reply Quote 8
                                  • EdgarM
                                    EdgarM Developer last edited by

                                    Hi,

                                    wenn du noch Ideen suchst, hier was ich mir gerade bastle:

                                    abhängig von Tagesphase ändere ich die Werte, ob eine Lampe überhaupt angehen soll und welche Helligkeit sie haben soll. Falls ich viel Lust habe, werde ich die Farben bzw. Farbtemperaturen miteinbauen.

                                    Außerdem baue ich in manchen Räumen ein automatischen Licht aus mit ein, je nachdem welche Tageszeit gerade ist oder ob z.b. die Luftfeuchtigkeit gestiegen ist ( also jemand duscht 🙂 ).

                                    Ich baue das aber aktuell einfach als javascript, da ich iobroker erst vor ein paar Wochen installiert habe und an einen Adapter hab ich mich noch nicht rangetraut.

                                    Falls du Hilfe benötigst beim entwickeln könnte ich da wohl auch einiges machen.

                                    grüße

                                    EdgarM Mic 2 Replies Last reply Reply Quote 1
                                    • EdgarM
                                      EdgarM Developer @EdgarM last edited by

                                      und noch eins:

                                      Wenn es einen Timer gibt, würde ich eine "Warnung" miteinbauen, also 10% der Zeit bevor es ausgeht das Licht kurz aus und wieder anmachen.

                                      1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @Mic last edited by

                                        @Mic sagte in Planung neuer Adapter: Licht-/Raumsteuerung und mehr:

                                        Derzeitiger Entwicklungsstand: ca. 25% fertig. Jetzt fängt es an, Spaß zu machen mit den Logiken, etc.

                                        Wie weit bist du jetzt?

                                        1 Reply Last reply Reply Quote 0
                                        • Mic
                                          Mic Developer @EdgarM last edited by

                                          @EdgarM Danke für deine Ideen/Vorschläge.

                                          @sigi234
                                          Sehr weit, größer 80%.
                                          Sehr bald gibt es eine Erstversion zum Testen auf github. Zum Testen erzeugt der Adapter übrigens optional extra Datenpunkte unterhalb 0_userdata.0, damit man schön simulieren kann.
                                          152ae757-19f9-4d1d-ae21-d72ae06ad1ce-image.png

                                          1 Reply Last reply Reply Quote 2
                                          • Mic
                                            Mic Developer last edited by

                                            Ausblick / Konzept so weit:

                                            Ein paar generelle Optionen:
                                            fb49b887-1d8e-41a0-adde-221c086ff5cd-image.png

                                            Auslöser

                                            Als erstes legt man Auslöser an, also Bewegungsmelder oder irgendwelche Geräte (Fensterkontakte, Wandschalter, Post im Briefkasten, etc.).
                                            5c0f3322-b185-4102-bf5e-4ebc1514be9a-image.png

                                            Zu schaltende Ziele

                                            Dann legt man zu schaltende Ziele an. Auch hier beliebige Datenpunkte, und sowohl true/false als auch String möglich. Ebenso andere Datenpunkte zum ausschalten.
                                            960fa5cd-9a59-4870-88fb-a0f6f3ad3c7a-image.png

                                            Bereiche

                                            Als nächstes definiert man beliebig viele Bereiche, also z.B. Räume, Raumbereiche, oder auch nur den Briefkasten usw.
                                            Den Bereichen ordnet man dann die Auslöser (Trigger) sowie die zu schaltenden Ziele zu, die man vorher definiert hat.
                                            ba3f17a5-7610-4938-bece-419a96df452e-image.png

                                            Bedingungen

                                            Dann legt man noch ein paar Bedingungen an, also z.B. ob jemand anwesend, ob gerade Feiertag, die Eingangstüre offen, usw.
                                            945253a1-3437-4035-b0e5-1c0af0cc1010-image.png

                                            Schedule

                                            Zum Schluss gehts zum "Schedule", also zur Planung, wann was geschaltet wird. Natürlich inklusive Astrozeiten, usw. Geschaltet wird dann auch nur, wenn die eingestellten Bedingungen zutreffen, z.B. "mindestens eine Person ist anwesend", oder "heute ist Feiertag".
                                            Ebenso kann man Ausschlusskriterien auswählen, also wann nie geschaltet wird.

                                            8fc725ad-7a25-48e7-8b21-7e0440b886ab-image.png

                                            Zukunftsplanung, die es ggf. nicht in die erste Test-Version schaffen wird:
                                            Als Auslöser nicht nur Bewegungsmelder, Wandschalter, Fensterkontakte etc. ermöglichen, sondern auch ein Zeiteintritt. Also z.B. (erste Spalte noch ein beliebiger Auslöser-Name, fehlt hier im Screenshot).
                                            b5794699-9c9d-478d-aca7-6a35daeb45d4-image.png
                                            Löst dann auch diverse Scripts wie zur Weihnachtsbeleuchtung usw. ab. Auch diese Auslöser werden dann beliebigen Bereichen und Schedules zugeordnet, damit man das alles individuell und einfach konfigurieren kann.

                                            FredF Neuschwansteini 2 Replies Last reply Reply Quote 3
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            940
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter bewegungsmelder datenpunkte entwicklung geräte licht
                                            24
                                            76
                                            10015
                                            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