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 @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
        • 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
                    • Neuschwansteini
                      Neuschwansteini @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 3
                        • 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
                              • E
                                e-s @Mic last edited by e-s

                                @Mic
                                Hab mal installiert, im log kommen nach dem ersten Start gleich ein paar Fehler:

                                smartcontrol.0	2020-06-20 22:32:24.444	error	(19092) Adapter admin configuration validation failed --> Please check your configuration. You will not be able to use this adapter without fixing the issues.
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at async SmartControl._asyncOnReady (/opt/iobroker/node_modules/iobroker.smartcontrol/main.js:143:17)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at processTicksAndRejections (internal/process/task_queues.js:97:5)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at Library.asyncVerifyConfig (/opt/iobroker/node_modules/iobroker.smartcontrol/lib/smartcontrol.js:546:75)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at SmartControl.getForeignObjectAsync (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1584:16)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at new Promise (<anonymous>)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at /opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:1585:16
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at SmartControl.getForeignObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2854:17)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	at validateId (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:482:19)
                                smartcontrol.0	2020-06-20 22:32:24.443	error	(19092) [asyncVerifyConfig] : The id is empty! Please provide a valid id., stack: Error: The id is empty! Please provide a valid id.
                                

                                Liegt das vielleicht an den Beispielen, welche IDs bei mir nicht vorhanden sind?

                                Deutsch/Englisch scheint noch nicht komplett implementiert zu sein, ist auch nicht schlimm, aber wenn man auf Deutsch klickt öffnet sich die Adapterseite als eigenständige neue Seite, das ist ungünstig. Da das linke Menü weg ist. Schreib bitte Deutsch statt German, weil German finde ich unlogisch.

                                Ach ja, hatte leider keine Zeit mehr um mir mehr anzusehen. Aber es ist und bleibt extremst vielversprechend.

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

                                  Danke euch allen für euer Feedback 😎

                                  @SSenn sagte in Planung neuer Adapter: Smart Control:

                                  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.

                                  Jeder Tester ist willkommen, egal ob absoluter Anfänger oder Vollprofi 😉
                                  Erste Testversion wird alsbald veröffentlicht, mehr dazu dann hier im Thread.

                                  @e-s sagte in Planung neuer Adapter: Smart Control:

                                  Hab mal installiert

                                  Danke für den sehr frühzeitigen Test 🙂
                                  Wohl diesen, und einige andere Fehler, habe ich mittlerweile behoben. Ich veröffentliche die Tage eine offizielle Testversion (ist dann 0.1.0) und schreibe hier dann rein.

                                  @e-s sagte in Planung neuer Adapter: Smart Control:

                                  Deutsch/Englisch scheint noch nicht komplett implementiert zu sein, ist auch nicht schlimm, aber wenn man auf Deutsch klickt öffnet sich die Adapterseite als eigenständige neue Seite, das ist ungünstig. Da das linke Menü weg ist. Schreib bitte Deutsch statt German, weil German finde ich unlogisch.

                                  Guter Hinweis, das stammt von copy/paste eines anderen Adapters von mir.
                                  Tatsächlich werde ich jetzt mal gar keine Anleitung auf Github erstellen, stattdessen diese in den Adapter-Optionen direkt einbauen. Damit hat man bei der Benutzung keinen Medienbruch, und ich kann zur Übersetzung gulp benutzen 🙂
                                  scDoc.gif

                                  @Alle
                                  Habe nun auch als Trigger für Schaltungen node-schedule implementiert, und mit Astrozeiten, usw. D.h. es können auch als Auslöser bestimmte Zeitpunkte definiert werden, wie "jeden Mo-Fr um 7:00, außer es ist keiner anwesend", usw.

                                  1f059518-5137-428a-b337-9ad6639b11cb-image.png

                                  Erste Testversion folgt sehr bald.

                                  sigi234 FredF 3 Replies Last reply Reply Quote 3
                                  • sigi234
                                    sigi234 Forum Testing Most Active @Mic last edited by sigi234

                                    @Mic sagte in Planung neuer Adapter: Smart Control:

                                    Erste Testversion folgt sehr bald.

                                    Ich kann es gar nicht erwarten. 😀

                                    Edit:
                                    Habe es jetzt doch getestet:

                                    Installation ohne Probleme, Code 0

                                    smartcontrol.0	2020-06-22 14:29:23.399	error	(11240) Adapter admin configuration validation failed --> Please check your configuration. You will not be able to use this adapter without fixing the issues.
                                    smartcontrol.0	2020-06-22 14:29:23.399	warn	(11240) [Config Verification] 1 error(s) found while verifying your adapter configuration.
                                    smartcontrol.0	2020-06-22 14:29:23.398	warn	(11240) [Config Table 'Schedules'] No rows defined.
                                    smartcontrol.0	2020-06-22 14:29:23.356	info	(11240) starting. Version 0.0.3 in C:/Program Files/iobroker/Test/node_modules/iobroker.smartcontrol, node: v12.18.0, js-controller: 3.1.6
                                    smartcontrol.0	2020-06-22 14:29:19.650	info	(54720) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                    smartcontrol.0	2020-06-22 14:29:19.650	info	(54720) terminating
                                    smartcontrol.0	2020-06-22 14:29:19.649	error	(54720) Error while stopping adapter: TypeError: Cannot read property 'cancel' of null
                                    smartcontrol.0	2020-06-22 14:29:19.649	info	(54720) (0) trigger schedules cancelled...
                                    smartcontrol.0	2020-06-22 14:29:19.648	info	(54720) Got terminate signal TERMINATE_YOURSELF
                                    smartcontrol.0	2020-06-22 14:28:15.139	error	(54720) Adapter admin configuration validation failed --> Please check your configuration. You will not be able to use this adapter without fixing the issues.
                                    smartcontrol.0	2020-06-22 14:28:15.139	warn	(54720) [Config Verification] 1 error(s) found while verifying your adapter configuration.
                                    smartcontrol.0	2020-06-22 14:28:15.139	warn	(54720) [Config Table 'Schedules'] No rows defined.
                                    smartcontrol.0	2020-06-22 14:28:15.087	info	(54720) starting. Version 0.0.3 in C:/Program Files/iobroker/Test/node_modules/iobroker.smartcontrol, node: v12.18.0, js-controller: 3.1.6
                                    smartcontrol.0	2020-06-22 14:28:11.270	info	(50608) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                    smartcontrol.0	2020-06-22 14:28:11.270	info	(50608) terminating
                                    smartcontrol.0	2020-06-22 14:28:11.269	error	(50608) Error while stopping adapter: TypeError: Cannot read property 'cancel' of null
                                    smartcontrol.0	2020-06-22 14:28:11.269	info	(50608) (0) trigger schedules cancelled...
                                    smartcontrol.0	2020-06-22 14:28:11.268	info	(50608) Got terminate signal TERMINATE_YOURSELF
                                    

                                    Beim Schedules kann ich Additional Conditions + Never if nicht löschen oder auswählen.

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

                                      @Mic sagte in Planung neuer Adapter: Smart Control:

                                      keine Anleitung auf Github erstellen, stattdessen diese in den Adapter-Optionen direkt einbauen.

                                      Das finde ich mal eine coole Geschichte!

                                      1 Reply Last reply Reply Quote 1
                                      • L
                                        lesiflo Most Active last edited by

                                        Hi,
                                        hab mal testweise die Version 0.0.3 vom Github installiert und 2 Funktionen mit BW Melder/Türkontakt und Licht umgesetzt. Bisher keine Probleme. Schön wäre noch ein direkte Auswahl der Objekte. Aber bisher läuft es.

                                        1 Reply Last reply Reply Quote 1
                                        • L
                                          looxer01 last edited by looxer01

                                          Hi,
                                          das ist ein super Projekt. Sehr vielversprechend.

                                          Ich habe mich ebenfalls mit dem Thema befasst und vor einiger Zeit ein Script dazu geschrieben. (habe ich übrigens Simple_IFTTT genannt 🙂 )
                                          Mitterweile habe ich zahlreiche Programme und auch Adapter damit ersetzt. So steuere ich meine Rolladen damit aber auch komplexeres wie die Poolheizung bzw. Filterung, natürlcih BWM und Licht etc.

                                          In dem Script habe ich ein paar Features eingebaut, die ich schmerzlich vermissen würde.
                                          Dachte mir, dass du das ggf auf deine Feature - List nehmen könntest 😉

                                          Ich denke, dass diese Funktionenrelativ einfach zu integrieren wären. Jedenfalls passt es zu deiner Struktur. Wäre jedenfalls super:

                                          • Moeglichkeit der Umrechnung des neu abzuspeichernden Wertes aus der Aktion (Damit kann z.B. ein Zähler realisiert werden. Wenn der neue Wert <+> <-> </> <:> enthält dann wird der folgende Zielwert berechnet beispiel. Alter wert = 2 Neuer Wert = <+>1 ergibt 3 im Zielwert. - also ein Zähler
                                          • Möglichkeit der Simulation, damit für die Umstellung eine Zeitlang parallel gearbeitet werden kann bis zur endgültigen Umstellung. Meldungen müssen natürlich ausgegeben werden aber der eigentliche Update des Wertes bleibt aus. Das erleichtet das Einstellen und testen enorm
                                          • Message Ausgabe (konfigurierbar)
                                            • Im Log
                                            • Push Message , z.B. PushBullet
                                            • email
                                              Dabei kann die Message per text in den Aktionen hinterlegt werden und wird dann entsprechend ausgegeben
                                          • Log als CSV Datei. sieht dann z.B. so bei mir aus:
                                            Datum;Uhrzeit;TriggerKey;ActionKey;Ziel-ID;Neuer Wert;Message
                                            22.06.2020 ;07:00:00 ;RolladeKind2Auf;RolladeKind2Auf;hm-rpc.0.LEQ0276xxx.1.LEVEL;100;Rollade Kind2 hochgefahren
                                            22.06.2020 ;07:00:00 ;RolladeKind1Auf;RolladeKind1Auf;hm-rpc.0.JEQ0112xxx.1.LEVEL;100;Rollade Kind1 hochgefahren
                                            22.06.2020 ;07:00:00 ;RolladeKuecheAuf;RolladeKuecheAuf;hm-rpc.0.JEQ0111xxx.1.LEVEL;100;Rollade Kueche hochgefahren

                                          Liebe Gruesse
                                          Looxer

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

                                            Wie kann ich einen zeitgesteuerten Trigger einsetzen?
                                            Aufgabe: Licht um 22:00 einschalten und um 22:15 ausschalten

                                            Trigger erstellen klappt: jeden Tag um 22:00
                                            Device erstellen klappt
                                            Room/Area: Da komme ich nicht weiter. Ich kann den Trigger einem Device zuordnen, also z.B. meinen 22:00 Trigger, aber wo sage ich, dass das Device ein oder ausgeschaltet werden soll?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            527
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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