Autor Thema: Laufschrift, Text scrollen mit readingsGroup möglich?  (Gelesen 2694 mal)

djhans

  • Gast
Laufschrift, Text scrollen mit readingsGroup möglich?
« am: 27 Februar 2014, 20:23:52 »
Hallo,
ich möchte ein Reading (RDS eines Radiosignals) meines Sonos-Player als Laufschrift in einem Fenster mit begrenzter Zeichenanzahl neben dem Device anzeigen. Aufgrund der Länge sollte der Text durchscrollen. Weiß jemand, ob das machbar ist? Ich dachte an den readingsGroup-Befehl-

Danke und Gruß,
djhans
« Letzte Änderung: 27 Februar 2014, 22:26:27 von djhans »

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20867
Antw:Laufschrift, Tex scrollen mit readingsGroup möglich?
« Antwort #1 am: 27 Februar 2014, 20:42:42 »
je nach brower geht das z.b. so:

...,<{rgMarquee(ReadingsVal($DEVICE,"rds",""))}>,...
und das muss in 99_myUtils.pm
sub         
rgMarquee($)
{           
  my ($txt) = @_;
  return "<marquee width=\"150\">$txt</marquee>";
}

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

djhans

  • Gast
Antw:Laufschrift, Tex scrollen mit readingsGroup möglich?
« Antwort #2 am: 27 Februar 2014, 22:26:03 »
Hallo,
danke! Die Laufschrift läuft. Allerdings wird der Inhalt nicht aktualisiert.

Sonos_Wohnzimmer:<%icoSONOSPLAYER_icon-ZP120>,<Wohnzimmer>,<{rgMarquee(ReadingsVal($DEVICE,"currentSenderInfo",""))}>,
Wenn ich das Reading "currentSenderInfo" ohne die Laufschrift verwende, wird der Text regelmäßig aktualisiert.
An welcher Schraube muss man drehen? Und wie ist die Geschwindigkeit der Schrift zu steuern.

Nachtrag:
Das mit der Geschwindigkeit habe ich hingekriegt, aber das Aktualisieren klappt nicht.


Christian
« Letzte Änderung: 27 Februar 2014, 22:32:41 von djhans »

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20867
Antw:Laufschrift, Text scrollen mit readingsGroup möglich?
« Antwort #3 am: 27 Februar 2014, 22:28:33 »
du musst den reading namen mit @ zwischen } und > einfügen damit longpoll geht.

wenn du nach html und marquee suchst findest du alles mögliche was sich einstellen lässt.

wenn du deine readingsGroup fertig hast möchte ich wie immer die definition und einen screenshot fürs wiki :).

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

djhans

  • Gast
Antw:Laufschrift, Text scrollen mit readingsGroup möglich?
« Antwort #4 am: 27 Februar 2014, 23:32:02 »
Hallo,
ja, das mache ich! Danke für den Tipp!

Leider lässt sich die Laufschrift per HTML nicht als Endlosband einstellen. Das heisst, der RDS Text bricht teilweise mittendrin ab und fänht von vorne an. Kann sein, dass dies am gesendeten Format liegt......sieht halt komisch aus...

noch ne andere Frage:
Ich habe drei Sonos-Geräte in einer Gruppe. Jetzt möchte ich noch das devStateIcon einbauen. Kann man das mit in die o.a. DEF-Zeile einbauen? Ich habe das mit { state => '%devStateIcon' } versucht, dann war aber mein Reading weg...

djhans

Der

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20867
Antw:Laufschrift, Text scrollen mit readingsGroup möglich?
« Antwort #5 am: 27 Februar 2014, 23:38:04 »
jedes reading kann direkt nur ein mal auftauchen. entweder als text oder als icon. du kannst entweder ein festes icon einblenden mir <%icon_name> oder ein dynamisches mit <{...}> code erzeugen oder state zusätzlich mit <{ReadingsVal($DEVICE,"state","")}@state> einblenden.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

djhans

  • Gast
Antw:Laufschrift, Text scrollen mit readingsGroup möglich?
« Antwort #6 am: 28 Februar 2014, 09:24:12 »
Hallo andre,
danke für die Info. Das heißt, ich kann für "state" zwar den Status in Textform einblenden, aber nicht das dazugehörige Icon, welches mit devStateIcon angelegt wurde, oder habe!

Vielleicht erzähle ich mal kurz was ich überhaupt machen möchte:
Die unterschiedlichen Player sollen fogende Infos visualisieren (siehe Skizze)

Jetzt ist es so, dass man die Sonos Devices gruppieren kann, das heisst, wenn man zwei  oder mehrere Player zusammenfasst,
dann spielt auf allen Geräten die gleiche Mucke.

Die Herausforderung ist jetzt, die Visualisierung so dynamisch anzupassen, dass die Gruppenmitglieder
jeweils nur mit dem Symbol und ihrem Namen angezeigt werden. Der Gruppenkoordinator ist "Chef" und zeigt dann den Status und
Titelinformation an.

Mit dem Befehl "get Sonos Groups" bekommt man immer die aktuelle Gruppenkonfiguration angezeigt.
[Sonos_Buero], [Sonos_Schlafzimmer, Sonos_Schlafzimmer_RF, Sonos_Bad], [Sonos_Terrasse], [Sonos_Wohnzimmer, Sonos_Wohnzimmer_SW]Gruppenänderungen können über ein Event erkannt werden, weiss aber im Moment noch nicht genau, welches...

Der Gruppenkoordinator ist jeweils der Erstgenannte. _RF- und _SW-Geräte werden ignoriert, da diese keine "echten" Gruppenmitgleider sind,
(_RF ist der rechte Kanal eines Stereopaars und _SW ist ein Subwoofer).

Das o.a.Bsp. würde dann so aussehen, dass es folgende Gruppen gibt:
Büro
Schlafzimmer + Bad (Koordinator ist Schlafzimmer)
Terrasse
Wohnzimmer

Im Moment bin ich ein wenig überfordert mit meiner Anforderung, aber irgendwie muss ich das hinkriegen. Ich hoffe, dass ich mit "readingsGroup" auf dem richtigen Weg bin...
Für Tipps und Anregungen bin ich sehr dankbar, meine fhem -und vor allem Perl- Kenntnisse sind noch auf dem "Anfängerstatus" :-)

Christian