Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Gelöst] Aus verschiedenen Views automatisch auf den Mainview zurück

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

[Gelöst] Aus verschiedenen Views automatisch auf den Mainview zurück

Geplant Angeheftet Gesperrt Verschoben Visualisierung
13 Beiträge 11 Kommentatoren 3.9k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von
    #2

    Hi Alfred,

    ich kann dir jetzt nicht sagen was an deinem Code falsch ist und auch nicht ob das funktioniert wenn man das in einem Html-Widget einbindet.

    Aber ich hab da mal schnell was gebastelt, wenn du im IoBroker unter Script ein Script mit folgendem Inhalt erstellst:

    on("vis.0.control.data", function (dp){/*Data for control vis*/
        if(dp.state.val == "Wandtablet/Licht" || dp.state.val == "Wandtablet/Klima") {
        	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  5000);
        }
        if(dp.state.val == "Wandtablet/Sonos") {
        	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  10000);
        }
    });
    

    sollte es funktionieren (Bei mir im Browser tut es das zumindest).

    Und wenn du nur die Seite Sonos länger als alle Anderen sehen möchtest sollte es so gehen:

    on("vis.0.control.data", function (dp){/*Data for control vis*/
        if(dp.state.val == "Wandtablet/Sonos"){
            setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  10000);
        }
        else{ 
            setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  5000);
        }
    }); 
    

    Die Zeit und die Wunschseiten deinen Wünschen entsprechend anpassen und testen (Hoffe es klappt).

    Gruß

    Peoples

    Ich beantworte keine Fragen zu Themen via PN

    1 Antwort Letzte Antwort
    0
    • akwakA Offline
      akwakA Offline
      akwak
      schrieb am zuletzt editiert von
      #3

      @peoples:

      Hi Alfred,

      Aber ich hab da mal schnell was gebastelt, wenn du im IoBroker unter Script ein Script mit folgendem Inhalt erstellst:

      on("vis.0.control.data", function (dp){/*Data for control vis*/
          if(dp.state.val == "Wandtablet/Licht" || dp.state.val == "Wandtablet/Klima") {
          	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  5000);
          }
          if(dp.state.val == "Wandtablet/Sonos") {
          	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  10000);
          }
      });
      

      Gruß

      Peoples `

      Hallo Peoples,

      danke für Deinen Vorschlag.

      ich habe den Code auf mein System angepasst:

      on("vis.0.control.data", function (dp){/*Data for control vis*/
          if(dp.state.val == "main/Camera_Eingang" ) {
             setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Home"}',  20000);
          }
          if(dp.state.val == "main/Sonos") {
             setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Home"}',  60000);
          }
          if(dp.state.val == "main/Heizung") {
             setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Home"}',  5000);
          }
          if(dp.state.val == "main/Tanken") {
             setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Home"}',  40000);
          }
      });
      
      

      main/Home müsste richtig sein, so steht es jedenfals im Datenpunkt.
      400_screenshot_002_iobroker.admin_-_google_chrome.png

      Leider passiert dann … gar nichts.

      Hier auch noch ein Screenshot wie ich das Script eingegeben habe. Der Fehler liegt ja meist zwischen den Ohren ;-)
      400_screenshot_002_iobroker.admin_-_google_chrome.png

      Gruß,

      Alfred

      1 Antwort Letzte Antwort
      0
      • htreckslerH Offline
        htreckslerH Offline
        htrecksler
        Forum Testing
        schrieb am zuletzt editiert von
        #4

        ich glaube was peoples meint ist ein Script welches unter Scripte im ioBroker eingefügt wird und nicht im vis.

        Sein Script reagiert dann auf eine Veränderung des Datenpunkt "vis.0.contol.data"

        Gruss Hermann

        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

        1 Antwort Letzte Antwort
        0
        • akwakA Offline
          akwakA Offline
          akwak
          schrieb am zuletzt editiert von
          #5

          @htrecksler:

          ich glaube was peoples meint ist ein Script welches unter Scripte im ioBroker eingefügt wird und nicht im vis.

          Sein Script reagiert dann auf eine Veränderung des Datenpunkt "vis.0.contol.data" `
          Super, das war es.

          Jetzt klappt es.

          Danke Euch beiden!

          Gruß,

          Alfred

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            nevermind
            schrieb am zuletzt editiert von
            #6

            Hallo,

            ich möchte genau das gleiche erreichen. Prinzipiell funktioniert es auch. Das view wird automatisch zurück gewechselt. Leider wird es aber nicht angezeigt denn mainview hat im CSS plötzlich "display:none;" stehen.

            on("vis.0.control.data", function (dp){
                if(dp.state.val == "myproject/tablet") {
                   setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "mainview"}',  5000);
                }
            });
            
            

            Was mache ich falsch?

            vg

            1 Antwort Letzte Antwort
            0
            • K Offline
              K Offline
              KaFaBe
              schrieb am zuletzt editiert von
              #7

              Hallo,

              ich habe bei mir auch das Script eingebunden. Leider funktioniert es noch nicht so, wie ich es mir vorstelle.

              Zum testen habe ich bisher zwei Seiten eingegeben.

              Es wechselt von "PV-Anlage" zu "Musik" und dann erst zur Startseite.

              Kann man da noch ein "oder" einbinden?

              on("vis.0.control.data", function (dp){/*Data for control vis*/
                  if(dp.state.val == "main/PV-Anlage") {
                  	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Startseite"}',  10000);
                  }
                  if(dp.state.val == "main/Musik") {
                  	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/PV-Anlage"}',  10000);
                  }
              });
              

              iobroker und Homeassistent auf Fujitsu 740. KNX für Licht+Steckdose+Rollladen, Homematic für Thermostate und Rauchmelder, Zigbee. Zwei SMA Wechselrichter und drei Hoymiles Wechselrichter

              1 Antwort Letzte Antwort
              0
              • Raidy007R Offline
                Raidy007R Offline
                Raidy007
                schrieb am zuletzt editiert von
                #8

                Hey!

                Habe eure Hilfe auch nutzen können! Für mich, einfachste Lösung ist folgende.

                Einfach ein Javascript unter SKRIPTE erstellt (Ich hab es mal back2main genannt) mit folgendem Inhalt:

                on("vis.0.control.data", function (back2main){/*Data for control vis*/
                    if(
                        back2main.state.val != "main/Home"
                    ) {
                    	setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Home"}',  60000);
                    }
                });
                
                

                Das bewirkt, dass von jeder (Unter-)Seite zurück zum Home gewechselt wird nach 60 Sek. !

                BTW… wenn ich über den web-adapter gehe und die VIS aufrufe, wird direkt eine "Unterseite" geöffnet.

                Weiß jemand, wie man sozusagen die indexseite umstellt und die Startseite wechseln kann?

                Gruß,

                Raidy

                Viele Grüße
                Raidy

                1 Antwort Letzte Antwort
                3
                • Mr. QiM Offline
                  Mr. QiM Offline
                  Mr. Qi
                  schrieb am zuletzt editiert von
                  #9

                  @raidy007 sagte in [Gelöst] Aus verschiedenen Views automatisch auf den Mainview zurück:

                  vis.0.control.data", function

                  ich greif das Thema noch mal auf.

                  das Skript funktioniert einwandfrei raidy007 danke dafür. ich denke du bist auch auf die Lösung gekommen.

                  und für alle anderen habe ich hier einen anderen code für eine View Steuerung Ereignis abhängig.
                  gefunden auf smarthome-tricks.de

                  on('dwd.0.warning.severity', function (obj) { 
                    if (!obj.state.ack && obj.state.val) { 
                      if ( obj.state.val > 0 ) { 
                        setState("vis.0.control.instance", "FFFFFFFF"); 
                        setState("vis.0.control.data", "main/viewWetterwarnungen"); 
                        setState("vis.0.control.command", 'changeView'); 
                      } 
                    } 
                  });
                  

                  ich wollte mich einmal daran machen ein Skript zu erstellen das einige täglichen Ereignisse beinhaltet (alltäglich Sachen!) und es anpassbar machen.
                  hat da schon jemand einmal was angefangen worauf ich aufbauen kann?

                  A 1 Antwort Letzte Antwort
                  0
                  • Mr. QiM Mr. Qi

                    @raidy007 sagte in [Gelöst] Aus verschiedenen Views automatisch auf den Mainview zurück:

                    vis.0.control.data", function

                    ich greif das Thema noch mal auf.

                    das Skript funktioniert einwandfrei raidy007 danke dafür. ich denke du bist auch auf die Lösung gekommen.

                    und für alle anderen habe ich hier einen anderen code für eine View Steuerung Ereignis abhängig.
                    gefunden auf smarthome-tricks.de

                    on('dwd.0.warning.severity', function (obj) { 
                      if (!obj.state.ack && obj.state.val) { 
                        if ( obj.state.val > 0 ) { 
                          setState("vis.0.control.instance", "FFFFFFFF"); 
                          setState("vis.0.control.data", "main/viewWetterwarnungen"); 
                          setState("vis.0.control.command", 'changeView'); 
                        } 
                      } 
                    });
                    

                    ich wollte mich einmal daran machen ein Skript zu erstellen das einige täglichen Ereignisse beinhaltet (alltäglich Sachen!) und es anpassbar machen.
                    hat da schon jemand einmal was angefangen worauf ich aufbauen kann?

                    A Offline
                    A Offline
                    aleks-83
                    schrieb am zuletzt editiert von
                    #10

                    @mr-qi
                    Hi, ich greife hier auch nochmal auf da ich eine Frage dazu habe.

                    Ich nutze meine vis auf 2 Tablets. Beide mit dem selben Projekt.

                    Mein Haupt Tablet zeigt standardmäßig den view "/Home" an.
                    Das Zweit Tablet zeigt Standardmäßig den view "/Buero" an.

                    Wenn ich jetzt das o.g. Skript aktiviere, werden beide Tablets nach Zeit x auf "/Home" zurück gesetzt.
                    Ich möchte aber gerne dass das Büro Tablet immer auf "/Buero" zurücksetzt.

                    Wie bekomme ich das hin?
                    Unterschiedliche Projekte?
                    Unterschiedliche vis Instanzen? Nach meinem Kenntnisstand kann man nur eine Instanz von vis installieren.

                    = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                    = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                    Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                    Glasfaser 400

                    BananaJoeB 1 Antwort Letzte Antwort
                    0
                    • A aleks-83

                      @mr-qi
                      Hi, ich greife hier auch nochmal auf da ich eine Frage dazu habe.

                      Ich nutze meine vis auf 2 Tablets. Beide mit dem selben Projekt.

                      Mein Haupt Tablet zeigt standardmäßig den view "/Home" an.
                      Das Zweit Tablet zeigt Standardmäßig den view "/Buero" an.

                      Wenn ich jetzt das o.g. Skript aktiviere, werden beide Tablets nach Zeit x auf "/Home" zurück gesetzt.
                      Ich möchte aber gerne dass das Büro Tablet immer auf "/Buero" zurücksetzt.

                      Wie bekomme ich das hin?
                      Unterschiedliche Projekte?
                      Unterschiedliche vis Instanzen? Nach meinem Kenntnisstand kann man nur eine Instanz von vis installieren.

                      BananaJoeB Offline
                      BananaJoeB Offline
                      BananaJoe
                      Most Active
                      schrieb am zuletzt editiert von BananaJoe
                      #11

                      @aleks-83 sagte in [Gelöst] Aus verschiedenen Views automatisch auf den Mainview zurück:

                      Unterschiedliche vis Instanzen? Nach meinem Kenntnisstand kann man nur eine Instanz von vis installieren.

                      Jedes Tablet hat seine eine VIS Instanz, der VIS-Adapter muss nur einmal installiert sein (und auch der Web-Adapter der die Daten ausliefert muss nur einmal installiert sein).

                      Es gibt ein basic - Screen Resolution Widget, das zeigt die jeweilige Instanz deiner Tablets an, dazu musst du es in die View einbauen:
                      afecb752-899f-4ece-baa6-442d861d0fd5-image.png
                      Die musst du dann bei vis.0.control.instance angeben für jeweils das Tablet das du ansteuern willst

                      Hinweis 1: Die Intanz-ID kann sich ändern wenn du einen anderen Browser nimmst und/oder den Borwser-Cache löscht
                      Hinweis 2: Ggf. hast du keine ID, dann ist da ein Button um eine zu erzeugen

                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                      A 1 Antwort Letzte Antwort
                      1
                      • BananaJoeB BananaJoe

                        @aleks-83 sagte in [Gelöst] Aus verschiedenen Views automatisch auf den Mainview zurück:

                        Unterschiedliche vis Instanzen? Nach meinem Kenntnisstand kann man nur eine Instanz von vis installieren.

                        Jedes Tablet hat seine eine VIS Instanz, der VIS-Adapter muss nur einmal installiert sein (und auch der Web-Adapter der die Daten ausliefert muss nur einmal installiert sein).

                        Es gibt ein basic - Screen Resolution Widget, das zeigt die jeweilige Instanz deiner Tablets an, dazu musst du es in die View einbauen:
                        afecb752-899f-4ece-baa6-442d861d0fd5-image.png
                        Die musst du dann bei vis.0.control.instance angeben für jeweils das Tablet das du ansteuern willst

                        Hinweis 1: Die Intanz-ID kann sich ändern wenn du einen anderen Browser nimmst und/oder den Borwser-Cache löscht
                        Hinweis 2: Ggf. hast du keine ID, dann ist da ein Button um eine zu erzeugen

                        A Offline
                        A Offline
                        aleks-83
                        schrieb am zuletzt editiert von aleks-83
                        #12

                        @bananajoe
                        Danke für die schnelle Antwort.
                        Ich habe es gleich getestet und umgebaut.

                        Leider weiß ich nicht wie ich das im Javascript ausdrücke.
                        Kann nur mit Blockly umgehen.

                        So gehts vermutlich nicht?!
                        Ich müsste ja bei der if Abfrage erst noch die instance mit abfragen, oder?

                        on("vis.0.control.data", function (back2main){/*Data for control vis*/
                        
                            if( back2main.state.val != "main/Home" ) {
                            	    setStateDelayed("vis.0.control.command", '{"instance": "7f.d0e3e", "command": "changeView", "data": "main/Buero"}', 
                                    300000);
                                }
                            }
                            
                            if( back2main.state.val != "main/Home" ) {
                            	    setStateDelayed("vis.0.control.command", '{"instance": "be.53967", "command": "changeView", "data": "main/Home"}', 
                                    300000);
                                }
                            }
                        );
                        

                        = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                        = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                        Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                        Glasfaser 400

                        BananaJoeB 1 Antwort Letzte Antwort
                        0
                        • A aleks-83

                          @bananajoe
                          Danke für die schnelle Antwort.
                          Ich habe es gleich getestet und umgebaut.

                          Leider weiß ich nicht wie ich das im Javascript ausdrücke.
                          Kann nur mit Blockly umgehen.

                          So gehts vermutlich nicht?!
                          Ich müsste ja bei der if Abfrage erst noch die instance mit abfragen, oder?

                          on("vis.0.control.data", function (back2main){/*Data for control vis*/
                          
                              if( back2main.state.val != "main/Home" ) {
                              	    setStateDelayed("vis.0.control.command", '{"instance": "7f.d0e3e", "command": "changeView", "data": "main/Buero"}', 
                                      300000);
                                  }
                              }
                              
                              if( back2main.state.val != "main/Home" ) {
                              	    setStateDelayed("vis.0.control.command", '{"instance": "be.53967", "command": "changeView", "data": "main/Home"}', 
                                      300000);
                                  }
                              }
                          );
                          
                          BananaJoeB Offline
                          BananaJoeB Offline
                          BananaJoe
                          Most Active
                          schrieb am zuletzt editiert von
                          #13

                          @aleks-83 pfft probier aus. Sonst nimm doch Blockly
                          du kannst die 3 Datenpunkte auch einzeln ansprechen (nacheinander):

                               setState("vis.0.control.instance", "FFFFFFFF"); 
                               setState("vis.0.control.data", "main/viewWetterwarnungen"); 
                               setState("vis.0.control.command", 'changeView'); 
                          

                          Das changeView zuletzt ausführen (auf true setzen)

                          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          796

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe