Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Blockly
  5. Zerlegen von Zeichenketten in Blockly

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    314

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    290

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    922

Zerlegen von Zeichenketten in Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 3 Kommentatoren 2.4k Aufrufe 4 Beobachtet
  • Ä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.
  • H Offline
    H Offline
    hinsen2k
    schrieb am zuletzt editiert von
    #1

    Ahoi!

    Ich hab da mal ein paar Fragen zum "zerlegen":
    Ich verarbeite meine Alarmierungen der Feuerwehr im ioBroker. Dazu wird die Alarmmeldung als String in einen Datenpunkt geschrieben. Der Text ist in html, da dort auch Zeilenumbrüche per <br /> drin stehen. Die Meldung übergebe ich zum einen an Telegram und zum anderen an Alexa zum vorlesen. Nun hört sich das mit den html-Zeilenumbrüchen natürlich blöd an und ich möchte vor allem auch nicht den kompletten Text haben.
    Wie weit lässt sich so ein Werte-Feld auseinanderschneiden...und vor allem wie?!? Der Aufbau ist ungefähr so:
    EINSATZOBJEKT: xxx <br /><br />WACHEN IM EINSATZ: xxxx <br /><br />MELDEZEIT:
    Am besten wäre es, wenn die Daten von EINSATZOBJEKT bis vors erste <br> in eine Variable geschrieben werden. Das gleiche mit WACHEN IM EINSATZ und MELDEZEIT. Die <br> würde ich am liebsten per suchen/ersetzen entfernen, wenn überhaupt noch notwendig. Genial wäre es am Ende, wenn ich diesen Datenpunkt so zerlegt bekomme, das die Inhalte in 3 Variablen stehen und weiterverarbeitet werden können.

    Ich habe auch schon den Parsemode in dem Telegram Blockly auf html umgestellt, aber da mault das Log an, dass das <br/> kein html ist?!!? ;-)

    Besten Dank
    sven

    mickymM 1 Antwort Letzte Antwort
    0
    • H hinsen2k

      Ahoi!

      Ich hab da mal ein paar Fragen zum "zerlegen":
      Ich verarbeite meine Alarmierungen der Feuerwehr im ioBroker. Dazu wird die Alarmmeldung als String in einen Datenpunkt geschrieben. Der Text ist in html, da dort auch Zeilenumbrüche per <br /> drin stehen. Die Meldung übergebe ich zum einen an Telegram und zum anderen an Alexa zum vorlesen. Nun hört sich das mit den html-Zeilenumbrüchen natürlich blöd an und ich möchte vor allem auch nicht den kompletten Text haben.
      Wie weit lässt sich so ein Werte-Feld auseinanderschneiden...und vor allem wie?!? Der Aufbau ist ungefähr so:
      EINSATZOBJEKT: xxx <br /><br />WACHEN IM EINSATZ: xxxx <br /><br />MELDEZEIT:
      Am besten wäre es, wenn die Daten von EINSATZOBJEKT bis vors erste <br> in eine Variable geschrieben werden. Das gleiche mit WACHEN IM EINSATZ und MELDEZEIT. Die <br> würde ich am liebsten per suchen/ersetzen entfernen, wenn überhaupt noch notwendig. Genial wäre es am Ende, wenn ich diesen Datenpunkt so zerlegt bekomme, das die Inhalte in 3 Variablen stehen und weiterverarbeitet werden können.

      Ich habe auch schon den Parsemode in dem Telegram Blockly auf html umgestellt, aber da mault das Log an, dass das <br/> kein html ist?!!? ;-)

      Besten Dank
      sven

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @hinsen2k sagte in Zerlegen von Zeichenketten in Blockly:

      Am besten wäre es, wenn die Daten von EINSATZOBJEKT bis vors erste <br> in eine Variable geschrieben werden. Das gleiche mit WACHEN IM EINSATZ und MELDEZEIT. Die <br> würde ich am liebsten per suchen/ersetzen entfernen, wenn überhaupt noch notwendig. Genial wäre es am Ende, wenn ich diesen Datenpunkt so zerlegt bekomme, das die Inhalte in 3 Variablen stehen und weiterverarbeitet werden können

      Ich würde mit regulären Ausdrücken arbeiten, wenn das immer den gleichen Aufbau hat.

      Auf die 1. Gruppe greifst Du mit $1 zu, auf die 2. Gruppe mit $2 und 3. Gruppe mit $3etc.

      Diese Variablen $1,$2,$3 kannst Du dann in eigene Datenpunkte schreiben:

      6b467889-7f81-40f9-b483-8db711bc28c6-image.png

      hier kannst Du das selbst ausprobieren: https://regex101.com/r/QwwzEd/1

      Wie man reguläre Ausdrücke im Blockly nutzt musst Du, falls Du es nicht selbst weißt, einen Blockly Fachmann fragen,

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      H 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @hinsen2k sagte in Zerlegen von Zeichenketten in Blockly:

        Am besten wäre es, wenn die Daten von EINSATZOBJEKT bis vors erste <br> in eine Variable geschrieben werden. Das gleiche mit WACHEN IM EINSATZ und MELDEZEIT. Die <br> würde ich am liebsten per suchen/ersetzen entfernen, wenn überhaupt noch notwendig. Genial wäre es am Ende, wenn ich diesen Datenpunkt so zerlegt bekomme, das die Inhalte in 3 Variablen stehen und weiterverarbeitet werden können

        Ich würde mit regulären Ausdrücken arbeiten, wenn das immer den gleichen Aufbau hat.

        Auf die 1. Gruppe greifst Du mit $1 zu, auf die 2. Gruppe mit $2 und 3. Gruppe mit $3etc.

        Diese Variablen $1,$2,$3 kannst Du dann in eigene Datenpunkte schreiben:

        6b467889-7f81-40f9-b483-8db711bc28c6-image.png

        hier kannst Du das selbst ausprobieren: https://regex101.com/r/QwwzEd/1

        Wie man reguläre Ausdrücke im Blockly nutzt musst Du, falls Du es nicht selbst weißt, einen Blockly Fachmann fragen,

        H Offline
        H Offline
        hinsen2k
        schrieb am zuletzt editiert von
        #3

        @mickym Besten Dank!

        Allerdings muss ich gestehen, dass ich nur Bahnhof verstehe und so gut deine Hilfestellung bestimmt auch ist - ich nicht weiß, wie ich sie in meinem iobroker bzw. blockly umsetzen könnte.
        Blockly ist bisher mein erster Versuch, selbst zu experimentieren und zu probieren und ich bin schon recht happy bis hierhin. Bei allem weiteren hab ich noch keine Ahnung.

        David G.D mickymM 2 Antworten Letzte Antwort
        0
        • H hinsen2k

          @mickym Besten Dank!

          Allerdings muss ich gestehen, dass ich nur Bahnhof verstehe und so gut deine Hilfestellung bestimmt auch ist - ich nicht weiß, wie ich sie in meinem iobroker bzw. blockly umsetzen könnte.
          Blockly ist bisher mein erster Versuch, selbst zu experimentieren und zu probieren und ich bin schon recht happy bis hierhin. Bei allem weiteren hab ich noch keine Ahnung.

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von David G.
          #4

          @hinsen2k

          Bin selber noch ziemlicher Anfänger.
          Hab es gtad mal getestet. Anstatt den Wert in eine Variable zu schreiben hab ich mir das Ergebnis grad per telegram senden lassen.

          Müsste man dann für jeden Wert einmal so bauen.
          Ob es leichter geht, weiß ich nicht......

          Muss es leider in mehreren Bildern machen, anders bekomme ich es am Handy nicht hin.

          Screenshot_20210529-211641_Chrome.jpg
          Screenshot_20210529-211629_Chrome.jpg
          Screenshot_20210529-211621_Chrome.jpg

          Als Ergebnis bekomme ich dann "EINSATZOBJEKT: Haus"

          Wenn hinter dem Variablen Wert immer eine Leerstelle kommt, Recht es diese anstatt dem br einzutragen.

          P.S.
          <br /> ist kein HTML. Müsste nur ein <br> sein.

          Ggf hilf auch das weiter, so könntest du das br ersetzen.

          klick

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          1 Antwort Letzte Antwort
          0
          • H hinsen2k

            @mickym Besten Dank!

            Allerdings muss ich gestehen, dass ich nur Bahnhof verstehe und so gut deine Hilfestellung bestimmt auch ist - ich nicht weiß, wie ich sie in meinem iobroker bzw. blockly umsetzen könnte.
            Blockly ist bisher mein erster Versuch, selbst zu experimentieren und zu probieren und ich bin schon recht happy bis hierhin. Bei allem weiteren hab ich noch keine Ahnung.

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #5

            @hinsen2k Wenn Du weißt wir Du eine JS Funktion in Blockly einbindest, dann hier die Funktion:

            function feuerwehr(string){
            var obj= {"Einsatz":"" , "Wachen" : ""};
            var re =  /EINSATZOBJEKT: (.*?) <br.*WACHEN IM EINSATZ: (.*?) <br/;  
            string.replace(re, '$2, $1'); 
            obj.Einsatz = RegExp.$1;
            obj.Wachen = RegExp.$2;
            return obj;
            }
            

            Du bekommst dann ein Objekt zurück:
            4efb155d-0372-4f7e-9281-91c423905976-image.png

            das genau so aussieht.

            Der Funktion feuerwehr übergibst Du einfach den Wert Deines Datenpunktes aus dem Blockly.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            H 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @hinsen2k Wenn Du weißt wir Du eine JS Funktion in Blockly einbindest, dann hier die Funktion:

              function feuerwehr(string){
              var obj= {"Einsatz":"" , "Wachen" : ""};
              var re =  /EINSATZOBJEKT: (.*?) <br.*WACHEN IM EINSATZ: (.*?) <br/;  
              string.replace(re, '$2, $1'); 
              obj.Einsatz = RegExp.$1;
              obj.Wachen = RegExp.$2;
              return obj;
              }
              

              Du bekommst dann ein Objekt zurück:
              4efb155d-0372-4f7e-9281-91c423905976-image.png

              das genau so aussieht.

              Der Funktion feuerwehr übergibst Du einfach den Wert Deines Datenpunktes aus dem Blockly.

              H Offline
              H Offline
              hinsen2k
              schrieb am zuletzt editiert von
              #6

              @mickym
              Ich glaube, dass ich das hinbekomme! :-) Danke für deine Unterstützung!!

              Ich experimentiere mal!

              @david-g

              Danke auch für deinen Ansatz. Ich teste auch das :-)

              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              388

              Online

              32.8k

              Benutzer

              82.8k

              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