Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

Scheduled Pinned Locked Moved Tester
appdark-modeiqontrolresponsivevisvisualisierungvisualizationwidget
7.6k Posts 296 Posters 7.0m Views 201 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Adnim
    wrote on last edited by
    #7044

    @dslraser sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

    sieht aber so aus wie ein Script ? Unifi ?

    Ah das war der entscheidende Hinweis Danke!! Im Unifiy Skript werden diese DP gesetzt; hatte ich gar nicht auf dem Schirm 🙂

    1 Reply Last reply
    0
    • M Offline
      M Offline
      meerkat
      wrote on last edited by meerkat
      #7045

      Guten Abend zusammen,
      basierend auf der Idee von @muuulle (Beitrag 7024) habe ich mal ein Script geschrieben. Durch das Script braucht man nur "ein" Wigdet zur Anzeige des Ergebnisses. Ich habe an jedem Knopf in der Eigenschaft Background_URL das eigentliche Widget hinterlegt, bei mir DeviceCounter. Dann habe ich ein Widget, dass die Informationen aus der Background_URL aufnimmt. Bei @muuulle hatte ich pro Knopf ein Widget.
      Drückt man nun auf einen Knopf, wird der Wert in eine Hilfsvariable geschrieben und dann mit dem Script die Background_URL ermittelt und dann das "Ergebnis"-Wigdet aktiviert und die Background_Url in das Widget geschrieben.

      //Steuerung von Widgets mit Knöpfen in iQontrol, basierend auf der Idee von muuulle Beitrag 7024
      
      //Variable fürs zwischenspeichern der Views aus iQontrol 
      //(beim Start von JavasCript einmalig ausführen)
      var DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
      
      //Variable die zur Suche der entsprechenden view in iQontrol dient
      var DpView = '0_userdata.0.iQontrol_Widgets.iQontrolSearchView1';
      
      //Variable, in der der Suchbegriff für das Ergebnis-Widget steht, sollte immer der Name des
      //Buttons sein. Dieser enthält in der Background_URL das Widget.
      //Wenn der Wert in der Variable 0 ist, dann ist das Ergebnis-Widget inaktiv
      var DpButton = '0_userdata.0.iQontrol_Widgets.iQontrolSearchButton1';
      
      //Variable in der das Ergebnis der Background_URL aus dem SearchButton geschrieben wird
      var DpWidget = '0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1';
      
      //Aktualisieren der Variable sys_Adapter_iQon nach jedem speichern und 
      //neustart der iQontrol-Instanz
      on({id:'system.adapter.iqontrol.0.alive', change: "ne"}, async function (obj) {
          if(obj.state.val == true){
              log("Aktualisierung der Variable für die Views");
              DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
          }
      });
      
      //Ermitteln und schreiben der Background_URL für das ErgebnisWidget
      on({id:DpButton, change: "ne"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setStateDelayed(obj.id, (obj.state ? obj.state.val : ""), true, parseInt(((0) || "").toString(), 10), false);
          if (value != 0){
              DpSysAdapterIqontrolViews.forEach(function(view) {
                  if (view.commonName == getState(DpView).val){
                      view.devices.forEach(function(device){
                          if (device.commonName == getState(DpButton).val){
                              log(getState(DpButton).val);
                              device.states.forEach(function(devState){
                                  if (devState.state == "BACKGROUND_URL"){
                                      log(devState.value);
                                      setStateDelayed(DpWidget, devState.value, true, parseInt(((0) || "").toString(), 10), false);
                                  }
                              });
                          }
                      });
                  }
              });
          
              //Datenpunkte nach 60 Sekunden resetten
              setStateDelayed(DpWidget, "", true, 60000, false);    
              setStateDelayed(DpButton, "0", true, 60000, true);
          }
      });
      
      

      YouCut_20220317_212646007.mp4
      Screen_Recording_20220317-205559_Chrome.mp4

      da_WoodyD dslraserD 3 Replies Last reply
      5
      • M meerkat

        Guten Abend zusammen,
        basierend auf der Idee von @muuulle (Beitrag 7024) habe ich mal ein Script geschrieben. Durch das Script braucht man nur "ein" Wigdet zur Anzeige des Ergebnisses. Ich habe an jedem Knopf in der Eigenschaft Background_URL das eigentliche Widget hinterlegt, bei mir DeviceCounter. Dann habe ich ein Widget, dass die Informationen aus der Background_URL aufnimmt. Bei @muuulle hatte ich pro Knopf ein Widget.
        Drückt man nun auf einen Knopf, wird der Wert in eine Hilfsvariable geschrieben und dann mit dem Script die Background_URL ermittelt und dann das "Ergebnis"-Wigdet aktiviert und die Background_Url in das Widget geschrieben.

        //Steuerung von Widgets mit Knöpfen in iQontrol, basierend auf der Idee von muuulle Beitrag 7024
        
        //Variable fürs zwischenspeichern der Views aus iQontrol 
        //(beim Start von JavasCript einmalig ausführen)
        var DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
        
        //Variable die zur Suche der entsprechenden view in iQontrol dient
        var DpView = '0_userdata.0.iQontrol_Widgets.iQontrolSearchView1';
        
        //Variable, in der der Suchbegriff für das Ergebnis-Widget steht, sollte immer der Name des
        //Buttons sein. Dieser enthält in der Background_URL das Widget.
        //Wenn der Wert in der Variable 0 ist, dann ist das Ergebnis-Widget inaktiv
        var DpButton = '0_userdata.0.iQontrol_Widgets.iQontrolSearchButton1';
        
        //Variable in der das Ergebnis der Background_URL aus dem SearchButton geschrieben wird
        var DpWidget = '0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1';
        
        //Aktualisieren der Variable sys_Adapter_iQon nach jedem speichern und 
        //neustart der iQontrol-Instanz
        on({id:'system.adapter.iqontrol.0.alive', change: "ne"}, async function (obj) {
            if(obj.state.val == true){
                log("Aktualisierung der Variable für die Views");
                DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
            }
        });
        
        //Ermitteln und schreiben der Background_URL für das ErgebnisWidget
        on({id:DpButton, change: "ne"}, async function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            setStateDelayed(obj.id, (obj.state ? obj.state.val : ""), true, parseInt(((0) || "").toString(), 10), false);
            if (value != 0){
                DpSysAdapterIqontrolViews.forEach(function(view) {
                    if (view.commonName == getState(DpView).val){
                        view.devices.forEach(function(device){
                            if (device.commonName == getState(DpButton).val){
                                log(getState(DpButton).val);
                                device.states.forEach(function(devState){
                                    if (devState.state == "BACKGROUND_URL"){
                                        log(devState.value);
                                        setStateDelayed(DpWidget, devState.value, true, parseInt(((0) || "").toString(), 10), false);
                                    }
                                });
                            }
                        });
                    }
                });
            
                //Datenpunkte nach 60 Sekunden resetten
                setStateDelayed(DpWidget, "", true, 60000, false);    
                setStateDelayed(DpButton, "0", true, 60000, true);
            }
        });
        
        

        YouCut_20220317_212646007.mp4
        Screen_Recording_20220317-205559_Chrome.mp4

        da_WoodyD Offline
        da_WoodyD Offline
        da_Woody
        wrote on last edited by
        #7046

        @meerkat beeindruckend auf welche ideas ihr so kommt... 🙂
        btw: hab gesehn, daß du das WIFI dingens benutzt. da für mich orange auf fehler hindeutet, hab ich das mal auf grün umgemodelt... ist zwar nicht ganz sauber, aber bei der größe sieht man's nicht.
        wifi.png

        gruß vom Woody
        HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

        M 1 Reply Last reply
        0
        • da_WoodyD da_Woody

          @meerkat beeindruckend auf welche ideas ihr so kommt... 🙂
          btw: hab gesehn, daß du das WIFI dingens benutzt. da für mich orange auf fehler hindeutet, hab ich das mal auf grün umgemodelt... ist zwar nicht ganz sauber, aber bei der größe sieht man's nicht.
          wifi.png

          M Offline
          M Offline
          meerkat
          wrote on last edited by
          #7047

          @da_woody danke, werde ich h mal abändern

          da_WoodyD 1 Reply Last reply
          1
          • M meerkat

            @da_woody danke, werde ich h mal abändern

            da_WoodyD Offline
            da_WoodyD Offline
            da_Woody
            wrote on last edited by
            #7048

            @meerkat gerne! mir gefällts halt besser wenn online grün ist. 😄

            gruß vom Woody
            HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

            1 Reply Last reply
            0
            • M meerkat

              Guten Abend zusammen,
              basierend auf der Idee von @muuulle (Beitrag 7024) habe ich mal ein Script geschrieben. Durch das Script braucht man nur "ein" Wigdet zur Anzeige des Ergebnisses. Ich habe an jedem Knopf in der Eigenschaft Background_URL das eigentliche Widget hinterlegt, bei mir DeviceCounter. Dann habe ich ein Widget, dass die Informationen aus der Background_URL aufnimmt. Bei @muuulle hatte ich pro Knopf ein Widget.
              Drückt man nun auf einen Knopf, wird der Wert in eine Hilfsvariable geschrieben und dann mit dem Script die Background_URL ermittelt und dann das "Ergebnis"-Wigdet aktiviert und die Background_Url in das Widget geschrieben.

              //Steuerung von Widgets mit Knöpfen in iQontrol, basierend auf der Idee von muuulle Beitrag 7024
              
              //Variable fürs zwischenspeichern der Views aus iQontrol 
              //(beim Start von JavasCript einmalig ausführen)
              var DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
              
              //Variable die zur Suche der entsprechenden view in iQontrol dient
              var DpView = '0_userdata.0.iQontrol_Widgets.iQontrolSearchView1';
              
              //Variable, in der der Suchbegriff für das Ergebnis-Widget steht, sollte immer der Name des
              //Buttons sein. Dieser enthält in der Background_URL das Widget.
              //Wenn der Wert in der Variable 0 ist, dann ist das Ergebnis-Widget inaktiv
              var DpButton = '0_userdata.0.iQontrol_Widgets.iQontrolSearchButton1';
              
              //Variable in der das Ergebnis der Background_URL aus dem SearchButton geschrieben wird
              var DpWidget = '0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1';
              
              //Aktualisieren der Variable sys_Adapter_iQon nach jedem speichern und 
              //neustart der iQontrol-Instanz
              on({id:'system.adapter.iqontrol.0.alive', change: "ne"}, async function (obj) {
                  if(obj.state.val == true){
                      log("Aktualisierung der Variable für die Views");
                      DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
                  }
              });
              
              //Ermitteln und schreiben der Background_URL für das ErgebnisWidget
              on({id:DpButton, change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  setStateDelayed(obj.id, (obj.state ? obj.state.val : ""), true, parseInt(((0) || "").toString(), 10), false);
                  if (value != 0){
                      DpSysAdapterIqontrolViews.forEach(function(view) {
                          if (view.commonName == getState(DpView).val){
                              view.devices.forEach(function(device){
                                  if (device.commonName == getState(DpButton).val){
                                      log(getState(DpButton).val);
                                      device.states.forEach(function(devState){
                                          if (devState.state == "BACKGROUND_URL"){
                                              log(devState.value);
                                              setStateDelayed(DpWidget, devState.value, true, parseInt(((0) || "").toString(), 10), false);
                                          }
                                      });
                                  }
                              });
                          }
                      });
                  
                      //Datenpunkte nach 60 Sekunden resetten
                      setStateDelayed(DpWidget, "", true, 60000, false);    
                      setStateDelayed(DpButton, "0", true, 60000, true);
                  }
              });
              
              

              YouCut_20220317_212646007.mp4
              Screen_Recording_20220317-205559_Chrome.mp4

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              wrote on last edited by
              #7049

              @meerkat sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

                                                                                                                                          //Steuerung von Widgets mit Knöpfen in iQontrol, basierend auf der Idee von muuulle Beitrag 7024                                                                                                                                                                                                                                                                                                                                                         //Variable fürs zwischenspeichern der Views aus iQontrol                                                                                                                                                                             //(beim Start von JavasCript einmalig ausführen)                                                                                                                                                                            var DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;                                                                                                                                                                                                                                                                                                                                                         //Variable die zur Suche der entsprechenden view in iQontrol dient                                                                                                                                                                            var DpView = '0_userdata.0.iQontrol_Widgets.iQontrolSearchView1';                                                                                                                                                                                                                                                                                                                                                         //Variable, in der der Suchbegriff für das Ergebnis-Widget steht, sollte immer der Name des                                                                                                                                                                            //Buttons sein. Dieser enthält in der Background_URL das Widget.                                                                                                                                                                            //Wenn der Wert in der Variable 0 ist, dann ist das Ergebnis-Widget inaktiv                                                                                                                                                                            var DpButton = '0_userdata.0.iQontrol_Widgets.iQontrolSearchButton1';                                                                                                                                                                                                                                                                                                                                                         //Variable in der das Ergebnis der Background_URL aus dem SearchButton geschrieben wird                                                                                                                                                                            var DpWidget = '0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1';                                                                                                                                                                                                                                                                                                                                                         //Aktualisieren der Variable sys_Adapter_iQon nach jedem speichern und                                                                                                                                                                             //neustart der iQontrol-Instanz                                                                                                                                                                            on({id:'system.adapter.iqontrol.0.alive', change: "ne"}, async function (obj) {                                                                                                                                                                                if(obj.state.val == true){                                                                                                                                                                                    log("Aktualisierung der Variable für die Views");                                                                                                                                                                                    DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;                                                                                                                                                                                }                                                                                                                                                                            });                                                                                                                                                                                                                                                                                                                                                         //Ermitteln und schreiben der Background_URL für das ErgebnisWidget                                                                                                                                                                            on({id:DpButton, change: "ne"}, async function (obj) {                                                                                                                                                                                var value = obj.state.val;                                                                                                                                                                                var oldValue = obj.oldState.val;                                                                                                                                                                                setStateDelayed(obj.id, (obj.state ? obj.state.val : ""), true, parseInt(((0) || "").toString(), 10), false);                                                                                                                                                                                if (value != 0){                                                                                                                                                                                    DpSysAdapterIqontrolViews.forEach(function(view) {                                                                                                                                                                                        if (view.commonName == getState(DpView).val){                                                                                                                                                                                            view.devices.forEach(function(device){                                                                                                                                                                                                if (device.commonName == getState(DpButton).val){                                                                                                                                                                                                    log(getState(DpButton).val);                                                                                                                                                                                                    device.states.forEach(function(devState){                                                                                                                                                                                                        if (devState.state == "BACKGROUND_URL"){                                                                                                                                                                                                            log(devState.value);                                                                                                                                                                                                            setStateDelayed(DpWidget, devState.value, true, parseInt(((0) || "").toString(), 10), false);                                                                                                                                                                                                        }                                                                                                                                                                                                    });                                                                                                                                                                                                }                                                                                                                                                                                            });                                                                                                                                                                                        }                                                                                                                                                                                    });                                                                                                                                                                                                                                                                                                                                                                    //Datenpunkte nach 60 Sekunden resetten                                                                                                                                                                                    setStateDelayed(DpWidget, "", true, 60000, false);                                                                                                                                                                                        setStateDelayed(DpButton, "0", true, 60000, true);                                                                                                                                                                                }                                                                                                                                                                            });                                                                                                                                                                                                                         
              

              Tolle Idee.
              Eigene Datenpunkte werden dann drei benötigt ? Als was sind die Datenpunkte erstellt ? (also type und role ?)

              M 1 Reply Last reply
              0
              • D Offline
                D Offline
                Daniel81
                wrote on last edited by
                #7050

                Hallo zusammen,
                ich verwende seit heute das erste mal Iqcontrol und muss sagen, diese Anwendung gefällt mir sehr gut.! großes Lob an den Entwickler!

                Leider habe ich jedoch das Problem, das mir keinerlei Icons in der Vorauswahl angezeigt werden! Was muss ich ändern, damit diese bei mir korrekt angezeigt werden?

                Ich hoffe, Ihr könnt mir hier weiterhelfen!

                iqcontrol.png
                iq2.png

                C 1 Reply Last reply
                0
                • D Daniel81

                  Hallo zusammen,
                  ich verwende seit heute das erste mal Iqcontrol und muss sagen, diese Anwendung gefällt mir sehr gut.! großes Lob an den Entwickler!

                  Leider habe ich jedoch das Problem, das mir keinerlei Icons in der Vorauswahl angezeigt werden! Was muss ich ändern, damit diese bei mir korrekt angezeigt werden?

                  Ich hoffe, Ihr könnt mir hier weiterhelfen!

                  iqcontrol.png
                  iq2.png

                  C Offline
                  C Offline
                  CBeck
                  wrote on last edited by
                  #7051

                  @daniel81 Guck mal nicht unter 'Ansichten' sondern z.B. unter Toolbar. Dort kann man Icon hinterlegen, da müsste dann auch eine Auswahl vorhanden sein.
                  Oder unter 'Geräte' mit dem 'Stift' ein Gerät öffnen. Dort findet sich weiter unten auch 'Icons'.

                  D 1 Reply Last reply
                  0
                  • C CBeck

                    @daniel81 Guck mal nicht unter 'Ansichten' sondern z.B. unter Toolbar. Dort kann man Icon hinterlegen, da müsste dann auch eine Auswahl vorhanden sein.
                    Oder unter 'Geräte' mit dem 'Stift' ein Gerät öffnen. Dort findet sich weiter unten auch 'Icons'.

                    D Offline
                    D Offline
                    Daniel81
                    wrote on last edited by
                    #7052

                    @cbeck das habe ich alles schon probiert, aber leider bekomme ich in keiner Auswahl eine Vorschau der Bilder. Auch wenn ich eigende Fotos hinzufüge, werden mit diese nicht als Vorschau zur Verfügung gestellt.neu4.png

                    M 1 Reply Last reply
                    0
                    • dslraserD dslraser

                      @meerkat sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

                                                                                                                                                  //Steuerung von Widgets mit Knöpfen in iQontrol, basierend auf der Idee von muuulle Beitrag 7024                                                                                                                                                                                                                                                                                                                                                         //Variable fürs zwischenspeichern der Views aus iQontrol                                                                                                                                                                             //(beim Start von JavasCript einmalig ausführen)                                                                                                                                                                            var DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;                                                                                                                                                                                                                                                                                                                                                         //Variable die zur Suche der entsprechenden view in iQontrol dient                                                                                                                                                                            var DpView = '0_userdata.0.iQontrol_Widgets.iQontrolSearchView1';                                                                                                                                                                                                                                                                                                                                                         //Variable, in der der Suchbegriff für das Ergebnis-Widget steht, sollte immer der Name des                                                                                                                                                                            //Buttons sein. Dieser enthält in der Background_URL das Widget.                                                                                                                                                                            //Wenn der Wert in der Variable 0 ist, dann ist das Ergebnis-Widget inaktiv                                                                                                                                                                            var DpButton = '0_userdata.0.iQontrol_Widgets.iQontrolSearchButton1';                                                                                                                                                                                                                                                                                                                                                         //Variable in der das Ergebnis der Background_URL aus dem SearchButton geschrieben wird                                                                                                                                                                            var DpWidget = '0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1';                                                                                                                                                                                                                                                                                                                                                         //Aktualisieren der Variable sys_Adapter_iQon nach jedem speichern und                                                                                                                                                                             //neustart der iQontrol-Instanz                                                                                                                                                                            on({id:'system.adapter.iqontrol.0.alive', change: "ne"}, async function (obj) {                                                                                                                                                                                if(obj.state.val == true){                                                                                                                                                                                    log("Aktualisierung der Variable für die Views");                                                                                                                                                                                    DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;                                                                                                                                                                                }                                                                                                                                                                            });                                                                                                                                                                                                                                                                                                                                                         //Ermitteln und schreiben der Background_URL für das ErgebnisWidget                                                                                                                                                                            on({id:DpButton, change: "ne"}, async function (obj) {                                                                                                                                                                                var value = obj.state.val;                                                                                                                                                                                var oldValue = obj.oldState.val;                                                                                                                                                                                setStateDelayed(obj.id, (obj.state ? obj.state.val : ""), true, parseInt(((0) || "").toString(), 10), false);                                                                                                                                                                                if (value != 0){                                                                                                                                                                                    DpSysAdapterIqontrolViews.forEach(function(view) {                                                                                                                                                                                        if (view.commonName == getState(DpView).val){                                                                                                                                                                                            view.devices.forEach(function(device){                                                                                                                                                                                                if (device.commonName == getState(DpButton).val){                                                                                                                                                                                                    log(getState(DpButton).val);                                                                                                                                                                                                    device.states.forEach(function(devState){                                                                                                                                                                                                        if (devState.state == "BACKGROUND_URL"){                                                                                                                                                                                                            log(devState.value);                                                                                                                                                                                                            setStateDelayed(DpWidget, devState.value, true, parseInt(((0) || "").toString(), 10), false);                                                                                                                                                                                                        }                                                                                                                                                                                                    });                                                                                                                                                                                                }                                                                                                                                                                                            });                                                                                                                                                                                        }                                                                                                                                                                                    });                                                                                                                                                                                                                                                                                                                                                                    //Datenpunkte nach 60 Sekunden resetten                                                                                                                                                                                    setStateDelayed(DpWidget, "", true, 60000, false);                                                                                                                                                                                        setStateDelayed(DpButton, "0", true, 60000, true);                                                                                                                                                                                }                                                                                                                                                                            });                                                                                                                                                                                                                         
                      

                      Tolle Idee.
                      Eigene Datenpunkte werden dann drei benötigt ? Als was sind die Datenpunkte erstellt ? (also type und role ?)

                      M Offline
                      M Offline
                      meerkat
                      wrote on last edited by
                      #7053

                      @dslraser Hi, habe sie alle mit role "state" und Type "string" angelegt

                      1 Reply Last reply
                      1
                      • D Daniel81

                        @cbeck das habe ich alles schon probiert, aber leider bekomme ich in keiner Auswahl eine Vorschau der Bilder. Auch wenn ich eigende Fotos hinzufüge, werden mit diese nicht als Vorschau zur Verfügung gestellt.neu4.png

                        M Offline
                        M Offline
                        meerkat
                        wrote on last edited by
                        #7054

                        Hi @daniel81, das hatte ich auch mal. Hast du ioBroker direkt auf nen Pi? Wenn du Docker nutzt, dann musst du mit den Ports etwas aufpassen. Hatte damals auch ne Portweiterleitung drin und habe dann keine Bilder in der Vorschau gehabt. Erst als ich auf den Originalen Port gewechselt hatte, habe ich die Bilder auch wieder gesehen.

                        D 1 Reply Last reply
                        0
                        • M meerkat

                          Hi @daniel81, das hatte ich auch mal. Hast du ioBroker direkt auf nen Pi? Wenn du Docker nutzt, dann musst du mit den Ports etwas aufpassen. Hatte damals auch ne Portweiterleitung drin und habe dann keine Bilder in der Vorschau gehabt. Erst als ich auf den Originalen Port gewechselt hatte, habe ich die Bilder auch wieder gesehen.

                          D Offline
                          D Offline
                          Daniel81
                          wrote on last edited by
                          #7055

                          @meerkat ne bei mir läuft alles auf einem NUC unter Proxmox.
                          Ich habe es jetzt aber zum laufen bekommen, musste hierzu alles Einstellungen in Chrome aktivieren, anscheinend wurde hier etwas aus Sicherheitsgründen geblockt.

                          1 Reply Last reply
                          0
                          • M meerkat

                            Guten Abend zusammen,
                            basierend auf der Idee von @muuulle (Beitrag 7024) habe ich mal ein Script geschrieben. Durch das Script braucht man nur "ein" Wigdet zur Anzeige des Ergebnisses. Ich habe an jedem Knopf in der Eigenschaft Background_URL das eigentliche Widget hinterlegt, bei mir DeviceCounter. Dann habe ich ein Widget, dass die Informationen aus der Background_URL aufnimmt. Bei @muuulle hatte ich pro Knopf ein Widget.
                            Drückt man nun auf einen Knopf, wird der Wert in eine Hilfsvariable geschrieben und dann mit dem Script die Background_URL ermittelt und dann das "Ergebnis"-Wigdet aktiviert und die Background_Url in das Widget geschrieben.

                            //Steuerung von Widgets mit Knöpfen in iQontrol, basierend auf der Idee von muuulle Beitrag 7024
                            
                            //Variable fürs zwischenspeichern der Views aus iQontrol 
                            //(beim Start von JavasCript einmalig ausführen)
                            var DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
                            
                            //Variable die zur Suche der entsprechenden view in iQontrol dient
                            var DpView = '0_userdata.0.iQontrol_Widgets.iQontrolSearchView1';
                            
                            //Variable, in der der Suchbegriff für das Ergebnis-Widget steht, sollte immer der Name des
                            //Buttons sein. Dieser enthält in der Background_URL das Widget.
                            //Wenn der Wert in der Variable 0 ist, dann ist das Ergebnis-Widget inaktiv
                            var DpButton = '0_userdata.0.iQontrol_Widgets.iQontrolSearchButton1';
                            
                            //Variable in der das Ergebnis der Background_URL aus dem SearchButton geschrieben wird
                            var DpWidget = '0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1';
                            
                            //Aktualisieren der Variable sys_Adapter_iQon nach jedem speichern und 
                            //neustart der iQontrol-Instanz
                            on({id:'system.adapter.iqontrol.0.alive', change: "ne"}, async function (obj) {
                                if(obj.state.val == true){
                                    log("Aktualisierung der Variable für die Views");
                                    DpSysAdapterIqontrolViews = getObject('system.adapter.iqontrol.0').native.views;
                                }
                            });
                            
                            //Ermitteln und schreiben der Background_URL für das ErgebnisWidget
                            on({id:DpButton, change: "ne"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                setStateDelayed(obj.id, (obj.state ? obj.state.val : ""), true, parseInt(((0) || "").toString(), 10), false);
                                if (value != 0){
                                    DpSysAdapterIqontrolViews.forEach(function(view) {
                                        if (view.commonName == getState(DpView).val){
                                            view.devices.forEach(function(device){
                                                if (device.commonName == getState(DpButton).val){
                                                    log(getState(DpButton).val);
                                                    device.states.forEach(function(devState){
                                                        if (devState.state == "BACKGROUND_URL"){
                                                            log(devState.value);
                                                            setStateDelayed(DpWidget, devState.value, true, parseInt(((0) || "").toString(), 10), false);
                                                        }
                                                    });
                                                }
                                            });
                                        }
                                    });
                                
                                    //Datenpunkte nach 60 Sekunden resetten
                                    setStateDelayed(DpWidget, "", true, 60000, false);    
                                    setStateDelayed(DpButton, "0", true, 60000, true);
                                }
                            });
                            
                            

                            YouCut_20220317_212646007.mp4
                            Screen_Recording_20220317-205559_Chrome.mp4

                            dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            wrote on last edited by
                            #7056

                            @meerkat
                            Mahlzeit,
                            ich muss nochmal nachfragen. Ich habe diese drei Datenpunkte erstellt.

                            Bildschirmfoto 2022-03-19 um 11.59.21.png

                            Dann habe ich mir eine Testseite eingerichtet und dort einen Knopf und ein Widget angelegt. Wenn ich den Knopf betätige, dann wird auch brav z.B. Licht in den Datenpunkt geschrieben. Bei den anderen beiden Datenpunkten tut sich leider gar nichts.
                            Wenn Licht im Datenpunkt steht und ich von Hand meine URL in 0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1 kopiere, dann wird auch mein Widget angezeigt, also scheint die Übergabe an den Datenpunkt nicht zu klappen. Ich habe Dein Script 1:1 kopiert und die Datenpunkte auch 1:1 so genannt wie im Script.
                            Was ich nicht verstehe, getObject('system.adapter.iqontrol.0').native.views;.....

                            native.views finde ich in den Objekten gar nicht ? (oder sind die in den Objekten nicht zu sehen ?)

                            In Deinem Video ist auch leider nicht zu sehen, welcher Datenpunkt wo verlinkt ist (in der Video Ansicht ist es abgeschnitten, also der Pfad) Kannst Du das bitte beschreiben ?
                            Es wäre schön wenn Du helfen könntest. Danke schon mal.

                            M 1 Reply Last reply
                            0
                            • dslraserD dslraser

                              @meerkat
                              Mahlzeit,
                              ich muss nochmal nachfragen. Ich habe diese drei Datenpunkte erstellt.

                              Bildschirmfoto 2022-03-19 um 11.59.21.png

                              Dann habe ich mir eine Testseite eingerichtet und dort einen Knopf und ein Widget angelegt. Wenn ich den Knopf betätige, dann wird auch brav z.B. Licht in den Datenpunkt geschrieben. Bei den anderen beiden Datenpunkten tut sich leider gar nichts.
                              Wenn Licht im Datenpunkt steht und ich von Hand meine URL in 0_userdata.0.iQontrol_Widgets.iQontrolResultWidget1 kopiere, dann wird auch mein Widget angezeigt, also scheint die Übergabe an den Datenpunkt nicht zu klappen. Ich habe Dein Script 1:1 kopiert und die Datenpunkte auch 1:1 so genannt wie im Script.
                              Was ich nicht verstehe, getObject('system.adapter.iqontrol.0').native.views;.....

                              native.views finde ich in den Objekten gar nicht ? (oder sind die in den Objekten nicht zu sehen ?)

                              In Deinem Video ist auch leider nicht zu sehen, welcher Datenpunkt wo verlinkt ist (in der Video Ansicht ist es abgeschnitten, also der Pfad) Kannst Du das bitte beschreiben ?
                              Es wäre schön wenn Du helfen könntest. Danke schon mal.

                              M Offline
                              M Offline
                              meerkat
                              wrote on last edited by
                              #7057

                              Hi @dslraser, in dem Datenpunkt view musst du noch den Namen der view (Seite) eintragen, wodas Script danach suchen soll. Die Angaben....native.views kann man so nicht finden

                              dslraserD 1 Reply Last reply
                              1
                              • M meerkat

                                Hi @dslraser, in dem Datenpunkt view musst du noch den Namen der view (Seite) eintragen, wodas Script danach suchen soll. Die Angaben....native.views kann man so nicht finden

                                dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                wrote on last edited by
                                #7058

                                @meerkat sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

                                Hi @dslraser, in dem Datenpunkt view musst du noch den Namen der view (Seite) eintragen, wodas Script danach suchen soll. Die Angaben....native.views kann man so nicht finden

                                Danke, damit funktioniert es.

                                M 1 Reply Last reply
                                0
                                • dslraserD dslraser

                                  @meerkat sagte in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

                                  Hi @dslraser, in dem Datenpunkt view musst du noch den Namen der view (Seite) eintragen, wodas Script danach suchen soll. Die Angaben....native.views kann man so nicht finden

                                  Danke, damit funktioniert es.

                                  M Offline
                                  M Offline
                                  meerkat
                                  wrote on last edited by
                                  #7059

                                  @dslraser freut mich. Werde in der nächsten Woche noch ein paar Verbesserungen machen und dann auch mal eine detaillierte Anleitung schreiben

                                  dslraserD 1 Reply Last reply
                                  2
                                  • M meerkat

                                    @dslraser freut mich. Werde in der nächsten Woche noch ein paar Verbesserungen machen und dann auch mal eine detaillierte Anleitung schreiben

                                    dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    wrote on last edited by
                                    #7060

                                    @meerkat
                                    ich werde mir noch einen Knopp zusätzlich machen, der dann auch schon vor dem Zeitablauf auf inaktiv schaltet, dann kann man auch zusätzlich manuell ausblenden.

                                    M M 2 Replies Last reply
                                    0
                                    • dslraserD dslraser

                                      @meerkat
                                      ich werde mir noch einen Knopp zusätzlich machen, der dann auch schon vor dem Zeitablauf auf inaktiv schaltet, dann kann man auch zusätzlich manuell ausblenden.

                                      M Offline
                                      M Offline
                                      meerkat
                                      wrote on last edited by
                                      #7061

                                      @dslraser das habe ich mit dem Filter-Button gemacht. Ich werde den noch entfernen und dann den offset_value dafür nutzen. Dann kann man mit demselben Knopf ein- und ausblenden.

                                      1 Reply Last reply
                                      1
                                      • dslraserD dslraser

                                        @meerkat
                                        ich werde mir noch einen Knopp zusätzlich machen, der dann auch schon vor dem Zeitablauf auf inaktiv schaltet, dann kann man auch zusätzlich manuell ausblenden.

                                        M Offline
                                        M Offline
                                        muuulle
                                        wrote on last edited by
                                        #7062

                                        Das tat ich auch 😋

                                        FullSizeRender 5.gif

                                        @dslraser said in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

                                        @meerkat
                                        ich werde mir noch einen Knopp zusätzlich machen, der dann auch schon vor dem Zeitablauf auf inaktiv schaltet, dann kann man auch zusätzlich manuell ausblenden.

                                        dslraserD M 2 Replies Last reply
                                        0
                                        • M muuulle

                                          Das tat ich auch 😋

                                          FullSizeRender 5.gif

                                          @dslraser said in Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread):

                                          @meerkat
                                          ich werde mir noch einen Knopp zusätzlich machen, der dann auch schon vor dem Zeitablauf auf inaktiv schaltet, dann kann man auch zusätzlich manuell ausblenden.

                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          wrote on last edited by
                                          #7063

                                          @muuulle
                                          Und wie hast Du das jetzt gelöst ? (damit ? offset_value / wie ?)

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          647

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe