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
    226

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

  • 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 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 Offline
      sigi234S Offline
      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 Offline
        sigi234S Offline
        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 Offline
            Meister MopperM Offline
            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 Offline
                Meister MopperM Offline
                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 Offline
                    Meister MopperM Offline
                    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 Offline
                            sigi234S Offline
                            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
                                        • NegaleinN Negalein

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

                                          sigi234S Offline
                                          sigi234S Offline
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #92

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

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

                                          Kannst du den aktuellen Code mal raufladen?

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

                                          NegaleinN 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

                                          398

                                          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