Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skript - Error Handling

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Skript - Error Handling

Geplant Angeheftet Gesperrt Verschoben JavaScript
42 Beiträge 6 Kommentatoren 3.0k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AndreiosA Andreios

    @paul53 sagte in Skript - Error Handling:

    @andreas-5 sagte: bei der Suche nach Astro nur Sunrise und Sunset gefunden.

    Dann wurde nicht richtig gesucht.

    Na, im Scriptfenster oben auf die Lupe und dann den Suchtext eingeben, das war mein Versuch! Und mit "astro" wurde ja auch etwas gefunden, aber kein night oder nightEnd!
    Ich habe ausschliesslich JS aktiv!

    Aber meine Ursprungsfrage war ja, wo ich noch suchen könnte!
    Shuttercontrol habe ich nicht laufen.

    Hier auch die Liste der laufenden Adapter, vielleicht ist da je etwas dabei:

    system.adapter.admin                   : admin          - v5.3.8
    system.adapter.alias-manager           : alias-manager  - v1.2.4
    system.adapter.backitup                : backitup       - v2.4.9
    system.adapter.discovery               : discovery      - v3.0.3
    system.adapter.echarts                 : echarts        - v1.0.7
    system.adapter.email                   : email          - v1.0.10
    system.adapter.feiertage               : feiertage      - v1.1.0
    system.adapter.firetv                  : firetv         - v1.0.0
    system.adapter.flot                    : flot           - v1.10.7
    system.adapter.heatingcontrol          : heatingcontrol - v2.8.6
    system.adapter.history                 : history        - v1.11.1
    system.adapter.hm-rega                 : hm-rega        - v3.0.40
    system.adapter.hm-rpc                  : hm-rpc         - v1.15.12
    system.adapter.icons-icons8            : icons-icons8   - v0.0.1
    system.adapter.icons-mfd-svg           : icons-mfd-svg  - v1.1.0
    system.adapter.icons-open-icon-library-png: icons-open-icon-library-png - v0.1.2
    system.adapter.info                    : info           - v1.9.19
    system.adapter.javascript              : javascript     - v5.7.0
    system.adapter.luftdaten               : luftdaten      - v2.2.4
    system.adapter.meteoalarm              : meteoalarm     - v2.1.3
    system.adapter.mqtt                    : mqtt           - v3.0.6
    system.adapter.net-tools               : net-tools      - v0.2.0
    system.adapter.openweathermap          : openweathermap - v0.2.4
    system.adapter.pegelalarm              : pegelalarm     - v1.2.5
    system.adapter.pi-hole                 : pi-hole        - v1.3.4
    system.adapter.radar2                  : radar2         - v2.0.3
    system.adapter.rpi2                    : rpi2           - v1.3.2
    system.adapter.samsung                 : samsung        - v0.5.8
    system.adapter.shelly                  : shelly         - v5.3.2
    system.adapter.socketio                : socketio       - v4.2.0
    system.adapter.sql                     : sql            - v1.16.2
    system.adapter.squeezeboxrpc           : squeezeboxrpc  - v1.3.9
    system.adapter.systeminfo              : systeminfo     - v0.3.1
    system.adapter.tankerkoenig            : tankerkoenig   - v2.1.1
    system.adapter.tr-064                  : tr-064         - v4.2.16
    system.adapter.vis                     : vis            - v1.4.15
    system.adapter.vis-bars                : vis-bars       - v0.1.4
    system.adapter.vis-canvas-gauges       : vis-canvas-gauges - v0.1.5
    system.adapter.vis-hqwidgets           : vis-hqwidgets  - v1.2.0
    system.adapter.vis-icontwo             : vis-icontwo    - v0.87.0
    system.adapter.vis-inventwo            : vis-inventwo   - v3.3.1
    system.adapter.vis-material-advanced   : vis-material-advanced - v1.7.2
    system.adapter.vis-players             : vis-players    - v0.1.6
    system.adapter.vis-plumb               : vis-plumb      - v1.0.2
    system.adapter.vis-timeandweather      : vis-timeandweather - v1.1.7
    system.adapter.vis-weather             : vis-weather    - v2.5.5
    system.adapter.web                     : web            - v4.3.0
    system.adapter.whatsapp-cmb            : whatsapp-cmb   - v0.2.2
    
    
    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #23

    @andreas-5 sagte: Liste der laufenden Adapter, vielleicht ist da je etwas dabei

    Das Log zeigt, dass es aus "javascript.0" kommt, genau um 17:30 Uhr.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @andreas-5 hast du mal nach dem cron 30 17 * * * gesucht?
      da startet doch das Skript

      AndreiosA Offline
      AndreiosA Offline
      Andreios
      Forum Testing
      schrieb am zuletzt editiert von Andreios
      #24

      @homoran sagte in Skript - Error Handling:

      @andreas-5 hast du mal nach dem cron 30 17 * * * gesucht?
      da startet doch das Skript

      Die eine Stelle, ja, aber die letzten Meldungen sind jetzt:

      javascript.0
      	2022-06-28 18:03:19.434	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:03:19.429	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:03:17.444	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:03:17.429	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:00:00.192	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:00:00.186	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:00:00.170	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:00:00.165	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:00:00.152	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:00:00.146	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:00:00.122	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:00:00.114	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:00:00.097	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:00:00.090	error	Cannot get astro date for "nightEnd"
      javascript.0
      	2022-06-28 18:00:00.077	error	Cannot get astro date for "night"
      javascript.0
      	2022-06-28 18:00:00.070	error	Cannot get astro date for "nightEnd"
      

      Zumindest die nächsten, die ich jetzt gesehen habe.
      Kann ich irgendwie die alten Meldungen auch noch einmal herauskitzeln. Wenn ich die angesehen habe, sind sie aus dem Log verschwunden.
      Muss ich dafür den Loglevel ändern?

      Edit: Ich habe alle Scripte noch einmal durchgeschaut, das sind nicht so viele. Ist mir bisher nichts unter gekommen.

      Schöne Grüße
      Andreas

      ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

      Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

      HomoranH paul53P 2 Antworten Letzte Antwort
      0
      • AndreiosA Andreios

        @homoran sagte in Skript - Error Handling:

        @andreas-5 hast du mal nach dem cron 30 17 * * * gesucht?
        da startet doch das Skript

        Die eine Stelle, ja, aber die letzten Meldungen sind jetzt:

        javascript.0
        	2022-06-28 18:03:19.434	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:03:19.429	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:03:17.444	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:03:17.429	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:00:00.192	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:00:00.186	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:00:00.170	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:00:00.165	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:00:00.152	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:00:00.146	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:00:00.122	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:00:00.114	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:00:00.097	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:00:00.090	error	Cannot get astro date for "nightEnd"
        javascript.0
        	2022-06-28 18:00:00.077	error	Cannot get astro date for "night"
        javascript.0
        	2022-06-28 18:00:00.070	error	Cannot get astro date for "nightEnd"
        

        Zumindest die nächsten, die ich jetzt gesehen habe.
        Kann ich irgendwie die alten Meldungen auch noch einmal herauskitzeln. Wenn ich die angesehen habe, sind sie aus dem Log verschwunden.
        Muss ich dafür den Loglevel ändern?

        Edit: Ich habe alle Scripte noch einmal durchgeschaut, das sind nicht so viele. Ist mir bisher nichts unter gekommen.

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #25

        @andreas-5 sagte in Skript - Error Handling:

        Kann ich irgendwie die alten Meldungen auch noch einmal herauskitzeln.

        herunterladen! im admin ist immer nur ein Ausschnitt zu sehen.
        nimm current.log

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • AndreiosA Andreios

          @homoran sagte in Skript - Error Handling:

          @andreas-5 hast du mal nach dem cron 30 17 * * * gesucht?
          da startet doch das Skript

          Die eine Stelle, ja, aber die letzten Meldungen sind jetzt:

          javascript.0
          	2022-06-28 18:03:19.434	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:03:19.429	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:03:17.444	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:03:17.429	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:00:00.192	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:00:00.186	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:00:00.170	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:00:00.165	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:00:00.152	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:00:00.146	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:00:00.122	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:00:00.114	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:00:00.097	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:00:00.090	error	Cannot get astro date for "nightEnd"
          javascript.0
          	2022-06-28 18:00:00.077	error	Cannot get astro date for "night"
          javascript.0
          	2022-06-28 18:00:00.070	error	Cannot get astro date for "nightEnd"
          

          Zumindest die nächsten, die ich jetzt gesehen habe.
          Kann ich irgendwie die alten Meldungen auch noch einmal herauskitzeln. Wenn ich die angesehen habe, sind sie aus dem Log verschwunden.
          Muss ich dafür den Loglevel ändern?

          Edit: Ich habe alle Scripte noch einmal durchgeschaut, das sind nicht so viele. Ist mir bisher nichts unter gekommen.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #26

          @andreas-5 sagte: alle Scripte noch einmal durchgeschaut

          Anscheinend ist es ein Skript mit einem Schedule alle 30 Minuten.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          HomoranH 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @andreas-5 sagte: alle Scripte noch einmal durchgeschaut

            Anscheinend ist es ein Skript mit einem Schedule alle 30 Minuten.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #27

            @paul53 sagte:

            Anscheinend ist es ein Skript mit einem Schedule alle 30 Minuten.

            hatte ich auch gedacht, die 18:03 waren dann doch zu weit von einer halben Stunde entfernt

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            paul53P 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @paul53 sagte:

              Anscheinend ist es ein Skript mit einem Schedule alle 30 Minuten.

              hatte ich auch gedacht, die 18:03 waren dann doch zu weit von einer halben Stunde entfernt

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #28

              @homoran sagte: die 18:03 waren dann doch zu weit von einer halben Stunde entfernt

              Das kann eine Verzögerung von ca. 3 Minuten innerhalb des Schedules sein.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              HomoranH 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @homoran sagte: die 18:03 waren dann doch zu weit von einer halben Stunde entfernt

                Das kann eine Verzögerung von ca. 3 Minuten innerhalb des Schedules sein.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #29

                @paul53 hatte ich auch im Blick, aber bei den anderen kam es nur Sekunden später nochmal

                kann natürlich sein, dass @Andreas-5 nicht die kompletten logs gepostet hat :-(

                Vielleicht sieht er im Download das System des Auftretens besser

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                AndreiosA 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @paul53 hatte ich auch im Blick, aber bei den anderen kam es nur Sekunden später nochmal

                  kann natürlich sein, dass @Andreas-5 nicht die kompletten logs gepostet hat :-(

                  Vielleicht sieht er im Download das System des Auftretens besser

                  AndreiosA Offline
                  AndreiosA Offline
                  Andreios
                  Forum Testing
                  schrieb am zuletzt editiert von
                  #30

                  @homoran sagte in Skript - Error Handling:

                  @paul53 hatte ich auch im Blick, aber bei den anderen kam es nur Sekunden später nochmal

                  kann natürlich sein, dass @Andreas-5 nicht die kompletten logs gepostet hat :-(

                  Vielleicht sieht er im Download das System des Auftretens besser

                  Ja, ein paar Erkenntnisse hat es mir gebracht, wenn auch noch nicht die richtigen zu meiner Frage.
                  Der Fehler tritt offensichtlich jede halbe und volle Stunde auf, was ich noch merkwürdiger finde, da ich (dummerweise!!!) einige Scripte laufen habe, die jede Minute ausgeführt werden. Das ändert sich dann auch gerade.
                  Aber erst einmal habe ich 3 Scripte abgeschaltet und bin gespannt, ob sich um 18:30 weniger Einträge finden.

                  Aber zuerst einmal Beispielhaft ein Block von heute Morgen:

                  2022-06-28 07:30:00.008  - info: javascript.0 (19112) script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben: Zeiten schreiben
                  2022-06-28 07:30:00.041  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                  2022-06-28 07:30:00.051  - error: javascript.0 (19112) Cannot get astro date for "night"
                  2022-06-28 07:30:00.054  - info: javascript.0 (19112) script.js.Datenerzeugung.Sonne_und_Mond: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                  2022-06-28 07:30:00.074  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                  2022-06-28 07:30:00.082  - error: javascript.0 (19112) Cannot get astro date for "night"
                  2022-06-28 07:30:00.085  - info: javascript.0 (19112) script.js.Überwachung.Anwesenheit: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                  2022-06-28 07:30:00.102  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                  2022-06-28 07:30:00.111  - error: javascript.0 (19112) Cannot get astro date for "night"
                  2022-06-28 07:30:00.114  - info: javascript.0 (19112) script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                  2022-06-28 07:30:00.125  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                  2022-06-28 07:30:00.129  - error: javascript.0 (19112) Cannot get astro date for "night"
                  2022-06-28 07:30:00.131  - info: javascript.0 (19112) script.js.Steuerung.Dachluke_und_Heizung: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                  2022-06-28 07:30:00.133  - info: host.galadriel instance system.adapter.pegelalarm.0 started with pid 2944
                  2022-06-28 07:30:00.146  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                  2022-06-28 07:30:00.153  - error: javascript.0 (19112) Cannot get astro date for "night"
                  2022-06-28 07:30:00.155  - info: javascript.0 (19112) script.js.Steuerung.Licht: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                  2022-06-28 07:30:00.169  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                  2022-06-28 07:30:00.175  - error: javascript.0 (19112) Cannot get astro date for "night"
                  2022-06-28 07:30:00.177  - info: javascript.0 (19112) script.js.Überwachung.Zustandsprüfung: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                  

                  Oh, das sieht nach dem Kopieren nicht mehr so schön aus, aber ist ja lesbar.
                  Also das Script Sonne_und_Mond z.B. schreibt mir die Werte Azimuth und Elevation und nutzt dazu die Funktion Date(), für aktuelles Datum und Uhrzeit. Wieso steht da etwas von Astro?

                  Noch besser das Script Anwesenheit, das schaut nur auf dem tr-064, ob einer von uns Anwesend ist und schreibt das in einen Datenpunkt, damit ich nicht immer alle tr-064-Datenpunkte abfragen muss, reicht ja, wenn einer Anwesend ist. Da ist kein Zugriff auf irgendeine Zeit drin.

                  Naja, 18:30 ist vorbei, schaun wir einmal:

                  javascript.0
                  	2022-06-28 18:30:00.067	info	script.js.Überwachung.Zustandsprüfung: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                  javascript.0
                  	2022-06-28 18:30:00.065	error	Cannot get astro date for "night"
                  javascript.0
                  	2022-06-28 18:30:00.059	error	Cannot get astro date for "nightEnd"
                  javascript.0
                  	2022-06-28 18:30:00.048	info	script.js.Steuerung.Licht: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                  javascript.0
                  	2022-06-28 18:30:00.046	error	Cannot get astro date for "night"
                  javascript.0
                  	2022-06-28 18:30:00.040	error	Cannot get astro date for "nightEnd"
                  javascript.0
                  	2022-06-28 18:30:00.027	info	script.js.Steuerung.Dachluke_und_Heizung: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                  javascript.0
                  	2022-06-28 18:30:00.025	error	Cannot get astro date for "night"
                  javascript.0
                  	2022-06-28 18:30:00.019	error	Cannot get astro date for "nightEnd"
                  javascript.0
                  	2022-06-28 18:25:22.911	info	Stop script script.js.Überwachung.Anwesenheit
                  javascript.0
                  	2022-06-28 18:24:51.493	info	Stop script script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben
                  javascript.0
                  	2022-06-28 18:24:32.613	info	Stop script script.js.Datenerzeugung.Sonne_und_Mond
                  

                  Sind weniger geworden, allso kommt es tatsächlich aus den Scripten.
                  Also hier noch einmal ein Beispiel Zeiten_in_Datenpunkte_schreiben:

                  schedule("* * * * *", async function () {
                  
                    console.log('Zeiten schreiben');
                  
                    setState("0_userdata.0.Sunset"/*Sunset*/, formatDate(getAstroDate("sunset", undefined, 1), "TT.MM.JJJJ SS:mm:ss"), true);
                    setState("0_userdata.0.Sunrise"/*Sunrise*/, formatDate(getAstroDate("sunrise", undefined, 1), "TT.MM.JJJJ SS:mm:ss"), true);
                  
                  });
                  
                  

                  Wenn dieses Script Schuld ist, müsste es dann nicht jede Minute auftreten?

                  Schöne Grüße
                  Andreas

                  ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

                  Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

                  HomoranH paul53P 2 Antworten Letzte Antwort
                  0
                  • AndreiosA Andreios

                    @homoran sagte in Skript - Error Handling:

                    @paul53 hatte ich auch im Blick, aber bei den anderen kam es nur Sekunden später nochmal

                    kann natürlich sein, dass @Andreas-5 nicht die kompletten logs gepostet hat :-(

                    Vielleicht sieht er im Download das System des Auftretens besser

                    Ja, ein paar Erkenntnisse hat es mir gebracht, wenn auch noch nicht die richtigen zu meiner Frage.
                    Der Fehler tritt offensichtlich jede halbe und volle Stunde auf, was ich noch merkwürdiger finde, da ich (dummerweise!!!) einige Scripte laufen habe, die jede Minute ausgeführt werden. Das ändert sich dann auch gerade.
                    Aber erst einmal habe ich 3 Scripte abgeschaltet und bin gespannt, ob sich um 18:30 weniger Einträge finden.

                    Aber zuerst einmal Beispielhaft ein Block von heute Morgen:

                    2022-06-28 07:30:00.008  - info: javascript.0 (19112) script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben: Zeiten schreiben
                    2022-06-28 07:30:00.041  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                    2022-06-28 07:30:00.051  - error: javascript.0 (19112) Cannot get astro date for "night"
                    2022-06-28 07:30:00.054  - info: javascript.0 (19112) script.js.Datenerzeugung.Sonne_und_Mond: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                    2022-06-28 07:30:00.074  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                    2022-06-28 07:30:00.082  - error: javascript.0 (19112) Cannot get astro date for "night"
                    2022-06-28 07:30:00.085  - info: javascript.0 (19112) script.js.Überwachung.Anwesenheit: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                    2022-06-28 07:30:00.102  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                    2022-06-28 07:30:00.111  - error: javascript.0 (19112) Cannot get astro date for "night"
                    2022-06-28 07:30:00.114  - info: javascript.0 (19112) script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                    2022-06-28 07:30:00.125  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                    2022-06-28 07:30:00.129  - error: javascript.0 (19112) Cannot get astro date for "night"
                    2022-06-28 07:30:00.131  - info: javascript.0 (19112) script.js.Steuerung.Dachluke_und_Heizung: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                    2022-06-28 07:30:00.133  - info: host.galadriel instance system.adapter.pegelalarm.0 started with pid 2944
                    2022-06-28 07:30:00.146  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                    2022-06-28 07:30:00.153  - error: javascript.0 (19112) Cannot get astro date for "night"
                    2022-06-28 07:30:00.155  - info: javascript.0 (19112) script.js.Steuerung.Licht: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                    2022-06-28 07:30:00.169  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                    2022-06-28 07:30:00.175  - error: javascript.0 (19112) Cannot get astro date for "night"
                    2022-06-28 07:30:00.177  - info: javascript.0 (19112) script.js.Überwachung.Zustandsprüfung: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                    

                    Oh, das sieht nach dem Kopieren nicht mehr so schön aus, aber ist ja lesbar.
                    Also das Script Sonne_und_Mond z.B. schreibt mir die Werte Azimuth und Elevation und nutzt dazu die Funktion Date(), für aktuelles Datum und Uhrzeit. Wieso steht da etwas von Astro?

                    Noch besser das Script Anwesenheit, das schaut nur auf dem tr-064, ob einer von uns Anwesend ist und schreibt das in einen Datenpunkt, damit ich nicht immer alle tr-064-Datenpunkte abfragen muss, reicht ja, wenn einer Anwesend ist. Da ist kein Zugriff auf irgendeine Zeit drin.

                    Naja, 18:30 ist vorbei, schaun wir einmal:

                    javascript.0
                    	2022-06-28 18:30:00.067	info	script.js.Überwachung.Zustandsprüfung: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                    javascript.0
                    	2022-06-28 18:30:00.065	error	Cannot get astro date for "night"
                    javascript.0
                    	2022-06-28 18:30:00.059	error	Cannot get astro date for "nightEnd"
                    javascript.0
                    	2022-06-28 18:30:00.048	info	script.js.Steuerung.Licht: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                    javascript.0
                    	2022-06-28 18:30:00.046	error	Cannot get astro date for "night"
                    javascript.0
                    	2022-06-28 18:30:00.040	error	Cannot get astro date for "nightEnd"
                    javascript.0
                    	2022-06-28 18:30:00.027	info	script.js.Steuerung.Dachluke_und_Heizung: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                    javascript.0
                    	2022-06-28 18:30:00.025	error	Cannot get astro date for "night"
                    javascript.0
                    	2022-06-28 18:30:00.019	error	Cannot get astro date for "nightEnd"
                    javascript.0
                    	2022-06-28 18:25:22.911	info	Stop script script.js.Überwachung.Anwesenheit
                    javascript.0
                    	2022-06-28 18:24:51.493	info	Stop script script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben
                    javascript.0
                    	2022-06-28 18:24:32.613	info	Stop script script.js.Datenerzeugung.Sonne_und_Mond
                    

                    Sind weniger geworden, allso kommt es tatsächlich aus den Scripten.
                    Also hier noch einmal ein Beispiel Zeiten_in_Datenpunkte_schreiben:

                    schedule("* * * * *", async function () {
                    
                      console.log('Zeiten schreiben');
                    
                      setState("0_userdata.0.Sunset"/*Sunset*/, formatDate(getAstroDate("sunset", undefined, 1), "TT.MM.JJJJ SS:mm:ss"), true);
                      setState("0_userdata.0.Sunrise"/*Sunrise*/, formatDate(getAstroDate("sunrise", undefined, 1), "TT.MM.JJJJ SS:mm:ss"), true);
                    
                    });
                    
                    

                    Wenn dieses Script Schuld ist, müsste es dann nicht jede Minute auftreten?

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #31

                    @andreas-5 dann such doch mal nach schedule */30 * * * * oder schedule 0,30 * * * *
                    am besten nur den Anfang schedule("*/30

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • AndreiosA Andreios

                      @homoran sagte in Skript - Error Handling:

                      @paul53 hatte ich auch im Blick, aber bei den anderen kam es nur Sekunden später nochmal

                      kann natürlich sein, dass @Andreas-5 nicht die kompletten logs gepostet hat :-(

                      Vielleicht sieht er im Download das System des Auftretens besser

                      Ja, ein paar Erkenntnisse hat es mir gebracht, wenn auch noch nicht die richtigen zu meiner Frage.
                      Der Fehler tritt offensichtlich jede halbe und volle Stunde auf, was ich noch merkwürdiger finde, da ich (dummerweise!!!) einige Scripte laufen habe, die jede Minute ausgeführt werden. Das ändert sich dann auch gerade.
                      Aber erst einmal habe ich 3 Scripte abgeschaltet und bin gespannt, ob sich um 18:30 weniger Einträge finden.

                      Aber zuerst einmal Beispielhaft ein Block von heute Morgen:

                      2022-06-28 07:30:00.008  - info: javascript.0 (19112) script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben: Zeiten schreiben
                      2022-06-28 07:30:00.041  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                      2022-06-28 07:30:00.051  - error: javascript.0 (19112) Cannot get astro date for "night"
                      2022-06-28 07:30:00.054  - info: javascript.0 (19112) script.js.Datenerzeugung.Sonne_und_Mond: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                      2022-06-28 07:30:00.074  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                      2022-06-28 07:30:00.082  - error: javascript.0 (19112) Cannot get astro date for "night"
                      2022-06-28 07:30:00.085  - info: javascript.0 (19112) script.js.Überwachung.Anwesenheit: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                      2022-06-28 07:30:00.102  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                      2022-06-28 07:30:00.111  - error: javascript.0 (19112) Cannot get astro date for "night"
                      2022-06-28 07:30:00.114  - info: javascript.0 (19112) script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                      2022-06-28 07:30:00.125  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                      2022-06-28 07:30:00.129  - error: javascript.0 (19112) Cannot get astro date for "night"
                      2022-06-28 07:30:00.131  - info: javascript.0 (19112) script.js.Steuerung.Dachluke_und_Heizung: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                      2022-06-28 07:30:00.133  - info: host.galadriel instance system.adapter.pegelalarm.0 started with pid 2944
                      2022-06-28 07:30:00.146  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                      2022-06-28 07:30:00.153  - error: javascript.0 (19112) Cannot get astro date for "night"
                      2022-06-28 07:30:00.155  - info: javascript.0 (19112) script.js.Steuerung.Licht: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                      2022-06-28 07:30:00.169  - error: javascript.0 (19112) Cannot get astro date for "nightEnd"
                      2022-06-28 07:30:00.175  - error: javascript.0 (19112) Cannot get astro date for "night"
                      2022-06-28 07:30:00.177  - info: javascript.0 (19112) script.js.Überwachung.Zustandsprüfung: Astro: Gültige Zeiten: [aktueller Tag: 6] | [nächster Tag: 6] | [Aktualisiert: 2] | Aktuelle Tageszeit: später Vormittag | Kommende Tageszeit: Mittag
                      

                      Oh, das sieht nach dem Kopieren nicht mehr so schön aus, aber ist ja lesbar.
                      Also das Script Sonne_und_Mond z.B. schreibt mir die Werte Azimuth und Elevation und nutzt dazu die Funktion Date(), für aktuelles Datum und Uhrzeit. Wieso steht da etwas von Astro?

                      Noch besser das Script Anwesenheit, das schaut nur auf dem tr-064, ob einer von uns Anwesend ist und schreibt das in einen Datenpunkt, damit ich nicht immer alle tr-064-Datenpunkte abfragen muss, reicht ja, wenn einer Anwesend ist. Da ist kein Zugriff auf irgendeine Zeit drin.

                      Naja, 18:30 ist vorbei, schaun wir einmal:

                      javascript.0
                      	2022-06-28 18:30:00.067	info	script.js.Überwachung.Zustandsprüfung: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                      javascript.0
                      	2022-06-28 18:30:00.065	error	Cannot get astro date for "night"
                      javascript.0
                      	2022-06-28 18:30:00.059	error	Cannot get astro date for "nightEnd"
                      javascript.0
                      	2022-06-28 18:30:00.048	info	script.js.Steuerung.Licht: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                      javascript.0
                      	2022-06-28 18:30:00.046	error	Cannot get astro date for "night"
                      javascript.0
                      	2022-06-28 18:30:00.040	error	Cannot get astro date for "nightEnd"
                      javascript.0
                      	2022-06-28 18:30:00.027	info	script.js.Steuerung.Dachluke_und_Heizung: Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                      javascript.0
                      	2022-06-28 18:30:00.025	error	Cannot get astro date for "night"
                      javascript.0
                      	2022-06-28 18:30:00.019	error	Cannot get astro date for "nightEnd"
                      javascript.0
                      	2022-06-28 18:25:22.911	info	Stop script script.js.Überwachung.Anwesenheit
                      javascript.0
                      	2022-06-28 18:24:51.493	info	Stop script script.js.Datentransfer.Zeiten_in_Datenpunkte_schreiben
                      javascript.0
                      	2022-06-28 18:24:32.613	info	Stop script script.js.Datenerzeugung.Sonne_und_Mond
                      

                      Sind weniger geworden, allso kommt es tatsächlich aus den Scripten.
                      Also hier noch einmal ein Beispiel Zeiten_in_Datenpunkte_schreiben:

                      schedule("* * * * *", async function () {
                      
                        console.log('Zeiten schreiben');
                      
                        setState("0_userdata.0.Sunset"/*Sunset*/, formatDate(getAstroDate("sunset", undefined, 1), "TT.MM.JJJJ SS:mm:ss"), true);
                        setState("0_userdata.0.Sunrise"/*Sunrise*/, formatDate(getAstroDate("sunrise", undefined, 1), "TT.MM.JJJJ SS:mm:ss"), true);
                      
                      });
                      
                      

                      Wenn dieses Script Schuld ist, müsste es dann nicht jede Minute auftreten?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #32

                      @andreas-5
                      Schau mal in folgende Skripte:

                      • Steuerung.Dachluke_und_Heizung
                      • Steuerung.Licht
                      • Überwachung.Zustandsprüfung

                      Irgendwo muss das herkommen:

                      Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                      

                      wobei die letzten beiden Zeiten Astrozeiten sind.

                      Hast Du ein Skript unter der Gruppe "global" laufen (Expertenmodus aktivieren)?

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      AndreiosA HomoranH 2 Antworten Letzte Antwort
                      0
                      • paul53P paul53

                        @andreas-5
                        Schau mal in folgende Skripte:

                        • Steuerung.Dachluke_und_Heizung
                        • Steuerung.Licht
                        • Überwachung.Zustandsprüfung

                        Irgendwo muss das herkommen:

                        Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                        

                        wobei die letzten beiden Zeiten Astrozeiten sind.

                        Hast Du ein Skript unter der Gruppe "global" laufen (Expertenmodus aktivieren)?

                        AndreiosA Offline
                        AndreiosA Offline
                        Andreios
                        Forum Testing
                        schrieb am zuletzt editiert von
                        #33

                        @paul53 sagte in Skript - Error Handling:

                        @andreas-5
                        Schau mal in folgende Skripte:

                        • Steuerung.Dachluke_und_Heizung
                          schedule("* * * * *"
                          Prüft gewisse Bedingungen und schliesst dann ggfs. die Dachluke, auch nichts mit Astro.
                        • Steuerung.Licht
                          schedule("* * * * *"
                          Macht aber nur zu gewissen, teilweise wechselnden, Zeiten etwas, die eben früher teilweise von SS und SR abhängig waren, aber inzwischen umgestellt auf den inzwischen vorhandenen Helligkeitssensor. (z.B. Haustürlicht, Terassenlicht)
                        • Überwachung.Zustandsprüfung
                          schedule("* * * * *"

                        Hast Du ein Skript unter der Gruppe "global" laufen (Expertenmodus aktivieren)?
                        Unter global gibt es nur das Astro-Script.

                        Schöne Grüße
                        Andreas

                        ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

                        Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • AndreiosA Andreios

                          @paul53 sagte in Skript - Error Handling:

                          @andreas-5
                          Schau mal in folgende Skripte:

                          • Steuerung.Dachluke_und_Heizung
                            schedule("* * * * *"
                            Prüft gewisse Bedingungen und schliesst dann ggfs. die Dachluke, auch nichts mit Astro.
                          • Steuerung.Licht
                            schedule("* * * * *"
                            Macht aber nur zu gewissen, teilweise wechselnden, Zeiten etwas, die eben früher teilweise von SS und SR abhängig waren, aber inzwischen umgestellt auf den inzwischen vorhandenen Helligkeitssensor. (z.B. Haustürlicht, Terassenlicht)
                          • Überwachung.Zustandsprüfung
                            schedule("* * * * *"

                          Hast Du ein Skript unter der Gruppe "global" laufen (Expertenmodus aktivieren)?
                          Unter global gibt es nur das Astro-Script.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #34

                          @andreas-5 sagte: Unter global gibt es nur das Astro-Script.

                          Wie sieht das Skript aus?

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          AndreiosA 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @andreas-5
                            Schau mal in folgende Skripte:

                            • Steuerung.Dachluke_und_Heizung
                            • Steuerung.Licht
                            • Überwachung.Zustandsprüfung

                            Irgendwo muss das herkommen:

                            Astro: Gültige Zeiten: [aktueller Tag: 5] | [nächster Tag: 7] | [Aktualisiert: 2] | Aktuelle Tageszeit: Mittag | Kommende Tageszeit: früher Abend
                            

                            wobei die letzten beiden Zeiten Astrozeiten sind.

                            Hast Du ein Skript unter der Gruppe "global" laufen (Expertenmodus aktivieren)?

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #35

                            @paul53 sagte in:

                            Irgendwo muss das herkommen:

                            das sieht etwas nach dem Tageszeiten Skript aus.
                            Das habe ich auch in Verdacht. Da kommt ja auch irgendwann die Nacht, wenn das nicht je nach geographischer Lage abgefangen wird

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @paul53 sagte in:

                              Irgendwo muss das herkommen:

                              das sieht etwas nach dem Tageszeiten Skript aus.
                              Das habe ich auch in Verdacht. Da kommt ja auch irgendwann die Nacht, wenn das nicht je nach geographischer Lage abgefangen wird

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #36

                              @homoran sagte: das sieht etwas nach dem Tageszeiten Skript aus.

                              Ja, und zwar nach dem ursprünglichen, wenn um 18:30 Uhr noch Mittag ist und der Fehler mit "night" noch enthalten ist.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @homoran sagte: das sieht etwas nach dem Tageszeiten Skript aus.

                                Ja, und zwar nach dem ursprünglichen, wenn um 18:30 Uhr noch Mittag ist und der Fehler mit "night" noch enthalten ist.

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von Homoran
                                #37

                                @paul53 https://forum.iobroker.net/post/275289

                                wenn ich das hier richtig deute wird die Existenz der Nacht im ersten Spoiler geprüft

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @paul53 https://forum.iobroker.net/post/275289

                                  wenn ich das hier richtig deute wird die Existenz der Nacht im ersten Spoiler geprüft

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #38

                                  @homoran sagte: wird die Existenz der Nacht im ersten Spoiler geprüft

                                  Das ist schon das modifizierte Skript, das auch Vor- und Nachmittag kennt. Da es aber noch Schedule auf "night" enthält, erzeugt es Warnungen.

                                  Auf keinen Fall darf das Skript unter der Gruppe "global" laufen!!
                                  Wenn es unter "global" läuft, erklärt es, warum die Error-Meldungen 6 mal hintereinander erscheinen.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @andreas-5 sagte: Unter global gibt es nur das Astro-Script.

                                    Wie sieht das Skript aus?

                                    AndreiosA Offline
                                    AndreiosA Offline
                                    Andreios
                                    Forum Testing
                                    schrieb am zuletzt editiert von
                                    #39

                                    @paul53 sagte in Skript - Error Handling:

                                    @andreas-5 sagte: Unter global gibt es nur das Astro-Script.

                                    Wie sieht das Skript aus?

                                    /*
                                     * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                                     *
                                     * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                                     *
                                     * Dieses Skript dient zur freien Verwendung in ioBroker zur Verbrauchserfassung der Shelly Geräte.
                                     * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
                                     * und Performance entwickelt.
                                     * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
                                     *
                                     * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
                                     * https://www.kreyenborg.koeln
                                     * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
                                     * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
                                     *
                                     * Ansprüche gegenüber Dritten bestehen nicht.
                                     *
                                     * Skript Name:     Astro-Zeiten
                                     * Skript Version:  1.21
                                     * Erstell-Datum:   13. Mai 2021
                                     *
                                     */
                                     
                                    // Datenpunkte neu erstellen
                                    var ueberschreiben = false;
                                     
                                    // Hauptdatenpunkt unterhalb javascript
                                    var datenpunkt = "Astro.";
                                     
                                    // Lesbare Zeiten
                                    var lesbare_zeiten = ["Früher Morgen", "Frühe Dämmerung", "Morgendämmerung", "Sonnenaufgang", "Vormittag", "später Vormittag", "Mittag",
                                        "früher Abend", "Abend", "Sonnenuntergang", "Abenddämmerung", "später Abend", "Nacht", "Mitternacht"];
                                     
                                    // Objekte der Astro Zeiten
                                    var objekt = ["nightEnd", "nauticalDawn", "dawn", "sunrise", "sunriseEnd", "goldenHourEnd", "solarNoon", "goldenHour",
                                        "sunsetStart", "sunset", "dusk", "nauticalDusk", "night", "nadir", "tageszeitAstro", "naechsteTageszeitAstro",
                                        "tageszeitLesbar", "naechsteTageszeitLesbar", "aktuelleAstroZeit", "Tag", "sunriseUnix", "sunsetUnix"];
                                     
                                    // Zustände der Astro-Zeiten
                                    var beschreibung = ["00 - Ende der Nacht", "01 - nautische Morgendämmerung", "02 - Morgendämmerung", "03 - Sonnenaufgang",
                                        "04 - Ende des Sonnenaufgangs", "05 - Ende der goldenen Stunde VM", "06 - Mittag", "07 - goldene Abendstunde",
                                        "08 - Start des Sonnenuntergangs", "09 - Sonnenuntergang", "10 - Dämmerung Abends", "11 - nautische Dämmerung abends",
                                        "12 - Start der Nacht", "13 - Mitternacht", "Aktuelle Tageszeit (Astro)", "Nächste Tageszeit (Astro)",
                                        "Aktuelle Tageszeit (lesbar)", "Nächste Tageszeit (lesbar)", "aktuelle Astrozeit", "Solange die Sonne scheint, ist Tag", "Sunrise Unix Zeitstempel", "Sunset Unix Zeitstempel"];
                                     
                                    // Erstelle die benötigten Datenpunkte
                                    function datenpunkte_erstellen() {
                                        for (var i = 0; i < objekt.length; i++) {
                                            createState(datenpunkt + objekt[i], "", ueberschreiben, {
                                                name: beschreibung[i],
                                                desc: beschreibung[i],
                                                type: "string",
                                                role: "value",
                                                unit: ""
                                            });
                                        }
                                        log("Astro: Datenpunkte erstellt!");
                                    }
                                     
                                    // Datenpunkte mit erstem Inhalt füllen
                                    function datenpunkte_fuellen() {
                                        for (var i = 0; i < objekt.length - 8; i++) {
                                            var datum = new Date();
                                            try {
                                                var astro_zeit = zeit_formatieren(getAstroDate(objekt[i], datum));
                                            } catch (e) {
                                                 // Fehler Kontrolle
                                            }
                                            if (astro_zeit == "Invalid Date") {
                                                astro_zeit = "00:00";
                                            }
                                            setState(datenpunkt + objekt[i], astro_zeit);
                                        }
                                        log("Astro: Erste Datenpunkte gefüllt!");
                                    }
                                     
                                    // Haupt-Skript
                                    function update_astro_zeiten() {
                                        var datum = new Date();
                                        var uhrzeit = zeit_formatieren(datum);
                                     
                                        // Zustand der Daten
                                        var aktuell = 0;
                                        var aktualisiert = 0;
                                        var keine_aktualisierung = 0;
                                        var astro_index = 0;
                                     
                                        // Aktuellen Tagesabschnitt bestimmen
                                        var ergebnis = -1;
                                        var naechste_element = false;
                                     
                                        // Aktuelle & kommende Tageszeit
                                        var aktuelle_tageszeit = 0;
                                        var kommende_tageszeit = 0;
                                     
                                        // Tag
                                        var astroTag = "Nacht";
                                     
                                        for (var i = 0; i < objekt.length - 8; i++) {
                                            // Temporäre Zahl
                                            var tmp_ergebnis = 0;
                                     
                                            // Hole Uhrzeit aus aktuellem Datenpunkt
                                            var dp_zeit = getState(datenpunkt + objekt[i]).val;
                                     
                                            // Hole Index aktuelle Tageszeit
                                            var tmp_time_uhr = Date.parse('1970-01-01 ' + uhrzeit + ':00');
                                            var tmp_time_dp = Date.parse('1970-01-01 ' + dp_zeit + ':00');
                                     
                                            // Aktuelle Zeit ist kleiner als DP
                                            if (tmp_time_uhr < tmp_time_dp) {
                                                tmp_ergebnis = tmp_time_dp - tmp_time_uhr;
                                                if (tmp_ergebnis <= ergebnis || ergebnis == -1) {
                                                    ergebnis = tmp_ergebnis;
                                                    astro_index = i;
                                                    naechste_element = true;
                                                }
                                                // Aktuelle Zeit ist größer als DP
                                            } else {
                                                tmp_ergebnis = tmp_time_uhr - tmp_time_dp;
                                                if (tmp_ergebnis <= ergebnis || ergebnis == -1) {
                                                    ergebnis = tmp_ergebnis;
                                                    astro_index = i;
                                                    naechste_element = false;
                                                }
                                            }
                                            // Datenpunkt ist kleiner als aktuelle Uhrzeit. Update!
                                            if (dp_zeit < uhrzeit) {
                                                // Neue Astro-Zeit für den nächsten Tag generieren
                                                let morgen = new Date();
                                                morgen.setDate(morgen.getDate() + 1);
                                                try {
                                                    var astro_zeit = zeit_formatieren(getAstroDate(objekt[i], morgen));
                                                } catch (e) {
                                                    // Fehler Kontrolle
                                                }
                                                // Datenpunkt und Astro Zeit sind gleich. Kein Update!
                                                if (dp_zeit == astro_zeit) {
                                                    keine_aktualisierung++;
                                                } else {
                                                    if (astro_zeit == "Invalid Date") {
                                                        astro_zeit = "00:00";
                                                    }
                                                    setState(datenpunkt + objekt[i], astro_zeit);
                                                    aktualisiert++;
                                                }
                                            } else {
                                                // Zeit kommt noch! Kein Update!
                                                aktuell++;
                                            }
                                        }
                                        // Wenn wahr, ist der Abstand zum nächsten Zeitpunkt kleiner. Also -1 um aktuellen Index zu erhalten.
                                        if (naechste_element) {
                                            astro_index--;
                                        }
                                     
                                        // Navigiere zum richtigen Index
                                        if (astro_index > 12) {
                                            aktuelle_tageszeit = 13;
                                            kommende_tageszeit = 0;
                                        } else if (astro_index < 0) {
                                            aktuelle_tageszeit = 0;
                                            kommende_tageszeit = 1;
                                        } else {
                                            aktuelle_tageszeit = astro_index;
                                            kommende_tageszeit = astro_index + 1;
                                        }
                                     
                                        // Prüfe, ob aktuelle Uhrzeit zwischen Sonnenauf- und untergang liegt
                                        if (astro_index > 2 && astro_index < 10) {
                                            astroTag = "Tag";
                                        }
                                     
                                        // Update aktuelle Tageszeit Astro (Text)
                                        setState(datenpunkt + objekt[14], text_formatieren(beschreibung[aktuelle_tageszeit]));
                                     
                                        // Update kommende Tageszeit Astro (Text)
                                        setState(datenpunkt + objekt[15], text_formatieren(beschreibung[kommende_tageszeit]));
                                     
                                        // Update aktuelle Tageszeit lesbar (Text)
                                        setState(datenpunkt + objekt[16], lesbare_zeiten[aktuelle_tageszeit]);
                                     
                                        // Update kommende Tageszeit lesbar (Text)
                                        setState(datenpunkt + objekt[17], lesbare_zeiten[kommende_tageszeit]);
                                     
                                        // Update aktuelle AstroZeit
                                        setState(datenpunkt + objekt[18], objekt[aktuelle_tageszeit]);
                                     
                                        // Setze die Variable "Tag" auf "Tag", wenn Uhrzeit zwischen Sonnenauf- und untergang
                                        setState(datenpunkt + objekt[19], astroTag);
                                     
                                        // Setze die Variable Sunrise Unix
                                        let tmp_morgen = new Date();
                                        tmp_morgen.setDate(tmp_morgen.getDate() + 1);
                                        let unix_sunrise = getAstroDate("sunrise", tmp_morgen).getTime() * 1000;
                                        setState(datenpunkt + objekt[20], unix_sunrise.toString());
                                     
                                        // Setze die Variable Sunset Unix
                                        let unix_sunset = getAstroDate("sunset", tmp_morgen).getTime() * 1000;
                                        setState(datenpunkt + objekt[21], unix_sunset.toString());
                                     
                                        var ausgabe = "Astro: Gültige Zeiten: [aktueller Tag: " + aktuell + "] | [nächster Tag: " + keine_aktualisierung + "] | [Aktualisiert: " + aktualisiert +
                                            "] | Aktuelle Tageszeit: " + lesbare_zeiten[aktuelle_tageszeit] + " | Kommende Tageszeit: " + lesbare_zeiten[kommende_tageszeit];
                                        log(ausgabe);
                                    }
                                     
                                    // Funktion, um die Zeit in HH:MM zu formatieren
                                    function zeit_formatieren(zeit) {
                                        return zeit.toLocaleTimeString('de-DE', { hour12: false, hour: '2-digit', minute: '2-digit' });
                                    }
                                     
                                    // Funktion, um den Text zu formatieren. "Mittag" statt "6 - Mittag"
                                    function text_formatieren(text) {
                                        text = text.split("-")[1];
                                        text = text.substr(1, text.length);
                                        return text;
                                    }
                                     
                                    // Erster Start des Skripts und anlegen der Datenpunkte
                                    function update_astro_zeiten_erster_start() {
                                        log("Astro: Erster Start des Skriptes!")
                                        // Datenpunkte werden erstellt
                                        datenpunkte_erstellen();
                                     
                                        // erstes Füllen der Datenpunkte um 3 Sek. verzögert
                                        setTimeout(datenpunkte_fuellen, 3000);
                                     
                                        // Das Update der Zeiten ist um 5 Sek. verzögert
                                        setTimeout(update_astro_zeiten, 5000);
                                    }
                                     
                                    // Erster Start und Initialisierung
                                    update_astro_zeiten_erster_start();
                                     
                                    // Alle 60 Minunten das Hauptskript ausführen
                                    schedule('*/30 * * * *', update_astro_zeiten);
                                    

                                    Warum ich das in global geschoben habe, weiß ich nicht mehr. Ich würde davon ausgehen, dass ich das irgendwo gelesen habe.
                                    Aber das war schon zu meinen ioBroker-Anfangszeiten, ... ;-)

                                    Ich habe es jetzt in common verschoben, mal sehen, was passiert.

                                    Schöne Grüße
                                    Andreas

                                    ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

                                    Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • AndreiosA Andreios

                                      @paul53 sagte in Skript - Error Handling:

                                      @andreas-5 sagte: Unter global gibt es nur das Astro-Script.

                                      Wie sieht das Skript aus?

                                      /*
                                       * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                                       *
                                       * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
                                       *
                                       * Dieses Skript dient zur freien Verwendung in ioBroker zur Verbrauchserfassung der Shelly Geräte.
                                       * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
                                       * und Performance entwickelt.
                                       * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
                                       *
                                       * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
                                       * https://www.kreyenborg.koeln
                                       * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
                                       * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
                                       *
                                       * Ansprüche gegenüber Dritten bestehen nicht.
                                       *
                                       * Skript Name:     Astro-Zeiten
                                       * Skript Version:  1.21
                                       * Erstell-Datum:   13. Mai 2021
                                       *
                                       */
                                       
                                      // Datenpunkte neu erstellen
                                      var ueberschreiben = false;
                                       
                                      // Hauptdatenpunkt unterhalb javascript
                                      var datenpunkt = "Astro.";
                                       
                                      // Lesbare Zeiten
                                      var lesbare_zeiten = ["Früher Morgen", "Frühe Dämmerung", "Morgendämmerung", "Sonnenaufgang", "Vormittag", "später Vormittag", "Mittag",
                                          "früher Abend", "Abend", "Sonnenuntergang", "Abenddämmerung", "später Abend", "Nacht", "Mitternacht"];
                                       
                                      // Objekte der Astro Zeiten
                                      var objekt = ["nightEnd", "nauticalDawn", "dawn", "sunrise", "sunriseEnd", "goldenHourEnd", "solarNoon", "goldenHour",
                                          "sunsetStart", "sunset", "dusk", "nauticalDusk", "night", "nadir", "tageszeitAstro", "naechsteTageszeitAstro",
                                          "tageszeitLesbar", "naechsteTageszeitLesbar", "aktuelleAstroZeit", "Tag", "sunriseUnix", "sunsetUnix"];
                                       
                                      // Zustände der Astro-Zeiten
                                      var beschreibung = ["00 - Ende der Nacht", "01 - nautische Morgendämmerung", "02 - Morgendämmerung", "03 - Sonnenaufgang",
                                          "04 - Ende des Sonnenaufgangs", "05 - Ende der goldenen Stunde VM", "06 - Mittag", "07 - goldene Abendstunde",
                                          "08 - Start des Sonnenuntergangs", "09 - Sonnenuntergang", "10 - Dämmerung Abends", "11 - nautische Dämmerung abends",
                                          "12 - Start der Nacht", "13 - Mitternacht", "Aktuelle Tageszeit (Astro)", "Nächste Tageszeit (Astro)",
                                          "Aktuelle Tageszeit (lesbar)", "Nächste Tageszeit (lesbar)", "aktuelle Astrozeit", "Solange die Sonne scheint, ist Tag", "Sunrise Unix Zeitstempel", "Sunset Unix Zeitstempel"];
                                       
                                      // Erstelle die benötigten Datenpunkte
                                      function datenpunkte_erstellen() {
                                          for (var i = 0; i < objekt.length; i++) {
                                              createState(datenpunkt + objekt[i], "", ueberschreiben, {
                                                  name: beschreibung[i],
                                                  desc: beschreibung[i],
                                                  type: "string",
                                                  role: "value",
                                                  unit: ""
                                              });
                                          }
                                          log("Astro: Datenpunkte erstellt!");
                                      }
                                       
                                      // Datenpunkte mit erstem Inhalt füllen
                                      function datenpunkte_fuellen() {
                                          for (var i = 0; i < objekt.length - 8; i++) {
                                              var datum = new Date();
                                              try {
                                                  var astro_zeit = zeit_formatieren(getAstroDate(objekt[i], datum));
                                              } catch (e) {
                                                   // Fehler Kontrolle
                                              }
                                              if (astro_zeit == "Invalid Date") {
                                                  astro_zeit = "00:00";
                                              }
                                              setState(datenpunkt + objekt[i], astro_zeit);
                                          }
                                          log("Astro: Erste Datenpunkte gefüllt!");
                                      }
                                       
                                      // Haupt-Skript
                                      function update_astro_zeiten() {
                                          var datum = new Date();
                                          var uhrzeit = zeit_formatieren(datum);
                                       
                                          // Zustand der Daten
                                          var aktuell = 0;
                                          var aktualisiert = 0;
                                          var keine_aktualisierung = 0;
                                          var astro_index = 0;
                                       
                                          // Aktuellen Tagesabschnitt bestimmen
                                          var ergebnis = -1;
                                          var naechste_element = false;
                                       
                                          // Aktuelle & kommende Tageszeit
                                          var aktuelle_tageszeit = 0;
                                          var kommende_tageszeit = 0;
                                       
                                          // Tag
                                          var astroTag = "Nacht";
                                       
                                          for (var i = 0; i < objekt.length - 8; i++) {
                                              // Temporäre Zahl
                                              var tmp_ergebnis = 0;
                                       
                                              // Hole Uhrzeit aus aktuellem Datenpunkt
                                              var dp_zeit = getState(datenpunkt + objekt[i]).val;
                                       
                                              // Hole Index aktuelle Tageszeit
                                              var tmp_time_uhr = Date.parse('1970-01-01 ' + uhrzeit + ':00');
                                              var tmp_time_dp = Date.parse('1970-01-01 ' + dp_zeit + ':00');
                                       
                                              // Aktuelle Zeit ist kleiner als DP
                                              if (tmp_time_uhr < tmp_time_dp) {
                                                  tmp_ergebnis = tmp_time_dp - tmp_time_uhr;
                                                  if (tmp_ergebnis <= ergebnis || ergebnis == -1) {
                                                      ergebnis = tmp_ergebnis;
                                                      astro_index = i;
                                                      naechste_element = true;
                                                  }
                                                  // Aktuelle Zeit ist größer als DP
                                              } else {
                                                  tmp_ergebnis = tmp_time_uhr - tmp_time_dp;
                                                  if (tmp_ergebnis <= ergebnis || ergebnis == -1) {
                                                      ergebnis = tmp_ergebnis;
                                                      astro_index = i;
                                                      naechste_element = false;
                                                  }
                                              }
                                              // Datenpunkt ist kleiner als aktuelle Uhrzeit. Update!
                                              if (dp_zeit < uhrzeit) {
                                                  // Neue Astro-Zeit für den nächsten Tag generieren
                                                  let morgen = new Date();
                                                  morgen.setDate(morgen.getDate() + 1);
                                                  try {
                                                      var astro_zeit = zeit_formatieren(getAstroDate(objekt[i], morgen));
                                                  } catch (e) {
                                                      // Fehler Kontrolle
                                                  }
                                                  // Datenpunkt und Astro Zeit sind gleich. Kein Update!
                                                  if (dp_zeit == astro_zeit) {
                                                      keine_aktualisierung++;
                                                  } else {
                                                      if (astro_zeit == "Invalid Date") {
                                                          astro_zeit = "00:00";
                                                      }
                                                      setState(datenpunkt + objekt[i], astro_zeit);
                                                      aktualisiert++;
                                                  }
                                              } else {
                                                  // Zeit kommt noch! Kein Update!
                                                  aktuell++;
                                              }
                                          }
                                          // Wenn wahr, ist der Abstand zum nächsten Zeitpunkt kleiner. Also -1 um aktuellen Index zu erhalten.
                                          if (naechste_element) {
                                              astro_index--;
                                          }
                                       
                                          // Navigiere zum richtigen Index
                                          if (astro_index > 12) {
                                              aktuelle_tageszeit = 13;
                                              kommende_tageszeit = 0;
                                          } else if (astro_index < 0) {
                                              aktuelle_tageszeit = 0;
                                              kommende_tageszeit = 1;
                                          } else {
                                              aktuelle_tageszeit = astro_index;
                                              kommende_tageszeit = astro_index + 1;
                                          }
                                       
                                          // Prüfe, ob aktuelle Uhrzeit zwischen Sonnenauf- und untergang liegt
                                          if (astro_index > 2 && astro_index < 10) {
                                              astroTag = "Tag";
                                          }
                                       
                                          // Update aktuelle Tageszeit Astro (Text)
                                          setState(datenpunkt + objekt[14], text_formatieren(beschreibung[aktuelle_tageszeit]));
                                       
                                          // Update kommende Tageszeit Astro (Text)
                                          setState(datenpunkt + objekt[15], text_formatieren(beschreibung[kommende_tageszeit]));
                                       
                                          // Update aktuelle Tageszeit lesbar (Text)
                                          setState(datenpunkt + objekt[16], lesbare_zeiten[aktuelle_tageszeit]);
                                       
                                          // Update kommende Tageszeit lesbar (Text)
                                          setState(datenpunkt + objekt[17], lesbare_zeiten[kommende_tageszeit]);
                                       
                                          // Update aktuelle AstroZeit
                                          setState(datenpunkt + objekt[18], objekt[aktuelle_tageszeit]);
                                       
                                          // Setze die Variable "Tag" auf "Tag", wenn Uhrzeit zwischen Sonnenauf- und untergang
                                          setState(datenpunkt + objekt[19], astroTag);
                                       
                                          // Setze die Variable Sunrise Unix
                                          let tmp_morgen = new Date();
                                          tmp_morgen.setDate(tmp_morgen.getDate() + 1);
                                          let unix_sunrise = getAstroDate("sunrise", tmp_morgen).getTime() * 1000;
                                          setState(datenpunkt + objekt[20], unix_sunrise.toString());
                                       
                                          // Setze die Variable Sunset Unix
                                          let unix_sunset = getAstroDate("sunset", tmp_morgen).getTime() * 1000;
                                          setState(datenpunkt + objekt[21], unix_sunset.toString());
                                       
                                          var ausgabe = "Astro: Gültige Zeiten: [aktueller Tag: " + aktuell + "] | [nächster Tag: " + keine_aktualisierung + "] | [Aktualisiert: " + aktualisiert +
                                              "] | Aktuelle Tageszeit: " + lesbare_zeiten[aktuelle_tageszeit] + " | Kommende Tageszeit: " + lesbare_zeiten[kommende_tageszeit];
                                          log(ausgabe);
                                      }
                                       
                                      // Funktion, um die Zeit in HH:MM zu formatieren
                                      function zeit_formatieren(zeit) {
                                          return zeit.toLocaleTimeString('de-DE', { hour12: false, hour: '2-digit', minute: '2-digit' });
                                      }
                                       
                                      // Funktion, um den Text zu formatieren. "Mittag" statt "6 - Mittag"
                                      function text_formatieren(text) {
                                          text = text.split("-")[1];
                                          text = text.substr(1, text.length);
                                          return text;
                                      }
                                       
                                      // Erster Start des Skripts und anlegen der Datenpunkte
                                      function update_astro_zeiten_erster_start() {
                                          log("Astro: Erster Start des Skriptes!")
                                          // Datenpunkte werden erstellt
                                          datenpunkte_erstellen();
                                       
                                          // erstes Füllen der Datenpunkte um 3 Sek. verzögert
                                          setTimeout(datenpunkte_fuellen, 3000);
                                       
                                          // Das Update der Zeiten ist um 5 Sek. verzögert
                                          setTimeout(update_astro_zeiten, 5000);
                                      }
                                       
                                      // Erster Start und Initialisierung
                                      update_astro_zeiten_erster_start();
                                       
                                      // Alle 60 Minunten das Hauptskript ausführen
                                      schedule('*/30 * * * *', update_astro_zeiten);
                                      

                                      Warum ich das in global geschoben habe, weiß ich nicht mehr. Ich würde davon ausgehen, dass ich das irgendwo gelesen habe.
                                      Aber das war schon zu meinen ioBroker-Anfangszeiten, ... ;-)

                                      Ich habe es jetzt in common verschoben, mal sehen, was passiert.

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #40

                                      @andreas-5 sagte: in common verschoben, mal sehen, was passiert.

                                      Die Error-Logs werden nur noch einmal alle 30 Minuten erfolgen, denn es enthält "night" und "nightEnd".
                                      Das Skript kannte ich noch nicht.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      AndreiosA 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @andreas-5 sagte: in common verschoben, mal sehen, was passiert.

                                        Die Error-Logs werden nur noch einmal alle 30 Minuten erfolgen, denn es enthält "night" und "nightEnd".
                                        Das Skript kannte ich noch nicht.

                                        AndreiosA Offline
                                        AndreiosA Offline
                                        Andreios
                                        Forum Testing
                                        schrieb am zuletzt editiert von
                                        #41

                                        @paul53 sagte in Skript - Error Handling:

                                        @andreas-5 sagte: in common verschoben, mal sehen, was passiert.

                                        Die Error-Logs werden nur noch einmal alle 30 Minuten erfolgen, denn es enthält "night" und "nightEnd".
                                        Das Skript kannte ich noch nicht.

                                        Genau, die kommen also, wie bisher auch, alle 30 Minuten!
                                        Und jetzt habe ich es überhaupt erst kapiert, dass es das Script selber ist. Das war das einzige Script, was ich mir noch nicht angesehen hatte, halt weil es auch noch versteckt war, da ich den Expertenmodus bisher fast nie genutzt habe. Auch gestern habe ich es nur "blind" rüber kopiert.
                                        Wie schon gesagt, hatte ich mir das ganz zu Anfang gesucht und ich war immer davon ausgegangen, dass das bei Bedarf von den anderen Scripten aufgerufen wird, habe aber nicht wirklich darüber nachgedacht, dass da ja nur Datenpunkte genutzt werden. Das schedue am Ende war mir nicht bewusst.

                                        Nun werde ich mir das Script in Ruhe ansehen und erst einmal alles auskommentieren, was nicht mit SR und SS zu tun hat. Bleibt wahrscheinlich nicht viel übrig.

                                        Danke Euch für die Unterstützung und ich folgere aus dem Ganzen, dass ich mich viel öfter und intensiver mit dem ioBroker beschäftigen muss!

                                        Schöne Grüße
                                        Andreas

                                        ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

                                        Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

                                        HomoranH 1 Antwort Letzte Antwort
                                        0
                                        • AndreiosA Andreios

                                          @paul53 sagte in Skript - Error Handling:

                                          @andreas-5 sagte: in common verschoben, mal sehen, was passiert.

                                          Die Error-Logs werden nur noch einmal alle 30 Minuten erfolgen, denn es enthält "night" und "nightEnd".
                                          Das Skript kannte ich noch nicht.

                                          Genau, die kommen also, wie bisher auch, alle 30 Minuten!
                                          Und jetzt habe ich es überhaupt erst kapiert, dass es das Script selber ist. Das war das einzige Script, was ich mir noch nicht angesehen hatte, halt weil es auch noch versteckt war, da ich den Expertenmodus bisher fast nie genutzt habe. Auch gestern habe ich es nur "blind" rüber kopiert.
                                          Wie schon gesagt, hatte ich mir das ganz zu Anfang gesucht und ich war immer davon ausgegangen, dass das bei Bedarf von den anderen Scripten aufgerufen wird, habe aber nicht wirklich darüber nachgedacht, dass da ja nur Datenpunkte genutzt werden. Das schedue am Ende war mir nicht bewusst.

                                          Nun werde ich mir das Script in Ruhe ansehen und erst einmal alles auskommentieren, was nicht mit SR und SS zu tun hat. Bleibt wahrscheinlich nicht viel übrig.

                                          Danke Euch für die Unterstützung und ich folgere aus dem Ganzen, dass ich mich viel öfter und intensiver mit dem ioBroker beschäftigen muss!

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #42

                                          @andreas-5 sagte in Skript - Error Handling:

                                          ich war immer davon ausgegangen, dass das bei Bedarf von den anderen Scripten aufgerufen wird

                                          globale Skripte werden vor jedem Skript ausgeführt, nich bei "Bedarf" aufgerufen

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          725

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe