Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blocky - was mache ich falsch?

    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

    Blocky - was mache ich falsch?

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      RappiRN Most Active last edited by

      Das Problem im ersten Bild war, dass der "steuere" Block nicht in der zweiten "falls" Klammer drin war,, deshalb wurde das zweite "falls" nicht beachtet! An der Lösung kannst du ja sehen, das es jede Menge Wege nach Rom gibt! 🙂

      Enrico

      1 Reply Last reply Reply Quote 0
      • B
        baluderbär last edited by

        Kann es sein, dass die Astro-Funktion nur einmal nach Script-Start funktioniert?

        Alle meine Scripte die bei Sonnenuntergang starten sollen, bleiben ohne Funktion.

        Kann das jemand bestätigen oder geht es nur mir so?

        Gruß Balu

        1 Reply Last reply Reply Quote 0
        • R
          RappiRN Most Active last edited by

          Zeig doch mal bitte ein Beispiel.

          Enrico

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

            @baluderbär:

            Kann das jemand bestätigen…. `
            Nö.

            Ein Bild sagt mehr als 1000 Worte 😉

            Grüße

            1 Reply Last reply Reply Quote 0
            • B
              baluderbär last edited by

              Hallo Enrico,

              hier zwei Beispiele (Sonnenuntergang bei mir hier 16:32)

              Gruß Balu
              1525_1.jpg
              1525_2.jpg

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

                Ist das ein HM Bewegungsmelder?

                Die trigger ich anders.

                Pack doch mal einen Debug-Baustein in den Trigger.

                Dann kannst Du im LOG sehen ob der überhaupt startet.

                Dann schau doch mal ob Deine Astrozeiten stimmen.
                147_beispiel.png

                Export:

                ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="debug" id="M-vD.JjX#wC?S3qGe/BB" x="-687" y="-12"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="+84Za%BiKQHPNHbyG(N^"><field name="TEXT">test</field></shadow> <block type="convert_from_date" id="0,:_rdSmLn9IQHV6?i2_"><mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm</field> <value name="VALUE"><block type="time_astro" id="Ac`+=HqFPWPrrICLXt7f"><field name="TYPE">sunset</field> <field name="OFFSET">0</field></block></value></block></value> <next><block type="debug" id="]V7r;LFZBPjks8Pj:xs+"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="+84Za%BiKQHPNHbyG(N^"><field name="TEXT">test</field></shadow> <block type="convert_from_date" id="-uXXdCJ*@o|n[Oa,X1-9"><mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm</field> <value name="VALUE"><block type="time_astro" id="T_^j1b0hI*c[_eG%y-P+"><field name="TYPE">sunrise</field> <field name="OFFSET">0</field></block></value></block></value></block></next></block></xml> !

                Und "STATE" ist meist wahr/unwahr true/false.

                Grüße

                1 Reply Last reply Reply Quote 0
                • B
                  baluderbär last edited by

                  Hallo,

                  hab es mal abgeändert (mit Debug):

                  Ergebnis:

                  17:38:57.518	[info]	javascript.0 Stop script script.js.common.Licht_AZ_Tuer
                  17:38:57.535	[info]	javascript.0 Start javascript script.js.common.Licht_AZ_Tuer
                  17:38:57.535	[info]	javascript.0 script.js.common.Licht_AZ_Tuer: false
                  17:38:57.535	[info]	javascript.0 script.js.common.Licht_AZ_Tuer: Tue Nov 28 2017 07:54:52 GMT+0100 (Mitteleuropäische Zeit)
                  17:38:57.535	[info]	javascript.0 script.js.common.Licht_AZ_Tuer: Tue Nov 28 2017 16:34:07 GMT+0100 (Mitteleuropäische Zeit)
                  17:38:57.535	[info]	javascript.0 script.js.common.Licht_AZ_Tuer: registered 0 subscriptions and 0 schedules
                  

                  Astrozeiten sollten also stimmen. Und bzgl. dem Bewegungsmelder: ja, es ist einer von HM.

                  Gruß Balu
                  1525_3.jpg

                  1 Reply Last reply Reply Quote 0
                  • B
                    baluderbär last edited by

                    Hab jetzt nur mal die Astrozeiten ausgewertet. Es muss wohl an der ersten Abfrage liegen. Die aktuelle Zeit liegt dementsprechend nicht dazwischen. Nur wieso?

                    Sonnenuntergang, Sonnenaufgang und aktuelle Zeit passen.

                    • 17:50:26.215 [info] javascript.0 Stop script script.js.common.Licht_AZ_Tuer_Test
                    17:50:26.220 [info] javascript.0 Start javascript script.js.common.Licht_AZ_Tuer_Test
                    
                    17:50:26.220 [info] javascript.0 script.js.common.Licht_AZ_Tuer_Test: false
                    
                    17:50:26.220 [info] javascript.0 script.js.common.Licht_AZ_Tuer_Test: 17:50:26
                    
                    17:50:26.220 [info] javascript.0 script.js.common.Licht_AZ_Tuer_Test: Tue Nov 28 2017 07:54:52 GMT+0100 (Mitteleuropäische Zeit)
                    
                    17:50:26.220 [info] javascript.0 script.js.common.Licht_AZ_Tuer_Test: Tue Nov 28 2017 16:34:07 GMT+0100 (Mitteleuropäische Zeit)
                    
                    17:50:26.220 [info] javascript.0 script.js.common.Licht_AZ_Tuer_Test: registered 0 subscriptions and 0 schedules 
                    

                    Gruß Balu
                    1525_4.jpg

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

                      Das sieht ja schon mal gut aus.

                      Die Ausgabe von "false" ist Dir auch klar?

                      Das ist das Ergebnis von Deiner Bedingung "Wert von xyz =0 <u>UND</u> Zeit zwischen …....."

                      Bei einer UND Bedingung müssen BEIDE Aussagen WAHR sein.

                      Da Deine Lampe wohl aus war (LEVEL=0) stimmt die zweite Bedingung nicht.

                      Und da haben wir's.

                      Ist die aktuelle Zeit zwischen Sonnenuntergang und Sonnenaufgang? -->Ergibt immer FALSE

                      Zeitbereiche die über den Tageswechsel gehen muss man anders abfragen.

                      Liegt aktuelle Zeit zwischen Sonnenuntergang und 23:59

                      <u>ODER</u>

                      Liegt die aktuelle Zeit zwischen 00:00 und Sonnenaufgang

                      Grüße

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

                        Mit Zeiten arbeiten ist recht kompliziert.

                        Falls Du mehrere Sachen mit Sonnenaufgang und -untergang machen möchtest, schau Dir mal dieses Blockly an.

                        http://forum.iobroker.net/viewtopic.php … tro#p48209

                        Grüße

                        1 Reply Last reply Reply Quote 0
                        • B
                          baluderbär last edited by

                          Habe es jetzt so umgesetzt und funktioniert erst einmal. Sollte dann hoffentlich auch nach 00:00 Uhr gehen 🙂

                          Danke für deine Hilfe.

                          Eine andere Frage: wie kann ich Werte in einer Variablen speichern? Im konkreten Fall den Wert von "Sonnenmittag". Am liebsten wäre mir, wenn der Wert in einen Datenpunkt geschrieben werden würde. So wie ich es versuche funktioniert es nicht. Muss ich zuerst eine Variable anlegen oder geschieht das automatisch?

                          Oder kann ich die Werte aus dem Skript

                          // Astrozeiten für heute - V1.0
                          
                          log("=====================");
                          log("Astro Werte für heute");
                          log("=====================");
                          //-----------------------------------------------------------------
                          var nightEnd = getAstroDate("nightEnd");
                          log(" (0) nightEnd (Ende der Nacht)........................: " + nightEnd.toLocaleTimeString());
                          var nauticalDawn = getAstroDate("nauticalDawn");
                          log(" (1) nauticalDawn (naut. Dämmerung Morgens)...........: " + nauticalDawn.toLocaleTimeString());
                          var dawn = getAstroDate("dawn");
                          log(" (2) dawn (Dämmerung Morgens).........................: " + dawn.toLocaleTimeString());
                          var sunrise = getAstroDate("sunrise");
                          log(" (3) sunrise (Sonnenaufgang)..........................: " + sunrise.toLocaleTimeString());
                          var sunriseEnd = getAstroDate("sunriseEnd");
                          log(" (4) sunriseEnd (Ende des Sonnenaufgangs).............: " + sunriseEnd.toLocaleTimeString());
                          var goldenHourEnd = getAstroDate("goldenHourEnd");
                          log(" (5) goldenHourEnd (Ende der Golden Hour VM)..........: " + goldenHourEnd.toLocaleTimeString());
                          var solarNoon = getAstroDate("solarNoon");
                          log(" (6) solarNoon (Mittag)...............................: " + solarNoon.toLocaleTimeString());
                          var goldenHour = getAstroDate("goldenHour");
                          log(" (7) goldenHour (Start der Golden Hour NM)............: " + goldenHour.toLocaleTimeString());
                          var sunsetStart = getAstroDate("sunsetStart");
                          log(" (8) sunsetStart (Start des Sonnenuntergangs).........: " + sunsetStart.toLocaleTimeString());
                          var sunset = getAstroDate("sunset");
                          log(" (9) sunset (Sonnenuntergang).........................: " + sunset.toLocaleTimeString());
                          var dusk = getAstroDate("dusk");
                          log("(10) dusk (Dämmerung Abends)..........................: " + dusk.toLocaleTimeString());
                          var nauticalDusk = getAstroDate("nauticalDusk");
                          log("(11) nauticalDusk (naut. Dämmerung Abends)............: " + nauticalDusk.toLocaleTimeString());
                          var night = getAstroDate("night");
                          log("(12) night (Start der Nacht)..........................: " + night.toLocaleTimeString());
                          var nadir = getAstroDate("nadir");
                          log("(13) nadir (Mitternacht)..............................: " + nadir.toLocaleTimeString());
                          log("=====================");
                          var today = new Date();
                          var tomorrow = today.setDate(today.getDate()+1);
                          var tomorrowNight = getAstroDate("night", tomorrow);
                          log("Night starts tomorrow at " + tomorrowNight.toLocaleTimeString());
                          

                          automatisch in Datenpunkte schreiben? Im Log zeigt er mir folgende Werte an:

                          18:35:33.488	[info]	javascript.0 Stop script script.js.common.Astrozeiten
                          18:35:33.495	[info]	javascript.0 Start javascript script.js.common.Astrozeiten
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: =====================
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: Astro Werte für heute
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: =====================
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (0) nightEnd (Ende der Nacht)........................: 06:01:26
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (1) nauticalDawn (naut. Dämmerung Morgens)...........: 06:39:20
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (2) dawn (Dämmerung Morgens).........................: 07:18:50
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (3) sunrise (Sonnenaufgang)..........................: 07:54:52
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (4) sunriseEnd (Ende des Sonnenaufgangs).............: 07:58:43
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (5) goldenHourEnd (Ende der Golden Hour VM)..........: 08:47:20
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (6) solarNoon (Mittag)...............................: 12:14:29
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (7) goldenHour (Start der Golden Hour NM)............: 15:41:39
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (8) sunsetStart (Start des Sonnenuntergangs).........: 16:30:16
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (9) sunset (Sonnenuntergang).........................: 16:34:07
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (10) dusk (Dämmerung Abends)..........................: 17:10:09
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (11) nauticalDusk (naut. Dämmerung Abends)............: 17:49:39
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (12) night (Start der Nacht)..........................: 18:27:33
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: (13) nadir (Mitternacht)..............................: 00:14:29
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: =====================
                          18:35:33.496	[info]	javascript.0 script.js.common.Astrozeiten: Night starts tomorrow at 18:27:08
                          

                          Gruß Balu
                          1525_6.jpg
                          1525_5.jpg

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

                            @baluderbär:

                            Eine andere Frage: wie kann ich Werte in einer Variablen speichern? `

                            Mit Blockly globale Variablen (State) geht mit dem Baustein "Zustand erzeugen".

                            Die findest Du dann unter Objekte/Javascrip.0.

                            Ich habe Dir mal ein Beispiel gemacht.

                            Script 1x Starten und wieder beenden.

                            Damit werden die Variablen angelegt.
                            147_beispiel.png

                            Export:

                            ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="AV^rbElg]V*Y7a6{.a]L" x="63" y="113"><field name="NAME">Sonnenaufgang</field> <statement name="STATEMENT"><block type="create" id="L`pgki4hz7qYrBas|sg5"><field name="NAME">Sonnenuntergang</field></block></statement></block> <block type="comment" id="zpl3%ouxz+|Kzu/{{QVW" x="83" y="234"><field name="COMMENT">Jeden Tag um 00:01 Uhr</field> <next><block type="schedule" id="u,*D2BbzoUO6VN,jtjVN"><field name="SCHEDULE">1 0 * * *</field> <statement name="STATEMENT"><block type="control" id="K/koHmN?NeusI_YfMw]8"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Sonnenaufgang</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="time_astro" id="X?^;i?qe+k|A/B.Eeo!E"><field name="TYPE">sunrise</field> <field name="OFFSET">0</field></block></value> <next><block type="control" id="B)]VVSxyMSuzRP0|NQej"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Sonnenuntergang</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="time_astro" id="e88~:IM:Isfm)QVjN#d#"><field name="TYPE">sunset</field> <field name="OFFSET">0</field></block></value></block></next></block></statement></block></next></block></xml> !

                            Das Script startet immer um 00:01 Uhr und füllt die Variablen mit den aktuellen Astrozeiten.

                            Kannst Du beliebig erweitern.

                            Grüße

                            1 Reply Last reply Reply Quote 0
                            • B
                              baluderbär last edited by

                              Danke, echt klasse wie einem geholfen wird, danke rantanplan. Werde ich später mal umsetzen.

                              Gruß Balu

                              1 Reply Last reply Reply Quote 0
                              • R
                                RappiRN Most Active last edited by

                                In deinem Post mit den vielen Ausschnitten ist bei Bild 5 ein Fehler zu sehen.

                                Da ist der ausführende Teil unter der "falls"-Bedingung, nicht in der "falls"-Bedingung. Und dann noch, ist da ein Dimmer an den LED-Spots? Wenn nicht muss da wahr oder eben für aus false rein. Oder soll das für die Verzögerung sein??

                                Enrico

                                Edit: Ok, ich habe grad gesehen, dass da ja LEVEL steht, also Dimmer! :oops: Aber soll das Licht sofort beim Schließen der Tür wieder ausgehen?

                                1 Reply Last reply Reply Quote 0
                                • B
                                  baluderbär last edited by

                                  Danke für den Hinweis, werde es ändern.

                                  An den LED-Spots hängt ein Dimmer, richtig. Und die Spots sollen nur auf 30% hochfahren. Dass es gleich wieder ausgehen soll ist richtig (Tür schließen - Licht aus)

                                  Gruß Balu

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

                                    Also ohne näher zu schauen, muss das erste steuere oben in die zange geschoben werden, nicht darunter

                                    Gesendet von meinem F5121 mit Tapatalk

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    845
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    5
                                    19
                                    1863
                                    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