Ankündigung

Einklappen
Keine Ankündigung bisher.

basic.flip Taster sperren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    basic.flip Taster sperren

    Hallo,

    Gibt es in SmartVISU eine möglichkeit den basic.flip Taster mit einer bedingung zu sperren ?
    Am besten wäre es wenn man den Button während der Sperrung mit einem Schloss-Symbol oder ähnlich kennzeichnen könnte, oder grau überblenden könnte.

    Grund wäre, ich hab bei mir 2 Shellys mit denen ich meine 3D Drucker ein/ausschalte, jetzt würde ich gerne sobald der Stromwert eines Shelly einen bestimmten Wert
    überschreitet den dazugehörigen Button in der Visu sperren können, so dass mir keiner versehentlich den Drucker während eines Druckvorgangs ausschalten kann.

    Danke und Gruß,
    Mike

    #2
    Schau dir mal device.codepad oder status.customstyle an. VG
    Zuletzt geändert von aschwith; 22.01.2024, 22:35.

    Kommentar


      #3
      Moin Mike,

      Alex hat Dir schon den Tipp gegeben, status.customstyle zu verwenden. Beim Testen ist mir jetzt aufgefallen, dass vereinzelte Widgets sich nicht mit status.customstyle stylen lassen. Dazu gehört basic.flip. Ich muss mir noch genauer ansehen, ob man das in den Griff bekommt.

      Du kannst das Widget dennoch verwenden, wenn Du basic.flip in ein <span>-Tag mit einer ID setzt, in der der Seitenname enthalten ist:
      Code:
      <span id="mypage-w1">{{basic.flip('','myswitch')}} </span>
      {{status.customstyle('w1', 'myvalue', '>50', 'hide')}}​
      Der Flipswitch wird dann ausgeblendet, sobald das item "myvalue" einen Wert größer 50 hat.

      Gruß
      Wolfram

      Kommentar


        #4
        aschwith
        wvhn
        Vielen Dank für den Tipp und das Beispiel für das neue status.customstyle, hat auf anhieb funktioniert.
        Der Button wird jetzt ausgeblendet, sobald der Stromwert den eingestellten Wert überschreitet, das hilft mir schon mal.

        Gruß, Mike

        Kommentar


          #5
          Moin Mike01

          ich habe noch ein bisschen gespielt.
          So geht es auch:
          Code:
          {{basic.flip('w1', 'myItem')}}
          {{basic.print('', 'myValue', 'script', 'if (VAR1 >50){$("#myPage-w1").prop("disabled", true).flipswitch("disable")}else{$("#assistant-w1").prop("disabled", false).flipswitch("enable")}')}}
          disable.gif

          Gruß
          Wolfram

          Kommentar


            #6
            Auch wenn ich das aktuell nicht brauche, aber die Lösung von Wolfram ist mal wieder brillant

            Kommentar


              #7
              wvhn
              Hallo Wolfram,

              Das sieht nach der perfekten Lösung aus, vielen Dank für deine Arbeit.

              Allerdings bekomme ich das bei mir so nicht hin, bei mir zeigt er auf der Seite den Button immer an, auch wenn der Item Wert >50 ist.
              Brauch ich die aktuelle Develop Version dass das funktioniert ? Hab aktuell die SV v3.4.0
              (Wenn ich die Seite aktualisiere zeigt er mir kurzzeitig 3 Striche hinter dem Flip Button, die verschwinden aber nach ein paar sekunden wieder.)

              Meine Visu Seite heißt OG.Buero.html
              Das Item auf das er hören soll ist sh.tasmota.leistung
              in der HTML hab ich den Flip-Schalter in einer table wie folgt konfiguriert:
              Code:
                          <table width=100%>
                              <tr>
                                  <td align=left height="54" width=33%><br>BambuLab X1-C</td>
                                  <td align=left>
                                      {{ basic.flip('w1', 'tasmota.relais01', 'Ein', 'Aus') }}
                                      {{basic.print('', 'tasmota.leistung', 'script', 'if (VAR1 >50){$("#OG.Buero-w1").prop("disabled", true).flipswitch("disable")}else{$("#assistant-w1").prop("disabled", false).flipswitch("enable")}')}}​
              ​                    </td>
                              </tr>                    
                          </table>
              Angehängte Dateien

              Kommentar


                #8
                Hallo Mike01,

                ich vermute Du musst im JS-Teil von basic.print im ELSE-Zweig :

                Code:
                "#assistant-w1"
                durch

                Code:
                #OG.Buero-w1
                ersetzen. Könnte ein C & P Fehler im Post gewesen sein.

                Vielleicht war´s das schon

                Viele Grüße
                Andre

                Kommentar


                  #9
                  AndreK
                  Danke für den Tipp, aber das hab ich bereits versucht, kam mir nämlich auch komisch vor, hat aber leider nichts verändert.

                  Kommentar


                    #10
                    Bei der Erstellung der unique id wird der Punkt in "OG.Buero" zum Unterstrich, also muss der Selector "#OG_Buero-w1" heißen. Die Ersetzung des Punkts ist vermutlich notwendig, weil sonst der Teil hinter dem Punkt bei der Auswertung des Selektors als Klassenname interpretiert würde.

                    Wie AndreK schon festgestellt hat, habe ich im Code zudem vergessen, das zweite "assistant" in "myPage" zu ändern. Sorry dafür.

                    Habs gerade getestet, indem ich die assistant.html des Widgetassistenten in OG.Buero.html umbenannt und die Selektoren "#OG_Buero-w1" verwendet habe. Es funzt auch in der Version v3.4.0.

                    Mit Rechtsklick auf den Flipswitch kannst Du im Kontextmenü des Browsers "Untersuchen" aufrufen. Das zeigt Dir die tatsächlich verwendete id an:

                    grafik.png

                    Gruß
                    Wolfram

                    Kommentar


                      #11
                      Hallo Wolfram,

                      Danke für die erklärung, jetzt klappt es. Wirklich genial gelöst, Danke nochmal dafür.
                      In dem zusammenhang ist mir klar geworden, dass meine Raumbezeichnungen mit dem Punkt als Trennzeichen vieleicht damals nicht die beste Wahl gewesen ist,
                      hab den Büro-Raum jetzt in allen Dateien zu OG-Buero umbenannt, und schon funktionierte es. (Werde das bei gelegenheit für alle anderen Räume auch noch ändern)
                      Danke auch für den Tipp mit der "Untersuchen" Funktion, die kannte ich zwar, hatte aber nicht daran gedacht dort nachzuschauen. Habs gestern immer im Seitenquelltext geschaut, aber da ist es mir nicht aufgefallen dass der Seitenname anders dargestellt wird. (wieder was gelernt 🙂)

                      Gruß, Mike

                      Kommentar

                      Lädt...
                      X