Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Eine View für mehrere Geräte und mehrere Instanz-IDs?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Eine View für mehrere Geräte und mehrere Instanz-IDs?

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ah966 last edited by ah966

      Hallo zusammen,

      ich habe für meine Sonos-Speaker eine kleine View erstellt, mit der ich die Speaker rudimentär steuern kann.
      928614ad-7597-40fa-90d3-69bacd848bda-grafik.png
      Jetzt habe ich links eine Art Nav-Leiste, mit der ich zwischen den Speakern umschalte, welcher gesteuert werden soll.
      Dafür habe ich natürlich auch für jeden Speaker eine View gebaut. Die Buttons rufen nur die entsprechende View auf.

      Um Ressourcen zu schonen dachte ich, es müsste doch möglich sein, die View nur 1x zu bauen und über die Buttons den zu steuernden Sonos zu setzen (z.B. über einen separaten DP).

      ABER: Ich will die View auf mehreren Tablets zur Verfügung stellen und ich gehe von folgendem Problem aus:
      Angenommen zwei Leute möchten "ihre" Lautsprecher steuern - da gibts doch dann eine Vermischung.

      D.h. ich müsste beim Auswahl des Speakers die Instanz-ID des Browsers ermitteln und einen individuellen DP (z.B. unterhalb der InstanzID) mit dem Speaker "füttern" (das hat mal geklappt - aber ob auf Dauer zuverlässig?).
      Dann bleibt noch das Problem, daß ich für jeden angesteuerten DP (Play, Stop, Vor, zurück) über die Instanz-ID den gewählten Lautsprecher ermitteln muß, damit ich den richtigen DP ändern kann.
      (daß zwei Leute gleichzeitig den gleichen Speaker steuern wollen, schließe ich mal aus).
      Das hat zu folgendem kranken DP-Eintrag (im HTML-Feld) geführt:

      <b>SONOS {0_userdata.0.vSonos.{vid:vis.0.control.instance;vid.replace(".","_")}.Speaker2Control}</b>
      

      was nicht funktioniert. Hier sollte nur der Speakername ausgelesen werden (replace benutzt, weil die InstanzID einen Punkt im Namen hat, hab die mit Unterstrich angelegt).
      Abgesehen davon, würde ich das Konstrukt nächste Woche schon nicht mehr blicken 🙂

      Ich habe aber eher das Gefühl, daß es einfacher geht und ich den Wald vor lauter Bäumen nicht sehe.

      Hintergund ist einfach, daß ich nicht bei 8 Views jede Änderung durchführen will, wenn ich mal was ändern will.
      Sondern es soll nur eine View geben und jeder soll seinen Speaker steuern können

      Hat jemand eine Idee, wie das zuverlässig gelöst werden kann?

      Viele Grüße,
      Andreas

      edit:
      Dieses Konglomerat

      <b>SONOS {vid:vis.0.control.instance; "0_userdata.0.vSonos."+vid.replace(".","_")+".Speaker2Control"}</b>
      

      hat mich jetzt dem obigen Ansatz etwas näher gebracht. Heraus kommt jetzt genau der String, der den Datenpunkt beinhaltet. Allerdings steht der "nur" als Text in der Runtime. Wenn ich die geschweiften Klammern mitgebe, taucht nur noch 0} auf.
      Habe versucht die geschweiften Klammern mittels Backslash zu escapen - hat aber auch nichts gebracht.
      Kann man überhaupt ein Binding in einem Binding verwenden? Ich glaube, das beschreibt das Problem beim Generieren der Datenpunkt-ID.

      1 Reply Last reply Reply Quote 1
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      520
      Online

      31.9k
      Users

      80.1k
      Topics

      1.3m
      Posts

      1
      1
      132
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo