Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. English
    3. Scripting / Logic
    4. Blockly
    5. ASTRO function. Does not work again

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ASTRO function. Does not work again

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ap2017 @iomountain last edited by

      @iomountain Thanks! I will try again on new X64 computer with freshly loaded software.

      1 Reply Last reply Reply Quote 0
      • A
        ap2017 @iomountain last edited by

        @iomountain This script works fine when started, it creates objects, but I want to use ASTRO to turn ON my lights repeatably, that what I have trouble with.

        1 Reply Last reply Reply Quote 0
        • A
          ap2017 @iomountain last edited by

          @iomountain After all latest updates ASTRO seems to work fine. Don't exactly know what happened, but it works. Thank you for your help

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

            schön das es jetzt läuft, hab noch viel Spass mit iobroker.
            Vielleicht kannst du noch Deine Version posten und den Tread auf gelöst setzen.
            Viele Grüße
            Ralph

            1 Reply Last reply Reply Quote 1
            • A
              ap2017 last edited by ap2017

              Have this issue with ASTRO again after adding few different lights to control by ASTRO. Same problem as before, function ASTRO is ignored by the system - nothing in debug log.

              Here is my script:

              schedule({astro: "goldenHour", shift: 0}, function () {
              console.log('astro_on_golden_hour');
              // Florida Room
              setState("zwave.0.NODE7.SWITCH_MULTILEVEL.Level_1"/Level/, 99);
              // Living
              setState("zwave.0.NODE2.SWITCH_BINARY.Switch_1"/Switch/, true);
              // TV Room
              setState("zigbee.0.000b57fffebcfc39.state"/TRADFRI bulb E26 W opal 1000lm Switch state/, true);
              // Office
              setState("zigbee.0.90fd9ffffe2bad6b.state"/TRADFRI bulb E26 W opal 1000lm Switch state/, true);
              });
              schedule({astro: "dusk", shift: 0}, function () {
              console.log('astro_on_sunset');
              // Outside
              setState("zwave.0.NODE11.SWITCH_BINARY.Switch_1"/Switch/, true);
              // Front Door
              setState("zigbee.0.d0cf5efffe7d475c.state"/TRADFRI bulb E26 W opal 1000lm Switch state/, true);
              });
              schedule("30 23 * * *", function () {
              console.log('schedule_off');
              // Florida Room
              setState("zwave.0.NODE7.SWITCH_MULTILEVEL.Level_1"/Level/, 0);
              // Living
              setState("zwave.0.NODE2.SWITCH_BINARY.Switch_1"/Switch/, false);
              // Outside
              setState("zwave.0.NODE11.SWITCH_BINARY.Switch_1"/Switch/, false);
              // TV Room
              setState("zigbee.0.000b57fffebcfc39.state"/TRADFRI bulb E26 W opal 1000lm Switch state/, false);
              // Office
              setState("zigbee.0.90fd9ffffe2bad6b.state"/TRADFRI bulb E26 W opal 1000lm Switch state/, false);
              // Front Door
              setState("zigbee.0.d0cf5efffe7d475c.state"/TRADFRI bulb E26 W opal 1000lm Switch state/, false);
              });
              // Basement Light
              on({id: "mysensors.0.9.3_DOOR.V_TRIPPED"/9.3_DOOR.V_TRIPPED/, val: true}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              setState("zwave.0.NODE15.SWITCH_BINARY.Switch_1"/Switch/, true);
              setState("zwave.0.NODE16.SWITCH_BINARY.Switch_1"/Switch/, true);
              });
              on({id: "mysensors.0.9.3_DOOR.V_TRIPPED"/9.3_DOOR.V_TRIPPED/, val: false}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              setState("zwave.0.NODE15.SWITCH_BINARY.Switch_1"/Switch/, false);
              setState("zwave.0.NODE16.SWITCH_BINARY.Switch_1"/Switch/, false);
              });

              1 Reply Last reply Reply Quote 0
              • C
                cbr last edited by cbr

                Hello everybody,

                first of all I'm new to ioBroker (I installed it on a Raspberry Pi 4 just recently).
                However I'm having a similar problem.

                I have two scripts:

                Switch by ping

                var bool_NightTime;

                function HS100_switch() {
                if (bool_NightTime == true && getState("ping.0.raspberrypi.IP").val == true) {
                setState("hs100.0.IP.state"/HS100_Arbeitszimmer/, true);
                } else {
                setState("hs100.0.IP.state"/HS100_Arbeitszimmer/, false);
                }
                }

                bool_NightTime = compareTime(getAstroDate("sunrise", undefined, 0), getAstroDate("sunset", undefined, -20), "not between", null);
                console.log(('NightTime: ' + String(('' + bool_NightTime))));

                schedule({astro: "sunset", shift: -20}, function () {
                console.log('Sonne untergegangen -20 Min');
                bool_NightTime = true;
                HS100_switch();
                });

                schedule({astro: "sunrise", shift: 0}, function () {
                bool_NightTime = false;
                HS100_switch();
                });

                on({id: "ping.0.raspberrypi.IP"/Rechnername/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                HS100_switch();
                });


                Switch by power
                var _const_val_PowerLimit, bool_NightTime;

                function HS100_switch() {
                if (getState("hs100.0.IP.power").val < _const_val_PowerLimit && bool_NightTime == true && getState("fb-checkpresence.0.presence").val == true) {
                setState("hs100.0.IP.state"/HS100/, true);
                } else {
                setState("hs100.0.IP.state"/HS100/, false);
                }
                }

                _const_val_PowerLimit = 90;
                bool_NightTime = compareTime(getAstroDate("sunset", undefined, -20), '23:00', "between", null) && compareTime('22:30', null, "<", getAstroDate("sunset", undefined, -20));
                console.log(('NightTime: ' + String(('' + bool_NightTime))));

                schedule({astro: "sunset", shift: -20}, function () {
                console.log('Sonne untergegangen -20 Min');
                if (compareTime("22:30", "null", "<")) {
                bool_NightTime = true;
                }
                HS100_switch();
                });

                schedule("0 23 * * *", function () {
                bool_NightTime = false;
                HS100_switch();
                });

                on({id: "hs100.0.IP.power"/HS110/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                HS100_switch();
                });

                on({id: "fb-checkpresence.0.presence"/presence/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                HS100_switch();
                });

                In both of them I use:

                schedule({astro: "sunset", shift: -20}, function () {
                  console.log('Sonne untergegangen -20 Min');
                  /* additional code */
                });
                

                However the astro function today only triggered for the "Switch by ping" script- see logfile:

                2020-04-01 19:35:27.992  - ^[[32minfo^[[39m: javascript.0 (665) script.js.common.Switch_by_ping: Sonne untergegangen -20 Min
                

                Yesterday it was working for both scripts. (Also the days before it was already inconsistent - however I only had the "Switch by power" script at that time.)
                I'm restarting my raspberry every night and only added the console.log by today so I cannot tell about the recent days.

                Any idea what could cause this issue?

                A 1 Reply Last reply Reply Quote 0
                • A
                  ap2017 @cbr last edited by

                  @cbr Any luck with astro? I was not using it for a while, got back to it - same issue, works intermittent. Some days it works, some does not. Where are you located? I was thinking this is related to iobroker incorrectly interpreting my astro location settings. I am in US, most other users in Europe and they are not complaning about it.

                  Thomas Braun 1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @ap2017 last edited by Thomas Braun

                    @ap2017 You have multiple triggers in you blockly. That is not possible.

                    A AlCalzone 2 Replies Last reply Reply Quote 0
                    • A
                      ap2017 @Thomas Braun last edited by

                      @Thomas-Braun What do you mean? Why?

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @ap2017 last edited by

                        @ap2017 Do you still have two purple blocks on the left side of your blockly? Please upload a screenshot of the current version.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          ap2017 @Thomas Braun last edited by

                          @Thomas-Braun here we go, in two parts. Script works stable except for astro triggers.
                          d7fc246b-cab0-46ee-bba4-ab191b7546ca-image.png
                          f051097f-aec2-492e-adb8-05c300c5ed46-image.png

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @ap2017 last edited by Thomas Braun

                            @ap2017
                            You should have only one trigger element per action.
                            Separate it into independent blocks.

                            1 Reply Last reply Reply Quote 1
                            • AlCalzone
                              AlCalzone Developer @Thomas Braun last edited by

                              @Thomas-Braun sagte in ASTRO function. Does not work again:

                              You have multiple triggers in you blockly. That is not possible.

                              That is not true. You can have as many as you like, but you should NEVER nest them.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              880
                              Online

                              31.7k
                              Users

                              79.6k
                              Topics

                              1.3m
                              Posts

                              blockly
                              6
                              58
                              4961
                              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