55_InfoPanel - Tipps & Tricks

Begonnen von betateilchen, 12 Februar 2015, 20:25:35

Vorheriges Thema - Nächstes Thema

betateilchen

wir pushen und poppen

(keine Sorge, das wird nix Unanständiges)


#

font arial
pt 24

rgb "FF0000FF" # rot
text - 50  50 "Ich bin ein roter Text"

push

rgb "FFFF00FF" # gelb
text - 50 100 "Ich bin ein gelber Text"

push

rgb "00FF00FF" # grün
text - 50 150 "Ich bin ein grüner Text"

pop

text - 50 200 "Nun haben wir gelb vom Stapel zurückgeholt"

pop

text - 50 250 "Und nun haben wir wieder die Ursprungsfarbe rot"

#


liefert als Ergebnis:

(http://debian.fhem.de/grafik/pushpop.png)


Erklärung:

Mit "push" werden alle aktuellen Layoutparamter auf einen Stapel gelegt.
Danach können einzelne Parameter (im Beispiel die Farbwerte per rgb) geändert werden.
Am Ende kann mit "pop" der alte Parametersatz wieder vom Stapel geholt und aktiv gesetzt werden.

Wozu? Manchmal ist sowas nützlich im Zusammenhang mit "condition", wenn man verschiedene Layoutblöcke abarbeiten möchte.

Der Parametersatz enthält folgende sinnvoll nutzbaren Werte:


  • rgb
  • boxcolor
  • textboxalign
  • padding
  • font
  • pt
  • textdesign
  • thalign
  • tvalign

Achtung - 1 - die Schildkröte in Kombination mit push und pop zu verwenden, erfordert einiges Mitdenken. Denn mit einem pop werden ggf. auch veraltete x/y Positionen wiederhergestellt!

Achtung - 2 - es werden immer alle Werte des Parametersatzes wiederhergestellt, nicht nur die veränderten!

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Benni

Ah! Sehr schön!
(Hab's im SVN schon gesehen. ;) )

Finde ich wirklich sehr praktisch, gerade auch weil die Schildkröte ebenfalls gepusht und gepoppt wird :D

Werde am WE mal meine Panels etwas überarbeiten.

Danke!

betateilchen

#2
wir ticke(r)n - aber richtig

Wer mal testen möchte...


#

font arial
pt 14
rgb "FFFF00FF"

# ticker <id> <x> <y> <width> <items> <speed> <output>
#
ticker - 100 100 600 1 700 "Zeile1 - ABC\nZeile2 - DEF\nZeile3 - GHI"

#


(http://up.picr.de/20985274ow.jpg)

Eigentlich sollte alles selbsterklärend sein, vielleicht ausser <output>

<output> muss eine Liste von Textzeilen sein, die im Ticker dargestellt werden sollen. Diese Texte müssen mit "\n" getrennt sein. Das ermöglicht die Bereitstellung der Tickerinforamtionen durch eigene Funktionen, beispielsweise aus der 99_myUtils.pm

Im Beispiel habe ich einen hartcodierten Text verwendet, der zur Darstellung in drei Zeilen aufgeteilt wird.

<items> gibt an, wieviele Zeilen gleichzeitig im Ticker erscheinen sollen

<speed> gibt die Geschwindigkeit des Tickers an - je höher der Wert, umso schneller. 700 hat sich als guter Wert erwiesen.




Achtung!

Das Ganze ist noch hochexperimentell. Die Syntax wird sich vermutlich in den nächsten Tagen noch ändern.
Von einem produktiven Einsatz rate ich deshalb derzeit ausdrücklich noch ab!
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#3
*** NO SUPPORT ***

InfoPanel goes longpoll




longpoll <aktorName> <x> <y>



Sorgt dafür, dass ein devStateIcon für <aktorName> im InfoPanel angezeigt und bei Statusänderung aktualisiert wird.

Einschränkungen:


  • die x/y Koordinaten sind immer absolute Koordinaten, die Umrechnung innerhalb einer group funktioniert nicht - erledigt ab 26.02. -
  • beim erstmaligen Aufruf der InfoPanel-Seite werden keine aktuellen Zustände dargestellt, die erste Aktualisierung erfolgt nach einer Statusänderung - erledigt ab 25.02. -

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!