Homematic Schalt und Messdose richtig auswerten und in Tablet UI einbinden

Begonnen von morph, 05 Mai 2016, 09:20:10

Vorheriges Thema - Nächstes Thema

morph

 Hi,

ich habe es mittlerweile geschafft, von einer angelernte Homematic Dose einen Plot erstellen zu lassen.
Dazu nun ein paar weitere Fragen:

1. Der Punkt/Channel "power" ist der, der den momentanen Verbrauch in Watt zeigt?

2. Der Punkt/Channel "energy" ist der, der den gesamten Verbrauch darstellt, in Wattstunden?

3. Wo und wie trage ich ein, das er mir, vorausgesetzt Punkt 2 stimmt, mir das in kWh anzeigt?

4. Nun möchte ich das ganze noch in der Tablet UI dargestellt haben, doch ich finde auf der Seite ( http://www.fhemwiki.de/wiki/FHEM_Tablet_UI nichts, wie ich das einfach einfügen kann. Nur eine komplett neue Tabelle erstellen finde ich da.

Ich hatte es so versucht, allerdings zeigt er mir dann nur Codeschnippsel an:

<div class="container top-space">
          <div style="background-color: #DDDDDD;">
              <embed width="800" height="160" name="Strom Büro Schreibtisch"
                  type="image/svg+xml"
                  src="/fhem/www/gplot/SVG_Filelog_VerbrauchAktuell_1.gplot">
          </div>
        </div>


Vielen dank schon einmal für die hilfestellungen!

viegener

1 + 2 - Ja

3 - Ich denke Du brauchst dazu ein Userreading am Device um die Daten umzuwandeln

4 - Die FTUI-Variante wäre die Verwendung des Chart-Widgets:
Hier mal ein Beispiel das ich so ähnlich auch verwende (Anzeige des Schalters und der aktuellen Last per popup wird dann ein Chart angezeigt)
Es muss natürlich noch der richtige Devicename (insbeondere wenn Du getrennte Filelogs hast auch für den Filelog) einzusetzen


  <div data-type="popup"  data-width=700 data-height=350 class="">
        <div class="container">
            <div class="inline">
                <div data-type="switch" data-device="DDDDD_Sw" data-icon="<?ftui-key=icon ?>" data-get-on='ON|on' data-get-off='OFF|off' data-set-on='on' data-set-off='off' class="normal top-narrow"></div>
            </div>
            <div class="inline">
              <div class="doublebox-v right-space">
                <div data-type="label" class="normal top-space-2x">DDDDD</div>
                <div data-type="label" class="small">&nbsp;</div>
                <div data-type="label" data-device="DDDDD_Pwr" data-unit=" W" data-get="power" class="normal "></div>
              </div>
            </div>
        </div>

        <div class="dialog normal">
          <header>Chart DDDDD</header>

          <div    class="normal"
                data-type="chart"
                data-device="<?ftui-key=device ?>"
                data-logdevice='["FileLog_DDDDD"]'
                data-columnspec='["4:power","4:energy"]'
                data-style='["ftui l2","ftui l6"]'
                data-ptype='["lines","lines"]'
                data-uaxis='["primary","secondary"]'
                data-legend='["Power", "Energy"]'
                data-yunit="W"
                data-ytext="Last"
                data-minvalue="auto"
                data-maxvalue="auto"
                data-yunit_sec="Wh"
                data-ytext_sec="Verbrauch"
                data-yticks="auto"
                data-minvalue_sec="auto"
                data-maxvalue_sec="auto"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-crosshair="true"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-showlegend="true"
                data-xticks="auto"
                data-height="300px">
           </div>
   
        </div>
  </div>
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

morph

achso...

ich dachte ich kann den mühsam erstellten plot einfach nehmen und in die UI einbinden :-(

Dann ist es im Prinzip nicht notwendig, in Fhem einen Plot zu erstellen?

viegener

Ja auch der mühsam erstellt Plot geht im tablet UI, so habe ich es lange gemacht bevor es das chart widget gab. Dann muss man aber auch die Möglichkeit hinzufügen für zoom und wechsel des zeitraums, in dem man selber die Teile in den URL einsetzt. Im alten FHEM-Tablet thread gab es dazu auch Beispiele von mir. Schön aussehen tut das nicht, denn es passt nicht zum TabletUI-Look.

Also klare Empfehlung chart widget.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

morph

Also, grundlegend hab ich deinen Aufbau nun verstanden und finde ihn richtig gut.
Du nutzt quasi einen "Button" um dir dann das jeweilige Chart ansehen zu können.

Ich habe das nun mal auf mich umgebaut, allerdings bekomme ich kein Chart dargestellt, nur eine leere Fläche. Die Frage ist, ist die Definition des Logfile falsch oder die Zeile was er auslesen soll.

Kann ich generell immer schauen, ob er irgendwo einen Fehler holt?

Hier mal 2 Screens und die Html für eine PCA301 Dose

<li data-row="2" data-col="2" data-sizex="5" data-sizey="3" class="halbTransparent">
<header>Charts</header>
        <table border="0px;" width="100%">
  <tr>
                <div data-type="popup"  data-width=700 data-height=350 class="">
        <div class="container">
           
            <div class="inline">
              <div class="doublebox-v right-space">
                <div data-type="label" class="normal top-space">Server</div>
                  <div data-type="label" data-device="PCA_Server" data-get="power" data-unit="W" class=""></div>
   
              </div>
            </div>
        </div>

        <div class="dialog normal">
          <header>Chart Server</header>

          <div    class="normal"
                data-type="chart"
                data-logdevice='["FileLog_PCA_Server","FileLog_PCA_Server"]'
                data-columnspec='["4:power","4:consumptionTotal"]'
                data-style='["ftui l2","ftui l6"]'
                data-ptype='["lines","lines"]'
                data-uaxis='["primary","secondary"]'
                data-legend='["Power", "Energy"]'
                data-yunit="W"
                data-ytext="Last"
                data-minvalue="auto"
                data-maxvalue="auto"
                data-yunit_sec="Wh"
                data-ytext_sec="Verbrauch"
                data-yticks="auto"
                data-minvalue_sec="auto"
                data-maxvalue_sec="auto"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-crosshair="true"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-showlegend="true"
                data-xticks="auto"
                data-height="300px">
           </div>
   
        </div>
  </div>
  </tr>
   </table>
</li>


viegener

Hallo Morph,
habe Dein Codestück mal verwendet und nur PCA_Server durch meinen Devicenamen ersetzt, bei mir erscheint zumindest dann ein Chart.

Du solltest also mal versuchen das Chart ausserhalb des Popups anzuzeigen um auszuschliessen, dass da etwas nicht funktioniert.

Unabhängig davon, aber die Version die ich oben gepostet habe ist bei mir inzwischen anders umgesetzt, denn der Schalter liegt ausserhalb des popups und das Chart erscheint bei mir eigentlich nur bei Click auf die Labels. Aber wie gesagt, Dein Codestück zeigt bei mir mit dem richtigen Device auch ein chart an.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

morph

Hi,

also ich habe es mittlerweile hinbekommen, das er mit einen chart einer Homematic Schaltdose anzeigt.

Bei der anderen gehts noch nicht, keine Ahnung warum. Und die, die geht, ist auch via Popup eingebunden.

Vielleicht kann mir jemand mal seinen cfg Part und die passende Chart dazu als Code bereitstellen.

Dito bei einer PCA-301 Dose.

Vielen dank.


viegener

Für einen Homematic mit Messfunktion sieht es bei mir folgendermassen aus (HMS_ladestation ist der Basisdevice):

define FileLog_HMS_ladestation FileLog ./log/HMS_ladestation-%Y.log HMS_ladestation|HMS_ladestation_Pwr:.*|HMS_ladestation_Sw:.*
attr FileLog_HMS_ladestation logtype text


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

morph


viegener

Das Chart ist eigentlich unverändert definiert wie oben schonmal beschrieben (nur mit dem richtigen Devicenamen):


          <div    class="normal"
                data-type="chart"
                data-device="HMS_ladestation"
                data-logdevice='["FileLog_HMS_ladestation"]'
                data-columnspec='["4:power","4:energy"]'
                data-style='["ftui l2","ftui l6"]'
                data-ptype='["lines","lines"]'
                data-uaxis='["primary","secondary"]'
                data-legend='["Power", "Energy"]'
                data-yunit="W"
                data-ytext="Last"
                data-minvalue="auto"
                data-maxvalue="auto"
                data-yunit_sec="Wh"
                data-ytext_sec="Verbrauch"
                data-yticks="auto"
                data-minvalue_sec="auto"
                data-maxvalue_sec="auto"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-crosshair="true"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-showlegend="true"
                data-xticks="auto"
                data-height="300px">
           </div>
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

morph

Tja, ich habe nun mir die Mühe gemacht, alles nochmal zu löschen was die Messdosen angeht, alles neu eingebunden und siehe da. Nun geht der Chart auch im Tablet UI. Wahrscheinlich hatte ich irgendwo irgendwas am Anfang falsch gemacht gehabt und nicht mehr gefunden.