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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Planung neuer Adapter: Smart Control

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
      • ?
        A Former User @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 7
            • 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 1
                    • 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 ? 2 Replies Last reply Reply Quote 2
                      • Mic
                        Mic Developer last edited by Mic

                        Für die very, very, extremely early testers 😁 ist hier das Repo auf Github, hat soweit schon alles drin wie oben beschrieben, nur diverse Logiken noch nicht!!
                        Ich entwickle auch stetig weiter, und es wird hier noch Fehler geben, Errors im Log usw.
                        WARNUNG: also bitte nur in Testumgebung und mit Vorsicht. Das ist kein Aufruf zum testen, der folgt noch, sobald die erste Testversion fertig gestellt.
                        Die Errors etc. braucht ihr mir bitte nicht mitteilen, ich bin ja selber noch dabei 😉

                        https://github.com/Mic-M/ioBroker.smartcontrol

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

                          @Mic 🤣 Das war mit Abstand die eindringlichste Warnung vorm Testen die ich hier je gelesen habe.😷

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

                            @Chaot
                            Haha 😀
                            Tatsächlich sehe ich zu, dass ich bei der Entwicklung möglichst viele Fehler abfange, die User machen könnten bei Dateneingabe, also States die nicht existieren usw., sonst werde ich nicht mehr froh beim Support 🙂
                            Und vor allem auch, dass der ioBroker nicht irgend wann Nachts abschmiert, nur weil man ein Sonderzeichen im State oder in der Zeitangabe hat, usw., z.B. das wird schon beim Speichern der Admin-Konfig gleich geprüft.
                            Die Vorsicht deshalb tatsächlich, weil der Adapter auf diverse fremde States zugreift, und schaltet wie er meint dass "Schedule" zutrifft, dass könnte theoretisch schon bei einer Endlosschleife zu lustigen Effekten führen 🙂
                            Aber bitte keine Angst, ich berücksichtige das alles im Code und prüfe alles usw. bevor was ausgeführt wird.
                            Durchgehend async/await, solide Eingabevalidierungen usw. stellen das soweit sicher.

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

                              @Mic Das sieht schon sehr vielversprechend aus 👍
                              Testen werde ich den Adapter auf jeden Fall, nur noch nicht in dem frühen Status 😓 😰

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

                                @FredF sagte in Planung neuer Adapter: Smart Control:

                                Testen werde ich den Adapter auf jeden Fall, nur noch nicht in dem frühen Status

                                Dito, warte auch noch. 😁

                                1 Reply Last reply Reply Quote 0
                                • U
                                  Urs last edited by

                                  Auch ich finde das ein sehr spannendes Projekt und werde es definitiv testen wenn es in die "erweiterte" Testphase geht.

                                  Eine Frage vorab: Ich hab einen Hue-BM der das Licht und das Radio (über ein Java Script) einschaltet. Leider spricht der BM auch ab und zu auf den Saugroboter (Roborock) an.
                                  Sehe ich es richtig dass ich auch den Saugroboter als Trigger nehmen könnte und dann so konfigurieren dass wenn der Roboter in gewissen Zonen aktiv ist, das Licht und das Radio im Bad nicht angehen?

                                  Vielen Dank

                                  Mic 1 Reply Last reply Reply Quote 1
                                  • ?
                                    A Former User @Mic last edited by

                                    @Mic Wau, der Adapter ersetzt damit ja mindestens 30 Scripte und mehr.. !
                                    👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍 👍

                                    1 Reply Last reply Reply Quote 1
                                    • frankthegreat
                                      frankthegreat last edited by

                                      Jepp, der Adapter macht schon im Anfangsstadium einen sehr guten Eindruck 👏
                                      Werde ihn definitiv testen.
                                      Ich schlage schonmal eine neue Kategorie vor, in die man ihn einordnen könnte:

                                      ELWMS
                                      (Eierlegende Wollmilchsau) 😁

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

                                        @Urs sagte in Planung neuer Adapter: Smart Control:

                                        Eine Frage vorab: Ich hab einen Hue-BM der das Licht und das Radio (über ein Java Script) einschaltet. Leider spricht der BM auch ab und zu auf den Saugroboter (Roborock) an.
                                        Sehe ich es richtig dass ich auch den Saugroboter als Trigger nehmen könnte und dann so konfigurieren dass wenn der Roboter in gewissen Zonen aktiv ist, das Licht und das Radio im Bad nicht angehen?

                                        Saugroboter als Trigger funktioniert so nicht bzw. ergibt keinen Sinn für diesen Adapter. Trigger ist ein Auslöser.
                                        Stattdessen willst du ja einen Bewegungsmelder, der Trigger ist, nicht schalten, falls eine Bedingung zutrifft, also z.B. "Saugroboter ist grad aktiv", oder "Saugroboter ist im Flur aktiv". Wenn du diese Info in einem Datenpunkt verfügbar hast, dann kannst du dies(e) unter "Conditions" aufnehmen und in der Tabelle "Schedule" als "Never if" auswählen.

                                        1 Reply Last reply Reply Quote 0
                                        • U
                                          Urs last edited by

                                          Sorry, Trigger war etwas blöd gewählt, ich meinte es ganau so wie du schreibst. Für Saugroboter Aktiv gibt es den DP "Status". Der kann zwar verschiedene Status wie cleaning, zone Cleaning, spot Cleaning usw. einnehmen wenn er läuft aber das sollte mit verschiedenen Conditions lösbar sein.
                                          Mit dem Standort kämpfe ich noch, hab bisher keine DP welche was Sinnvolles in die Richtung raus geben gefunden. Ist aber nicht so tragisch, dann bleibt der BM halt aus bis Robo nach Hause geht...im Normalfall rennt er ja eh durch die Hütte wenn niemand da ist.

                                          Cool, freu mich schon drauf.

                                          Vielen Dank.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            SSenn last edited by

                                            @Mic
                                            Was du hier bereits präsentiert hast ist ja der Wahnsinn 😊
                                            Für mich ist es unvorstellbar was hier alles im Hintergrund programmiert werden muss. Bin schon sehr gespannt wie es mit deinem Adapter weitergeht.

                                            Zum Adapter selber kann ich dir leider keine Unterstützung anbieten. Wenn du aber für die ersten Test nicht nur Fortgeschrittene User benötigst, würde ich als Anfänger gerne auch einmal paar Tests machen.
                                            Bis jetzt bin ich sowieso „nur“ am testen wie / was funktioniert. Habe also noch nichts was wirklich in Betrieb ist.

                                            Betreibe den ioBroker mit einem Raspberry Pi 4 und einem Conbee II Stick sofern das eine Rolle spielt.

                                            Wünsche noch viel Spass beim Entwickeln.
                                            Und natürlich danke 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            963
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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