Sonos im Tablet UI - Beispielkonfiguration

Begonnen von Sturi2011, 12 Dezember 2016, 23:23:19

Vorheriges Thema - Nächstes Thema

Tobias

ahh, verstehe...
ich habe hier auf meinem NAS eine Musiksammlung > 40.000 Titel, ca 300GB.
Für uns ist es wichtig daraus ein Album mit wenigen Schritten spontan auszuwählen und im Sonos abzuspielen. Die Funktionalität aus mehreren Alben eine PLaylist zu erstellen, ändern, abzuspeichern und zu laden kommt später auch noch in mein Modul.
Bei uns dagegen ist es ein NOGo über andere apps oder außerhalb FHEM umständlich Playlisten erstellen zu müssen damit diese abgespielt werden können ;) bzw überhaupt aus dem Sonos etwas rauszubekommen. Solch statische playlisten hören wir uns irgendwann über ;) Und wenn wir erst wieder playlisten erstellen müssen um etwas neues zu hören, dann ist der Griff zum normalen UKW Radio einfacher und damit wäre FHEM und Sonos im WAF unterirdisch :(
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

SGi

Hallo zusammen,

vielen Dank für Eure zahlreichen Beispiele. Ich versuche auch gerade, mein SONOS in die TabletUI zu integrieren, habe vorher bereits ebenfalls das Beispiel aus Jürgens Technikwelt ausprobiert und nun die hier vorgeschlagenen Änderungen bzgl. der zusätzlichen notifys, Dummys und Dummy-Readings nachgezogen. Dabei stoße ich auf zwei Probleme:

1. Der Eintrag in der TabletUI-HTML ist genau nach Beispiel, der Multistate-Play-Button funktioniert auch, zeigt aber (gar) kein Symbol im Kreis, obwol die notifys jeweils einen korrekten "tstate"-Status setzen. Die Symbole sind aber in anderen TabletUI-Verwendungen da, am Font liegt es also nicht.

2. ich möchte sowohl SONOS-Favoriten (ca. 10 Radiosender) wie auch SONOS-Playlisten nutzen und gemeinsam in der Auswahlliste haben. Meine Versuche, mehr als einen Sender in die Liste hinzuzufügen (durch Ergänzung der Einträge in $playlistneu in der 99_myUtils.pm) scheitern bisher aber kläglich. Gibt es da eine Längenbegrenzung für den String oder ähnliches, oder mag er bestimmte  Sonderzeichen in den SONOS-generierten Radionamen (wie runde Klammern, Trennstriche etc) nicht ?

Oder hat vielleicht schon jemand eine schöne Lösung, die die Generierung der Liste aus Radios und Favoriten elegant kombiniert ? (bin nicht so der PERL-Spezi, ich habe die Abfrage, ob der ausgewählte Listeneintrag ein Radiosender ist oder nicht und dementsprechend Playlist oder Radio PLAYe, noch nicht hinbekommen...)

Schöne Grüße und natürlich allen ein schönes ud friedliches Weihnachtsfest !

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

Sturi2011

Hi,

Hast du den Play Button so undefiniert Wie im Letzten Post der ersten Seite?

Die Radiosender müssen momentan noch manuell über die 99 myutils hinzugefügt werden.
Sie sollten url codiert sein...

Poste mal bitte deine Definition im FTUI

Gruß Andreas

SGi

ZitatHast du den Play Button so umdefiniert Wie im Letzten Post der ersten Seite?

Ja. Und nein :-)  Der Fehler saß natürlich vor der Tastatur. Wenn man "tstate" einmal mit "s" und einmal "S" schreibt, kanns ja auch nicht funktionieren... Fehler behoben.

ZitatDie Radiosender müssen momentan noch manuell über die 99 myutils hinzugefügt werden. Sie sollten url codiert sein...

Ich hab den Sender aus dem Beispiel mit einer Zeichenkette wie dieser ersetzt:

1LIVE - Das junge Radio des WDR. 96.0 (Euro-Hits),1LIVE diggi - Multimedia - 1LIVE,Absolut Radio (Pop),Absolut relax (Unterhaltungsmusik),Radio 91.2 | (Pop),Radio Herne 90.8 (Pop),SWR3 Elchradio 99.6 (Adult Contemporary),WDR Event (Talkshow),WDR Vera (Verkehr),WDR2 Ruhrgebiet 87.8 (Pop),WDR5 - Hören erleben. 90.3,

bekomme dann aber nur eine leere Liste im Select. Außerdem ist dann natürlich die Abfrage "Radio oder Playlist" etwas komplexer.

ABER:
theoretisch kann ich diese Liste doch (aus meinen Favoriten) genauso durch "get Favourites" generieren und müßte diese nur ebenfalls in einer Liste @Favourites ablegen. Dann muss es doch auch klappen, diese beiden Listen per concat-Operator "." zu der Komplettliste $playlistneu für den Selektor zusammenzufügen...

Und mit einer PERL-Bedingung der Form "if Element in @Favourites" -> Start Radio und "if Element in @Playlists" -> Start Playlist die entsprechende Aktion dann auszuwählen. Das habe ich bisher nur noch nicht hingekriegt.

So was hier liefert eine leere Liste (warum ?) der Form '::Favoriten' im Reading Playlist in FHEM

sub GetPlayLists()
{
   # Playlisten zentral ermitteln
   # Das Script muss manuell ausgeführt werden um die Playlisten einzulesen (nach jeder Änderung der Playlists)
   
   fhem("get Sonos_Wohnzimmer Playlists;");
   my $Playlist = ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "Keine");
   my @Playlists = split('GetPlaylists: ', $Playlist);

   fhem("get Sonos_Wohnzimmer Favourites;");
   my $Favourite = ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "Keine");
   my @Favourites = split('GetFavourites: ', $Favourite);
   
   # Radios davor packen
   my $playlistneu = $Favourites[1].','.$Playlists[1].',Favoriten';

   
   #playlist für TABUI select aufbereiten
   $playlistneu =~ s/,/:/g;
   $playlistneu =~ s/\"//g;

   fhem("setreading d.Sonos_.* Playlist ".$playlistneu);
   fhem("setreading d.Sonos_.* default Favoriten");
}


Die explizite Variante mit String ebenfalls:

   my $Favourite = '1LIVE - Das junge Radio des WDR. 96.0 (Euro-Hits),1LIVE diggi - Multimedia - 1LIVE,Absolut Radio (Pop),Absolut relax (Unterhaltungsmusik),Radio 91.2 | (Pop),Radio Herne 90.8 (Pop),SWR3 Elchradio 99.6 (Adult Contemporary),WDR Event (Talkshow),WDR Vera (Verkehr),WDR2 Ruhrgebiet 87.8 (Pop),WDR5 - Hören erleben. 90.3';
   
   # Radios davor packen
   my $playlistneu = $Favourite.','.$Playlists[1].',Favoriten';



Und wenn es dann dafür eine funktionierende Weise geben würde

   # falls der Radiosender gewählt wurde
   if($Playlist ~~ $Favourite)
   {
      fhem("set $player[0] StartRadio $Liste[1]");
   }


wäre man doch schon fertig oder ?

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

Sturi2011

#19
Hi Sven,

wie heißt es in original Code so schön "Hier müsste noch ein wait eingefügt werden".
Das Problem ist, dass das LastActionResult erst einige 100 ms nach dem Aufruf gefüllt wird.
Sonos benötigt da einen Augenblick. Die Abfrage kommt zu früh. Wenn du das Original Script
2 mal hintereinander startest läuft es, da dasReading schon gefüllt ist. In deiner Variante ist
es dann aber schon mit dem 2en Wert gefüllt. Das kann man sich schön mit Log 1,... ansehen.

Momentan fällt mir dazu nur die Variante ein,
getfavourites -> Notify mit Filter schreibt Favourites in Dummy.
getplaylists -> ds selbe Notify mit 2em Filter liest Playlist und macht einen String aus
dem Favoriten String und den Playlists, der in den Dummy zurück geschrieben wird.

Gruß Andreas

edit:

eventuell lässt sich das eleganter mit einem userreading am sonos device lösen...ich schaue morgen mal ob ich das so hin bekomme.

SGi

Okay, darüber habe ich auch schon nachgedacht, die Listen vorab fertig als Userreading zu hinterlegen und habe dazu die Lösung von Andreas hier im Forum gefunden:

https://213.252.140.23/index.php?topic=49186.15

Hatte gedacht, dass ich mit

FavTabletUI:LastActionResult.*?GetFavourites:.* {
if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) {
my $returnvalue = $1;
$returnvalue =~ s/","/:/g;
$returnvalue =~ s/\"//g;
return $returnvalue;
}
}, PlayTabletUI:LastActionResult.*?GetPlaylists:.* {
if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) {
my $returnvalue = $1;
$returnvalue =~ s/","/:/g;
$returnvalue =~ s/\"//g;
return $returnvalue;
}
}


zwei Userrreadings generieren könnte, die ich dann über myUtils entweder zusammenpacken oder einfach in zwei separaten Selektoren mit startFavourite und startPlaylist verwenden kann. Das Playlists-Userreading wird aber leider nicht angelegt. Wird der Trigger vom 2. Reading nicht geprüft, wenn man GetFavourites und GetPlaylists direkt in FHEM im Sonos ausführt ?

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

SGi

Hmpf,

habe gerade festgestellt, dass man Playlisten im SONOS ja auch als Favorit ablegen kann (ging das schon immer ?) und somit "ein startFavourite" völlig unabhängig vom Typ des Mediums funktioniert. Damit hat sich die Sache stark vereinfacht. Wie an anderer Stelle hier im Forum schon vorgeschlagen erzeuge ich userReadings in 2 Versionen (für Anzeige und Auswahl):

FavTabletUI:LastActionResult.*?GetFavourites:.* {
if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) {
my $returnvalue = $1;
$returnvalue =~ s/","/:/g;
$returnvalue =~ s/\"//g;
$returnvalue =~ s/" "/./g;
return $returnvalue }},
FavAliasTabletUI:LastActionResult.*?GetFavourites:.* {
if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) {
my $returnvalue = uri_escape($1);
$returnvalue =~ s/%22//g;
$returnvalue =~ s/%2C/:/g;
return $returnvalue }}


Im TabletUI geht es dann ganz ohne Dummys etc. mit:


<div data-type="select"
data-device="Sonos_Flur"
data-list="Sonos_Wohnzimmer:FavAliasTabletUI"
data-alias="Sonos_Wohnzimmer:FavTabletUI"
data-get="Sonos_Wohnzimmer:FavTabletUI"
data-set="startFavourite"
class="wider large">


plus der Transportbuttons natürlich.

So muss ich die "Datenpflege" zwar in Sonos machen (ist bei mir kein Problem, da sich da selten was ändert) , löse aber am Haupt-Device danach nur einmal in FHEM ein "get Favourites" aus und die Selektoren in der GUI sind aktuell. Schon läuft alles wie ich es mir vorstelle...

Trotzdem vielen Dank, und natürlich wird das nicht der letzte Tablet-UI-Design-Stand bleiben, aber erstmal funktioniert die Mucke familienkompatibel  :-)

Sven
FHEM auf RasPi und FritzBox 7390 mit MAX! und HomeMatic

l2r

hat jemand die Sonos-Steuerung schon für FTUI 2.5 umgebaut?

Bei hats die Darstellung seit dem Update mehr oder weniger zerschossen. Ich bin allerdings auch noch nicht wirklich dazu gekommen mir das genau anzuschauen...

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Sturi2011

#23
Hi,

ich habe das Ganze mal auf möglichst wenige Readings am Dummy umgebaut.
Die Version enthält natürlich meinen Sonderwunsch mit der Current Playlist.
Das habe ich aber selbst in das Sonos Mudul eingepatcht.
Du musst das DIV mit dem FA-List Icon entfernen....oer per PN die gepatchte Version bekommen ;)

