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. Button der nur betätigt werden kann wenn Object ID= 0 oder 1

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Button der nur betätigt werden kann wenn Object ID= 0 oder 1

Geplant Angeheftet Gesperrt Verschoben Visualisierung
22 Beiträge 3 Kommentatoren 1.3k Aufrufe 2 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.
  • SebasDiS SebasDi

    @ofbeqnpolkkl6mby5e13 trotzdem Danke ;-)

    O Offline
    O Offline
    oFbEQnpoLKKl6mbY5e13
    schrieb am zuletzt editiert von
    #11

    @sebasdi

    Ich kann dir allerdings bzgl. "manuelles "Widget-Einfügen"" nicht folgen.

    SebasDiS 1 Antwort Letzte Antwort
    0
    • SebasDiS SebasDi

      @paul53 Abkürzung für Netzwerkeingang an der SPS (sorry)

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #12

      @sebasdi sagte: Abkürzung für Netzwerkeingang

      Das dachte ich mir. Weshalb erwähnst du jetzt einen NI2? Was soll er bewirken?

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      SebasDiS 1 Antwort Letzte Antwort
      0
      • O oFbEQnpoLKKl6mbY5e13

        @sebasdi

        Ich kann dir allerdings bzgl. "manuelles "Widget-Einfügen"" nicht folgen.

        SebasDiS Offline
        SebasDiS Offline
        SebasDi
        schrieb am zuletzt editiert von
        #13

        @ofbeqnpolkkl6mby5e13 in Vis2 kann man auf einer Seite die rechte Maustaste klciken, dann auf "Widget einfügen" und einen Java Code einfügen. Das meinte ich.

        1 Antwort Letzte Antwort
        0
        • SebasDiS SebasDi

          Hallo zusammen.

          Ich visualisiere gerade meine sehr aufwändige Schwimmbadsteuerung.

          Bisher habe ich leider noch keine Lösung gefunden, wie ich einen Button oder eine Checkbox so einstellen kann, dass der Button bzw. die Checkbox nur abhängig vom abgefragten Zustand (ObjectID) betätigt werden kann.

          Z.B.:

          "Button Automatik"
          -> SteuerID: Netzwerkeingang 1 meiner SPS
          -> ObjectID: Merker 1 (der nach Netzwerkeingang1 = 1 via Setze-/Rücksetzebaustein aktiviert wird)

          Nach dem Betätigen des Buttons Automatik, wird mein Merker gesetzt, der Button ändert die Farbe da ObjectID von 0 auf 1 gewechselt hat.
          Und genau in diesem Moment soll der Button Automatik nicht mehr betätigt werden können.
          Denn, betätige ich den Button Automatik wenn ObjectID=1 wechselt der Button in der Visu (Vis2) von seiner Farbe "true" auf "false" obwohl die ObjectID immernoch 1 ist.

          Ich habe leider keinerlei Java-Kenntnisse oder ähnliches. Auch ChatGPT hat mir nicht weiterhelfen können.

          Am besten wäre eine Checkbox, die mir beim Aktivieren in der Visu einen separaten Netzwerkeingang schaltet und beim Deaktivieren einen anderen Netzwerkeingang schaltet. Abhängig vom Status der ObjectID.

          Das Gleiche mit einem Button würde mich endlich voranbringen .

          Ich habe leider keine Java Kenntnisse und weiß daher nicht wie man das in der Vis2 am Besten umsetzen kann.

          Danke im Voraus

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #14

          @sebasdi sagte: Checkbox, die mir beim Aktivieren in der Visu einen separaten Netzwerkeingang schaltet und beim Deaktivieren einen anderen Netzwerkeingang schaltet. Abhängig vom Status der ObjectID.

          Also zwei Taster - einer für Set, der andere für Reset? Das geht wohl nur mit Skript.

          const idM1 = 'S7...';
          const idNI1 = 'S7...'; // Set
          const idNI2 = 'S7...'; // Reset
          
          on({id: idM1, change: 'ne', ack: false}, function(dp) {
              if(dp.state.val) setState(idNI1, 1);
              else setState(idNI2, 1);
          });
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          SebasDiS 2 Antworten Letzte Antwort
          1
          • paul53P paul53

            @sebasdi sagte: Abkürzung für Netzwerkeingang

            Das dachte ich mir. Weshalb erwähnst du jetzt einen NI2? Was soll er bewirken?

            SebasDiS Offline
            SebasDiS Offline
            SebasDi
            schrieb am zuletzt editiert von SebasDi
            #15

            @paul53

            Also diese Funktion benötige ich zum Beispiel um Merker der Steuerung zu setzen oder zurückzusetzen.

            Die Netzwerkeingänge werden beim Klick auf den Button nur kurz angesteuert und werden nicht gehalten. Daher benötige ich, um diverse Programmabschnitte in der Steuerung ein- oder auszublenden, einige Merker.

            1ef65c0f-b3ad-4270-8341-ecfc527255ce-image.png

            Die Poolsteuerung ist universell und beinhaltet wirklich alles was es gibt. Daher gibt es in der Visu eine Anlagenkonfiguration für viele Funktionen. Je nachdem was ausgewählt / nicht ausgewählt wird, passt sich das Programm in der Steuerung an.

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @sebasdi sagte: Checkbox, die mir beim Aktivieren in der Visu einen separaten Netzwerkeingang schaltet und beim Deaktivieren einen anderen Netzwerkeingang schaltet. Abhängig vom Status der ObjectID.

              Also zwei Taster - einer für Set, der andere für Reset? Das geht wohl nur mit Skript.

              const idM1 = 'S7...';
              const idNI1 = 'S7...'; // Set
              const idNI2 = 'S7...'; // Reset
              
              on({id: idM1, change: 'ne', ack: false}, function(dp) {
                  if(dp.state.val) setState(idNI1, 1);
                  else setState(idNI2, 1);
              });
              
              SebasDiS Offline
              SebasDiS Offline
              SebasDi
              schrieb am zuletzt editiert von
              #16

              @paul53

              Würde das mit dem Ding hier funktionieren?

              [
              {
              "tpl": "tplJquiToogle",
              "data": {
              "bindings": [],
              "type": "button",
              "g_common": true,
              "oid": "nothing_selected",
              "text_false": "Aus",
              "g_text": true,
              "text_true": "An",
              "color_true": "#93ff93",
              "padding": 5,
              "g_style": true,
              "variant": "contained",
              "orientation": "horizontal",
              "icon_false": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMyAzaC0ydjEwaDJWM3ptNC44MyAyLjE3bC0xLjQyIDEuNDJBNi45MiA2LjkyIDAgMCAxIDE5IDEyYzAgMy44Ny0zLjEzIDctNyA3QTYuOTk1IDYuOTk1IDAgMCAxIDcuNTggNi41OEw2LjE3IDUuMTdBOC45MzIgOC45MzIgMCAwIDAgMyAxMmE5IDkgMCAwIDAgMTggMGMwLTIuNzQtMS4yMy01LjE4LTMuMTctNi44M3oiLz48L3N2Zz4=",
              "g_icon_false": true,
              "onchange": "if (this.value) { sendCommand('s7.1.DBs.DB1.NI33'); } else { sendCommand('s7.1.DBs.DB1.NI33'); }"
              },
              "style": {
              "bindings": [],
              "left": "728.203125px",
              "top": "785px",
              "width": 92,
              "height": 36
              },
              "widgetSet": "jqui",
              "_id": "i000001"
              }
              ]

              Falls ja, was muss man da anpassen? Wie lauten die "commands" die ich an meinen S7 Adapter senden muss?

              paul53P 1 Antwort Letzte Antwort
              0
              • SebasDiS SebasDi

                @paul53

                Würde das mit dem Ding hier funktionieren?

                [
                {
                "tpl": "tplJquiToogle",
                "data": {
                "bindings": [],
                "type": "button",
                "g_common": true,
                "oid": "nothing_selected",
                "text_false": "Aus",
                "g_text": true,
                "text_true": "An",
                "color_true": "#93ff93",
                "padding": 5,
                "g_style": true,
                "variant": "contained",
                "orientation": "horizontal",
                "icon_false": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMyAzaC0ydjEwaDJWM3ptNC44MyAyLjE3bC0xLjQyIDEuNDJBNi45MiA2LjkyIDAgMCAxIDE5IDEyYzAgMy44Ny0zLjEzIDctNyA3QTYuOTk1IDYuOTk1IDAgMCAxIDcuNTggNi41OEw2LjE3IDUuMTdBOC45MzIgOC45MzIgMCAwIDAgMyAxMmE5IDkgMCAwIDAgMTggMGMwLTIuNzQtMS4yMy01LjE4LTMuMTctNi44M3oiLz48L3N2Zz4=",
                "g_icon_false": true,
                "onchange": "if (this.value) { sendCommand('s7.1.DBs.DB1.NI33'); } else { sendCommand('s7.1.DBs.DB1.NI33'); }"
                },
                "style": {
                "bindings": [],
                "left": "728.203125px",
                "top": "785px",
                "width": 92,
                "height": 36
                },
                "widgetSet": "jqui",
                "_id": "i000001"
                }
                ]

                Falls ja, was muss man da anpassen? Wie lauten die "commands" die ich an meinen S7 Adapter senden muss?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #17

                @sebasdi sagte: Würde das mit dem Ding hier funktionieren?

                Keine Ahnung: Damit kann ich nichts anfangen.

                EDIT: Versuche es mal mit Javascript:

                const idM32 = 'S7.1...M32'; // Anpassen!
                const idNI32 = 's7.1.DBs.DB1.NI32'; // Set
                const idNI33 = 's7.1.DBs.DB1.NI33'; // Reset
                
                on({id: idM32, change: 'ne', ack: false}, function(dp) {
                    if(dp.state.val) setState(idNI32, 1);
                    else setState(idNI33, 1);
                });
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @sebasdi sagte: Checkbox, die mir beim Aktivieren in der Visu einen separaten Netzwerkeingang schaltet und beim Deaktivieren einen anderen Netzwerkeingang schaltet. Abhängig vom Status der ObjectID.

                  Also zwei Taster - einer für Set, der andere für Reset? Das geht wohl nur mit Skript.

                  const idM1 = 'S7...';
                  const idNI1 = 'S7...'; // Set
                  const idNI2 = 'S7...'; // Reset
                  
                  on({id: idM1, change: 'ne', ack: false}, function(dp) {
                      if(dp.state.val) setState(idNI1, 1);
                      else setState(idNI2, 1);
                  });
                  
                  SebasDiS Offline
                  SebasDiS Offline
                  SebasDi
                  schrieb am zuletzt editiert von
                  #18

                  @paul53 said in Button der nur betätigt werden kann wenn Object ID= 0 oder 1:

                  const idM1 = 'S7...'; const idNI1 = 'S7...'; // Set const idNI2 = 'S7...'; // Reset on({id: idM1, change: 'ne', ack: false}, function(dp) { if(dp.state.val) setState(idNI1, 1); else setState(idNI2, 1); });

                  Okay. Schade. ABer sicherlich mit bisschen Aufwand lösbar für alle Funktionen.
                  Dein Skript habe ich mal erstellt und es läuft.
                  Wie verknüpfe ich jetzt einen Button aus der Vis2 mit dem Skript?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • SebasDiS SebasDi

                    @paul53 said in Button der nur betätigt werden kann wenn Object ID= 0 oder 1:

                    const idM1 = 'S7...'; const idNI1 = 'S7...'; // Set const idNI2 = 'S7...'; // Reset on({id: idM1, change: 'ne', ack: false}, function(dp) { if(dp.state.val) setState(idNI1, 1); else setState(idNI2, 1); });

                    Okay. Schade. ABer sicherlich mit bisschen Aufwand lösbar für alle Funktionen.
                    Dein Skript habe ich mal erstellt und es läuft.
                    Wie verknüpfe ich jetzt einen Button aus der Vis2 mit dem Skript?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #19

                    @sebasdi sagte: Wie verknüpfe ich jetzt einen Button aus der Vis2 mit dem Skript?

                    Die Verknüpfung muss ein Schalter mit M32 sein.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    SebasDiS 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @sebasdi sagte: Wie verknüpfe ich jetzt einen Button aus der Vis2 mit dem Skript?

                      Die Verknüpfung muss ein Schalter mit M32 sein.

                      SebasDiS Offline
                      SebasDiS Offline
                      SebasDi
                      schrieb am zuletzt editiert von
                      #20

                      @paul53

                      Habe einen neuen Schalter erstellt und die ObjektID mit dem M32 verknüpft.
                      Der SteuerID ist dann die angelegte Skriptdatei?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • SebasDiS SebasDi

                        @paul53

                        Habe einen neuen Schalter erstellt und die ObjektID mit dem M32 verknüpft.
                        Der SteuerID ist dann die angelegte Skriptdatei?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #21

                        @sebasdi sagte: Der SteuerID ist dann die angelegte Skriptdatei?

                        Ist sie getrennt? Sie muss dann auch die M32-ID sein.

                        In Vis(1) kann man z.B. das Widget "Radiobuttons ValueList" mit diesen Einstellungen verwenden:

                        Vis_SPS_MANU_AUTO.JPG

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        SebasDiS 1 Antwort Letzte Antwort
                        1
                        • paul53P paul53

                          @sebasdi sagte: Der SteuerID ist dann die angelegte Skriptdatei?

                          Ist sie getrennt? Sie muss dann auch die M32-ID sein.

                          In Vis(1) kann man z.B. das Widget "Radiobuttons ValueList" mit diesen Einstellungen verwenden:

                          Vis_SPS_MANU_AUTO.JPG

                          SebasDiS Offline
                          SebasDiS Offline
                          SebasDi
                          schrieb am zuletzt editiert von
                          #22

                          @paul53

                          es läuft!! :-)

                          Oh mein Gott. Endlich!

                          Tausend Dank für deine Zeit & kompetente Hilfe!!! :+1: :left-facing_fist: :muscle:

                          Werde dann mal ein paar Skripte schreiben müssen und alles verknüpfen. Aber die Arbeit wird sich lohnen!

                          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

                          636

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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