Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. PerpetuumMobile

    NEWS

    • Neues Video auf YouTube

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 4
    • Best 0
    • Groups 0

    PerpetuumMobile

    @PerpetuumMobile

    0
    Reputation
    15
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    PerpetuumMobile Follow

    Latest posts made by PerpetuumMobile

    • Vis.orientationChange()

      Hi all,

      ich habe 2 Views in den landscape & portrait Auflösungen meines Phones erstellt

      => das Phone wechselt automatisch zwischen den beiden … sieht toll aus 🙂

      Da auf diesen Views zu wenig Platz ist, arbeite ich mit Filtern, um nur einen Teil der Widgets darzustellen.

      Nun sollten die Filter aber in beiden Views synchron verändert werden.

      Sonst sieht man plötzlich andere Inhalte, nur weil man das Phone dreht 😢

      Was ich versucht habe, ist die Variable vis.viewsActiveFilter beim Filter Wechsel - für die jeweils andere View auch vorzubelegen:

      In der landscape View iPhone_L habe ich folgenden Button:

      da steht auch dann tatsächlich in vis.viewsActiveFilter.iPhone_P das Array ["Licht"],

      aber sobald ich durch Drehen des Gerätes in die View iPhone_P wechsle … Ist dieser View das ganz egal, was ich da zuvor reingeschrieben habe.

      iPhone_P verwendet offensichtlich ihr eigenes Set an Variablen.

      Daher die vielen Fragen:

      Hat jemand eine Lösung für das Problem.

      Weiss jemand wo / wie man vis.viewsActiveFilter der "nachbar" View ändert?

      Oder hat jemand mit der Funktion vis.orientationChange .... die klingt vom Namen her erfolgversprechend, aber ich habe nichts dazu gefunden.

      lg

      PerpetuumMobile

      posted in Visualisierung
      P
      PerpetuumMobile
    • RE: Control.instance abfragen

      @Bluefox:

      @PerpetuumMobile:

      Ich hoffe das ist nicht allzu umständlich & es hilft vielleicht jemandem weiter

      Tom `

      Konnte auch so gelöst werden:

      Aber es ist cool, wie du das gelöst hast. 😉 > Danke - funktioniert perfekt 😉 `

      posted in Visualisierung
      P
      PerpetuumMobile
    • RE: Control.instance abfragen

      Vielen Dank Bluefox !

      Mit Hilfe deiner Antwort hab ich es nun folgendermassen gelöst, daß nur noch jenes Browser Fenster wechselt, in dem ich die Aktion starte:

      Im on( ) Teil des Scripts gebe ich nun auch den Wert der Variable "Test" mit:

      createState("javascript.0.vis.Test", false);
      on( 'javascript.0.vis.Test' ,      function (obj) { 
          if (!(obj.newState.val === false )) {
              view_wechsel(obj.newState.val); 
          }
      } );
      
      

      Diesen Wert verwende ich um die gewünschte control.instance zu steuern

      function view_wechsel (wert) {
          setState("javascript.0.vis.Test", false);    // auf false setzen, damit nächste Änderung wieder auslöst
          var whoami = wert; 
          whoami = whoami.replace (/\"/g, "");    // Anführungszeichen löschen
          setState("vis.0.control.instance", whoami);
          setState("vis.0.control.data",     'Board');
          setState("vis.0.control.command",  'changeView'); 
      }
      
      

      Was noch fehlt, ist die Variable "Test" korrekt zu setzen.

      Dazu habe ich ein (basic - HTML) Widget mit folgendem Inhalt erstellt:

      Ich hoffe das ist nicht allzu umständlich & es hilft vielleicht jemandem weiter

      Tom

      posted in Visualisierung
      P
      PerpetuumMobile
    • Control.instance abfragen

      Hiermit kann ich für alle geöffneten Browser Fenster die View umschalten:

      whoami = "FFFFFFFF";
      setState("vis.0.control.instance", whoami);
      setState("vis.0.control.data",     'Board');
      setState("vis.0.control.command",  'changeView');
      

      3 Browser offen (FireFox, Chrome & Safari) => klappt

      Ich möchte dies aber nur für MEIN Browser Fenster - daher versuche ich:

      whoami = getState( "vis.0.control.instance.state");
      setState("vis.0.control.instance", whoami);
      setState("vis.0.control.data",     'Board');
      setState("vis.0.control.command",  'changeView');
      

      Damit ändert sich die View zwar nicht mehr in allen Browsern, aber ich bekomme das Verhalten

      3 Browser offen (FireFox, Chrome & Safari)

      2 machen changeView (FireFox & Chrome) - Safari nicht - auch wenn ich das Script aus Safari triggere

      Daher meine Frage => Wie finde ich die korrekte vis.0.control.instance für exakt meine Session?

      danke

      PerpetuumMobile

      PS. dies ist meine erste Frage - bitte bei Dummheit um Nachsicht

      posted in Visualisierung
      P
      PerpetuumMobile
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo