Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

Scheduled Pinned Locked Moved ioBroker Allgemein
parser guntamatic regex
77 Posts 8 Posters 13.3k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G glitzi

    Super, das funktioniert schon mal perfekt.

    Ist es auch möglich leere Zeilen zu berücksichtigen?

    HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #6

    @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

    Ist es auch möglich leere Zeilen zu berücksichtigen?

    vielleicht?
    aber wonach soll man da suchen?

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

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

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

    G 1 Reply Last reply
    0
    • HomoranH Homoran

      @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

      Ist es auch möglich leere Zeilen zu berücksichtigen?

      vielleicht?
      aber wonach soll man da suchen?

      G Offline
      G Offline
      glitzi
      wrote on last edited by
      #7

      In Openhab habe ich es mit String Split gemacht, da hat er die leeren Zeilen berücksichtigt.

      eventuell nach dem CR und LF? am ende jeder Zeile?

      HomoranH 1 Reply Last reply
      0
      • G glitzi

        In Openhab habe ich es mit String Split gemacht, da hat er die leeren Zeilen berücksichtigt.

        eventuell nach dem CR und LF? am ende jeder Zeile?

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #8

        @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

        eventuell nach dem CR und LF? am ende jeder Zeile?

        Das geht ohne Probleme aber er hat nichts auszugeben ;-)

        Selbst das Leerzeichen (es ist nämlich keine wirklich leere Zeile) bekomme ich nicht als Ausgabe :-(

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

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

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

        G 1 Reply Last reply
        0
        • HomoranH Homoran

          @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

          eventuell nach dem CR und LF? am ende jeder Zeile?

          Das geht ohne Probleme aber er hat nichts auszugeben ;-)

          Selbst das Leerzeichen (es ist nämlich keine wirklich leere Zeile) bekomme ich nicht als Ausgabe :-(

          G Offline
          G Offline
          glitzi
          wrote on last edited by
          #9

          Hintergrund ist wenn da mal was von der Heizung eingetragen wird, bekomme ich einen Versatz in der ganzen Auswertung. z.B. in Zeile 3 kommt mal was, denn würden sich die folgenden um eins versetzen.

          HomoranH 1 Reply Last reply
          0
          • G glitzi

            Hintergrund ist wenn da mal was von der Heizung eingetragen wird, bekomme ich einen Versatz in der ganzen Auswertung. z.B. in Zeile 3 kommt mal was, denn würden sich die folgenden um eins versetzen.

            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #10

            @glitzi ich fürchte, dann musst du das auch mit split machen, aber eben mit javascript

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

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

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

            G 1 Reply Last reply
            0
            • HomoranH Homoran

              @glitzi ich fürchte, dann musst du das auch mit split machen, aber eben mit javascript

              G Offline
              G Offline
              glitzi
              wrote on last edited by
              #11

              Das ist echt blöd...

              gerade in Zeile 79 und 80 schreibt die Heizung die Störungstexte in Klartext, das würde dann den Rest um zwei Zeilen verschieben.

              Also muss ich mich jetzt in javascript einarbeiten :confounded:

              Trotzdem Danke für die super Unterstützung!!!

              HomoranH 1 Reply Last reply
              0
              • G glitzi

                Das ist echt blöd...

                gerade in Zeile 79 und 80 schreibt die Heizung die Störungstexte in Klartext, das würde dann den Rest um zwei Zeilen verschieben.

                Also muss ich mich jetzt in javascript einarbeiten :confounded:

                Trotzdem Danke für die super Unterstützung!!!

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by Homoran
                #12

                @glitzi Hab noch mal ein wenig getestet, versuch mal :^([\d\-\.\w]+|\s)\n

                aber keine Garantie, dass Zeile 79 und 80 (=NUM78 oder 79) wahlweise nix oder den Klartext anzeigen
                steht da jetzt AUS???

                RegEx_Heizung.png

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

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

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

                G 1 Reply Last reply
                0
                • HomoranH Homoran

                  @glitzi Hab noch mal ein wenig getestet, versuch mal :^([\d\-\.\w]+|\s)\n

                  aber keine Garantie, dass Zeile 79 und 80 (=NUM78 oder 79) wahlweise nix oder den Klartext anzeigen
                  steht da jetzt AUS???

                  RegEx_Heizung.png

                  G Offline
                  G Offline
                  glitzi
                  wrote on last edited by
                  #13

                  Hallo,

                  so funktioniert es generell nicht mehr (die Richtigen Zeilen sind NUM79 und 80)

                  MfG

                  HomoranH 1 Reply Last reply
                  0
                  • G glitzi

                    Hallo,

                    so funktioniert es generell nicht mehr (die Richtigen Zeilen sind NUM79 und 80)

                    MfG

                    HomoranH Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #14

                    @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                    so funktioniert es generell nicht mehr

                    die NUM müssten sich jetzt verschoben haben und für JEDE Zeile ein Match vorhanden sein - jedoch OHNE Group!
                    Kann sein, dass es deswegen gar nicht mehr klappt.

                    kannst du mal das Editorfenster von dem Parser-Adapter mit dem neuen RegEx zeigen?

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

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

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

                    G 1 Reply Last reply
                    0
                    • HomoranH Homoran

                      @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                      so funktioniert es generell nicht mehr

                      die NUM müssten sich jetzt verschoben haben und für JEDE Zeile ein Match vorhanden sein - jedoch OHNE Group!
                      Kann sein, dass es deswegen gar nicht mehr klappt.

                      kannst du mal das Editorfenster von dem Parser-Adapter mit dem neuen RegEx zeigen?

                      G Offline
                      G Offline
                      glitzi
                      wrote on last edited by
                      #15

                      Da müsste ja jetzt auch AUS stehen und mit NUM 2 NIX

                      c34a4505-5340-4688-a296-2493405a093d-image.png

                      HomoranH 2 Replies Last reply
                      0
                      • G glitzi

                        Da müsste ja jetzt auch AUS stehen und mit NUM 2 NIX

                        c34a4505-5340-4688-a296-2493405a093d-image.png

                        HomoranH Do not disturb
                        HomoranH Do not disturb
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by
                        #16

                        @glitzi sehe ich gerade auch.
                        Habe mir den Text in einer Testumgebung in das Fenster kopiert.

                        Der ioBroker parser tickt manchmal etwas anders.
                        Suche noch nach der Ursache

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

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

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

                        1 Reply Last reply
                        0
                        • G glitzi

                          Da müsste ja jetzt auch AUS stehen und mit NUM 2 NIX

                          c34a4505-5340-4688-a296-2493405a093d-image.png

                          HomoranH Do not disturb
                          HomoranH Do not disturb
                          Homoran
                          Global Moderator Administrators
                          wrote on last edited by
                          #17

                          @glitzi
                          Mit ([\d\-\.\w]+|\s) kommt wenigstens wieder etwas, aber die NUMs sind jetzt fast doppelt so hoch, weil anscheinend da immer noch ein Leerzeichen vor dem Zeilenumruch ist

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

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

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

                          1 Reply Last reply
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            wrote on last edited by AlCalzone
                            #18

                            Mal ganz dämlich, habt ihr es mal einfach nur mit (.+) als Regex probiert? Das sollte jeweils die ganze Zeile matchen (in der obigen Textdatei enthalten alle "leeren" Zeilen ein Leerzeichen).
                            Oder tickt da der ioBroker-Parser auch anders?

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            G HomoranH 2 Replies Last reply
                            0
                            • AlCalzoneA AlCalzone

                              Mal ganz dämlich, habt ihr es mal einfach nur mit (.+) als Regex probiert? Das sollte jeweils die ganze Zeile matchen (in der obigen Textdatei enthalten alle "leeren" Zeilen ein Leerzeichen).
                              Oder tickt da der ioBroker-Parser auch anders?

                              G Offline
                              G Offline
                              glitzi
                              wrote on last edited by
                              #19

                              Puhhhh irgendwie alles sehr schwierig,

                              wie wäre es denn mit so einem Script, das habe ich mir eben mal zusammengegoogelt.

                              würde das so funktionieren?

                              function()
                              {
                              createState('Guntamatic_Test1');
                              createState('Guntamatic_Test2'); 
                              
                              var request= require('request');
                              request.post({
                                url:     'http://10.10.10.7/daqdata.cgi'
                              }, function(error, response, body){
                                if (body) {
                                    var parts_Guntamatic = body.split('\n')[0];
                                    setState('Guntamatic_Test2', parts_Guntamatic, true);
                              
                                    var parts_Guntamatic = body.split('\n')[1];
                                    setState('Guntamatic_Test2', parts_Guntamatic, true);
                                }
                              }); 
                               
                              }
                              )
                              
                              HomoranH 1 Reply Last reply
                              0
                              • AlCalzoneA AlCalzone

                                Mal ganz dämlich, habt ihr es mal einfach nur mit (.+) als Regex probiert? Das sollte jeweils die ganze Zeile matchen (in der obigen Textdatei enthalten alle "leeren" Zeilen ein Leerzeichen).
                                Oder tickt da der ioBroker-Parser auch anders?

                                HomoranH Do not disturb
                                HomoranH Do not disturb
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #20

                                @AlCalzone sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                                Oder tickt da der ioBroker-Parser auch anders?

                                das Problem scheinen beim ioBroker Parser die Zeilenumbrüche zu sein.
                                RegExes mit \n funktionieren z.B. nicht :-(

                                So ist das Problem auch mit diesem Text. das ^ als Anfang der Zeile führt dann immer nur zum ersten Eintrag, und das (.+) führt zu einem Ergebnis, das den gesamten Quelltext enthält

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

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

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

                                1 Reply Last reply
                                0
                                • G glitzi

                                  Puhhhh irgendwie alles sehr schwierig,

                                  wie wäre es denn mit so einem Script, das habe ich mir eben mal zusammengegoogelt.

                                  würde das so funktionieren?

                                  function()
                                  {
                                  createState('Guntamatic_Test1');
                                  createState('Guntamatic_Test2'); 
                                  
                                  var request= require('request');
                                  request.post({
                                    url:     'http://10.10.10.7/daqdata.cgi'
                                  }, function(error, response, body){
                                    if (body) {
                                        var parts_Guntamatic = body.split('\n')[0];
                                        setState('Guntamatic_Test2', parts_Guntamatic, true);
                                  
                                        var parts_Guntamatic = body.split('\n')[1];
                                        setState('Guntamatic_Test2', parts_Guntamatic, true);
                                    }
                                  }); 
                                   
                                  }
                                  )
                                  
                                  HomoranH Do not disturb
                                  HomoranH Do not disturb
                                  Homoran
                                  Global Moderator Administrators
                                  wrote on last edited by Homoran
                                  #21

                                  @glitzi
                                  Ich glaube ich habe es jetzt: ([\w\.\d\-]+|\s)\s

                                  EDIT:
                                  Zeile 115 wird nicht ausgelesen, weil danach kein LF mehr kommt
                                  Das funktioniert dann mit ([\w\.\d\-]+|\s)\s?

                                  Ob das jetzt wieder andere Nebenwirkungen hat weiß ich nicht

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

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

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

                                  G 1 Reply Last reply
                                  1
                                  • HomoranH Homoran

                                    @glitzi
                                    Ich glaube ich habe es jetzt: ([\w\.\d\-]+|\s)\s

                                    EDIT:
                                    Zeile 115 wird nicht ausgelesen, weil danach kein LF mehr kommt
                                    Das funktioniert dann mit ([\w\.\d\-]+|\s)\s?

                                    Ob das jetzt wieder andere Nebenwirkungen hat weiß ich nicht

                                    G Offline
                                    G Offline
                                    glitzi
                                    wrote on last edited by
                                    #22

                                    Hallo,

                                    meine Finale Lösung ist jetzt doch ein Skript geworden...

                                    
                                    createState('Guntamatic_Betrieb_0');
                                    createState('Guntamatic_Aussentemperatur_1');
                                    createState('Guntamatic_Kesseltemperatur_3');
                                    createState('Guntamatic_Leistung_5');
                                    createState('Guntamatic_CO2_Gehalt_8');
                                    createState('Guntamatic_Puffer_oben_17');
                                    createState('Guntamatic_Puffer_unten_19');
                                    createState('Guntamatic_Pumpe_HP0_20');
                                    createState('Guntamatic_Warmwasser_21');
                                    createState('Guntamatic_Vorlauf_31');
                                    createState('Guntamatic_Kesselfreigabe_68');
                                    createState('Guntamatic_Programm_69');
                                    createState('Guntamatic_Programm_HK1_71');
                                    createState('Guntamatic_Stoer0_79');
                                    createState('Guntamatic_Stoer1_80');
                                    createState('Guntamatic_Asche_entleeren_85');
                                    createState('Guntamatic_Brenstoffzähler_89');
                                    createState('Guntamatic_Pufferladung_90');
                                    createState('Guntamatic_CO2_Gehalt_korrigiert');
                                    
                                    var request= require('request');
                                     
                                    schedule("*/10 * * * * *",
                                      
                                    function()
                                    {
                                    
                                    /*
                                    für einige Werte wie Brennstoffverbrauch benötigt mein einen Key von Guntamatic
                                      url:     'http://10.10.10.7/daqdata.cgi?key=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
                                    */
                                    
                                    var request= require('request');
                                    request.post({
                                      url:     'http://10.10.10.7/daqdata.cgi'
                                    }, function(error, response, body){
                                      if (body) {
                                          
                                          var parts_Guntamatic = body.split('\n')[0];
                                          setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[1];
                                          setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[3];
                                          setState('Guntamatic_Kesseltemperatur_3', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[5];
                                          setState('Guntamatic_Leistung_5', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[8];
                                          setState('Guntamatic_CO2_Gehalt_8', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[17];
                                          setState('Guntamatic_Puffer_oben_17', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[19];
                                          setState('Guntamatic_Puffer_unten_19', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[20];
                                          setState('Guntamatic_Pumpe_HP0_20', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[21];
                                          setState('Guntamatic_Warmwasser_21', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[31];
                                          setState('Guntamatic_Vorlauf_31', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[68];
                                          setState('Guntamatic_Kesselfreigabe_68', parts_Guntamatic, true);
                                          
                                          var parts_Guntamatic = body.split('\n')[69];
                                          setState('Guntamatic_Programm_69', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[71];
                                          setState('Guntamatic_Programm_HK1_71', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[79];
                                          setState('Guntamatic_Stoer0_79', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[80];
                                          setState('Guntamatic_Stoer1_80', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[85];
                                          setState('Guntamatic_Asche_entleeren_85', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[89];
                                          setState('Guntamatic_Brenstoffzähler_89', parts_Guntamatic, true);
                                    
                                          var parts_Guntamatic = body.split('\n')[90];
                                          setState('Guntamatic_Pufferladung_90', parts_Guntamatic, true);
                                      }
                                    
                                    
                                    if (getState("Guntamatic_Leistung_5").val == 0)
                                    {
                                        setState("Guntamatic_CO2_Gehalt_korrigiert" , 0, true);
                                    }
                                    else
                                    {
                                        setState("Guntamatic_CO2_Gehalt_korrigiert",getState("Guntamatic_CO2_Gehalt_8").val);  
                                    }
                                    
                                    
                                    }); 
                                     
                                    }
                                    )
                                    
                                    AlCalzoneA HomoranH A 3 Replies Last reply
                                    0
                                    • G glitzi

                                      Hallo,

                                      meine Finale Lösung ist jetzt doch ein Skript geworden...

                                      
                                      createState('Guntamatic_Betrieb_0');
                                      createState('Guntamatic_Aussentemperatur_1');
                                      createState('Guntamatic_Kesseltemperatur_3');
                                      createState('Guntamatic_Leistung_5');
                                      createState('Guntamatic_CO2_Gehalt_8');
                                      createState('Guntamatic_Puffer_oben_17');
                                      createState('Guntamatic_Puffer_unten_19');
                                      createState('Guntamatic_Pumpe_HP0_20');
                                      createState('Guntamatic_Warmwasser_21');
                                      createState('Guntamatic_Vorlauf_31');
                                      createState('Guntamatic_Kesselfreigabe_68');
                                      createState('Guntamatic_Programm_69');
                                      createState('Guntamatic_Programm_HK1_71');
                                      createState('Guntamatic_Stoer0_79');
                                      createState('Guntamatic_Stoer1_80');
                                      createState('Guntamatic_Asche_entleeren_85');
                                      createState('Guntamatic_Brenstoffzähler_89');
                                      createState('Guntamatic_Pufferladung_90');
                                      createState('Guntamatic_CO2_Gehalt_korrigiert');
                                      
                                      var request= require('request');
                                       
                                      schedule("*/10 * * * * *",
                                        
                                      function()
                                      {
                                      
                                      /*
                                      für einige Werte wie Brennstoffverbrauch benötigt mein einen Key von Guntamatic
                                        url:     'http://10.10.10.7/daqdata.cgi?key=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
                                      */
                                      
                                      var request= require('request');
                                      request.post({
                                        url:     'http://10.10.10.7/daqdata.cgi'
                                      }, function(error, response, body){
                                        if (body) {
                                            
                                            var parts_Guntamatic = body.split('\n')[0];
                                            setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[1];
                                            setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[3];
                                            setState('Guntamatic_Kesseltemperatur_3', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[5];
                                            setState('Guntamatic_Leistung_5', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[8];
                                            setState('Guntamatic_CO2_Gehalt_8', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[17];
                                            setState('Guntamatic_Puffer_oben_17', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[19];
                                            setState('Guntamatic_Puffer_unten_19', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[20];
                                            setState('Guntamatic_Pumpe_HP0_20', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[21];
                                            setState('Guntamatic_Warmwasser_21', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[31];
                                            setState('Guntamatic_Vorlauf_31', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[68];
                                            setState('Guntamatic_Kesselfreigabe_68', parts_Guntamatic, true);
                                            
                                            var parts_Guntamatic = body.split('\n')[69];
                                            setState('Guntamatic_Programm_69', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[71];
                                            setState('Guntamatic_Programm_HK1_71', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[79];
                                            setState('Guntamatic_Stoer0_79', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[80];
                                            setState('Guntamatic_Stoer1_80', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[85];
                                            setState('Guntamatic_Asche_entleeren_85', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[89];
                                            setState('Guntamatic_Brenstoffzähler_89', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = body.split('\n')[90];
                                            setState('Guntamatic_Pufferladung_90', parts_Guntamatic, true);
                                        }
                                      
                                      
                                      if (getState("Guntamatic_Leistung_5").val == 0)
                                      {
                                          setState("Guntamatic_CO2_Gehalt_korrigiert" , 0, true);
                                      }
                                      else
                                      {
                                          setState("Guntamatic_CO2_Gehalt_korrigiert",getState("Guntamatic_CO2_Gehalt_8").val);  
                                      }
                                      
                                      
                                      }); 
                                       
                                      }
                                      )
                                      
                                      AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      wrote on last edited by
                                      #23

                                      @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                                      body.split('\n')

                                      Kleiner Tip: Speicher das in einer Variablen und nutze diese (anstatt die Split-Aktion 90x auszuführen)

                                            var parts = body.split('\n');
                                            var parts_Guntamatic = parts[0];
                                            setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                                      
                                            var parts_Guntamatic = parts[1];
                                            setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                                      
                                          ...
                                      

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      G 2 Replies Last reply
                                      1
                                      • G glitzi

                                        Hallo,

                                        meine Finale Lösung ist jetzt doch ein Skript geworden...

                                        
                                        createState('Guntamatic_Betrieb_0');
                                        createState('Guntamatic_Aussentemperatur_1');
                                        createState('Guntamatic_Kesseltemperatur_3');
                                        createState('Guntamatic_Leistung_5');
                                        createState('Guntamatic_CO2_Gehalt_8');
                                        createState('Guntamatic_Puffer_oben_17');
                                        createState('Guntamatic_Puffer_unten_19');
                                        createState('Guntamatic_Pumpe_HP0_20');
                                        createState('Guntamatic_Warmwasser_21');
                                        createState('Guntamatic_Vorlauf_31');
                                        createState('Guntamatic_Kesselfreigabe_68');
                                        createState('Guntamatic_Programm_69');
                                        createState('Guntamatic_Programm_HK1_71');
                                        createState('Guntamatic_Stoer0_79');
                                        createState('Guntamatic_Stoer1_80');
                                        createState('Guntamatic_Asche_entleeren_85');
                                        createState('Guntamatic_Brenstoffzähler_89');
                                        createState('Guntamatic_Pufferladung_90');
                                        createState('Guntamatic_CO2_Gehalt_korrigiert');
                                        
                                        var request= require('request');
                                         
                                        schedule("*/10 * * * * *",
                                          
                                        function()
                                        {
                                        
                                        /*
                                        für einige Werte wie Brennstoffverbrauch benötigt mein einen Key von Guntamatic
                                          url:     'http://10.10.10.7/daqdata.cgi?key=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
                                        */
                                        
                                        var request= require('request');
                                        request.post({
                                          url:     'http://10.10.10.7/daqdata.cgi'
                                        }, function(error, response, body){
                                          if (body) {
                                              
                                              var parts_Guntamatic = body.split('\n')[0];
                                              setState('Guntamatic_Betrieb_0', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[1];
                                              setState('Guntamatic_Aussentemperatur_1', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[3];
                                              setState('Guntamatic_Kesseltemperatur_3', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[5];
                                              setState('Guntamatic_Leistung_5', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[8];
                                              setState('Guntamatic_CO2_Gehalt_8', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[17];
                                              setState('Guntamatic_Puffer_oben_17', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[19];
                                              setState('Guntamatic_Puffer_unten_19', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[20];
                                              setState('Guntamatic_Pumpe_HP0_20', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[21];
                                              setState('Guntamatic_Warmwasser_21', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[31];
                                              setState('Guntamatic_Vorlauf_31', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[68];
                                              setState('Guntamatic_Kesselfreigabe_68', parts_Guntamatic, true);
                                              
                                              var parts_Guntamatic = body.split('\n')[69];
                                              setState('Guntamatic_Programm_69', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[71];
                                              setState('Guntamatic_Programm_HK1_71', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[79];
                                              setState('Guntamatic_Stoer0_79', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[80];
                                              setState('Guntamatic_Stoer1_80', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[85];
                                              setState('Guntamatic_Asche_entleeren_85', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[89];
                                              setState('Guntamatic_Brenstoffzähler_89', parts_Guntamatic, true);
                                        
                                              var parts_Guntamatic = body.split('\n')[90];
                                              setState('Guntamatic_Pufferladung_90', parts_Guntamatic, true);
                                          }
                                        
                                        
                                        if (getState("Guntamatic_Leistung_5").val == 0)
                                        {
                                            setState("Guntamatic_CO2_Gehalt_korrigiert" , 0, true);
                                        }
                                        else
                                        {
                                            setState("Guntamatic_CO2_Gehalt_korrigiert",getState("Guntamatic_CO2_Gehalt_8").val);  
                                        }
                                        
                                        
                                        }); 
                                         
                                        }
                                        )
                                        
                                        HomoranH Do not disturb
                                        HomoranH Do not disturb
                                        Homoran
                                        Global Moderator Administrators
                                        wrote on last edited by
                                        #24

                                        @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                                        meine Finale Lösung ist jetzt doch ein Skript geworden...

                                        Das ist gut!

                                        Aber da ich neugierig bin würde mich interessieren ob mein letztes RegEx wirklich funktioniert (hätte)?

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

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

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

                                        G 1 Reply Last reply
                                        0
                                        • HomoranH Homoran

                                          @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                                          meine Finale Lösung ist jetzt doch ein Skript geworden...

                                          Das ist gut!

                                          Aber da ich neugierig bin würde mich interessieren ob mein letztes RegEx wirklich funktioniert (hätte)?

                                          G Offline
                                          G Offline
                                          glitzi
                                          wrote on last edited by
                                          #25

                                          @Homoran said in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                                          @glitzi sagte in Parser Adapter Werte Zeilenweise auslesen (Guntamatic):

                                          meine Finale Lösung ist jetzt doch ein Skript geworden...

                                          Das ist gut!

                                          Aber da ich neugierig bin würde mich interessieren ob mein letztes RegEx wirklich funktioniert (hätte)?

                                          Leider hat er nicht funktioniert... Trotzdem Danke für die viele Arbeit!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          547

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe