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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter shuttercontrol v2.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
      • simatec
        simatec Developer Most Active @dos1973 last edited by

        @dos1973

        So hat doch etwas gedauert ... Jetzt kannst du die shellys mal testen.

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

          @Homoran
          Hallo Rainer,

          ich habe nun mal angefangen und das ganze in Tabellenform gemacht.
          Die Überlegung wäre noch, ob man enums und Tabelle anbietet (als Vorauswahl)
          Da überlege ich aber noch.
          Aktuell gibt es das noch nicht auf Github, da ich zwar die Tabelle hinbekomme ubd man auch Zeilen einfügen kann, aber das schreiben der ID des Rolladens noch manuell erfolgen muss.

          Ich sitze seit Tagen dran, bekomme aber diese blöde Dialogabfrage nicht zum laufen, damit man die ID Auswahl über das Popup wie z.B. im Cloud Adapter machen kann.

          Im Moment geht also nur copy & paste ☹️

          Kannst du ml bitte deine Ideen in Stichpunkten hier zusammenfassen, was für Auswahlmöglichkeiten die Tabelle bieten sollte?
          Aktuell gibt es die ID mit edit-Button (noch ohne Funktion😖), eine checkbox für an/aus, eine delete-Button, und hoch/runter Button zum Reihenfolge ändern.
          Ich würde noch eine Auswahl für Zuordnung der unterschiedlichen Bereiche vorschlagen.

          Noch weitere Ideen?

          Homoran 1 Reply Last reply Reply Quote 1
          • JohGre
            JohGre last edited by

            Hallo, möchte auch meine Erfahrungen einbringen zu meiner derzeitigen Steuerung.

            Mein Aussen-Raffstores werden über Azimut, Elevation und Lux (HM Helligkeitssensor) gesteuert.
            Sind die entsprechenden Parameter true bzw. über einer definierten Höhe werden zB. alle Südseitigen auf 2% gesetzt und die anderen (Westseitigen) auf 0%. Nordseitige beachte ich in meinem Script nicht, da sie für die Beschattung keine Relevanz haben.
            Das entsprechende Script lasse ich nur zwischen 9:00 und 18:00 Uhr laufen, außerhalb dieser Zeit brauch ich die Funktion nicht.
            Zusätzlich beachte ich auch ob einer meiner Fernseher läuft, denn da möchte ich ja nicht dass diese wieder aufgehen.
            Auch meinen Windmesser lasse ich in die Funktion miteinfließen, möchte ja nicht, dass bei Sturm die Raffstores runterfahren.

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

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

              Kannst du ml bitte deine Ideen in Stichpunkten hier zusammenfassen, was für Auswahlmöglichkeiten die Tabelle bieten sollte?

              Gerne, aber da war ich mit mir selber noch nicht einig 😂

              Wie du selber richtig schriebst, muss das ganze noch halbwegs übersixhtlich u d bedienbar bleiben, soll aber alle möglichen Optionen enthalten KÖNNEN.

              Optimal wären dann optionale Editier/Konfigurierpopups, wie sie z.b. im Parser Adapter sind.

              Ich setze mich mal heute hin und versuche das zu formulieren, passend zu den Wünschen zu Beginn des Threads, gemäß: wie soll ich wissen was ich meine, bevor ich lese was ich schrieb.

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

                @JohGre
                Das deckt sich ja schon mal weitestgehend mit meinen "Grundanforderungen"

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

                  @Homoran sagte in [[Aufruf] Neuer Adapter

                  wie soll ich wissen was ich meine, bevor ich lese was ich schrieb.

                  😂😂

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

                    @simatec
                    klappt noch nicht...

                    shuttercontrol.0	2019-05-18 14:39:30.799	warn	undefined
                    shuttercontrol.0	2019-05-18 14:39:30.798	info	starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.shuttercontrol, node: v8.15.0
                    host.ioBroker	2019-05-18 14:39:30.089	info	instance system.adapter.shuttercontrol.0 started with pid 20445
                    host.ioBroker	2019-05-18 14:39:00.079	info	Restart adapter system.adapter.shuttercontrol.0 because enabled
                    host.ioBroker	2019-05-18 14:39:00.079	error	instance system.adapter.shuttercontrol.0 terminated with code 0 (OK)
                    Caught	2019-05-18 14:39:00.079	error	by controller[0]: at Timer.listOnTimeout (timers.js:290:5)
                    Caught	2019-05-18 14:39:00.078	error	by controller[0]: at tryOnTimeout (timers.js:323:5)
                    Caught	2019-05-18 14:39:00.078	error	by controller[0]: at ontimeout (timers.js:498:11)
                    Caught	2019-05-18 14:39:00.078	error	by controller[0]: at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.shuttercontrol/main.js:510:52)
                    Caught	2019-05-18 14:39:00.078	error	by controller[0]: TypeError: Cannot read property 'common' of undefined
                    shuttercontrol.0	2019-05-18 14:39:00.053	info	terminating
                    shuttercontrol.0	2019-05-18 14:39:00.049	info	cleaned everything up...
                    shuttercontrol.0	2019-05-18 14:39:00.048	error	at Timer.listOnTimeout (timers.js:290:5)
                    shuttercontrol.0	2019-05-18 14:39:00.048	error	at tryOnTimeout (timers.js:323:5)
                    shuttercontrol.0	2019-05-18 14:39:00.048	error	at ontimeout (timers.js:498:11)
                    shuttercontrol.0	2019-05-18 14:39:00.048	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.shuttercontrol/main.js:510:52)
                    shuttercontrol.0	2019-05-18 14:39:00.048	error	TypeError: Cannot read property 'common' of undefined
                    shuttercontrol.0	2019-05-18 14:39:00.047	error	uncaught exception: Cannot read property 'common' of undefined
                    shuttercontrol.0	2019-05-18 14:38:02.678	warn	undefined
                    shuttercontrol.0	2019-05-18 14:38:02.658	info	starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.shuttercontrol, node: v8.15.0
                    host.ioBroker	2019-05-18 14:38:02.053	info	instance system.adapter.shuttercontrol.0 started with pid 20385
                    host.ioBroker	2019-05-18 14:37:59.579	info	instance system.adapter.shuttercontrol.0 terminated with code 0 (OK)
                    shuttercontrol.0	2019-05-18 14:37:59.547	info	cleaned everything up...
                    host.ioBroker	2019-05-18 14:37:59.539	info	stopInstance system.adapter.shuttercontrol.0 killing pid 20290
                    host.ioBroker	2019-05-18 14:37:59.539	info	stopInstance system.adapter.shuttercontrol.0
                    shuttercontrol.0	2019-05-18 14:37:59.540	info	cleaned everything up...
                    

                    Bildschirmfoto 2019-05-18 um 14.38.19.png

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

                      @dos1973
                      Zeig mal deine Config für den Wohnbereich?

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

                        @simatec

                        die Settings finde ich sehr verwirrend und nicht selbsterklärend...
                        Bildschirmfoto 2019-05-18 um 15.44.26.png

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

                          @dos1973
                          Da du Automatik für den Wohnbereich und Wohnbereich den gleichen enum hast, schalte mal autoliving auf false.

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

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

                            @simatec

                            die Settings finde ich sehr verwirrend und nicht selbsterklärend...

                            Da wird es noch Änderungen geben

                            1 Reply Last reply Reply Quote 0
                            • SWE1008
                              SWE1008 last edited by

                              Hallo zusammen,

                              erst mal vielen Dank für den Adapter. Ich habe ihn installiert und eingerichtet. Lief alles ohne Probleme. Allerdings funktioniert er noch nicht mit Shelly 2.5 Schaltern. Der Adapter trägt den Wert richtig im Objekt ein, der Rollo fährt aber nicht.

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

                                @SWeimar
                                Zeige mal bitte ein Screenshot deiner Config.
                                Aktuell habe ich da etwas gebastelt, was aber noch nicht alles funktioniert.

                                Ich werde für die Testversionen am besten mal ein separaten Branch einrichten

                                SWE1008 1 Reply Last reply Reply Quote 0
                                • SWE1008
                                  SWE1008 @simatec last edited by

                                  @simatec
                                  Hier die Screenshots meiner config:

                                  Anmerkung 2019-05-22 074430.jpg
                                  Anmerkung 2019-05-22 074528.jpg
                                  Anmerkung 2019-05-22 074632.jpg Anmerkung 2019-05-22 074729.jpg

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

                                    @SWeimar
                                    Ja das konnte ich mir denken.
                                    Die tabelle habe ich gestern gebastelt ... Allerdingsnoch ohne Funktion.
                                    Mir ging es erstmal um die Tabelle ansich und dem Aufruf des Object-ID Baum.

                                    Die Funktion baue ich die nächste Tage mal zum testen ein.
                                    Aktuell musst du deine Rolläden in den enums, die du ausgewählt hast, abgelegt haben, damit sie angesteuert werden.
                                    Dies wird sich aber auf Wunsch ändern und zukünftig über die Tabellenfunktion laufen

                                    SWE1008 1 Reply Last reply Reply Quote 0
                                    • SWE1008
                                      SWE1008 @simatec last edited by

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

                                      Aktuell musst du deine Rolläden in den enums, die du ausgewählt hast, abgelegt haben, damit sie angesteuert werden.

                                      Ok, korrigiere mich falls ich mich irre. Genau das habe ich doch getan, wie im dritten Bild zu sehen...

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

                                        @SWeimar
                                        Ich habe gerade eine Version zum testen auf Github geladen ...
                                        Kannst du bitte diese noch einmal installieren und testen.
                                        In dieser Version wird die Zuordnung auf Userwunsch nicht mehr über Enums gemacht.

                                        Hier muss du lediglich deine Rollläden in der Tabelle anlegen.

                                        https://github.com/simatec/ioBroker.shuttercontrol.git

                                        Unbenannt.JPG

                                        1 Reply Last reply Reply Quote 0
                                        • SWE1008
                                          SWE1008 last edited by

                                          Ich werde es testen und berichten...

                                          1 Reply Last reply Reply Quote 0
                                          • SWE1008
                                            SWE1008 last edited by

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

                                            https://github.com/simatec/ioBroker.shuttercontrol.git

                                            Also ich habe die neue Version installiert. Der Fehler bleibt aber bestehen. Der Adapter trägt den Wert richtig ins Objekt ein. Zu der eingestellten Uhrzeit ändert sich der Wert von 0% auf 100%. Der Rollo fährt aber nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            813
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            rollladen rollladensteuerung shuttercontrol
                                            326
                                            7281
                                            8255126
                                            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