Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Homematic Rollladenaktor manuelle Bedienung feststellen

    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

    Homematic Rollladenaktor manuelle Bedienung feststellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • htrecksler
      htrecksler Forum Testing @maxpd last edited by

      @maxpd ich hatte das gleiche Problem und hab es folgendermaßen gelöst.
      Das Script welches die Rolläden fährt kann nur 3 Positionen ansteuern (Oben/Unten/Sonnenschutz) Diese 3 Positionswerte habe ich in Datenpunkten abgelegt.
      Entspricht die Position des Rolladen jetzt nicht einem der 3 Werte, dann wurde der Rolladen manuell auf diese Position gebracht.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @maxpd last edited by paul53

        @maxpd sagte: ob der Rollladen manuell bedient wurde, damit ich andere Scripte in dem Fall aussetzen kann

        Wie sollen die Skripte wieder aktiviert werden, nachdem manuelle Bedienung festgestellt wurde?

        Man kann feststellen, dass eine Positionsänderung nicht durch ein Skript erfolgte, dies in einem Datenpunkt speichern und diesen Datenpunkt in den Rollo-Skripten als Sperre verwenden (nicht getestet):

        const idLevel = 'hm-rpc.0.XEQ1234568.1.LEVEL';
        const idManuell = '0_userdata.0.Wohnzimmer.Rollladen.manuell';
        
        var timer = null;
        
        on(idLevel, function(dp) {
            if(!timer) {
                let manuell = true;
                if(dp.state.from == 'system.adapter.javscript.0') {
                    manuell = false;
                    timer = setTimeout(function() {
                        timer = null;
                    }, 20000); // max. Rollolaufzeit in ms
                }
                if(manuell) setState(idManuell, true, true);
            } 
        });
        
        M 1 Reply Last reply Reply Quote 0
        • M
          maxpd @paul53 last edited by

          @paul53 leider hab ich so meine Probleme mit JS, daher nutze ich nur Blockly. Meinst du das geht auch mit Blockly?
          Ich würde die Sperre bei regulären Abends Herunterfahren oder Morgens Hochfahren resetten.

          @htrecksler bei mir wird der Rollladen durch 5 Scripte gesteuert mit mehr als nur 3 Positionen.

          Aber grundsätzlich kann ich in allen Scripten auch eine Variable mitsteuern, anhand der ich auslesen kann ob die Position aus einem Script oder manuell entstanden ist. Der Weg andersrum, wäre nur sauberer gewesen ^^

          paul53 2 Replies Last reply Reply Quote 1
          • paul53
            paul53 @maxpd last edited by

            @maxpd sagte: das geht auch mit Blockly?

            Bild_2022-06-28_220803716.png

            M 2 Replies Last reply Reply Quote 1
            • Homoran
              Homoran Global Moderator Administrators last edited by

              @paul53
              jetzt hab ich es verstanden

              ich hatte mich schon über deine Aussage gewundert:

              @paul53 sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:

              Man kann feststellen, dass eine Positionsänderung nicht durch ein Skript erfolgte,

              du prüfst auch ob javascript der Übeltäter war und falls nicht definierst du es als manuell!

              1 Reply Last reply Reply Quote 0
              • M
                maxpd @paul53 last edited by

                @paul53 Mega, danke. Vielleicht kann ich mit der Methode noch meiner ungewollten Lautstärkenänderung auf die Spur kommen? https://forum.iobroker.net/topic/49937/plötzliche-lautstärkenänderung

                1 Reply Last reply Reply Quote 0
                • M
                  maxpd @paul53 last edited by

                  @paul53 Hab das Script so nachgebaut. Aber leider bleibt der geschriebene Datenpunkt immer auf "true". Muss noch debuggen an welcher Stelle er nichts mitbekommt, aber vermute das Auslesen des Ursprungs.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @maxpd last edited by paul53

                    @maxpd sagte: leider bleibt der geschriebene Datenpunkt immer auf "true".

                    @maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:

                    Ich würde die Sperre bei regulären Abends Herunterfahren oder Morgens Hochfahren resetten.

                    Passiert dies? Der Datenpunkt kann nur so oder manuell (Vis) zurück gesetzt werden.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      maxpd @paul53 last edited by maxpd

                      @paul53 nein, zum schnelleren testen hab ich es erst mal mit dem timeout von 20 sec wie du gelöst. wenn sich 20 sec nach einer Leveländerung durch ein Script erneut eine Leveländerung aber ohne scripttrigger, also manuell via taster vollzieht, sollte manuell ja auf true wechseln.

                      bzw. sollte bei einem scripttrigger auf false switchen. Das passierte aber noch nie.

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @maxpd last edited by paul53

                        @maxpd sagte: Ich würde die Sperre bei regulären Abends Herunterfahren oder Morgens Hochfahren resetten.

                        Wenn Du in diese beiden Trigger keine Sperre einbaust, aber in alle anderen, kann das Rücksetzen auch automatisch erfolgen:

                        Bild_2022-07-11_134218398.png

                        @maxpd sagte in Homematic Rollladenaktor manuelle Bedienung feststellen:

                        erst mal mit dem timeout von 20 sec wie du gelöst

                        Wenn die Verzögerung (timeout) zu kurz ist (kleiner als max. Rollolaufzeit), funktioniert die Erkennung nicht! Lieber etwas zu groß wählen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        944
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        5
                        16
                        1261
                        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