hier mal die neue Version:
<html>
<title>Musik</title>
<head>
</head>
<body>
<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="4" data-template="menu.html"></li>
<li data-row="1" data-col="2" data-sizex="3" data-sizey="2">
   <header>Sonos Küche</header>
      <div class="container top-space">
         <div data-type="label" data-device="Sonos_Kueche" data-get="infoSummarize1"></div>
<div data-type="select" data-device="Sonos_Kueche" data-list="Sonos_Kueche:FavAliasTabletUI" data-alias="Sonos_Kueche:FavTabletUI" data-get="Sonos_Kueche:FavTabletUI" data-set="startFavourite" class="wider large">
  </div>
<div class="container inline">
   <div data-type="push" data-device="Sonos_Kueche" data-set-on="PREVIOUS" data-icon="fa-step-backward" class="cell inline"></div>
   <div data-type="switch" data-device="Sonos_Kueche" data-set-on="PLAY" data-set-off="PAUSE" data-get="transportState" data-states='["PLAYING","PAUSED_PLAYBACK","STOPPED"]' data-icons='["fa-pause","fa-play","fa-play"]' data-colors='["#555","#555","#555"]' data-background-colors='["#555","#555","#555"]' data-background-icon="fa-circle-thin" data-background-color="#555" class="cell inline"></div>
   <div data-type="push" data-device="Sonos_Kueche" data-set-on="NEXT" data-icon="fa-step-forward" class="cell inline"></div>
   <div data-type="push" data-device="Sonos_Kueche" data-set-on="STOP" data-icon="fa-stop" class="cell inline"></div>
   <div data-type="multistatebutton" data-device="Sonos_Kueche" data-get="Shuffle" data-get-on='["0","1"]' data-set='["Shuffle 1","Shuffle 0"]' data-set-default="Shuffle 0" data-icons='["fa-random","fa-random"]' data-colors='["#2A2A2A","#00FF00"]' data-background-colors='["#555", "#555"]' background-color="#0000ff" off-color="#0000ff" class="cell inline "></div>
</div>
<div class="container inline narrow">
  <div data-type="popup" data-height="600px" data-width="600px">
  <div data-type="push" data-icon="fa-list"></div>
    <div class="dialog">
    <header>Playliste</header>
<div data-type="medialist"
data-device="Sonos_Kueche"
data-get="Sonos_Kueche:currentPlaylistContent"
data-pos="Sonos_Kueche:currentTrack"
data-set="track"
class="autoscroll index1">
</div> 
    </div>
  </div>
</div>
<div class="container inline narrow">
   <div data-type="spinner" data-device="Sonos_Kueche" data-get="Volume" data-set="Volume" data-max="50" data-step="4" data-icon-left="fa-volume-down" data-icon-right="fa-volume-up" class="top-space-2x spinner value" style="width: 200px; max-width: 200px; height: 50px; line-height: 45px; color: rgb(204, 204, 204); background-color: rgb(74, 74, 74);"><div class="lefticon fa fa-volume-down fa-lg fa-fw" style="color: rgb(170, 170, 170);"></div><div class="levelArea" style="width: 50%;"><div class="levelRange" style="left: 0px; width: 21.4286px; background: rgb(170, 105, 0) none repeat scroll 0% 0%;"></div></div><div class="righticon fa fa-volume-up fa-lg fa-fw" style="color: rgb(170, 170, 170);"></div></div>
</div>
<div class="container inline narrow">
  <div data-type="circlemenu" class="cell circlemenu top-space-2x">
    <ul class="menu">
      <li><div data-type="label" data-device="DM_Sonos_Kueche" data-get="Gruppe" data-color="#555" class="circleborder big" style="Width:52px;Height=55px"></div></li>
      <li><div data-type="push" data-device="DM_Sonos_Kueche"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="1"
               data-icon="">1</div></li>
      <li><div data-type="push" data-device="DM_Sonos_Kueche"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="2"
               data-icon="">2</div></li>
      <li><div data-type="push" data-device="DM_Sonos_Kueche"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="3"
               data-icon="">3</div></li>     
  <li><div data-type="push" data-device="DM_Sonos_Kueche"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="4"
               data-icon="">4</div></li>
      <li><div data-type="push" data-device="DM_Sonos_Kueche"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="-"
               data-icon="">-</div></li>    
    </ul>
   </div>
