Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Jalousien/Astro Script/Blockly

    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

    Jalousien/Astro Script/Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @darki last edited by

      @darki sagte in Verbessungspotental am Script bzw. Vorgehensweise:

      Die Funktion on() kann doch bestimmt direkt auf "true" und "false" prüfen

      Ja, aber da beide Werte (false/true) ausgewertet werden, macht es im Trigger keinen Sinn. Vereinfachung:

      var wert = getState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position").val;
      on({id:"0_userdata.0.Alexa_Geräte.Jalousie_Couch.steuern"},function(obj){
          if (obj.state.val) wert += 5;
          else  wert -= 5;
          if(wert < 0) wert = 0;
          if(wert > 100) wert = 100; 
          setState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position", wert);
      });
      
      1 Reply Last reply Reply Quote 0
      • D
        darki last edited by

        Ja funktioniert genauso gut.
        Ich werde mich wohl mal in Javascript einlesen müssen.
        Ansonsten ist die Vorgehensweise so nicht grundlegend falsch?

        paul53 J.A.R.V.I.S. 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @darki last edited by

          @darki sagte:

          Vorgehensweise so nicht grundlegend falsch?

          Nein, sie hat doch funktioniert.

          1 Reply Last reply Reply Quote 0
          • J.A.R.V.I.S.
            J.A.R.V.I.S. Developer @darki last edited by

            @darki was du noch ändern könntest wäre var mit let bzw. const zu ersätzen, da var eingentlich nicht mehr verwendet wird.

            Und falls du deine Wertzuweisung noch ein bisschen kürzer machen möchtest kannst du dir die geänderte Zeile unten einmal anschauen.

            Wenn die Vorgehensweise funktioniert, dann ist sie nicht falsch. Mitunter wirst du aber vielleicht nach einer Zeit merken, dass es auch einfacher oder eleganter geht.

            let wert = getState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position").val;
            
            on({id:"0_userdata.0.Alexa_Geräte.Jalousie_Couch.steuern"}, function(obj) {
            
                wert = obj.state.val ? wert + 5 : wert - 5;
                
                if(wert < 0) wert = 0;
            
                if(wert > 100) wert = 100; 
            
                setState("shelly.0.SHSW-25#10FB0A#1.Shutter.Position", wert);
            
            });
            
            1 Reply Last reply Reply Quote 0
            • D
              darki last edited by

              @J-A-R-V-I-S said in Verbessungspotental am Script bzw. Vorgehensweise:

              Wenn die Vorgehensweise funktioniert, dann ist sie nicht falsch. Mitunter wirst du aber vielleicht nach einer Zeit merken, dass es auch einfacher oder eleganter geht.

              Deswegen frage ich ja 😉
              Da kommen noch einige Jalousien dazu.
              Zudem noch ein haufen Rollos und später Dimmer.
              Wenn meine Lampen fertig sind, auch ein haufen WS2812b Strpies mit ESP8266 gesteuert durch MQTT.
              Ich muss ehrlich zugeben, das ioBroker zwar deutlich schlechter beschrieben/dokumentiert ist als OpenHAB.
              Aber ich hab es deutlich schneller gerafft.

              Wenn ich in ein paar Tagen immer noch so überzeugt bin, werde ich wohl gerne was spenden.

              Auch die Community scheint deutlich hilfsbereiter zu sein.

              ♥

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

                Hab jetzt noch Astro hinzugefügt, diesmal mit Blockly.

                Unbenannt.PNG

                Leider funktioniert das so nicht.
                Heute morgen wurden die Jalousien nicht geöffnet.
                Abends sollen alle runterfahren, ausser die Terasse, die soll auf 60% runter und dann kurz darauf auf 65% um zu zu fahren.

                Längen und Breitengrad sind eingetragen, automatisch nachdem ich Land und Stadt eingegeben habe.
                Habe ich was vergessen?

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

                  @darki
                  Hat sich erledigt. Hatte die Richtungen falsch.

                  1 Reply Last reply Reply Quote 0
                  • X
                    xbow42 last edited by

                    wenn du mal 15 Prozent fahren willst musst du ja 3x Alexa anquatschen.
                    Mir ist es lieber ich kann eine gewünschte Position direkt anfahren.
                    ich habe im iot-Adapter den Datenpunkt meinen DP "shelly.0.SHSW-25#00815D#1.Shutter.Position" eingetragen mit Smartnamen "Rollladen Vitrinenfenster".
                    -> Alexa, suche Geräte
                    -> Alexa, schalte Rollladen Vitrinenfenster auf 15 Prozent" -> OK

                    Ein Script werde ich nur für die speziellen Aufgaben anlegen.
                    z.B bei den Rollläden wo die Fenster nach außen öffnen um zu verhindern dass der Laden die Fenster rammt, oder für die Terrrassentür(Haustierpippigehmodus, Aussperrschutz für Astroautomatik wenn wir im Garten sind), dynamische Verschattung bei Sonneneinstahlung.

                    Gruß Michael

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

                      Jein, also ich benutzte mehrere Kommandos.
                      Mit "Auf/Zu" fahre ich jeweils 5 vom aktuellen wert.
                      Wenn ich "hoch/runter" benutze, dann fährt alles 25% hoch bzw runter. Das funktioniert einfach durch verknüpfen des "Position" werts mit einem IoT Gerät.
                      Kommando "ganz hoch/runter" fährt dann komplett.

                      Hier die Konfiguration:
                      Unbenannt.PNG

                      Unbenannt.PNG

                      Jalousie Küche (Position) wirkt direkt auf die Position in %. Kommando "hoch/runter" sind wohl automatisch 25% und "ganz hoch/runter" dann jeweilt komplett.
                      Jalousie Küche steuern ist der oben genannte Script und wird in Alexa mit Routinen durch "Auf/Zu" ausgelöst.
                      Jalousie Küche stop setzt mit dem Kommando "Jalousie Küche stop" das Shelly element "pause" aus.

                      Wobei das Kommando "Jalousie Küche stop" wohl auch direkt das Gerät "Jalousie Küche" steuert. Da muss ich mir noch was einfallen lassen.
                      Insgesammt funktioniert das so schon ganz gut.

                      1 Reply Last reply Reply Quote 0
                      • X
                        xbow42 last edited by

                        danke für die Erklärung! hoch/runter werde ich dann auch nutzen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        628
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        blockly javascript
                        4
                        11
                        1332
                        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