Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo
  1. ioBroker Community Home
  2. English
  3. Scripting / Logic
  4. Blockly
  5. ASTRO function. Does not work again

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

ASTRO function. Does not work again

Scheduled Pinned Locked Moved Blockly
blockly
58 Posts 6 Posters 7.9k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • iomountainI Offline
    iomountainI Offline
    iomountain
    wrote on last edited by
    #49

    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
    1
    • A Offline
      A Offline
      ap2017
      wrote on last edited by ap2017
      #50

      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
      0
      • C Offline
        C Offline
        cbr
        wrote on last edited by cbr
        #51

        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
        0
        • C 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 Offline
          A Offline
          ap2017
          wrote on last edited by
          #52

          @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 BraunT 1 Reply Last reply
          0
          • A ap2017

            @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 BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            wrote on last edited by Thomas Braun
            #53

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

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            A AlCalzoneA 2 Replies Last reply
            0
            • Thomas BraunT Thomas Braun

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

              A Offline
              A Offline
              ap2017
              wrote on last edited by
              #54

              @Thomas-Braun What do you mean? Why?

              Thomas BraunT 1 Reply Last reply
              0
              • A ap2017

                @Thomas-Braun What do you mean? Why?

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                wrote on last edited by
                #55

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

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                A 1 Reply Last reply
                0
                • Thomas BraunT Thomas Braun

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

                  A Offline
                  A Offline
                  ap2017
                  wrote on last edited by
                  #56

                  @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 BraunT 1 Reply Last reply
                  0
                  • A ap2017

                    @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 BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    wrote on last edited by Thomas Braun
                    #57

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

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    1 Reply Last reply
                    1
                    • Thomas BraunT Thomas Braun

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

                      AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      wrote on last edited by
                      #58

                      @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.

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      1 Reply Last reply
                      1
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      368

                      Online

                      32.4k

                      Users

                      81.4k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe