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. ioBroker Allgemein
  4. Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    493

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
parser guntamatic regex
77 Beiträge 8 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.
  • HomoranH Homoran

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

    daraus möchte ich Zeilenweise die Werte Parsen.

    Jede Zeile???
    oder nur ausgewählte?

    ([\d\.\w\-]+)
    gibt dir als Match den Wert jeder Zeile in einer anderen Gruppe (= NUM)

    G Offline
    G Offline
    glitzi
    schrieb am zuletzt editiert von
    #5

    Super, das funktioniert schon mal perfekt.

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

    HomoranH 1 Antwort Letzte Antwort
    0
    • G glitzi

      Super, das funktioniert schon mal perfekt.

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

      HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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 Offline
          HomoranH Offline
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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 Offline
              HomoranH Offline
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • HomoranH Homoran

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

                G Offline
                G Offline
                glitzi
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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 Offline
                  HomoranH Offline
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #13

                    Hallo,

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

                    MfG

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • G glitzi

                      Hallo,

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

                      MfG

                      HomoranH Offline
                      HomoranH Offline
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #15

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

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

                        HomoranH 2 Antworten Letzte Antwort
                        0
                        • G glitzi

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

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

                          HomoranH Offline
                          HomoranH Offline
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • G glitzi

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

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

                            HomoranH Offline
                            HomoranH Offline
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • AlCalzoneA Offline
                              AlCalzoneA Offline
                              AlCalzone
                              Developer
                              schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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 Offline
                                  HomoranH Offline
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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 Offline
                                    HomoranH Offline
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antworten Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antworten Letzte Antwort
                                        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 Offline
                                          HomoranH Offline
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #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 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          331

                                          Online

                                          32.5k

                                          Benutzer

                                          81.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