Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Mal wieder Rolladenschalter

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mal wieder Rolladenschalter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @Moehn last edited by

      @Moehn
      Bitte setz doch das Blockly in code tags und Spoiler Tags (das Auge) (</>), und poste parallel dazu auch mal nen screenshot davon.

      M 1 Reply Last reply Reply Quote 0
      • M
        Moehn @Asgothian last edited by

        @Asgothian

        <xml xmlns="http://www.w3.org/1999/xhtml">
          <variables>
            <variable type="undefined" id="timeout2">timeout2</variable>
          </variables>
          <block type="astro" id="u!cY7yVAZrr76s8zhV`a" x="137" y="-262">
            <field name="TYPE">sunrise</field>
            <field name="OFFSET">0</field>
            <statement name="STATEMENT">
              <block type="debug" id="eRz].h-8!lEoF6n~p0S:">
                <field name="Severity">log</field>
                <value name="TEXT">
                  <shadow type="text" id="_?ET9UdjTOqrp9vh:=J8">
                    <field name="TEXT">Rollo hoch</field>
                  </shadow>
                </value>
                <next>
                  <block type="toggle" id="4,So[=u1/x2b8/eR37nH">
                    <mutation delay_input="false"></mutation>
                    <field name="OID">i2c.0.0x21.A0</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <next>
                      <block type="timeouts_settimeout" id="Kz]$~,z6eZiPTIe%G?QR">
                        <field name="NAME">timeout2</field>
                        <field name="DELAY">15</field>
                        <field name="UNIT">sec</field>
                        <statement name="STATEMENT">
                          <block type="on" id="ws*K^%]MHh5~+t*MyFlM">
                            <field name="OID">i2c.0.0x22.B0</field>
                            <field name="CONDITION">ne</field>
                            <field name="ACK_CONDITION"></field>
                            <statement name="STATEMENT">
                              <block type="debug" id="y4[oNc)GE[*9#Pg=:sFc">
                                <field name="Severity">log</field>
                                <value name="TEXT">
                                  <shadow type="text" id="a7w}H@pa[xXdx}ND7V#C">
                                    <field name="TEXT">taster gedrückt bei Rollo aktiv</field>
                                  </shadow>
                                </value>
                                <next>
                                  <block type="controls_if" id="S!k]Ga%l644oFv9qM8_/">
                                    <value name="IF0">
                                      <block type="get_value" id="1w=UDwj4=`;+:Nn;gGFQ">
                                        <field name="ATTR">val</field>
                                        <field name="OID">i2c.0.0x22.B0</field>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="toggle" id="-,RwV6v{o`ICT.,bYa5]">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">i2c.0.0x21.A1</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <next>
                                          <block type="timeouts_cleartimeout" id="zvz;2^To:*jMm0[D]s1k">
                                            <field name="NAME">timeout2</field>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <next>
                              <block type="toggle" id="+i%;=n$c`4#?zqg+uV3*">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">i2c.0.0x21.A0</field>
                                <field name="WITH_DELAY">FALSE</field>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </xml>[s=]
         
        [/s]
        `
        
        
        ![02ccd940-c413-4db6-8d8b-6942f8270d62-grafik.png](/assets/uploads/files/1581454200843-02ccd940-c413-4db6-8d8b-6942f8270d62-grafik.png) ``Bildschirmfoto 2020-02-11 um 21.49.26.png
        M 1 Reply Last reply Reply Quote 0
        • M
          Moehn @Moehn last edited by

          @Moehn 33bc4bc4-e0fc-4dbe-9c88-630e90337cce-grafik.png Bildschirmfoto 2020-02-11 um 21.49.26.png

          Und hier noch der Screenshot

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @Moehn last edited by Asgothian

            @Moehn
            Nein, das geht so nicht:

            • Trigger im Timeout im Astro macht keinen Sinn.
            • Ich denke es ist immer zulässig das Rollo durch einen Druck auf den Knopf anzuhalten ? Wenn ja, dann einfach den trigger block komplett vor den astro setzen.
            • der Stop Timeout 2 ist unnötig, denn wenn der teil des Skriptes läuft ist der timeout schon abgelaufen.
            1 Reply Last reply Reply Quote 0
            • M
              Moehn last edited by

              Hallo

              Du meinst so:

              63aed689-1aea-4820-9beb-cde3ae64ae4f-grafik.png Bildschirmfoto 2020-02-11 um 21.57.08.png

              Wird denn der Taster B0 auch in den 15 Sekunden wo der Ausgang A0 auf wahr steht abgefragt wenn der ganze Block vor der Astrofunktion steht?

              Grüße
              Dirk

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @Moehn last edited by

                @Moehn
                Ja, wird er. Der Schalter wird jederzeit auf einen Tastendruck reagieren wenn das so geschrieben ist.

                Wichtig noch: im "falls objekt"... darfst du den Aktor 0x2 Output A1 nicht "umschalten" sondern du musst ihn auf false setzen (false aus dem Logik Block, nicht "false" aus dem text block.

                Ansonsten schaltest du den Rolladen damit ein und aus.

                A.

                1 Reply Last reply Reply Quote 0
                • M
                  Moehn last edited by

                  Hallo

                  Ich habe an meine iobrokerraspy eine Relaiskarte dran die ich über einen MCP23017 schalte.

                  Wenn ich nun das script starte zieht das Relais aber sofort an.

                  Ich haben das script nach deiner Anleitung umgeschrieben.
                  7db2d2dc-77e9-4bae-bbce-db46a6b0b16d-grafik.png Bildschirmfoto 2020-02-11 um 22.26.59.png

                  Grüße
                  Dirk

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @Moehn last edited by

                    @Moehn
                    Der Block "umschalten ..." zwischen dem trigger und dem Astro Block muss weg. Der ist dafür verantwortlich, und darf da nicht sein.

                    A.
                    p.s. ich hatte auch nichts davon geschrieben den einzubauen 🙂

                    1 Reply Last reply Reply Quote 0
                    • M
                      Moehn last edited by

                      Hallo

                      Der Block war bei der Umstellung da irgendwie hängengeblieben. Richtig, der macht da keinen SInn.

                      Dann werde ich das morgen früh mal ausprobieren - ich berichte dann.

                      Danke erstmal und gute NAcht.

                      Grüße
                      Dirk

                      1 Reply Last reply Reply Quote 0
                      • M
                        Moehn last edited by

                        Hallo

                        Hallo hier nochmal das aktuelle script.

                        92cfd873-4c14-466c-b1ba-4a688af2393f-grafik.png

                        Es passiert folgendes:
                        Zur eingestellten Astrozeit kommt die Meldung(soll später Rolladen hochfahren): Rollo hoch. Nach ca. 10 Sekunden drücke ich den entsprechenden Taster um den Rollo zu stoppen. Das machte er auch. Aber nach ca. 10 Sekunden zieht das Relais wieder an und bleibt dann dauerhaft an. Wenn ich nun den Taster wieder drücke geht das Relais auch wieder aus.
                        Ich weiß noch von meiner Mikrocontrollerbastelei vor vielen Jahren, das man Taster entprellen muss. Kann es sein, das wie in Zeile 3 und 4 das script damit ein Problem hat und wenn ja wie stelle ich das ab!?

                        09:20:08.743 info javascript.0 (28004) script.js.common.Taster_1: Rollo hoch
                        09:20:08.744 info javascript.0 (28004) script.js.common.Taster_1: Timer läuft
                        09:20:19.517 info javascript.0 (28004) script.js.common.Taster_1: taster gedrückt bei Rollo aktiv
                        09:20:19.722 info javascript.0 (28004) script.js.common.Taster_1: taster gedrückt bei Rollo aktiv
                        09:20:38.746 info javascript.0 (28004) script.js.common.Taster_1: Timer ausBildschirmfoto 2020-02-12 um 09.23.15.png

                        Danke und Grüße
                        Dirk
                        PS: kann erst heute abend weitertesten muss jetzt auch mal Geld verdienen gehen

                        Asgothian 1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @Moehn last edited by Asgothian

                          @Moehn
                          Die Lösung ist einfach und logisch. Wenn der Timeout durchläuft dann schaltest du das Relais um, sprich wenn es an war wird es aus geschaltet, wenn es aus war an.

                          Das ändern in "abschalten" wie auch im Trigger, und alles sollte gut sein.

                          Das gleiche gilt auch für das initial "anschalten" im Astro Zweig. Nicht umschalten, sonder steuern mit "false"

                          Ein Entprell-Problem hast du (glücklicherweise) nicht.

                          Als letztes noch eine Optimierung am Trigger: Wenn du statt "wurde geändert" auf "ist grösser als vorher" reagierst, kannst du das Falls im Trigger löschen, er wird immer nur dann aktiv wenn der Datenpunkt von true auf false wechselt.

                          A.

                          Nachtrag: Ich persönlich mag die "umschalten" Funktion nicht. Es ist immer besser gezielt genau den Wert zu schalten den du erreichen willst, sprich "An" beim anschalten, und "Aus" beim ausschalten. Ansonsten kommt die ganze Logik durch einen von irgendwo her kommenden Wechsel des Ausgangszustandes aus dem Tritt.

                          1 Reply Last reply Reply Quote 0
                          • R
                            R1Snake last edited by

                            Ich empfehle dir Rollershutter als Adapter.

                            Da kannst du Astra und viele andere Einstellungen vornehmen

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

                              @R1Snake sagte in Mal wieder Rolladenschalter:

                              Ich empfehle dir Rollershutter als Adapter.

                              Da kannst du Astra und viele andere Einstellungen vornehmen

                              Meinst du shuttercontrol?

                              1 Reply Last reply Reply Quote 0
                              • R
                                R1Snake last edited by

                                Ah sorry, ja genau den meine ich

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Moehn last edited by

                                  Hallo

                                  Script läuft. Vielen Dank.
                                  Jetzt geht es weiter einen normalen Taster zu programmieren.

                                  Das Rolladenprogramm hab ich mir eben mal runtergeladen - macht ja eigentlich genau das was ich will. Allerdings muss ich mir dann die Rolladentaster wieder als script schreiben. Aber ich werde mir das mal genauer anschauen.

                                  An alle vielen Dank für die Hilfe.

                                  Grüße
                                  Dirk

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  779
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  16
                                  549
                                  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