Ankündigung

Einklappen
Keine Ankündigung bisher.

Diverse Kleinigkeiten

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

    Diverse Kleinigkeiten

    In den letzten Tagen bin ich über einere kleineren Probleme gestolpert, bei denen ich etwas Unterstützung bräuchte. Wollte jetzt nicht für jeden Punkt einen eigenen Thread eröffnen, falls gewünscht mache ich das aber natürlich noch:


    1. Fehlermeldungen vom eibd:
    Im Log taucht regelmäßig folgende Zeile auf:

    ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: tuwien.auto.calimero.exception.KNXIllegalArgumentE xception: data length 0 < KNX data type width 2

    Ich vermute, dass es mit den regelmäßig versendeten Tempertur- und Feuchtewerten zusammenhängt, da die Meldung auch kommt wenn sonst auf dem Bus nichts los ist. Andererseits ist mir auch noch nichts aufgefallen, was in dem Zusammenhang nicht funktioniert:


    2. Images
    Ich hab einige RRD-Graphen, die ich per Image-Tag (Image url="..." ) in der sitemap einbinde. Quelle ist ein wiregate, bei dem sie über die graph.pl generiert werden. Dabei gibt es ein paar Punkte, bei denen ich aber auch nicht sicher sagen kann, ob sie vielleicht am Wiregate liegen:

    a. Manchmal (nach längerer Zeit?) werden die Graphen nicht geladen, Browser ist nichts zu sehen. Gebe ich die Adresse im Browser ein funktioniert es, danach auch wieder über die openHAB Visualisierung. Dann ja wahrscheinlich aus irgend einem Cache.

    b. Manchmal werden auch veraltete Graphen dargestellt, ich vermute, die kommen dann aus dem Cache. Hängt vielleicht mit Punkt a. zusammen?!

    c. Mir ist aufgefallen, dass das ein "&t=1346967822399" an die in der Sitemap konfigurierte URL angehängt ist, wenn ich die URL zur Graphik im Browser kopiere. Hab aber keine Ahnung, ob das vielleicht etwas mit dem Problem zu tun hat.

    d. Kann man das Hochskalieren der Images irgendwie unterbinden? Passiert bei mir, wenn das Browserfenster breiter ist als das Image.

    e. In iOS App bekomme ich bei den Graphen eine Fehlermeldung ("Invalid URL"), ist aber vielleicht schon bekannt?


    3. Nur als Hinweis: Wenn ich numerische Werte im KNX-Binding als DPT 9.004 definiere werden sie in der Oberfläche nicht angezeigt (vermutlich auch nicht empfangen? Hab ich aber nicht überprüft), lasse ich den DPT weg oder definiere sie als 9.001 ist alles prima



    Ich hoffe mal, ich war bei den Sachen nicht nur zu blöd zum Suchen und das ist alles schon durchgekaut worden... Auf jeden Fall schon mal vielen Dank für Eure Hilfe!

    Jockel

    #2
    Hi,
    Im Log taucht regelmäßig folgende Zeile auf:

    ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: tuwien.auto.calimero.exception.KNXIllegalArgumentE xception: data length 0 < KNX data type width 2
    Habe ich auch, siehe https://groups.google.com/forum/?fro...ab/qhrqqd4Dtt4. Muss noch genauer analysiert werden, woran das liegt. Es kommt irgendwo aus der Calimero-Lib herausgepoppt...

    a. Manchmal (nach längerer Zeit?) werden die Graphen nicht geladen
    Du meinst nach dem Bleiben auf einer Seite? Oder sogar nach einem Browserrefresh des UIs?

    b. Manchmal werden auch veraltete Graphen dargestellt, ich vermute, die kommen dann aus dem Cache. Hängt vielleicht mit Punkt a. zusammen?!
    Denkbar, müsste man mal exakt versuchen nachzustellen. Hast Du die gleichen Effekte mit dem rrdchart servlet von openHAB oder nur mit Deinem eigenen Script?

    c. Mir ist aufgefallen, dass das ein "&t=1346967822399" an die in der Sitemap konfigurierte URL angehängt ist, wenn ich die URL zur Graphik im Browser kopiere. Hab aber keine Ahnung, ob das vielleicht etwas mit dem Problem zu tun hat.
    Richtig, das wird gemacht, um jegliches Caching (also Fall b)) zu unterbinden; wenn die Quelle keinen passenden nocaching Header mitschickt, funktioniert nämlich ansonsten der Refresh nicht...

    d. Kann man das Hochskalieren der Images irgendwie unterbinden?
    Nein, es wird immer die verfügbare Breite genutzt. Einfach Browserfenster schmäler machen ;-)

    e. In iOS App bekomme ich bei den Graphen eine Fehlermeldung ("Invalid URL"), ist aber vielleicht schon bekannt?
    Nein, mir nicht bekannt. Hast Du eine konkrete Url, bei der dies passiert?

    3. Nur als Hinweis: Wenn ich numerische Werte im KNX-Binding als DPT 9.004 definiere werden sie in der Oberfläche nicht angezeigt (vermutlich auch nicht empfangen? Hab ich aber nicht überprüft), lasse ich den DPT weg oder definiere sie als 9.001 ist alles prima
    Stimmt, habe ich gerade im Code nachvollzogen - das ist ein Bug. Darf ich Dich bitten, ein Issue dazu einzutragen?

    Viele Grüße,
    Kai

    Kommentar


      #3
      Du meinst nach dem Bleiben auf einer Seite? Oder sogar nach einem Browserrefresh des UIs?
      Nach einem Refresh oder sogar nach einem Neustart des Browsers. "Längere
      Zeit" sollte heißen, heute werden die Graphen angezeigt und morgen dann nicht mehr oder die Variante von heute. Bislang wurden sie dann wieder an gezeigt, wenn ich die URL direkt im Browser eingegeben habe, danach dann auch wieder in der openHAB Oberfläche. Vielleicht kann ich das am Wochenende noch mal etwas einzugrenzen. Ich kann auch noch nicht ausschließen, dass das Problem irgendwo auf dem Wiregate verborgen liegt.


      Denkbar, müsste man mal exakt versuchen nachzustellen. Hast Du die gleichen Effekte mit dem rrdchart servlet von openHAB oder nur mit Deinem eigenen Script?
      Bislang verwende ich das rrdchart servlet noch nicht, ist noch nicht konfiguriert, sondern ein ähnliches Skript auf dem Wiregate, da sind die Daten ja sowieso vorhanden.


      Richtig, das wird gemacht, um jegliches Caching (also Fall b)) zu unterbinden; wenn die Quelle keinen passenden nocaching Header mitschickt, funktioniert nämlich ansonsten der Refresh nicht...
      OK, verstehe ich. Zwischendurch hatte ich den "Anhang" im Verdacht für die Probleme mit den Graphen zu sorgen, dass muss ich noch mal testen.


      Nein, es wird immer die verfügbare Breite genutzt. Einfach Browserfenster schmäler machen ;-)
      Schade , dann werde ich wohl doch noch separate sitemaps für iPad & iPhone und PC erstellen!


      Nein, mir nicht bekannt. Hast Du eine konkrete Url, bei der dies passiert?
      Hab sogar etwas gelogen, der Fehler lautet richtig "Ungültige URL" , tritt z.B. bei dieser URL auf:

      Code:
      http://wiregate.domain.internal/graph.pl?--start=now-1months;--end=now;-X=0;-W=WireGate;--slope-mode;-h=400;-w=650;--full-size-mode;--vertical-label=%B0%20Celsius;--title=Serverschrank%20OG;-c=BACK%23F0F0F0;-c=CANVAS%23FFFFFF;-c=SHADEA%23D0D0D0;-c=SHADEB%23D0D0D0;-c=GRID%23E8E8E8;-c=MGRID%23EEA5A5;-c=FONT%23000000;-c=AXIS%23000000;-c=FRAME%23000000;-c=ARROW%23000000;DEF:ds0=28.921272020000_temp.rrd:value:AVERAGE;LINE1:ds0%23FF0000:Temperatur;VDEF:ds0_LAST=ds0,LAST;GPRINT:ds0_LAST:%8.1lf%20%B0C;VDEF:ds0_MIN=ds0,MINIMUM;GPRINT:ds0_MIN:Min%5C:%8.1lf%20%B0C;VDEF:ds0_AVERAGE=ds0,AVERAGE;GPRINT:ds0_AVERAGE:Mittel%5C:%8.1lf%20%B0C;VDEF:ds0_MAX=ds0,MAXIMUM;GPRINT:ds0_MAX:Max%5C:%8.1lf%20%B0C%5Cn;TEXTALIGN:right;
      "wiregate.domain.internal" wird im DNS natürlich korrekt aufgelöst, hab nur den eigentlichen Namen für das Posting durch "domain" ersetzt um es etwas zu anonymisieren. Mit dem Safari oder Opera auf dem Mac funktioniert es problemlos, auf meinem iPad 3 gibt es den besagten Fehler.


      Stimmt, habe ich gerade im Code nachvollzogen - das ist ein Bug. Darf ich Dich bitten, ein Issue dazu einzutragen?
      Mache ich am Wochenende, muss mich aber zuerst mal bei Google anmelden, hab da noch keinen Account...

      Kommentar


        #4
        Stimmt, habe ich gerade im Code nachvollzogen - das ist ein Bug. Darf ich Dich bitten, ein Issue dazu einzutragen?
        Hab ich als Issue #123 eingetragen. Das dazu genutzte Google Konto hab ich allerdings direkt wieder gelöscht!

        Richtig, das wird gemacht, um jegliches Caching (also Fall b)) zu unterbinden; wenn die Quelle keinen passenden nocaching Header mitschickt, funktioniert nämlich ansonsten der Refresh nicht...
        Ich hab mir die Sache jetzt noch mal angeschaut. So wie es aussieht, übergibt das graph.pl Skript des Wiregate das "&t=1346967822399" auch als Parameter an rrd, was damit natürlich nichts anfangen kann, einen Fehler wirft und keine Graphen produziert.

        Werde mal schauen, ob ich das Wiregate Skript entsprechend anpassen kann.

        Kommentar


          #5
          Zitat von Jockel Beitrag anzeigen
          Hab ich als Issue #123 eingetragen. Das dazu genutzte Google Konto hab ich allerdings direkt wieder gelöscht!
          Danke! Dann bekommst Du aber keine automatische Notification, sobald ich es gefixt habe :-)

          Zitat von Jockel Beitrag anzeigen
          Ich hab mir die Sache jetzt noch mal angeschaut. So wie es aussieht, übergibt das graph.pl Skript des Wiregate das "&t=1346967822399" auch als Parameter an rrd, was damit natürlich nichts anfangen kann, einen Fehler wirft und keine Graphen produziert.
          Danke für die Analyse. Ist natürlich auch ein übler Hack von mir... Werde mal drüber nachdenken, ob mir irgendeine sauberere Lösung für dieses Problem einfällt...

          Kommentar


            #6
            Dann bekommst Du aber keine automatische Notification, sobald ich es gefixt habe :-)
            Ich schreib mir ein Skript


            Danke für die Analyse. Ist natürlich auch ein übler Hack von mir... Werde mal drüber nachdenken, ob mir irgendeine sauberere Lösung für dieses Problem einfällt...
            Für den Fall, dass andere auch über dieses Problem stolpern hier noch ein schneller Fix. Auf dem Wiregate ist /var/www/graph.pl zu modifizieren:

            1. Am Anfang hinter "my $query = new CGI;" folgende Zeile einfügen:
            $query->delete("t");

            2. Im mittleren Bereich "$rrdimage->print_graph( Vars() );" ersetzen durch
            $rrdimage->print_graph( $query->Vars() );

            Bin jetzt alles andere als ein Perl-Spezialist, aber bei mir funktioniert es . Insbesondere ist mir noch nicht klar, warum die zweite Änderunge überhaupt noch nötig ist, aber das wird wohl eines der Perl Mysterien bleiben wegen derer ich von MH weg will...

            Kommentar

            Lädt...
            X