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.
    • B
      baluderbär last edited by

      Hallo an Alle,

      was mache ich hier nur wieder falsch? Prinzipiell funktioniert es, leider nicht zu 100%.

      Soll: Aktor soll bei Bewegung schalten und dann wieder ausgehen. Das Ganze aber nur zwischen Sonnenuntergang und Sonnenaufgang.

      Ist: Aktor schaltet bei Bewegung, aber den ganzen Tag. D.h. die Eingrenzung zwischen Sonnenuntergang und Sonnenaufgang funktioniert nicht.

      Sicherlich ist die Lösung nicht schwer, komme aber nicht drauf. Wahrscheinlich ist der zeitliche Block an der falschen Stelle.

      Viele Grüße

      Balu
      1525_1.jpg

      1 Reply Last reply Reply Quote 0
      • S
        Stefan1984 last edited by

        Den Trigger würde ich auf „aktualisiert“ setzen. Den ersten „falls“-Baustein, der den Strahler prüft, würde ich mit „und“ ergänzen und dort die Astro Funktion hinziehen. Somit fällt der zweite verschachtelte „falls“-Baustein weg. Dann steuerst Du den Strahler mit wahr. Zusätzlich noch einen weiteren Steuer-Baustein, der den Strahler verzögert um 30 Minuten ausschaltet.

        So sparst Du Dir auch den kompletten zweiten Trigger.

        Probier mal und gib gern Rückmeldung.

        Gesendet von iPhone mit Tapatalk

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

          Hallo Stefan,

          danke für deinen Input. Jetzt läuft es (Umsetzung siehe Bild). Habe zum Testen die Geräte verändert und Sonnenuntergang und -aufgang vertauscht..

          Mal schauen ob es bei Sonnenuntergang funktioniert.

          Viele Grüße

          Balu
          1525_2.jpg

          1 Reply Last reply Reply Quote 0
          • 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

                                          493
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

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