Ankündigung

Einklappen
Keine Ankündigung bisher.

Gauge plugin - war: Web Plugin und Ajax

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

  • makki
    antwortet
    Naja, mit Verbesserungsvorschlägen bin ich vorsichtig geworden, wichtig ist erstmal das es geht
    100-200ms kann man im Plugin sicher noch "tunen", aber ansich ists nicht falsch..

    Ich bekomme das nur nicht ans rennen (CV), bevor ich da jetzt ewig Suche: hast du mal ne Beispiel-config?

    Makki

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    @makki
    Plugin ist nicht im SVN, Versehen oder Absicht?
    Absicht.
    Vielleicht hat ja jemand einen Verbesserungsvorschlag.
    Gruß NetFritz
    Angehängte Dateien

    Einen Kommentar schreiben:


  • makki
    antwortet
    Cool.
    Damit man sich was drunter vorstellen kann, wäre ein Screenshot immer hilfreich..
    Plugin ist nicht im SVN, Versehen oder Absicht?

    Makki

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    Habe die Doko eingefügt.

    Und ein neues Attribut "trendVisible="true".

    Dazu muss eine 2.GrAdr angegeben werden.
    "<address transform="DPT:9.001" mode="read" variant="trend">0/2/13</address>"

    Habe dazu ein kleines Plugin erstellt, das aus den rrd den Trend (Tendenz) berechnet.
    Code:
    # Trend (Tendenz) und Average für Gauge
    # by NetFritz 02/2014
    $plugin_info{$plugname.'_cycle'} = 0;
    my $ga_in;
    # die folgenden Arrays muessen zusammenpassen
    # also "temp" mit "0/2/1" und "9/2/11"
    my @rrds = ("temp","feuchte","baro","windst");     # rrd die ausgelesen werden
    my @ga_ins = ("0/2/1","0/2/2","0/2/3","0/2/6");    # ueberwachte GAs
    my @ga_out= ("0/2/11","0/2/12","0/2/13","0/2/16"); # GAs fuer Trend
    my $ga_in_avg = "0/2/5";  # Ga in Windrichtung
    my $ga_out_avg = "0/2/7"; # Ga out Windrichtung Average
    $plugin_subscribe{$ga_in_avg}{$plugname} = 1;
    foreach $ga_in(@ga_ins)
    {
    $plugin_subscribe{$ga_in}{$plugname} = 1;        # GAs registrieren
    }
    my $i = 0;
    if ($msg{'apci'} eq "A_GroupValue_Write") {      # A_GroupValue_Write Telegramm eingetroffen
       foreach $ga_in(@ga_ins){                      # Ueberwachte GAs durchlaufen
          if ($msg{'dst'} eq $ga_in){                # GAs vergleichen
              my $gen1 = 'rrdtool graph /dev/null --start -3600 --end now DEF:var1=/var/www/rrd/'.$rrds[$i].'.rrd:value:AVERAGE PRINT:var1:AVERAGE:"%3.4lf"' ;
              my $gen2 = 'rrdtool graph /dev/null --start -300 --end now DEF:var1=/var/www/rrd/'.$rrds[$i].'.rrd:value:AVERAGE PRINT:var1:AVERAGE:"%3.4lf"' ;         
              my @out1 = `$gen1`;
              my @out2 = `$gen2`;
              my $out11 =  sprintf ("%.1f",$out1[1]);
              my $out21 =  sprintf ("%.1f",$out2[1]);
              my $trend = $out21-$out11;
              knx_write($ga_out[$i],$trend,"9");
              plugin_log($plugname ,$ga_out[$i]." out=".$out11. " tr=".$trend);
          }
          if ($msg{'dst'} eq $ga_in_avg){   
            # den Std AVG fuer Windrichtung aus rrd holen
            my @output = `rrdtool graph /dev/null --start -3600 --end now DEF:var1=/var/www/rrd/windrich.rrd:value:AVERAGE PRINT:var1:AVERAGE:"%3.4lf"` ;
            my $output1 =  sprintf ("%.1f",$output[1]);
            knx_write("0/2/7",$output1,"9");
          }
          $i++;
        }  
    }    
    return();
    Gruß netFritz

    Einen Kommentar schreiben:


  • MGK
    antwortet
    Moin,

    klasse Sache!

    darf ich Dich was bitten? In der structure_plugin.js ein Paar Zeilen Doku wie z.B. beim Diagramm-Plugin wären toll - sonst ist es sehr schwierig bis unmöglich Dokumentation zu erstellen

    durch die sourcen wühle ich mich nicht selber...

    Michael

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    @Chris M.
    Perfekt, jetzt kann das Release 0.8.1 ja kommen
    Oder wolltest Du noch ein paar weitere Gauge-Varianten mit einbauen?
    Bring man erstmal das Release raus.
    Ich muss mir erst noch überlegen was ich als nächstes mache.
    Es werden wohl die Linear-Gauges sein.

    Gruß NetFritz

    Einen Kommentar schreiben:


  • ZeitlerW
    antwortet
    Hallo,

    ok, ok, wer lesen kann ist klar im Vorteil!
    vG
    Wolfgang

    Einen Kommentar schreiben:


  • arteco
    antwortet
    Zitat von Tqm Beitrag anzeigen

    siehe Post 38
    bzw. auch #36, #37 & #39

    Einen Kommentar schreiben:


  • Tqm
    antwortet
    Hallo Wolfgang,

    wenn ich das richtig verstanden habe handelt es sich hierbei nicht um einen Schleppzeiger, sondern um eine Max.-Einstellung.
    d.h. wenn Wert überschritten dann blinkt das Pfeilchen rot - siehe Post 38

    MfG
    Thomas

    Einen Kommentar schreiben:


  • ZeitlerW
    antwortet
    Hallo zusammen,

    erst mal vielen Dank für das Plugin.
    Ich habe da eine Frage zum "Schleppzeiger":



    Ich hatte ja die Vermutung, daß dieser durch die variant="average" angesteuert werden kann. Daher meine Config:
    Code:
          <group>
            <gauge type="Radial" titleString="Temperatur" unitString="°C" minValue="20" maxValue="35" size="200" lcdVisible="true" format="%.1f C" threshold="30">
              <layout colspan="2" rowspan="4"/>
              <address transform="DPT:9.001" mode="read">5/2/13</address>
              <address transform="DPT:9.001" mode="read" variant="average">5/2/10</address>
            </gauge>
          </group>
    Leider bewegt sich dieser Zeiger nicht.
    Wo ist mein Denkfehler?

    vG
    Wolfgang
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Chris M.
    antwortet
    Perfekt, jetzt kann das Release 0.8.1 ja kommen

    Oder wolltest Du noch ein paar weitere Gauge-Varianten mit einbauen?
    (Kann man natürlich jederzeit machen, nur schätze ich, dass es nach der 0.8.1 etwas dauert, bis das nächste Release kommt)

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    @MicHau
    Du kannst beliebig viele Adressen eintragen
    Ja das geht, habe es eben probiert.

    Gruß NetFritz

    Einen Kommentar schreiben:


  • MicHau
    antwortet
    Zitat von NetFritz Beitrag anzeigen
    Auch habe noch keinen Weg gefunden type mit Winddirection und Radial vorzubelegen.
    Das habe ich gerade gemacht.

    Meines Erachtens sind aber die folgenden Typ-Angaben falsch. Das sind doch sicherlich Zahlen, die da gebraucht werden, also eher type="xsd:integer" oder type="xsd:decimal"?
    Code:
        <xsd:attribute name="minValue" type="dimension" use="optional" />
        <xsd:attribute name="maxValue" type="dimension" use="optional" />
        <xsd:attribute name="size" type="dimension" use="optional" />
        <xsd:attribute name="threshold" type="dimension" use="optional" />
    Zitat von NetFritz Beitrag anzeigen
    Es fehlt noch der 2. adress Eintrag für die Winddirection, trage ich das so ein wie der 1. Eintrag dann will der Editor nicht mehr.
    Das ist mir nicht ganz klar. Meines Erachtens ist der momentane Zustand korrekt. Du kannst beliebig viele Adressen eintragen und über das Attribut "variant" steuerst du die Verwendung der Adressen.

    Einen Kommentar schreiben:


  • NetFritz
    antwortet
    Hallo
    @Chris M.
    Bitte schau mal auf CometVisu/CodingStyle - Open Automation - insb. die ersten beiden Punkte.
    Sonst wird das SVN-Log Lesen arg schwierig
    Kannte ich noch nicht, weil nur in Englisch.
    Werde es Versuchen.

    Ich glaube der Editor mag mich nicht.
    Ich konnte ihn mit meiner config nicht öffnen, obwohl die xml valide ist.
    Erst nach einem neuem einschecken der CV konnte ich auch nur die visu_config.xml aus dem config Ordner mit dem Editor bearbeiten.
    Mit der visu_config_metal.xml geht es auch nicht, der Editor spring in die Ansicht der config.xml und sagt das sie valide sei.

    Habe Gauge nun in die xsd eingefügt uns in SVN geschoben.

    Es fehlt noch der 2. adress Eintrag für die Winddirection, trage ich das so ein wie der 1. Eintrag dann will der Editor nicht mehr.
    Auch habe noch keinen Weg gefunden type mit Winddirection und Radial vorzubelegen.

    Gruß NetFritz

    Einen Kommentar schreiben:


  • Chris M.
    antwortet
    Sehr schön das ganze - und wo wir uns nun der Zielgerade nähern (oder schon drauf sind...) kommen die Feinheiten:

    Bitte schau mal auf CometVisu/CodingStyle - Open Automation - insb. die ersten beiden Punkte.
    Sonst wird das SVN-Log Lesen arg schwierig

    Einen Kommentar schreiben:

Lädt...
X