Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - eibga.conf völlig durcheinander

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] - √ - eibga.conf völlig durcheinander

    Durch was auch immer, meine eibga.conf war mal schön geordnet mit aufsteigenden GA's - jetzt sieht sie so aus:

    Code:
    ...[3/2/25]
    DPTSubId=1.001
    short=Jalousie
    ga=3/2/25
    DPTId=1
    name=Jalousie Johanna Sued 60Prozent
    [2/1/21]
    DPTSubId=1.001
    short=Status
    ga=2/1/21
    DPTId=1
    name=Status Licht EG Kueche Decke
    [2/1/40]
    DPTSubId=1.001
    short=Licht
    ga=2/1/40
    DPTId=1
    name=Licht EG Schlafen Decke
    [1/5/45]
    DPTSubId=5.001
    short=Bad
    ga=1/5/45
    DPTId=5
    name=Bad KG Luftfeuchte hum
    [2/2/3]
    DPTSubId=5.001
    short=Jalousie
    ga=2/2/3
    DPTId=5
    name=Jalousie Schlafen Positionsfahrt...
    Gibt es eine enfache Methode das ganze wieder nach GA's aufsteigend zu ordnen? In etwa so in der Reihenfolge wie im snapshot. Ich wollte bei Änderungen an der eibga.conf nicht immer den Umweg über webmin nehmen - da kann ich ja sortieren.
    Angehängte Dateien
    Viele Grüße Jens

    #2
    Hallo Jens,

    wenn man nur die Überschrift "...völlig durcheinander" ließt, könnte man den Eindruck haben, eine wichtige Konfigurationsdatei wurde in Ihrer Struktur zerstört.

    Tatsächlich habe ich den Eindruck, dass es darum geht, dass die Reihenfolge von Daten in der technischen Konfigurationsdatei nur nicht Deinem Geschmack / Wunsch entspricht? Verstehe ich das so richtig?

    lg

    Stefan

    Kommentar


      #3
      Ja, es geht eigentlich darum, dass die Reihenfolge der einträge wodurch auch immer in der eibga.conf seit ca. 1 woche willkürlich ist. Technisch gibt es kein Problem. Es funktioniert ja alles. Es geht einfach um die Frage nach einer Möglichkeit die native eibga.conf wieder "umzuordnen".
      Viele Grüße Jens

      Kommentar


        #4
        Jens,

        was ist denn seit jener Woche passiert? Das passiert ja nicht einfach so? Irgend was hinzugefügt? Gebootet? Irgendetwas, dass Du ansonsten nicht machst?

        lg

        Stefan

        Kommentar


          #5
          Ich modifiziere ab und zu einige plugins. Letzte Woche hat sich das wiregate neu gebootet - allerdings nicht durch mich initiiert. grund ist mir nicht so recht augenscheinlich. Läuft jetzt auch wieder völlig stabil.

          Wie gesagt, technisch funktioniert ja alles - es ist ein "reines" kosmetisches Problem. Die Bearbeitung der eibga per Texteditor ist aktuell halt etwas schwieriger, weil ich die entsprechenden GA-einträge in der relativ langen Liste erst finden muss. Vorher war es halt geordnet.
          Es ist aber kein Drama.
          Viele Grüße Jens

          Kommentar


            #6
            Wenn Dir die Sortierung so wichtig ist, könntest Du natürlich ein Script drüber laufen lassen. Zum Bsp. mit perl... Datei Zeilenweise einlesen, Daten in z.B. ein Hash of Arrays (oder Hash of Hashes) packen und sortiert wieder ausgeben. Kann so kompliziert nicht sein .

            Kommentar


              #7
              Hier mal ein paar Zeilen wie das Ganze in Perl aussehen könnte.

              Folgendes Script als "sort_eibga.pl" speichern und aufrufen mit "perl sort_eibga.pl > eibga.conf.new". Falls das Ergebnis ok ist, kannst Du die original eibga.conf sichern und ersetzen.

              Von mir ungetestet... kannst aber nichts damit kaputt machen (funktioniert nur mit 3-stufigen GAs).

              Code:
              #!/usr/bin/perl
              
              use strict;
              use warnings;
              
              # Path to file
              my $myFile = '/etc/wiregate/eibga.conf';
              
              # create file handle
              open (my $fh, "<", $myFile) or die "$myFile: $!";
              
              my %hash;
              my $index;
              
              # Read line by line
              while (my $line = <$fh>) {
                 chomp($line);
                 if ($line =~ m!\[([0-9]+)\/([0-9]+)\/([0-9]+)\]!) {
                    $index = sprintf("%02d-%03d-%03d", $1, $2, $3);
                 }
                 push(@{$hash{$index}}, $line);
              }
              close($fh) or die "$myFile: $!";
              
              # print output (sorted by index)
              for my $key (sort keys %hash) {
                  print "$_\n" for @{$hash{$key}};
              }

              Kommentar


                #8
                Vielen Dank - das probier ich demnächst aus!
                Viele Grüße Jens

                Kommentar


                  #9
                  Super, hat genau das gewünschte Ergebnis gebracht - noch mals herzlichen Dank @ XueSheng
                  Viele Grüße Jens

                  Kommentar


                    #10
                    Danke auch von mir XueSheng, dass Du so gut geholfen hast, so wie immer.

                    Darf ich Dich für unsere kommenden SW-Rollouts in unser "Professional-Tester" Team einladen?


                    @Jens. Ich setzt dann mal den "gelöst" Haken für Dich, beim nächsten Mal bitte selbst, wenn Dein Thread gelöst ist.


                    @All: Nachdem ich nun schon seit Jahren die Haken ständig hinterhersetze, damit die Übersicht gewahrt bleibt, würde ich mich freuen, wenn ALLE die das bisher vergessen - übrigens im gesamten Forum - jeweils den "gelöst" Haken im grünen Menüband unter "Themen Optionen" setzen. Ist eine Forenregel.


                    Danke für das Verständnis und die Unterstützung

                    lg

                    Stefan

                    Kommentar


                      #11
                      Zitat von StefanW Beitrag anzeigen
                      Danke auch von mir XueSheng, dass Du so gut geholfen hast, so wie immer.

                      Darf ich Dich für unsere kommenden SW-Rollouts in unser "Professional-Tester" Team einladen?
                      Interesse wäre grundsätzlich da. Man müsste natürlich ein paar Details klären, um sicherzustellen, dass meine Plugins nicht alle über den Jordan gehen (Stichwort Modifikationen wiregated.pl).
                      Soll ich ein Ticket bei Euch erstellen oder kommst Du auf mich zu?

                      Kommentar


                        #12
                        Hallo Michael,

                        wir kommen auf Dich zu.

                        Selbstverständlich kannst Du als "Professional Tester" (bei Microsoft heißt das MVP für "Most Valuable Professional", das sind ausgesuchte Fachleute aus der Community) auch separate HW gestellt bekommen.

                        Du bekommst zudem jede neue Hard- und Software zum Testen und wirst zu entsprechenden Events und Zusammenkünften kostenfrei eingeladen (demnächst das "konstituierende" Treffen der Confluence-Admins).

                        lg

                        Stefan

                        Kommentar

                        Lädt...
                        X