Hauptmenü

FHEM Dashboard

Begonnen von svenson08, 14 November 2013, 21:34:33

Vorheriges Thema - Nächstes Thema

ext23

Uff OK, dann habe ich das immer falsch gemacht bis jetzt. Mhh verdammt, wurde die Wiki Seite aktualisiert? Ich hab das damals wo das raus kam alles gar nicht gelesen, Danke! Muss ich mir noch mal durchlesen das Wiki, da habe ich bestimmt so einiges verpennt.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Gut das habe ich jetzt so umgestellt. Ich habe aber eine Webinstanz in der KEIN Dashboard ist, trotzdem ist der Link oben links im Kasten unterm Logo weiterhin zu sehen. Klicke ich auf diesen Link passiert allerdings nichts. Wie bekomme ich den Link jetzt weg in den Instanzen wo kein Dashboard zugewiesen ist?

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

OK, also das mit dem Link oben ist eine komische Sache, aber gut ist eben so.

Ich habe jetzt 4 Dashboards verteilt auf 4 Web Instanzen. Jedes Dashboard in einem anderen Raum (Also das Weblink zeugs). Klappt auch, es funktioniert immer nur der entsprechende Raum... (Wobei ich meine das ist egal, man kann doch mehrere Dashboards unter einer Web Instanz laufen lassen!)

Problem ist der Link oben, der zeigt auf den Raum DashboardRoom. Den gibt es bei mir aber jetzt "nicht" mehr. Trotzdem wird das entsprechende "richtige" Dashboard für die Web Instanz angezeigt, und das ist vermutlich auch der Grund warum man nicht mehrere Dashboards auf eine Web Instanz legen soll, weil dieser Link dann nicht mehr hin haut, bzw. alle Dashbaords in einem Fenster anzeigt.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Talkabout

Zitat von: ext23 am 13 Juni 2015, 14:07:50
OK, also das mit dem Link oben ist eine komische Sache, aber gut ist eben so.

Ich habe jetzt 4 Dashboards verteilt auf 4 Web Instanzen. Jedes Dashboard in einem anderen Raum (Also das Weblink zeugs). Klappt auch, es funktioniert immer nur der entsprechende Raum... (Wobei ich meine das ist egal, man kann doch mehrere Dashboards unter einer Web Instanz laufen lassen!)

Problem ist der Link oben, der zeigt auf den Raum DashboardRoom. Den gibt es bei mir aber jetzt "nicht" mehr. Trotzdem wird das entsprechende "richtige" Dashboard für die Web Instanz angezeigt, und das ist vermutlich auch der Grund warum man nicht mehrere Dashboards auf eine Web Instanz legen soll, weil dieser Link dann nicht mehr hin haut, bzw. alle Dashbaords in einem Fenster anzeigt.

Gruß
Daniel
Hallo Daniel,

ich habe mich mit dem Punkt mehrerer Dashboard in einer Web-Instanz noch nicht beschäftigt. Hat jetzt für mich nicht die größte Prio, beizeiten kann ich auch da mal rein schauen.

Das mit dem überflüssigen Link ist jedoch wirklich blöd, da gucke ich heute noch drauf.

Andere Probleme hast Du aber nicht mit den mehreren Dashboards?

Gruss

der-Lolo

Der Link ist ein problem - lässt sich meiner Meinung nach nicht so einfach entfernen. Ich bin da auch schon drüber gestolpert, selbst wenn man den Dashboard-Room zu den Hiddenroom Attributen hinzufügt klappt es nicht...
Oder vielmehr es übersteht keinen FHEM Neustart. Nach Neustart ist der Raum wieder da.

Talkabout

Zitat von: der-Lolo am 13 Juni 2015, 15:38:22
Der Link ist ein problem - lässt sich meiner Meinung nach nicht so einfach entfernen. Ich bin da auch schon drüber gestolpert, selbst wenn man den Dashboard-Room zu den Hiddenroom Attributen hinzufügt klappt es nicht...
Oder vielmehr es übersteht keinen FHEM Neustart. Nach Neustart ist der Raum wieder da.
Ich schaue mal, ob sich da was machen lässt...

Talkabout

Hallo zusammen,

könnt Ihr mal probieren, ob diese Version das Problem mit dem Link behebt?

Ansonsten sind folgende Änderungen eingeflossen:

- die Definition der Gruppen (dashboard_tabXgroups) kann nun auch reguläre Ausdrücke enthalten. Will man also z.b. dass ein Tab alle Gruppen anzeigt, die etwas mit "Heizung" zu tun haben, kann man das Attribut so definieren:
attr XXX dashboard_tab1groups .*Heizung.*
- diverse Probleme beim asynchronen Laden behoben