</div>
</li>
<li data-row="1" data-col="5" data-sizex="1" data-sizey="2">
   <header>Gruppe</header>
      <div data-type="push" data-device="Sonos_Kueche" data-cmd="set Sonos Groups [Sonos_Kueche, Sonos_Flur]" data-icon="fa-link" class="cell top-space-2x"></div>
  <div data-type="push" data-device="Sonos_Kueche" data-cmd="set Sonos Groups [Sonos_Kueche], [Sonos_Flur]" data-icon="fa-unlink" class="cell top-space-2x"></div>
</li>
<li data-row="1" data-col="6" data-sizex="3" data-sizey="2">
   <header>Sonos Flur</header>
      <div class="container top-space">
         <div data-type="label" data-device="Sonos_Flur" data-get="infoSummarize1"></div>
<div data-type="select" data-device="Sonos_Flur" data-list="Sonos_Flur:FavAliasTabletUI" data-alias="Sonos_Flur:FavTabletUI" data-get="Sonos_Flur:FavTabletUI" data-set="startFavourite" class="wider large">
      </div>
<div class="container inline">
   <div data-type="push" data-device="Sonos_Flur" data-set-on="PREVIOUS" data-icon="fa-step-backward" class="cell inline"></div>
   <div data-type="switch" data-device="Sonos_Flur" data-set-on="PLAY" data-set-off="PAUSE" data-get="transportState" data-states='["PLAYING","PAUSED_PLAYBACK","STOPPED"]' data-icons='["fa-pause","fa-play","fa-play"]' data-colors='["#555","#555","#555"]' data-background-colors='["#555","#555","#555"]' data-background-icon="fa-circle-thin" data-background-color="#555" class="cell inline"></div>
   <div data-type="push" data-device="Sonos_Flur" data-set-on="NEXT" data-icon="fa-step-forward" class="cell inline"></div>
   <div data-type="push" data-device="Sonos_Flur" data-set-on="STOP" data-icon="fa-stop" class="cell inline"></div>
   <div data-type="multistatebutton" data-device="Sonos_Flur" data-get="Shuffle" data-get-on='["0","1"]' data-set='["Shuffle 1","Shuffle 0"]' data-set-default="Shuffle 0" data-icons='["fa-random","fa-random"]' data-colors='["#2A2A2A","#00FF00"]' data-background-colors='["#555", "#555"]' background-color="#0000ff" off-color="#0000ff" class="cell inline"></div>
</div>
<div class="container inline narrow">
  <div data-type="popup" data-height="600px" data-width="600px">
  <div data-type="push" data-icon="fa-list"></div>
    <div class="dialog">
    <header>Playliste</header>
<div data-type="medialist"
data-device="Sonos_Flur"
data-get="Sonos_Flur:currentPlaylistContent"
data-pos="Sonos_Flur:currentTrack"
data-set="track"
class="autoscroll index1">
</div> 
    </div>
  </div>
</div>
<div class="container inline narrow">
   <div data-type="spinner" data-device="Sonos_Flur" data-get="Volume" data-set="Volume" data-max="50" data-step="4" data-icon-left="fa-volume-down" data-icon-right="fa-volume-up" class="top-space-2x spinner value" style="width: 200px; max-width: 200px; height: 50px; line-height: 45px; color: rgb(204, 204, 204); background-color: rgb(74, 74, 74);"><div class="lefticon fa fa-volume-down fa-lg fa-fw" style="color: rgb(170, 170, 170);"></div><div class="levelArea" style="width: 50%;"><div class="levelRange" style="left: 0px; width: 21.4286px; background: rgb(170, 105, 0) none repeat scroll 0% 0%;"></div></div><div class="righticon fa fa-volume-up fa-lg fa-fw" style="color: rgb(170, 170, 170);"></div></div>
