Navigation

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

    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

    Blockly Astro-Rolladensteuerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gerni last edited by

      Hi,

      bisschen groß daher kleiner Zoom hoffe man kann noch alles lesen.

      Gruß
      3449_2018-03-10_22_04_27-iobroker.admin.png

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

        Da gibt es tatsächlich noch ein problem…

        die Prüfung ab 7:00, ob die aktuelle Zeit größer gleich der Zeit des Sonnenaufgangs ist funktinoiert nicht..

        Ich habe die Zeiten mal ins Log schreiben lassen... Die Formate sind unterschiedlich:

        aktuelle Zeit: 7:001520834400693

        Sonnenaufgang: Mon Mar 12 2018 06:48:30 GMT+0100 (Mitteleuropäische Zeit)

        Das kann man so wohl nicht vergleichen, und damit bleiben die Rollos morgens unten....

        Wie könnte man das denn sonst machen ?

        1 Reply Last reply Reply Quote 0
        • L
          loi83 last edited by

          Bei mir läuft das Script ohne Probleme. Allerdings habe ich den Astrotrigger auf "größer als" stehen.

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

            ich habe jetzt gerade in einem extra script den Zeitvergleich laufen lassen.. der läuft… scheinbar liegt es bei mir noch an was anderem...

            1 Reply Last reply Reply Quote 0
            • G
              Gerni last edited by

              Habe das ursprüngliche Skript mal neu eingefügt und meine Geräte eingebunden. Nun funktioniert es auch. Was auch immer da falsch war, das Skript scheint zu laufen.

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

                nachdem es bei mir jetzt mir dem Hochfahren immer noch Probleme gab habe ich mal analysiert..

                Man probiert ja rumm und testet.. und dabei stellte ich fest, dass die Variable Arbeitstag beim Scriptstart wohl überschrieben wird… Die hat dann erstmal keinen Wert...

                Und hoch prüft ja immer auf true..

                Ich dachte, dass wenn eine Variable bei createstate schon existiert, dass die dann beibehalten wird ?

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

                  ` > >Und den Baustein "Zustand erzeugen" könnte ich jetzt theoretisch aus dem Script löschen da er ja schon erstellt ist, oder macht es Sinn ihn dauerhaft so stehen zu lassen?

                  Der kann theoretisch raus. Vorteil den dazulassen: wenn du die Scripte exportierst und neu / woanders einbindest ( Systemcrash oder ähnliches ) werden die benötigten Datenpunkte automatisch neu erzeugt. `

                  Ich muss hier nochmal nachfassen…

                  Wenn ich den Zustand im Script erzeugen lasse, dann wird jedesmal, wenn der Javascript Adapter neu startet, der Datenpunkt auch neu erzeugt und viel schlimmer: er hat keinen Anfangswert (false oder true).. Wenn dies nun nach dem Zeitpunkt, an dem geprüft wird, ob es ein Arbeitstag ist passiert, dann gehen die Rollos morgens nicht hoch.. Also habe ich direkt nach dem Zustand erzeugen den Wert auf true gesetzt...

                  Prompt ist heute morgen um 7:00 alles im Haus wach gewesen....

                  Wie kann ich im Blockly prüfen, ob ein Datenpunkt schon existiert ? , damit nur für den Fall, dass dies nicht so ist der Datenpunkt erzeugt wird ?

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

                    @mameier1234:

                    Wenn ich den Zustand im Script erzeugen lasse, dann wird jedesmal, wenn der Javascript Adapter neu startet, der Datenpunkt auch neu erzeugt und viel schlimmer: er hat keinen Anfangswert (false oder true).. Wenn dies nun nach dem Zeitpunkt, an dem geprüft wird, ob es ein Arbeitstag ist passiert, dann gehen die Rollos morgens nicht hoch.. Also habe ich direkt nach dem Zustand erzeugen den Wert auf true gesetzt…

                    Prompt ist heute morgen um 7:00 alles im Haus wach gewesen.... `
                    Da wirst Du etwas falsch programmiert haben.

                    Datenpunkte (global) werden nicht neu angelegt wenn sie schon vorhanden sind. Die Inhalte bleiben erhalten!

                    Variablen (lokal) haben bei Script-Start keinen Zustand und sollten initialisiert werden.

                    Grüße

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

                      Hallo,

                      da ich aktuell auch an diesem Thema dran bin, in sehr ähnlicher Art: passt das so mit dem Blocky Script eurer Meinung nach?

                      Anforderungen für aufgehende Rollos:

                      • Hochfahren soll sich nach der Zeit des Sonnenaufgangs richten

                      • Frühestens jedoch ab 07 Uhr soll ein Rollo hochgefahren werden (sprich wenn der Sonnenaufgang früher ist soll trotzdem erst ab 07 Uhr hochgefahren werden)

                      • Wochentag ist aktuell egal

                      Anforderungen für herunterfahrende Rollos:

                      • Herunterfahren soll sich nach der Zeit des Sonnenuntergangs richten

                      • Spätestens jedoch ab 21 Uhr soll ein Rollo heruntergefahren werden (sprich wenn der Sonnenuntergang später ist soll trotzdem bis 21 Uhr heruntergefahren werden)

                      • Wochentag ist aktuell egal

                      Durch meinen Aufbau muss ich jeweils das gleiche Relais einschalten und wieder ausschalten nach einer bestimmten Zeit. Die Zeit richtet sich nach der Position und Länge der Rolladen. Es sollen nach und nach die Rolladen hoch- bzw. heruntergefahren werden.

                      Meine ersten Versuche für das Herunterfahren der Rollos (bisher nur zwei Rollos eingestellt):

                      9311_down.png

                       <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="V3Qiff8:Udc_Oz:dFt{." x="-12" y="188"><field name="COMMENT">Rolladen spätestens um 21:00 Uhr schließen, unabhängig vom Zeitpunkt des Sonnenunterganges</field>
                          <next><block type="controls_if" id="ZmdNI/n9l#D!_zw9@=TM"><value name="IF0"><block type="time_compare_ex" id="Me{oe]?dD`NjgYiMO_]6"><mutation end_time="false" actual_time="true"></mutation>
                                  <field name="USE_ACTUAL_TIME">TRUE</field>
                                  <field name="OPTION"><</field>
                                  <value name="START_TIME"><shadow type="text" id="]zjUQj]-wxcIItij4)J!"><field name="TEXT">21:00</field></shadow></value></block></value> 
                              <statement name="DO0"><block type="astro" id="oCTx5cQc,z-+P:x]E%s-"><field name="TYPE">sunset</field>
                                  <field name="OFFSET">0</field>
                                  <statement name="STATEMENT"><block type="timeouts_settimeout" id="H4/j52eMLM;@[FcV[lU("><field name="NAME">timeout</field>
                                      <field name="DELAY">1000</field>
                                      <field name="UNIT">ms</field>
                                      <statement name="STATEMENT"><block type="control" id="O,XW~5.2zU-Va(PUHg]7"><mutation delay_input="false"></mutation>
                                          <field name="OID">modbus.5.coils.548_eg0204</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="hg9XNw9n`{A8bd%!Zo)l"><field name="BOOL">TRUE</field></block></value> 
                                          <next><block type="control" id="|A(fXW.7Zkrp%7o;SILK"><mutation delay_input="true"></mutation>
                                              <field name="OID">modbus.5.coils.548_eg0204</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">30</field>
                                              <field name="UNIT">sec</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="%pM:J4@^+M2D}9AbJl0g"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> 
                                      <next><block type="timeouts_settimeout" id="}BO:cComxHZh73@?wO6y"><field name="NAME">timeout2</field>
                                          <field name="DELAY">2000</field>
                                          <field name="UNIT">ms</field>
                                          <statement name="STATEMENT"><block type="control" id="h9JqkQuX-O!DT_Fmg*vL"><mutation delay_input="false"></mutation>
                                              <field name="OID">modbus.5.coils.557_eg0213</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="C-*mwTs~r.8`|di|Ga)6"><field name="BOOL">TRUE</field></block></value> 
                                              <next><block type="control" id="T.ZXH;%]g(cDhfBtPBPt"><mutation delay_input="true"></mutation>
                                                  <field name="OID">modbus.5.coils.557_eg0213</field>
                                                  <field name="WITH_DELAY">TRUE</field>
                                                  <field name="DELAY_MS">20</field>
                                                  <field name="UNIT">sec</field>
                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="Y+}rkc%eJKnI5@RgA7Li"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block></statement></block></next></block></xml> 
                      

                      Meine ersten Versuche für das Hochfahren der Rollos (bisher nur ein Rollo eingestellt):

                      9311_up.png

                       <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="S?S}TM-;HO2ooC1K!R6~" x="-87" y="-37"><field name="COMMENT">Rolladen frühestens ab 07 Uhr öffnen, unabhängig vom Zeitpunkt des Sonnenaufgangs</field>
                          <next><block type="controls_if" id="s]*y%-ygrc#|C,sg9dNb"><value name="IF0"><block type="time_compare_ex" id="8Oph^mggw9Ac!-t(MSIv"><mutation end_time="false" actual_time="true"></mutation>
                                  <field name="USE_ACTUAL_TIME">TRUE</field>
                                  <field name="OPTION">></field>
                                  <value name="START_TIME"><shadow type="text" id="Cm_)CGN%),AcpwZ-gM2,"><field name="TEXT">07:00</field></shadow></value></block></value> 
                              <statement name="DO0"><block type="astro" id="tG(/)%OB/(DO(NY5=}Bz"><field name="TYPE">sunrise</field>
                                  <field name="OFFSET">0</field>
                                  <statement name="STATEMENT"><block type="timeouts_settimeout" id="45?/:B@vx%AQPdh!7=Tm"><field name="NAME">timeout</field>
                                      <field name="DELAY">1000</field>
                                      <field name="UNIT">ms</field>
                                      <statement name="STATEMENT"><block type="control" id="O,XW~5.2zU-Va(PUHg]7"><mutation delay_input="false"></mutation>
                                          <field name="OID">modbus.5.coils.521_eg0009</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="hg9XNw9n`{A8bd%!Zo)l"><field name="BOOL">TRUE</field></block></value> 
                                          <next><block type="control" id="|A(fXW.7Zkrp%7o;SILK"><mutation delay_input="true"></mutation>
                                              <field name="OID">modbus.5.coils.521_eg0009</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">30</field>
                                              <field name="UNIT">sec</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="%pM:J4@^+M2D}9AbJl0g"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></statement></block></next></block></xml> 
                      
                      1 Reply Last reply Reply Quote 0
                      • G
                        Gerni last edited by

                        Hi,

                        Ich nutze mein gepostetes o.s. Skript noch so wie es da steht. Hatte es jetzt deaktiviert aufgrund Nachwuchs - er soll durch ein fahrendes Rollo ja nicht geweckt werden. Ich habe es jetzt wieder aktiviert.

                        Problem:

                        Die Rollos bewegen sich jede Nacht gegen 12 Uhr also 00:00 Uhr auf den eingestellten Wert. NIcht aber gemäß Astro. Zu 00:00 Uhr passiert lt. Skript aber keine Bewegung sondern um 00:10 soll ja nur geprüft werden ob Feiertag bzw Wochentag oder Wochenende ist. Der "Feiertage" Adapter prüft im STandard lt. Cron um 00:00 UHr welche Art von Tag es ist.

                        Jemand ne Idee?

                        Gruß

                        Stefan

                        1 Reply Last reply Reply Quote 0
                        • L
                          loi83 last edited by

                          Guten Morgen zusammen.

                          Habe gerade an dem Blockly die Zeiten von 7:00 auf 7:30 geändert. Script gespeichert dann kommt der Fehler.

                          zudem kommt im LOG

                          javascript.0	2018-12-30 08:49:23.325	error	at TCP.onread (net.js:601:20)
                          javascript.0	2018-12-30 08:49:23.325	error	at Socket.Readable.push (_stream_readable.js:208:10)
                          javascript.0	2018-12-30 08:49:23.325	error	at readableAddChunk (_stream_readable.js:250:11)
                          javascript.0	2018-12-30 08:49:23.325	error	at addChunk (_stream_readable.js:263:12)
                          javascript.0	2018-12-30 08:49:23.325	error	at Socket.emit (events.js:211:7)
                          javascript.0	2018-12-30 08:49:23.325	error	at emitOne (events.js:116:13)
                          javascript.0	2018-12-30 08:49:23.325	error	at Socket._ultron.on (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:138:22)
                          javascript.0	2018-12-30 08:49:23.325	error	at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:139:10)
                          javascript.0	2018-12-30 08:49:23.324	error	at Receiver.startLoop (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:165:16)
                          javascript.0	2018-12-30 08:49:23.324	error	at Receiver.getData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:330:12)
                          javascript.0	2018-12-30 08:49:23.324	error	at Receiver.dataMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/Receiver.js:389:14)
                          javascript.0	2018-12-30 08:49:23.324	error	at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:141:47)
                          javascript.0	2018-12-30 08:49:23.324	error	at WebSocket.emit (events.js:211:7)
                          javascript.0	2018-12-30 08:49:23.324	error	at emitOne (events.js:116:13)
                          javascript.0	2018-12-30 08:49:23.324	error	at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:99:16)
                          javascript.0	2018-12-30 08:49:23.324	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:147:10)
                          javascript.0	2018-12-30 08:49:23.324	error	at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8)
                          javascript.0	2018-12-30 08:49:23.324	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8)
                          javascript.0	2018-12-30 08:49:23.324	error	at WS.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
                          javascript.0	2018-12-30 08:49:23.324	error	at WS. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:273:10)
                          javascript.0	2018-12-30 08:49:23.324	error	at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:456:14)
                          javascript.0	2018-12-30 08:49:23.324	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
                          javascript.0	2018-12-30 08:49:23.324	error	at Socket. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
                          javascript.0	2018-12-30 08:49:23.324	error	at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:335:16)
                          javascript.0	2018-12-30 08:49:23.324	error	at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:251:12)
                          javascript.0	2018-12-30 08:49:23.323	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
                          javascript.0	2018-12-30 08:49:23.323	error	at Decoder. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
                          javascript.0	2018-12-30 08:49:23.323	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
                          javascript.0	2018-12-30 08:49:23.323	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
                          javascript.0	2018-12-30 08:49:23.323	error	at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
                          javascript.0	2018-12-30 08:49:23.323	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12)
                          javascript.0	2018-12-30 08:49:23.323	error	at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9)
                          javascript.0	2018-12-30 08:49:23.323	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:823:17)
                          javascript.0	2018-12-30 08:49:23.323	error	at createActiveObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1200:20)
                          javascript.0	2018-12-30 08:49:23.322	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1146:37)
                          javascript.0	2018-12-30 08:49:23.322	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:957:28)
                          javascript.0	2018-12-30 08:49:23.322	error	at Object.createScript (vm.js:80:10)
                          javascript.0	2018-12-30 08:49:23.322	error	SyntaxError: missing ) after argument list
                          javascript.0	2018-12-30 08:49:23.322	error	^^
                          javascript.0	2018-12-30 08:49:23.322	error	schedule(10 0 * * 1-5, function () {
                          javascript.0	2018-12-30 08:49:23.322	error	script.js.Rollo.Rollo_Steuerung_ compile failed: at script.js.Rollo.Rollo_Steuerung_:4</anonymous></anonymous></anonymous></anonymous>
                          

                          Selbst wenn ich mein gespeichertes Backup Script unverändert importiere kommt der Fehler.
                          5495_rollo_fehler.png

                          1 Reply Last reply Reply Quote 0
                          • J
                            Jan1 last edited by

                            Du hast Javascript Adapter 4.0.6 und den damit verbundenen Bug im CRON. Mach ein Downgrade auch 3.6.4 und es läuft wieder 😉

                            1 Reply Last reply Reply Quote 0
                            • L
                              loi83 last edited by

                              @Jan1:

                              Du hast Javascript Adapter 4.0.6 und den damit verbundenen Bug im CRON. Mach ein Downgrade auch 3.6.4 und es läuft wieder 😉 `
                              Selber Fehler im Bild nach dem Downgrade.

                              im LOG steht

                              javascript.0	2018-12-30 11:26:25.144	error	at Object.createScript (vm.js:80:10)
                              javascript.0	2018-12-30 11:26:25.144	error	SyntaxError: missing ) after argument list
                              javascript.0	2018-12-30 11:26:25.144	error	^^
                              javascript.0	2018-12-30 11:26:25.144	error	schedule(10 0 * * 1-5, function () {
                              javascript.0	2018-12-30 11:26:25.143	error	script.js.Rollo.Rollo_Steuerung_ compile failed: at script.js.Rollo.Rollo_Steuerung_:4
                              

                              EDIT

                              Nach einfügen des Musterscriptes geht es doch wieder.

                              1 Reply Last reply Reply Quote 0
                              • J
                                Jan1 last edited by

                                boote mal den Raspi durch

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                627
                                Online

                                31.8k
                                Users

                                79.9k
                                Topics

                                1.3m
                                Posts

                                11
                                42
                                10909
                                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