Benötigte Dateien findet Ihr im Anhang:
*.css/*.js => fhem/www/pgm2
*.pm        => fhem/FHEM

Gruss

ext23

Ich hatte nur heute morgen ein bissel gespielt und eigentlich nichts großes weiter gefunden.

Ich schau morgen weiter.

Eine Kleinigkeit noch. Das Fangen bzw. die Abstände sind manchmal unterschiedlich. Vor allem zwischen Tab und PC. Ich weiß nicht worauf du die Abstände beziehst ob Rahmen oder was anderes. Aber das juckt mich eigentlich weniger, also wirklich Kleinigkeiten.

Btw. Der Raum DashboardRoom scheint immer da zu sein sobald man ein Dashboard anlegt. Das ist vermutlich eine Krücke damit das mit dem Link oben geht. Finde ich persönlich auch ok so. Räume kann man ausblenden. Das Einzige was eben wirklich blöd ist, dass der Link auch da ist wenn die web instanz kein Daahboard hat aber gut ich für mich kann damit leben. Wenn es behoben wird umso besser ;-)
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Talkabout

Zitat von: ext23 am 13 Juni 2015, 17:46:23
Eine Kleinigkeit noch. Das Fangen bzw. die Abstände sind manchmal unterschiedlich. Vor allem zwischen Tab und PC. Ich weiß nicht worauf du die Abstände beziehst ob Rahmen oder was anderes. Aber das juckt mich eigentlich weniger, also wirklich Kleinigkeiten.
Das Raster ist ein absoluter Wert. Es kann aber an den Geräten selber liegen, dass sie es etwas anders berechnen. Ich denke nicht, dass man das sinnvoll abgefangen bekommt.

ZitatAktuell nutze ich verschiedene readingsgroups um die Darstellung im Dashboard zu verschönern. Als Beispiel folgende readingsgroup Definition, die mir den Status eines Lüfters grafisch aufbereitet und auch per Klick den Lüfter schalten lässt. Das funktioniert auch einwandfrei. Mein Problem besteht jetzt darin, dass bei einer Statusänderung das Dashboard komplett neu geladen werden muss, um das dargestellte Icon auf den aktuellen Status anzupassen. Soweit ich FHEM verstanden habe gibt es eine Funktion longpoll, die Inhalte auf einer bereits geladenen Seite ändern kann, ohne das ein kompletter Reload notwendig ist. Interessanter weise funktioniert dies auch mit der angegebenen readingsgroup, wenn ich über einen Raum auf diese zugreife.
Der longpoll funktioniert ausschließlich im Dashboard nicht.
Wie sieht es mit anderen "einfachen" Schaltern aus, die nicht via ReadingsGroup im Dashboard hängen. Funktioniert dort die Aktualisierung?

stephanr

Mit dem Device funktioniert die Aktualisierung. Betrifft bei mir also nur die readingsgroup Elemente.

HoTi

Leider hab ich noch was gefunden.
Im WVC geht das symbol unten rechts im DB nicht mehr.
Das nicht gut. Damit wir mein Tablet nicht geladen. Hab mich gerade gefragt warum das leer ist.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Talkabout

Zitat von: justme1968 am 11 Juni 2015, 12:08:31
hier ein kleines beispiel. du bekommst zwei readingsGroups in einer normalen fhem gruppe.

über das + bzw. - in der überschrift kannst du die readingGroup auf bzw. zu klappen. wenn in einer gruppe mehrere reaingsGroups sind werden beim ausklappen einer automatisch alle anderen zu geklappt.

im dashboard gehen zwei dinge nicht:
- das auf und zu klappen weil alle zeilen der readingsGroup in eine neue tabelle gesteckt werden
- das zuklappen aller anderen weil alle readingGroup zeilen in die gleiche neue tabelle gesteckt werden.

dashboard sollte die readingGroup nicht auseinander nehmen.

define d1 dummy
define d2 dummy
define d3 dummy
setreading d1 humidity 35
setreading d1 temperature 11.5
setreading d2 humidity 45
setreading d2 temperature 12.5
setreading d3 humidity 55
setreading d3 temperature 23.5
define r1 readingsGroup <+->,<Temperatur> d.:temperature
attr r1 group rg
attr r1 notime 1
attr r1 room test
attr r1 visibility collapsible
define r2 readingsGroup <+->,<Feuchte> d.:humidity
attr r2 group rg
attr r2 notime 1
attr r2 room test
attr r2 visibility collapsed



zum zweiten punkt:
es gibt in fhem ein paar devices bei denen das 'normale' schema mit device name, state icon, webcmd nicht sinnvoll ist weil das device selber eigenen html code erzeugt um sich anzuzeigen. das sind z.b. SVG und readingsGroup.

im frontend werden diese entweder am ende einer seite nach allen anderen devices angezeigt oder wenn sie in einer gruppe sind ist das layout gegenüber den normalen devices so verändert das nicht noch mal der name davor geschrieben wird. diese devices lassen sich an einem gesetzten $hash->{FW_atPageEnd} erkennen.

dashboard baut zwar auch eine sonderbehandlung ein macht das aber am TYPE fest. das geht dann schief wenn es andere FW_atPageEnd sind wie z.b. readingHistory oder vermutlich auch der neue telefonmonitor.

gruss
  andre
Ich habe mir die Thematik nun angeschaut. Das Dashboard baut aktuell alle ReadingGroups um, in eine eigene HTML-Struktur, was dazu führt, dass diese nicht mehr funktionieren. Jetzt habe ich mal versucht die ReadingGroups so in das Dashboard aufzunehmen, wie sie mir die Funktion "FW_devState" zurück liefert. Das ist aber nicht möglich, da die HTML-Struktur invalide zu sein scheint und die Seiten-Struktur kaputt macht. Hier das HTML der ReadingGroup, die oben als Beispiel angegeben ist:
<table>
  <tr>
    <td>
      <div class="devType">
        &nbsp;
        <a href="/fhem?detail=r1">r1</a>
      </div>
    </td>
  </tr>
  <tr>
    <td>
      <table  id='readingsGroup-r1' groupId="WC" class="block wide readingsGroup">
        <tr  class="even">
          <td >
            <div id='plusminus' style="cursor:pointer" onClick="FW_readingsGroupToggle2('r1')">-</div>
          </td>
          <td >
            <div   >Temperatur</div>
          </td>



          <tr  class="odd">
            <td >
              <div  class="dname">
                <a  href="/fhem?detail=d1">d1:temperature</a>
              </div>
            </td>
            <td >
              <div  informId="r1-d1.temperature">11.5</div>
            </td>
          <tr  class="even">
            <td >
              <div  class="dname">
                <a  href="/fhem?detail=d2">d2:temperature</a>
              </div>
            </td>
            <td >
              <div  informId="r1-d2.temperature">12.5</div>
            </td>



            <tr  class="odd">
              <td >
                <div  class="dname">
                  <a  href="/fhem?detail=d3">d3:temperature</a>
                </div>
              </td>
              <td >
                <div  informId="r1-d3.temperature">23.5</div>
              </td>
            </table>
          </td>
        </tr>
      </table>


Da, wo sich die Leerzeichen befinden, fehlen HTML-Tags. Zusätzlich ist unten die gesamte Tabelle nicht geschlossen. Das Du (justme1968) ja sowieso der Maintainer des readingGroup-Moduls bist, könntest Du dir das Problem vielleicht anschauen.

Danke!

Gruss

justme1968

ich weiss das jeweils die </tr> der daten zeilen der inneren tabelle fehlen. ich gebe zu ich war bis jetzt zu faul das zu reparieren da es noch nirgendwo probleme gemacht hat. es sollte eigentlich auch in diesem fall kein problem machen. aber ich bringe es in ordnung.

die tabelle selber ist aber geschlossen. auch in deiner ausgabe unten. es gibt zwei <table> und jeweils die zugehörigen beiden </table>.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Talkabout

Zitat von: justme1968 am 14 Juni 2015, 11:33:11
ich weiss das jeweils die </tr> der daten zeilen der inneren tabelle fehlen. ich gebe zu ich war bis jetzt zu faul das zu reparieren da es noch nirgendwo probleme gemacht hat. es sollte eigentlich auch in diesem fall kein problem machen. aber ich bringe es in ordnung.

die tabelle selber ist aber geschlossen. auch in deiner ausgabe unten. es gibt zwei <table> und jeweils die zugehörigen beiden </table>.

gruss
  andre
Ja, das stimmt, die Tabellen sind zu. Das Problem beim Dashboard ist, dass wenn ich die ReadingGroup 1:1 übernehme, er sie mir nicht in das dafür vorgesehene Element legt, sondern ganz oben auf die Seite. Das passiert immer dann, wenn irgendwo ein Tag nicht geschlossen wird. Es könnte sein, dass es beim Dashboard noch ein anderes Problem gibt, aber im Moment habe ich "nur" dieses Strukturproblem gefunden.

Wäre klasse, wenn Du es beheben könntest! Dann würde ich mich darum kümmern, dass die ReadingGroups auch im Dashboard funktionieren.

Danke!

ZitatAktuell nutze ich verschiedene readingsgroups um die Darstellung im Dashboard zu verschönern. Als Beispiel folgende readingsgroup Definition, die mir den Status eines Lüfters grafisch aufbereitet und auch per Klick den Lüfter schalten lässt. Das funktioniert auch einwandfrei. Mein Problem besteht jetzt darin, dass bei einer Statusänderung das Dashboard komplett neu geladen werden muss, um das dargestellte Icon auf den aktuellen Status anzupassen. Soweit ich FHEM verstanden habe gibt es eine Funktion longpoll, die Inhalte auf einer bereits geladenen Seite ändern kann, ohne das ein kompletter Reload notwendig ist. Interessanter weise funktioniert dies auch mit der angegebenen readingsgroup, wenn ich über einen Raum auf diese zugreife.
Der longpoll funktioniert ausschließlich im Dashboard nicht.

Dieses Problem liegt tatsächlich an der Art und Weise, wie Dashboard ReadingGroups integriert. Ich arbeite daran.

Gruss

ext23

#1079
Moin,

ich hab noch was, siehe Screenshot. Mein Handy Display ist etwas schmaler, dann habe ich oben zwei Reihen für die Tabs, aber ich sehe leider die Buttons für Zurück und so nicht mehr, da liegt ein Tab davor.

Achso und dass das Dashboard beendet wird beim "schalten" ist nach wie vor noch so, bei mir jedenfalls.

Und die Links sind jetzt überall weg vom Dashboard, also auch dort wo es konfiguriert ist.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)