</div>
<div class="container inline narrow">
<div data-type="circlemenu" class="cell circlemenu top-space-2x">
    <ul class="menu">
      <li><div data-type="label" data-device="DM_Sonos_Flur" data-get="Gruppe" data-color="#555" class="circleborder big" style="Width:52px;Height=55px"></div></li>
      <li><div data-type="push" data-device="DM_Sonos_Flur"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="1"
               data-icon="">1</div></li>
      <li><div data-type="push" data-device="DM_Sonos_Flur"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="2"
               data-icon="">2</div></li>
      <li><div data-type="push" data-device="DM_Sonos_Flur"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="3"
               data-icon="">3</div></li>     
  <li><div data-type="push" data-device="DM_Sonos_Flur"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="4"
               data-icon="">4</div></li>
      <li><div data-type="push" data-device="DM_Sonos_Flur"
   data-set="Gruppe"
               data-cmd="setreading"
   data-set-on="-"
               data-icon="">-</div></li>    
    </ul>
   </div>
</div> 
</li>
</ul>
</div>
</body>
</html>


Das mit dem Currentplaylist sieht dann so aus:

Gruß Andreas

Sturi2011

Hi,

und dann benötigst du noch das geänderte Userreading:

Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } },currentPlaylistContent:LastActionResult.*?GetPlaylistContent.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } },FavTabletUI:LastActionResult.*?GetFavourites:.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { my $returnvalue = $1; $returnvalue =~ s/","/:/g; $returnvalue =~ s/\"//g; $returnvalue =~ s/" "/./g; return $returnvalue }}, FavAliasTabletUI:LastActionResult.*?GetFavourites:.* { if (ReadingsVal("Sonos_Flur", "LastActionResult", "") =~ m/.*?: (.*)/) { my $returnvalue = uri_escape($1); $returnvalue =~ s/%22//g; $returnvalue =~ s/%2C/:/g; return $returnvalue }}


Wenn ich nachher die Kinder im Bett habe stelle ich das ganze mal komplett neu zusammen.

Gruß Andreas

l2r

besten Dank schonmal für die Schnelle Antwort!

Ich habs mir soweit wieder zurecht gebastelt, aber ohne Playlist ;-)

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Hitcher

Hallo Leute..
Ich verfolge euren Thread hier schon ein paar Tage..

Finde es Prima was ihr hier macht..

Da ich gerade mein Sonos Zeugs aufrüste und mich parallel an Tablet UI versuche..

Gibt es eine kleine Zusammenfassung?
Auch vielleicht was wo hin muss, bzw. was ich anpassen müsste?

Danke Euch!!

thevoyager

Eine Zusammenfassung würde mir auch sehr helfen... bin komplett neu in dem Thema und versuche gerade das ganze aus euren Beschreibungen nachzuvollziehen - aktuell scheitere ich daran die Favoriten in eine Liste zu bekommen :-(

sTaN

Hallo Zusammen,

dem schließe ich mich mal an! ;-) Bin auch gerade dabei mein altes iPad 3 für Tablet UI fit zu machen und habe dies zum Anlass genommen meine Sonos Player nun auch in FHEM zu integrieren. Das hat zunächst geklappt. Über eine Zusammenfassung was ich für die Darstellung in Tablet UI alles benötige, wäre ich auch sehr dankbar!

Gruß
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

carzl

Hallo in die Runde,

mir gehts genauso, es ist gefühlt ganz schön tricky... Hat FTUI 2.5 bzw. 2.6 insofern Auswirkungen, dass ich mit Euren Code-Beispielen gar nicht erst anfangen muss, weil es eh nicht funzt? Oder wirkt es sich nur auf die Positionierung etc. aus und ich kann mal starten? Die Komplexität macht mir einigermaßen Respekt...  :-\ 
Fhem 6.0 auf RPi3: CUL, JeeLink, Hue Bridge v2, HarmonyHub, Fritzbox7590+7412, 6x FHT80b, 2x FS20S6A, FS20S4A, S300TH, 4x FritzDECT200/210, 4x TX29DTH, 4x Hue LightStripe, 5x Hue Smart Plug, Sonos mit 5x Play:1, Beam und Sub; 3x Lenovo Tab M10 mit FTUI