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. [gelöst] Felder aus Text auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.0k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] Felder aus Text auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 3 Kommentatoren 696 Aufrufe
  • Ä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.
  • M Offline
    M Offline
    Mitch
    schrieb am zuletzt editiert von
    #1

    Hallo,

    Da mein Abfalldienstleister keine ICS Datei zur Verfügung stellt, habe ich mir mit Ifttt die Mail in meinen iobroker als Text einstellen lassen:

    Guten Tag,
    wir erinnern Sie an den nächsten Termin für die Müllabfuhr.
    
    Teststaße 12
    Restmüll: Donnerstag, 05.09.2018
    
    Ihren Infomail Eintrag können Sie hier ändern: Daten Ändern 
    
    Mit freundlichen Grüßen
    Ihre Stadtreiniger Kassel
    
    

    Wie kann ich jetzt mit einen Skript (am liebsten wäre mir blocky, aber wenn das nicht geht, nehme ich auch anderes) das Feld wo Restmüll steht und das dahinterstehende Datum auslesen und in einen anderen Status schreiben?

    Vielen Dank im voraus.

    Mitch

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2
      on('myEmail', obj => {
          var text = obj.state.val;
          var location = text.replace(/\r\n|\n/, '%%').match(/%%%(.*)?%Restmüll:/)[1];
          console.log(location);
      });
      
      
      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Mitch
        schrieb am zuletzt editiert von
        #3

        Hallo Bluefox,

        erstmal vielen Dank das Du mir so schnell geantwortet hast. Ich habe mir schonmal die Doku zu JavaScript angesehen. Ich denke ich werde mich da einarbeiten müssen:

        http://www.iobroker.net/docu/?page_id=5385&lang=de

        Jetzt sieht mein Skript so aus (er soll ja iftt überwachen=:

        on('cloud.0.services.ifttt', obj => {
            var text = obj.state.val;
            var location = text.replace(/\r\n|\n/, '%%').match(/%%%(.*)?%Restmüll:/)[1];
            console.log(location);
        });
        

        Leider bringt er bei mir diesen Fehler:

        javascript.0 2018-09-05 11:44:53.733 error at Object.obj (script.js.Meine_Informationen.IFTTT:3:77)

        javascript.0 2018-09-05 11:44:53.732 error Error in callback: TypeError: Cannot read property '1' of null

        Und mir ist auch noch nicht ganz klar, wo location gespeichert werden soll. Ich würde erwarten, das ich es dann irgendwo unter Objekten finde. Muss ich vielleicht location und textg unter javascript.0 anlegen?

        Gruss,

        Mitch

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Mitch
          schrieb am zuletzt editiert von
          #4

          Vielleich that noch jemand eine Idee. Ich brauche ja erst mal ein Event, also wenn cloud.0.services.ifttt sich ändert. Rchtig? Dann soll das Skript laufen.

          Im MOment sieht meins so aus, aber ich bekomme einen Fehler:

          on({id: 'cloud.0.services.ifttt'}, function (obj) {
              var text = obj.state.val;
              var location = text.replace(/\r\n|\n/, '%%').match(/%%%(.*)?%Restmüll:/)[1];
              console.log(location);
          });
          

          Leider bekomme ich folgende Fehlermeldung:

          javascript.0	2018-09-08 08:11:34.842	error	at Object. <anonymous>(script.js.Meine_Informationen.IFTTT:3:77)
          javascript.0	2018-09-08 08:11:34.841	error	Error in callback: TypeError: Cannot read property '1' of null</anonymous>
          
          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Mitch
            schrieb am zuletzt editiert von
            #5

            Hier anbei nochmal den Text, der wirklich im IFTTT Feld drin steht:

            Guten Tag,
            
            wir erinnern Sie an den nächsten Termin für die Müllabfuhr.
            
            Am Enkeberg 34
            
            Biomüll: Montag, 10.09.2018
            
            Ihren Infomail Eintrag können Sie hier ändern: [Daten Ändern](https://abfallkalenderkassel.insert-infotech.de/kalender.php?action=edit&UniqueUserID=7b8464a6-b005-4c5c-9a79-9208d591c033)
            
            Mit freundlichen Grüßen
            
            Ihre Stadtreiniger Kassel
            
            

            Man müsste jetzt mittels JavaScript die 6. Zeile in eine neue Variable übertragen. Dann von hinten das 6 letzte Zeichen bis zum 15 letzten Zeichen wäre das Datum. Und Zeilen Anfang bis zum : wäre die Müllart.

            Aber ich finde die Lösung nicht, trotz Internetrecherche. Kennt jemand gute Seiten dafür? Oder evtl. die Lösung?

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              Versuche es mal so.

                  var location = text.split('
              ')[5];
              
              

              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
              • M Offline
                M Offline
                Mitch
                schrieb am zuletzt editiert von
                #7

                Vielen Dank, das war genau der richtige Hinweis. Jetzt hat es klick gemacht und ich habe folgendes Skript gebaut:

                on({id: "cloud.0.services.ifttt", change: "any"}, function (obj) 
                { 
                  setState('meinedp.0.ifttt.timestamp', formatDate(new Date(obj.state.ts), "TT.MM.JJJJ hh:mm:ss")); 
                  var text = getState("cloud.0.services.ifttt").val;
                  var line = text.split('
                ')[5];
                  var type = line.split(':')[0];
                  setState('meinedp.0.ifttt.type', type); 
                  var date = line.split(', ')[1];
                  setState('meinedp.0.ifttt.date', date); 
                });
                

                Danke nochmal an alle, die mir hier geholfen haben!

                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

                574

                Online

                32.7k

                Benutzer

                82.4k

                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