Ankündigung

Einklappen
Keine Ankündigung bisher.

SystemLog und scrollbare Listen - BETA

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Deinen Code hab ich mir schonmal angeschaut. Verstanden habe ich es aber eher weniger.

    Code:
    "(lambda message,severity='info',facility='Rollladen',self=self: '<log><id>'+__import__('md5').new(self.makeCheckSum() + str(__import__('time').time())).hexdigest() +'</id><facility>'+facility+'</facility><severity>'+severity+'</severity><message>'+message+'</message></log>')(EN[38]+': Sperre AUS (keine Pos. anfahren)')
    Das heisst, der XML Knoten muss wie folgt aussehen?

    Code:
    <log><id>CHECKSUMME + UHRZEIT</id><facility>facility</facility><severity>severity</severity><message>message</message></log>MEINTEXT
    Richtig?

    Kommentar


      Ich habe das auch nur von NilS "geklaut"...

      Einfach so übernehmen, dann funktionierts.
      Wenn du dir von NilsS Ereignis-Baustein oder meinem Rollladenbaustein den Ausgang anschaust, siehst du ja, wie ein Eintrag auszusehen hat...
      Gruß, Marc

      Kommentar


        Zitat von NilsS Beitrag anzeigen
        Ich würde aber denoch den Baustein weiter sanieren, da er "by Design" kaputt ist. Die Filter sind nämlich vollkommen unbrauchbar. Meine Idee würde jedoch die kompatiblität zerstören, daher wollte ich kurz eure Meinung dazu.

        Meine Idee wäre es 2 Filtereingänge zu machen, einer für das speichern und einen für das Anzeigen. Diese Filter müssten dann in einer Zeile, Facility#severity#message enthalten, denn es macht nur Sinn wenn ich sagen kann, das ich
        Code:
        Rollladen#-debug,*#*@Telefonbuch#*#-gestartet@*#-debug,-info,*#*
        Die dann alle Meldungen vom Rollladen severity info+ und vom Telefobuch alles ausser der "gestartet" Meldung, und ansonsten alles mit notice+

        Bitte um Feedback
        Das mal wieder hochgeholt.

        Vielleicht nicht unbedingt so wie hier beschrieben, aber ich werde die Abwärtskompatibilität killen.

        Wer Einwände hat möge jetzt sprechen oder für immer schweigen
        Nils

        aktuelle Bausteine:
        BusAufsicht - ServiceCheck - Pushover - HS-Insight

        Kommentar


          Hey Nils!

          Du scheinst ja wirklich "Langeweile" zu haben ;-)

          Ich habe auf jeden Fall kein Problem, solange du mir eine "Chance" gibst, meine Bausteine ebenfalls entsprechend zu "sanieren"...

          Das würde ich dann versuchen zeitnah zu deinen Updates umzusetzen...
          Gruß, Marc

          Kommentar


            Die Clientseite ist von der Kompatiblität nicht betroffen.

            Es geht

            a) um die Filter: status todo
            b) direkte kommunikation zwischen SystemLog + XML-ScrollList. Kein XML: status 90%
            Nils

            aktuelle Bausteine:
            BusAufsicht - ServiceCheck - Pushover - HS-Insight

            Kommentar


              HallO Nils,

              Zitat von NilsS Beitrag anzeigen

              Vielleicht nicht unbedingt so wie hier beschrieben, aber ich werde die Abwärtskompatibilität killen.

              Wer Einwände hat möge jetzt sprechen oder für immer schweigen
              Mach einfach, Du bist eh der Experte dafür und kannst es am besten beurteilen.

              Du sollte dann mindesten die Major Version hochziehen, oder sogar eine neue Logik-ID spendieren. Dadurch würden Projekte die Chance haben eine schleichende Migration zu machen. Also paralleler Betrieb.

              Mein 5 cent.

              Gruß Tbi

              Kommentar


                Neue mayor kommt Rest wird schon nicht so wild

                Nur die Filter die eh nicht so funzen wie sie sollen sind betroffen.

                Extra Features wie DirectConnect gehen einfach wenn die passende ScrollList dranhängen.

                Web ist jetzt auch mit drin wie im Textarchiv.

                Es wird 2 Filter geben, einer "store" für das speichern und einer "View" für das anzeigen. Beide zur Laufzeit änderbar.
                Nils

                aktuelle Bausteine:
                BusAufsicht - ServiceCheck - Pushover - HS-Insight

                Kommentar


                  Ich schweige ;-) und freue mich schon auf die neue Version.


                  Uwe

                  Kommentar


                    So ich will euch mal nicht länger warten lassen, auch wenn der DirectConnect ohne die passende ScrollList noch nicht funzt.

                    Aber zum testen

                    features:
                    Standalone Einsatz: Log über Debugseite aufrufen.
                    View Filter: Änderung zur Laufzeit direkt sichtbar alle Nachrichten
                    Store Filter: Änderung zur Laufzeit .. alle folgenden Nachrichten

                    Teilweise kompatibel:
                    FILTERSTRINGS MÜSSEN ANGEPASST WERDEN:

                    Format ist einfach: Facilty.Severity (später auch noch message)
                    Trennzeichen ist #
                    severity kann folgendermaßen angegeben werden.
                    >notice notice-error

                    Ich mach mal ein paar Beispiele.
                    Code:
                    *.>notice#Rollladen.debug,notice-error#System.-notice
                    Alle Meldungen notice und größer, Rollladen nur debug und von notice-error, bei System wird der Filter * angewendet außer das kein info angezeigt wird.

                    Code:
                    *.info,warn,error#Rollladen
                    Allles mit Severity info,warn oder error und alle severity von Rollladen


                    Die 'view' Filter können evtl. alte Einträge nicht richtig ausblenden, aber neue auf jeden Fall.
                    Angehängte Dateien
                    Nils

                    aktuelle Bausteine:
                    BusAufsicht - ServiceCheck - Pushover - HS-Insight

                    Kommentar


                      Hey Nils!

                      Bei mir kommt eine unschöne Exception, mit der ich nicht so wirklich etwas anfangen kann (die letzten 4 sind sicher Folgefehler).
                      Mache ich da etwas falsch (ich habe einfach das alte Systemlog durch das neue ersetzt)?

                      Exceptions

                      12.06.2011 10:56:20 (1)
                      File "/hs/compile/hs_logik.py", line 232, in calc
                      File "formula", line 0, in ?
                      File "[12260_SystemLog]", line 164, in __init__
                      File "[12260_SystemLog]", line 105, in read
                      EOFError
                      [5012L, 12260L, 0L, 'EI', 'KNXUF_SystemLog(pItem,locals())', '', 0L, 0L, 1L, 0L]
                      12.06.2011 10:56:20 (1)
                      File "/hs/compile/hs_logik.py", line 232, in calc
                      File "formula", line 0, in ?
                      AttributeError: 'str' object has no attribute 'makeFilter'
                      [5012L, 12260L, 0L, 'EI or EC[2]', "SN[1].makeFilter('store',EN[2])", '', 0L, 0L, 0L, 0L]
                      12.06.2011 10:56:20 (1)
                      File "/hs/compile/hs_logik.py", line 232, in calc
                      File "formula", line 0, in ?
                      AttributeError: 'str' object has no attribute 'makeFilter'
                      [5012L, 12260L, 0L, 'EI or EC[3]', "SN[1].makeFilter('view',EN[3])", '1', 0L, 1L, 0L, 0L]
                      12.06.2011 10:56:20 (1)
                      File "/hs/compile/hs_logik.py", line 232, in calc
                      File "formula", line 0, in ?
                      AttributeError: 'str' object has no attribute 'sendContent'
                      [5012L, 12260L, 0L, 'EI or SN[2]', 'SN[1].sendContent(locals())', '', 0L, 0L, 2L, 0L]
                      12.06.2011 11:53:03 (21)
                      File "/hs/compile/hs_logik.py", line 232, in calc
                      File "formula", line 0, in ?
                      AttributeError: 'str' object has no attribute 'log'
                      [5012L, 12260L, 0L, 'EC[1] and len(EN[1]) ] 0', 'SN[1].log(EN[1])', '', 0L, 0L, 2L, 0L]
                      Gruß, Marc

                      Kommentar


                        Leeren Buffer nicht abgefangen
                        Angehängte Dateien
                        Nils

                        aktuelle Bausteine:
                        BusAufsicht - ServiceCheck - Pushover - HS-Insight

                        Kommentar


                          Hi Nils,

                          da das iKO Systemlog XML und der Buffer ja remanent gespeichert wurde, macht es da Sinn die einmal nicht remanent zu setzten, um sie zurückzusetzen ?

                          Sind ja immer die besonders blöden Fehler, die mit falscher Initialisierung.

                          PS: Hab den Baustein noch nicht runtergeladen.

                          Gruß Tbi

                          Kommentar


                            Nee, passt schon. Ich hatte bei mir halt nur mit vollem iKOs getestet und dort halt nur den unpicklingerror abgefangen.


                            Übrigends um den Fehler mit in Zeile 105 read auf die Spur zu kommen.

                            einfach mal den Baustein neu erstellen mit dem beigefügten source und als parameter --list angeben.

                            also.

                            Code:
                            python 12260_SystemLog.py --list
                            dann sieht man den Source mit Zeilennummern
                            Nils

                            aktuelle Bausteine:
                            BusAufsicht - ServiceCheck - Pushover - HS-Insight

                            Kommentar


                              Ich hab ne sinnvolle Idee für den jetzt leeren EN4 zu nutzen.

                              Ein Ack Filter.

                              Eine Meldung hat wenn sie eingeht den AckStatus auf -1.

                              Wenn die Meldung jetzt ein Ack bekommt, dann wird dieser Status auf 1 gesetzt und bei einem Nack auf 0.

                              Wenn man jetzt bei einem SystemLog den Ackfilter auf "-1,0" setzt, dann werden nur Meldungen vom Typ New oder Nack angezeigt.

                              Jetzt kann man, anstatt Meldungen zu löschen, diese einfach nur per ACK verschwinden lassen. und bei Bedarf den Filter an EN4 auf "*" setzen und wieder alle angezeigt bekommen (inkl. Ack Zeit) und diese dann bei Bedarf wieder in die Liste aufnehmen (NACK).

                              Man könnte das also als Löschfunktion missbrauchen die wiederufbar ist.
                              Nils

                              aktuelle Bausteine:
                              BusAufsicht - ServiceCheck - Pushover - HS-Insight

                              Kommentar


                                Ich dacht schion ich krieg eine Knoten im Kopf.

                                Also Du meinst erstmal eine zusätzliche Eigenschaft für jeden Eintrag im SystemLog XML (Objekt). Wobei:

                                Neu (new) => -1
                                Bestätigt (Ack) => 1
                                Nicht bestätigt (NACK) => 0

                                Korrekt ?

                                Somit hat man die Möglichkeit diese zu Bestätigen oder nicht.

                                Mit dem neuen Filter auf EN4 könnte man dann diese eben auch danach filtern bzw. Anzeigen.

                                Hab ich das richtig verstanden ?

                                Wie lang wird eigentlich ein SystemLog XML ?

                                Gruß Tbi

                                Kommentar

                                Lädt...
                                X