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. FF-Einsätze OÖ auswerten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    272

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    589

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

FF-Einsätze OÖ auswerten

Geplant Angeheftet Gesperrt Verschoben JavaScript
115 Beiträge 5 Kommentatoren 12.9k Aufrufe 5 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.
  • OliverIOO OliverIO

    @negalein sagte in FF-Einsätze OÖ auswerten:

    das datum komplett ist wahrscheinlich langweilig

    wie meinst du das?

    die einsätze sind ja eher aktuell und nicht von letzter woche.
    daher ist das komplette datum nicht notwendig.
    wahrscheinlich reicht der Wochentag also

    Montag, 10:45 Uhr oder
    Dienstag, 13:32 Uhr

    hier mal als option noch mit modifizierter zeitausgabe

    function prepareMessages(einsaetze, kurz, alle) {
        let messages = [];
        const dateOptions = {
            weekday: "long",
        };
        const timeOptions = { hour: "2-digit", minute: "2-digit" };
        einsaetze.map(einsatz => {
            if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                if (kurz) {
                    messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                } else {
                    messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                }
                einsaetzeGesendet.push(einsatz.id);
            }
        })
        return messages.join(";");
    }
    
    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #72

    @oliverio sagte in FF-Einsätze OÖ auswerten:

    hier mal als option noch mit modifizierter zeitausgabe

    Danke, test ich morgen

    ° Node.js Update ---> iob nodejs-update
    ° Fixer ---> iob fix

    1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @negalein sagte in FF-Einsätze OÖ auswerten:

      das datum komplett ist wahrscheinlich langweilig

      wie meinst du das?

      die einsätze sind ja eher aktuell und nicht von letzter woche.
      daher ist das komplette datum nicht notwendig.
      wahrscheinlich reicht der Wochentag also

      Montag, 10:45 Uhr oder
      Dienstag, 13:32 Uhr

      hier mal als option noch mit modifizierter zeitausgabe

      function prepareMessages(einsaetze, kurz, alle) {
          let messages = [];
          const dateOptions = {
              weekday: "long",
          };
          const timeOptions = { hour: "2-digit", minute: "2-digit" };
          einsaetze.map(einsatz => {
              if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                  if (kurz) {
                      messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                  } else {
                      messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                  }
                  einsaetzeGesendet.push(einsatz.id);
              }
          })
          return messages.join(";");
      }
      
      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von Negalein
      #73

      @oliverio

      Gutn Morgen

      gerade ist eine Meldung gekommen :)

      Achtung
      Feuerwehreinsatz in Taufkirchen an der Pram
      Alarmstufe 0
      Einsatz od. Einsatzübung
      Mittwoch, 07:50 Uhr
      Schärding
      Anzahl Feuerwehren 1


      Bitte noch Datum, Zeit entfernen & vor einsatz.bezirk_name bitte das Wort Bezirk einfügen.

      Achtung
      Feuerwehreinsatz in Taufkirchen an der Pram
      Bezirk Schärding
      Alarmstufe 0
      Einsatz od. Einsatzübung
      Anzahl Feuerwehren 1

      ° Node.js Update ---> iob nodejs-update
      ° Fixer ---> iob fix

      OliverIOO 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @negalein sagte in FF-Einsätze OÖ auswerten:

        das datum komplett ist wahrscheinlich langweilig

        wie meinst du das?

        die einsätze sind ja eher aktuell und nicht von letzter woche.
        daher ist das komplette datum nicht notwendig.
        wahrscheinlich reicht der Wochentag also

        Montag, 10:45 Uhr oder
        Dienstag, 13:32 Uhr

        hier mal als option noch mit modifizierter zeitausgabe

        function prepareMessages(einsaetze, kurz, alle) {
            let messages = [];
            const dateOptions = {
                weekday: "long",
            };
            const timeOptions = { hour: "2-digit", minute: "2-digit" };
            einsaetze.map(einsatz => {
                if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                    if (kurz) {
                        messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                    } else {
                        messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                    }
                    einsaetzeGesendet.push(einsatz.id);
                }
            })
            return messages.join(";");
        }
        
        sigi234S Online
        sigi234S Online
        sigi234
        Forum Testing Most Active
        schrieb am zuletzt editiert von sigi234
        #74

        @oliverio

        Hallo,

        gerade ein Einsatz, wo kann ich einstellen das Ansage Alexa und die E-Mail nur 1 mal kommt?

        Edit:

        Anscheinend da:

        let messages = prepareMessages(einsaetze_bezirk, true, false);
        

        Das letzte false war es, hatte da true

        EDIT2

        Doch nicht

        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Immer Daten sichern!

        OliverIOO 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @negalein sagte in FF-Einsätze OÖ auswerten:

          das datum komplett ist wahrscheinlich langweilig

          wie meinst du das?

          die einsätze sind ja eher aktuell und nicht von letzter woche.
          daher ist das komplette datum nicht notwendig.
          wahrscheinlich reicht der Wochentag also

          Montag, 10:45 Uhr oder
          Dienstag, 13:32 Uhr

          hier mal als option noch mit modifizierter zeitausgabe

          function prepareMessages(einsaetze, kurz, alle) {
              let messages = [];
              const dateOptions = {
                  weekday: "long",
              };
              const timeOptions = { hour: "2-digit", minute: "2-digit" };
              einsaetze.map(einsatz => {
                  if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                      if (kurz) {
                          messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                      } else {
                          messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', `${new Date(einsatz.startzeit).toLocaleDateString("de", dateOptions)}, ${new Date(einsatz.startzeit).toLocaleTimeString("de", timeOptions)} Uhr`, ';', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                      }
                      einsaetzeGesendet.push(einsatz.id);
                  }
              })
              return messages.join(";");
          }
          
          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #75

          @oliverio

          Hallo, wie kann ich den Abstand verändern?

          Screenshot (957).png

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          OliverIOO 1 Antwort Letzte Antwort
          0
          • sigi234S sigi234

            @oliverio

            Hallo, wie kann ich den Abstand verändern?

            Screenshot (957).png

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #76

            @sigi234
            Mit css
            Aktuell wird nur eine rohe html Tabelle ausgegeben.
            Mit Abstand meinst du padding oder margin?

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            sigi234S 1 Antwort Letzte Antwort
            0
            • NegaleinN Negalein

              @OliverIO

              Hallo Oliver

              Danke schonmal :)

              Also, dies ist die URL
              https://cf-einsaetze.ooelfv.at/webext2/rss/webext2_laufend.xml

              Die Seite (XML) soll alle 30 Sekunden abgefragt werden, ob bestimmte Feuerwehren (bei mir 2) aktuell einen Einsatz haben.
              <einheit id="410321">
              <einheit id="410327">

              Oder nach Bezirk
              <bezirk id="10>

              Einheid oder Bezirk; beides nicht gleichzeitig nötig; aber wenn Einheit, dann sollten mehrere Angaben möglich sein

              Intressant ist:
              <alarmstufe>
              <alarmtext>
              <resource name="hier steht der Name" hier die ID"> ---> nicht ident mit einheit id; deshalb nur Name wichtig
              <earea>
              <lng>
              <lat>

              Visualisierung:
              über einzelne DP, damit VIS, Alexa und Telegramm gefüttert werden können.

              Hoffe es ist einigermassen Verständlich erklärt. ;)

              Meister MopperM Online
              Meister MopperM Online
              Meister Mopper
              schrieb am zuletzt editiert von
              #77

              @negalein

              Habe gerade deinen thread erstmalig gelesen.

              Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?

              Proxmox und HA

              NegaleinN 1 Antwort Letzte Antwort
              0
              • Meister MopperM Meister Mopper

                @negalein

                Habe gerade deinen thread erstmalig gelesen.

                Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #78

                @meister-mopper sagte in FF-Einsätze OÖ auswerten:

                Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?

                Doch, aber nur für FF-Mitglieder.

                Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.

                ° Node.js Update ---> iob nodejs-update
                ° Fixer ---> iob fix

                Meister MopperM 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

                  @meister-mopper sagte in FF-Einsätze OÖ auswerten:

                  Warum stellt ihr diese einsatzsensiblen Daten abrufbar ins Internet? Gibt es keine Intranet-Lösung?

                  Doch, aber nur für FF-Mitglieder.

                  Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.

                  Meister MopperM Online
                  Meister MopperM Online
                  Meister Mopper
                  schrieb am zuletzt editiert von
                  #79

                  @negalein sagte in FF-Einsätze OÖ auswerten:

                  Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.

                  Ja, das schon, aber die Einsatzbelastung ist schon relevant.

                  Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.

                  Das sollte aus meiner Sicht bedacht werden.

                  Proxmox und HA

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • Meister MopperM Meister Mopper

                    @negalein sagte in FF-Einsätze OÖ auswerten:

                    Diese Daten die ich abrufe, sind dank DSGVO nicht einsatzsensibel. Es ist der Einsatzort nicht ersichtlich.

                    Ja, das schon, aber die Einsatzbelastung ist schon relevant.

                    Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.

                    Das sollte aus meiner Sicht bedacht werden.

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #80

                    @meister-mopper sagte in FF-Einsätze OÖ auswerten:

                    Das sollte aus meiner Sicht bedacht werden.

                    gibt bei uns GsD noch normale Menschen.

                    Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.

                    dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
                    Zumindest bei uns. ;)

                    ° Node.js Update ---> iob nodejs-update
                    ° Fixer ---> iob fix

                    Meister MopperM 1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

                      @meister-mopper sagte in FF-Einsätze OÖ auswerten:

                      Das sollte aus meiner Sicht bedacht werden.

                      gibt bei uns GsD noch normale Menschen.

                      Wenn jemand stören möchte, kann er es zu geeigneten Zeiten tun, um den größtmöglichen Schaden anzurichten.

                      dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
                      Zumindest bei uns. ;)

                      Meister MopperM Online
                      Meister MopperM Online
                      Meister Mopper
                      schrieb am zuletzt editiert von
                      #81

                      @negalein sagte in FF-Einsätze OÖ auswerten:

                      dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
                      Zumindest bei uns.

                      Ja, das mag sein, aber bei geplanten Anschlägen von außen hilft die Sirene nüscht :man-shrugging: .

                      Ich zumindest würde die Thematik mal oben einwerfen.

                      Proxmox und HA

                      NegaleinN 1 Antwort Letzte Antwort
                      0
                      • NegaleinN Negalein

                        @oliverio

                        Gutn Morgen

                        gerade ist eine Meldung gekommen :)

                        Achtung
                        Feuerwehreinsatz in Taufkirchen an der Pram
                        Alarmstufe 0
                        Einsatz od. Einsatzübung
                        Mittwoch, 07:50 Uhr
                        Schärding
                        Anzahl Feuerwehren 1


                        Bitte noch Datum, Zeit entfernen & vor einsatz.bezirk_name bitte das Wort Bezirk einfügen.

                        Achtung
                        Feuerwehreinsatz in Taufkirchen an der Pram
                        Bezirk Schärding
                        Alarmstufe 0
                        Einsatz od. Einsatzübung
                        Anzahl Feuerwehren 1

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #82

                        @negalein sagte in FF-Einsätze OÖ auswerten:

                        Bitte noch Datum, Zeit entfernen & vor einsatz.bezirk_name bitte das Wort Bezirk einfügen

                        function prepareMessages(einsaetze, kurz, alle) {
                            let messages = [];
                            const dateOptions = {
                                weekday: "long",
                            };
                            const timeOptions = { hour: "2-digit", minute: "2-digit" };
                            einsaetze.map(einsatz => {
                                if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                                    if (kurz) {
                                        messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                                    } else {
                                        messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', 'Bezirk ', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                                    }
                                    einsaetzeGesendet.push(einsatz.id);
                                }
                            })
                            return messages.join(";");
                        }
                        

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        1 Antwort Letzte Antwort
                        0
                        • sigi234S sigi234

                          @oliverio

                          Hallo,

                          gerade ein Einsatz, wo kann ich einstellen das Ansage Alexa und die E-Mail nur 1 mal kommt?

                          Edit:

                          Anscheinend da:

                          let messages = prepareMessages(einsaetze_bezirk, true, false);
                          

                          Das letzte false war es, hatte da true

                          EDIT2

                          Doch nicht

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von
                          #83

                          @sigi234 sagte in FF-Einsätze OÖ auswerten:

                          EDIT2
                          Doch nicht

                          wie weiter oben schon mal gesagt merkt sich das skript
                          die meldungen nur innerhalb eines starts.
                          nach dem nächsten start ist das wieder vergessen.
                          man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          sigi234S NegaleinN 2 Antworten Letzte Antwort
                          0
                          • Meister MopperM Meister Mopper

                            @negalein sagte in FF-Einsätze OÖ auswerten:

                            dann dürfte auch keine Sirene, usw. losgehn. Ein Einsatz ist normal weiträumig zu hören.
                            Zumindest bei uns.

                            Ja, das mag sein, aber bei geplanten Anschlägen von außen hilft die Sirene nüscht :man-shrugging: .

                            Ich zumindest würde die Thematik mal oben einwerfen.

                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #84

                            @meister-mopper sagte in FF-Einsätze OÖ auswerten:

                            Ja, das mag sein, aber bei geplanten Anschlägen von außen hilft die Sirene nüscht .

                            das würde jetzt hier zu OT werden.

                            Aber noch 1x OT ;)
                            Was meinst du mit "bei geplanten Anschlägen von außen hilft die Sirene nüscht"?
                            Gerne auch per PN weiter.

                            ° Node.js Update ---> iob nodejs-update
                            ° Fixer ---> iob fix

                            1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @sigi234 sagte in FF-Einsätze OÖ auswerten:

                              EDIT2
                              Doch nicht

                              wie weiter oben schon mal gesagt merkt sich das skript
                              die meldungen nur innerhalb eines starts.
                              nach dem nächsten start ist das wieder vergessen.
                              man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts

                              sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #85

                              @oliverio

                              Ich kann mich noch erinnern als ein Sturm war da kamen Einsätze (300) im Minuten Takt rein.
                              Da stürzte das Blockly dann ab. Kann man das irgendwie abfangen?

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • OliverIOO OliverIO

                                @sigi234 sagte in FF-Einsätze OÖ auswerten:

                                EDIT2
                                Doch nicht

                                wie weiter oben schon mal gesagt merkt sich das skript
                                die meldungen nur innerhalb eines starts.
                                nach dem nächsten start ist das wieder vergessen.
                                man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #86

                                @oliverio sagte in FF-Einsätze OÖ auswerten:

                                man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts

                                Das wäre sicher eine Überlegung wert. :)

                                ° Node.js Update ---> iob nodejs-update
                                ° Fixer ---> iob fix

                                OliverIOO 1 Antwort Letzte Antwort
                                1
                                • sigi234S sigi234

                                  @oliverio

                                  Ich kann mich noch erinnern als ein Sturm war da kamen Einsätze (300) im Minuten Takt rein.
                                  Da stürzte das Blockly dann ab. Kann man das irgendwie abfangen?

                                  OliverIOO Offline
                                  OliverIOO Offline
                                  OliverIO
                                  schrieb am zuletzt editiert von
                                  #87

                                  @sigi234 sagte in FF-Einsätze OÖ auswerten:

                                  Ich kann mich noch erinnern als ein Sturm war da kamen Einsätze (300) im Minuten Takt rein.
                                  Da stürzte das Blockly dann ab. Kann man das irgendwie abfangen?

                                  du fragst ja eigentlich nur alle 30 sekunden oder größer ab.
                                  auch wenn es 1000 gemeldete einsätze gibt, dürfte es kein problem mit absturz oder speicher geben.
                                  wenn, dann irgendeine code-konstellation, die nicht vorgesehen ist. aber wir haben da gar nicht soviel drin. evtl mal, das sich im quelldatenformat was ändert

                                  einen fehler findest du dann im iobroker log

                                  Meine Adapter und Widgets
                                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                  Links im Profil

                                  1 Antwort Letzte Antwort
                                  1
                                  • NegaleinN Negalein

                                    @oliverio sagte in FF-Einsätze OÖ auswerten:

                                    man könnte das gedächtnis in einen datenpunkt verlagern. dann überlebt dies auch den neustart eines skripts

                                    Das wäre sicher eine Überlegung wert. :)

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von OliverIO
                                    #88

                                    @negalein sagte in FF-Einsätze OÖ auswerten:

                                    speichern der bereits gemeldeten einsätze in einem datenpunkt
                                    Das wäre sicher eine Überlegung wert

                                    ziemlich am anfang (zeile 3) folgendes einfügen

                                    let savedEinsaetzeDP = "0_userdata.a";
                                    

                                    die folgende zeile, auch am anfang, bitte löschen

                                    let einsaetzeGesendet ....
                                    

                                    folgende funktion bitte tauschen

                                    async function prepareMessages(einsaetze, kurz, alle) {
                                        let messages = [];
                                        const dateOptions = {
                                            weekday: "long",
                                        };
                                        const timeOptions = { hour: "2-digit", minute: "2-digit" };
                                        let data = await getStateAsync(savedEinsaetzeDP);
                                        let einsaetzeGesendet = JSON.parse(data.val || "[]");
                                        einsaetze.map(einsatz => {
                                            if (!einsaetzeGesendet.some(el => el.id == einsatz.id) || alle) {
                                                //if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                                                if (kurz) {
                                                    messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                                                } else {
                                                    messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', 'Bezirk ', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                                                }
                                                einsaetzeGesendet.push({ id: einsatz.id, time: new Date() });
                                            }
                                        })
                                        await setStateAsync(savedEinsaetzeDP, JSON.stringify(einsaetzeGesendet));
                                        return messages.join(";");
                                    }
                                    
                                    

                                    da prepareMessage nun eine async funktion ist, muss an jeder stelle wo diese aufgerufen wird nun await hinzugefügt werden. also so wie folgt
                                    vorher

                                    let messages = prepareMessages(einsaetze, false, false);
                                    

                                    nachher

                                    let messages = await prepareMessages(einsaetze, false, false);
                                    

                                    falls irgendwas nicht funktioniert, bitte dann nochmal deinen kompletten code posten

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    NegaleinN 1 Antwort Letzte Antwort
                                    0
                                    • OliverIOO OliverIO

                                      @negalein sagte in FF-Einsätze OÖ auswerten:

                                      speichern der bereits gemeldeten einsätze in einem datenpunkt
                                      Das wäre sicher eine Überlegung wert

                                      ziemlich am anfang (zeile 3) folgendes einfügen

                                      let savedEinsaetzeDP = "0_userdata.a";
                                      

                                      die folgende zeile, auch am anfang, bitte löschen

                                      let einsaetzeGesendet ....
                                      

                                      folgende funktion bitte tauschen

                                      async function prepareMessages(einsaetze, kurz, alle) {
                                          let messages = [];
                                          const dateOptions = {
                                              weekday: "long",
                                          };
                                          const timeOptions = { hour: "2-digit", minute: "2-digit" };
                                          let data = await getStateAsync(savedEinsaetzeDP);
                                          let einsaetzeGesendet = JSON.parse(data.val || "[]");
                                          einsaetze.map(einsatz => {
                                              if (!einsaetzeGesendet.some(el => el.id == einsatz.id) || alle) {
                                                  //if (!einsaetzeGesendet.includes(einsatz.id) || alle) {
                                                  if (kurz) {
                                                      messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';'].join(''));
                                                  } else {
                                                      messages.push(['Achtung;Feuerwehreinsatz in ', einsatz.earea, ';', 'Alarmstufe ', einsatz.alarmstufe, ';', einsatz.einsatzsubtyp, ';', 'Bezirk ', einsatz.bezirk_name, ';Anzahl Feuerwehren ', einsatz.einheiten.length, ';'].join(''));
                                                  }
                                                  einsaetzeGesendet.push({ id: einsatz.id, time: new Date() });
                                              }
                                          })
                                          await setStateAsync(savedEinsaetzeDP, JSON.stringify(einsaetzeGesendet));
                                          return messages.join(";");
                                      }
                                      
                                      

                                      da prepareMessage nun eine async funktion ist, muss an jeder stelle wo diese aufgerufen wird nun await hinzugefügt werden. also so wie folgt
                                      vorher

                                      let messages = prepareMessages(einsaetze, false, false);
                                      

                                      nachher

                                      let messages = await prepareMessages(einsaetze, false, false);
                                      

                                      falls irgendwas nicht funktioniert, bitte dann nochmal deinen kompletten code posten

                                      NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      schrieb am zuletzt editiert von
                                      #89

                                      @oliverio sagte in FF-Einsätze OÖ auswerten:

                                      nachher

                                      bei mir 1x

                                      so richtig, denke ich

                                      async function main() {
                                          let xml = await getData()
                                          let json = await xml2json(xml);
                                          let einsaetze = normalizeData(json.webext2.einsaetze.einsatz);
                                          let einsaetze_einheiten = filterEinheiten(einsaetze, [410321, 410327]);
                                          let einsaetze_bezirk = filterBezirk(einsaetze, 10);
                                          let html1 = toHtml(einsaetze_einheiten);
                                          let html2 = toHtml(einsaetze_bezirk);
                                          let html3 = toHtml(einsaetze);
                                          let messages = await prepareMessages(einsaetze_bezirk, false, false);
                                          //messages = await prepareMessages(einsaetze, true, false);
                                          let nachtruhe=compareTime("01:00", "06:00","between");
                                          if (!nachtruhe || messages) sendAlexa(messages, 60);
                                          if (messages) sendTelegram(messages, "");
                                          if (messages) sendEMail(messages, "christian@nega.at", "Neuer Feuerwehreinsatz");
                                          console.log(html1);
                                          console.log(html2);
                                          console.log(html3);
                                          //setState("0_userdata.0.testFolder.a", html3);
                                      	setState("0_userdata.0.FF-Einsatz.Bezirk", html2);	
                                      

                                      let savedEinsaetzeDP = "0_userdata.a"; --> String?

                                      ° Node.js Update ---> iob nodejs-update
                                      ° Fixer ---> iob fix

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • NegaleinN Negalein

                                        @oliverio sagte in FF-Einsätze OÖ auswerten:

                                        nachher

                                        bei mir 1x

                                        so richtig, denke ich

                                        async function main() {
                                            let xml = await getData()
                                            let json = await xml2json(xml);
                                            let einsaetze = normalizeData(json.webext2.einsaetze.einsatz);
                                            let einsaetze_einheiten = filterEinheiten(einsaetze, [410321, 410327]);
                                            let einsaetze_bezirk = filterBezirk(einsaetze, 10);
                                            let html1 = toHtml(einsaetze_einheiten);
                                            let html2 = toHtml(einsaetze_bezirk);
                                            let html3 = toHtml(einsaetze);
                                            let messages = await prepareMessages(einsaetze_bezirk, false, false);
                                            //messages = await prepareMessages(einsaetze, true, false);
                                            let nachtruhe=compareTime("01:00", "06:00","between");
                                            if (!nachtruhe || messages) sendAlexa(messages, 60);
                                            if (messages) sendTelegram(messages, "");
                                            if (messages) sendEMail(messages, "christian@nega.at", "Neuer Feuerwehreinsatz");
                                            console.log(html1);
                                            console.log(html2);
                                            console.log(html3);
                                            //setState("0_userdata.0.testFolder.a", html3);
                                        	setState("0_userdata.0.FF-Einsatz.Bezirk", html2);	
                                        

                                        let savedEinsaetzeDP = "0_userdata.a"; --> String?

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        schrieb am zuletzt editiert von OliverIO
                                        #90

                                        @negalein

                                        ich habe gerade nochmal aktualisiert, bitte den code nochmal von oben kopieren

                                        let savedEinsaetzeDP = "0_userdata.a"; --> String?

                                        ja

                                        bei mir 1x
                                        so richtig, denke ich

                                        ja

                                        Meine Adapter und Widgets
                                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                        Links im Profil

                                        NegaleinN 1 Antwort Letzte Antwort
                                        0
                                        • OliverIOO OliverIO

                                          @negalein

                                          ich habe gerade nochmal aktualisiert, bitte den code nochmal von oben kopieren

                                          let savedEinsaetzeDP = "0_userdata.a"; --> String?

                                          ja

                                          bei mir 1x
                                          so richtig, denke ich

                                          ja

                                          NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von
                                          #91

                                          @oliverio sagte in FF-Einsätze OÖ auswerten:

                                          ich habe gerade nochmal aktualisiert, bitte den code nochmal von oben kopieren

                                          Danke, funktioniert.

                                          Der neue DP wird beschrieben. :)

                                          ° Node.js Update ---> iob nodejs-update
                                          ° Fixer ---> iob fix

                                          sigi234S 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

                                          812

                                          Online

                                          32.5k

                                          Benutzer

                                          81.9k

                                          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