Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter shuttercontrol v2.0.x

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Test Adapter shuttercontrol v2.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @dos1973 last edited by

      @dos1973
      Die Anleitung kennst du?

      https://github.com/simatec/ioBroker.shuttercontrol/blob/master/docs/de/shuttercontrol.md

      1 Reply Last reply Reply Quote 0
      • D
        dos1973 last edited by

        ja,
        aber ich komme mit dem enum nicht klar.
        ich habe jetzt eine enum Rolladen angelegt. Da habe ich den Shelly zugeordnet Dieses enum "Rolladen" finde ich aber nicht in der Auswahl im Adapter...

        Homoran simatec 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @dos1973 last edited by

          @dos1973
          Hast du den adapter danach neu gestartet?

          D 1 Reply Last reply Reply Quote 0
          • D
            dos1973 @Homoran last edited by

            @Homoran
            ja

            1 Reply Last reply Reply Quote 0
            • simatec
              simatec Developer Most Active @dos1973 last edited by

              @dos1973
              Hast du ihn als Raum oder Funktion angelegt?

              Wie @Homoran schrieb, starte mal den Adapter neu, damit auch die neuen Enums gefunden werden

              Homoran 1 Reply Last reply Reply Quote 0
              • D
                dos1973 last edited by

                Bildschirmfoto 2019-05-14 um 21.06.55.png

                Bildschirmfoto 2019-05-14 um 21.07.55.png

                so richtig?
                übersetzt der Rolladen nach blinds?

                simatec 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @simatec last edited by

                  @simatec

                  Habe jetzt doch mal schnell vom tablet eine Installation gesucht wo ich den Adapter installieren konnte, damit ich mitreden kann.

                  Das erste das mir auffiel ist der Reiter Astro.
                  Aber ich finde nirgendwo eine Einstellung wann oder wo nach Astro gefahren werden soll.
                  Obwohl es ein spätestens gibt.

                  Auch wäre schön einen offset einstellen zu können.

                  simatec 2 Replies Last reply Reply Quote 0
                  • D
                    dos1973 last edited by dos1973

                    bei mir hätte er jetzt um 21:10 fahren müssen...
                    ich glaube meine enums "Scheisser" passen noch nicht

                    Bildschirmfoto 2019-05-14 um 21.12.13.png

                    enum ausgewählt, oder?
                    Bildschirmfoto 2019-05-14 um 21.14.25.png

                    Astro Zeiten Verzögerungen sind im Adapter möglich, wenn du das meinst.

                    simatec 1 Reply Last reply Reply Quote 0
                    • simatec
                      simatec Developer Most Active @dos1973 last edited by

                      @dos1973
                      Was sagt denn der Datenpunkt Level bei dir.
                      Den sehe ich nicht, da der Ordner nicht aufgeklappt ist

                      1 Reply Last reply Reply Quote 0
                      • D
                        dos1973 last edited by dos1973

                        der Shelly 2.5PM Rolladen hat kein Level
                        Bildschirmfoto 2019-05-14 um 21.20.33.png

                        Edit: Sorry. Position= level

                        simatec 1 Reply Last reply Reply Quote 0
                        • simatec
                          simatec Developer Most Active @Homoran last edited by

                          @Homoran
                          Astro wird gefahren, wenn Astro kleiner ist als das späteste Runterfahren und wenn Astro im Bereich frühste zeit zum hochfahren und späteste Zeit zum hochfahren liegt

                          1 Reply Last reply Reply Quote 0
                          • simatec
                            simatec Developer Most Active @dos1973 last edited by

                            @dos1973
                            Dann muss ich Position mit aufnehmen.
                            Wie im ersten Beitrag geschrieben, habe ich aktuell nur LEVEL drin und hier sollte berichtet werden, was noch benötigt wird.
                            Mache ich morgen

                            1 Reply Last reply Reply Quote 0
                            • D
                              dos1973 last edited by dos1973

                              ok. Danke.
                              dann probieren wir es morgen 🙂
                              was passiert wenn es kein Level oder Postion gibt?
                              meine Funkrolladen haben nur Buttons

                              hoch
                              stop
                              runter

                              Bildschirmfoto 2019-05-14 um 21.26.55.png

                              können diese Button auch verwendet werden?

                              Danke für deine Mühe & Geduld !

                              simatec 2 Replies Last reply Reply Quote 0
                              • simatec
                                simatec Developer Most Active @dos1973 last edited by

                                @dos1973
                                Die Button werden aktuell nicht unterstützt.
                                Da müsste man eine Funktion für überlegen.
                                Aktuell wird nur nach Level 0-100% gefahren.

                                D 1 Reply Last reply Reply Quote 0
                                • simatec
                                  simatec Developer Most Active @dos1973 last edited by

                                  @dos1973 sagte in [Aufruf] Neuer Adapter ioBroker.shuttercontrol:

                                  Bildschirmfoto 2019-05-14 um 21.06.55.png

                                  Bildschirmfoto 2019-05-14 um 21.07.55.png

                                  so richtig?
                                  übersetzt der Rolladen nach blinds?

                                  Du kannst den Enum noch nachträglich bearbeiten und die ID anpassen.
                                  Dann ist der ID Name auch nicht mehr blinds

                                  1 Reply Last reply Reply Quote 0
                                  • simatec
                                    simatec Developer Most Active @Homoran last edited by

                                    @Homoran sagte in [Aufruf] Neuer Adapter ioBroker.shuttercontrol:

                                    @simatec
                                    Auch wäre schön einen offset einstellen zu können.

                                    Was meinst du mit offset?
                                    Für Astro kannst du ein offset einstellen.
                                    Standard sind in der Config 30 Minuten.

                                    Für das fahren von mehreren Rollläden aus einer Funktion gibt es auch einen offset zum einstellen. Standard ist hier auf 10 Sekunden eingestellt

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • D
                                      dos1973 @simatec last edited by

                                      @simatec
                                      ist es für mich realistisch zeitnah auf die Funktion mit den Button zu hoffen?
                                      keine Ahnung welche Ideen und Anforderungen du noch hast.

                                      Bei mir werden alle Rolladen mit Funk und eben nur mit Buttons angesprochen, ohne diese Funktion wird der Adapter dann für mich leider nicht nutzbar sein.

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @simatec last edited by Homoran

                                        @simatec sagte in [Aufruf] Neuer Adapter ioBroker.shuttercontrol:

                                        Was meinst du mit offset?

                                        Ich meine eigentlich unterschiedloche offsets je zimmer.
                                        Da dein Adapter jedoch nicht zimmerbezogen arbeitet vielleicht je Gruppe.

                                        Meiner Meinung nach ergibt diese Gruppierung nicht für alle Anwender einen Sinn.
                                        Wenn für jedes Zimmer separate Einstellungen gemacht werden sollen (schlafräume der Kinder waren da sehr speziell) ergibt andererseits die ganze enums-Sache nur bedingt Sinn.

                                        Mein Schlafzimmer geht zur Straße, da soll nicht im winter schon der Rollladen hochgehen, wenn ich beim Aufstehen noch Licht anmachen muss. Man will die Leute ja nicht erschrecken!
                                        Ebenso die Küche. Die ist 3m von dem Fusweg weg, hier soll abends der Rolladen schon runtergehen bevor die Sonne ganz unten ist, wenn ich schon Licht zum arbeiten brauche.
                                        Auf der anderen Seite ist das große Wohnzimmerfenster, da möchte meine Holde gerne im Sommer beim TV noch den Abendhimmel beim/nach Sonnenuntergang sehen.

                                        Mir schwebte eine Konfiguration in Tabellenform, ähnlich ping oder parser, vor, ganz zu Ende hatte ich es aber auch noch nicht gedacht.
                                        Alle Räume eine Zeile, bei mehreren Rollläden ggf. Gruppen.
                                        Es gibt ja auch Räume, die Fenster in verschiedene Himmelsrichtungen haben.

                                        Bei Beschattung ergibt die Aufteilung nach Raumfunktionen gar kei en Sinn, wenn die Räume gleixher Funktion in alle Himmelsrichtungen zeigen.

                                        simatec 2 Replies Last reply Reply Quote 0
                                        • simatec
                                          simatec Developer Most Active @Homoran last edited by

                                          @Homoran
                                          Die Idee hatte ich Anfangs auch, das ganze in Tabellenform zu machen.
                                          grundsätzlich ist diese Version nur eine erste Idee.
                                          Ich hatte da auch schon mit @Dutchman drüber diskutiert.
                                          Da kamen wir zu der Meinung, dass enums im Prinzip das sinnvollste wäre.

                                          Aber es ist eine erste Beta und wir können noch viele Ideen einfließen lassen.

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            dirkhe Developer last edited by dirkhe

                                            Zum Thema Button vs Level. Ich habe den adapter noch nicht getestet, aber ich habe hier ein Script geschrieben, was ein Level simuliert. Damit kann ich meine rolladen zb. Auf 50% fahren. Vlt hilft es dir ja

                                            (function(){
                                                // interne Funktion
                                                function drive(idActive, idPassive, runtime) {
                                                    setState(idPassive, false);
                                                    setState(idActive, true);
                                                    setStateDelayed(idActive,false,runtime);
                                                }
                                            
                                                /**
                                                 * initialisiert eine SOnOff Rolladensteuerung, zb ein T1
                                                 * @param {string} id_DeviceBase Die ID des Basisobjektes
                                                 * @param {string} stateUpName Der Name des Schalter für Auf, zb. "POWER1"
                                                 * @param {string} stateDownName  Der Name des Schalter für Zu, zb. "POWER2"
                                                 * @param {number} runtimeUp Die Laufzeit (in sec), bis die Rollade komplett aufgefahren ist
                                                 * @param {number} runtimeDown Die Laufzeit (in sec), bis die Rollade komplett zugefahren ist
                                                 */
                                                function initRollade(id_DeviceBase, stateUpName, stateDownName, runtimeUp, runtimeDown){
                                                    var id_deviceDown= id_DeviceBase + '.' + stateDownName;
                                                    var id_deviceUp= id_DeviceBase + '.' + stateUpName;
                                                    var id_deviceLevel= id_DeviceBase + '.level';
                                            
                                                    if (getState(id_deviceLevel).notExist){
                                                        //setState(id_deviceLevel,0,true,function(){
                                                            extendObject(id_deviceLevel,{type:"state",common:{
                                                                    "type": "number",    
                                                                    "name": "Level",
                                                                    "def":   0,                      // optional,  default 0
                                                                    "read":  true,                   // mandatory, default true
                                                                    "write": true,                   // mandatory, default true
                                                                    "min":   0,                      // optional,  default 0
                                                                    "max":   100,                    // optional,  default 100
                                                                    "unit":  "%",                    // optional,  default %
                                                                    "role":  "level.blind"           // mandatory,
                                                                }        
                                                            },function(){
                                                                log("create " + id_deviceLevel);
                                                                setStateDelayed(id_deviceLevel,0,true,100);
                                                            });
                                                        //});
                                                    }
                                            
                                                    on({id: id_deviceUp, change: "ne", val:false}, function (obj) {
                                                        let pos= getState(id_deviceLevel).val 
                                                            + Math.round((100 / (runtimeUp * 1000)) * (obj.state.ts - obj.oldState.ts));
                                                        if (pos > 100) {
                                                            pos = 100;
                                                        }
                                                        setState(id_deviceLevel, pos, true);
                                                    });
                                                    on({id: id_deviceDown, change: "ne", val:false}, function (obj) {
                                                        let pos= getState(id_deviceLevel).val 
                                                            - Math.round((100 / (runtimeDown * 1000)) * (obj.state.ts - obj.oldState.ts));
                                                        if (pos < 0) {
                                                            pos = 0;
                                                        }
                                                        setState(id_deviceLevel, pos,true);
                                                    });
                                                    
                                                    on({id: id_deviceLevel, ack:false}, function (obj) {
                                                        if (getState(id_DeviceBase + ".alive").val) {
                                                            setState(id_deviceLevel,obj.oldState.val,true);
                                                            if (obj.state.val <= 0)
                                                                drive(id_deviceDown, id_deviceUp, runtimeDown * 1000 + 1000);
                                                            else if (obj.state.val >= 100)
                                                                drive(id_deviceUp, id_deviceDown, runtimeUp * 1000 + 1000);
                                                            else {
                                                                let diff = obj.oldState.val - obj.state.val;
                                                                if (diff > 0)
                                                                    drive(id_deviceDown, id_deviceUp, diff * (runtimeDown / 0.1));
                                                                else
                                                                    drive(id_deviceUp, id_deviceDown, Math.abs(diff) * (runtimeUp / 0.1));
                                                            }
                                                        }
                                                    });
                                                }
                                            
                                                initRollade("sonoff.0.Rollade/Florian", "POWER1", "POWER2",15,10);
                                                //initRollade('sonoff.0.DVES_AD871717', 'POWER2', 'POWER1',18,16);
                                            
                                            })();
                                            
                                            Ullulaki 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            547
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            rollladen rollladensteuerung shuttercontrol
                                            325
                                            7247
                                            6497325
                                            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