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. Script durch Button starten

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

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

Script durch Button starten

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
9 Beiträge 4 Kommentatoren 5.5k 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.
  • P Offline
    P Offline
    PCGamer1988
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich möchte mittels Button in Vis ein Java/ Blocklysctipt aktivieren bzw. deaktivieren. Ist so etwas möglich?

    Ich habe in iobroker unter Javascript0 ein neuen Datenpunkt als Zahl angelegt. Dort werden durch Buttons die ich in Vis bestätige Zahlen 1-3 als Wert gesetzt (1 = Script eins aktivieren usw.).
    Deshalb habe ich ein weiteres Blocklysctipt geschrieben welches die Werte ausliest und das entsprechende Script unter javascript0.scriptEnabled.[Name] auf true bzw. false setzt.

    Leider interessiert es iobroker nicht ob da nun true oder false drinsteht und wird ignoriert :( Nachdem ich erst das Script händisch aktiviere (Playknopf), wird es ausgeführt.

    Muss ich noch wo anders irgendwo was ändern?

    Freue mich auf eure Unterstützung.

    Grüße
    Philipp

    1 Antwort Letzte Antwort
    0
    • AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @PCGamer1988 sagte in Script durch Button starten:

      Deshalb habe ich ein weiteres Blocklysctipt geschrieben welches die Werte ausliest und das entsprechende Script unter javascript0.scriptEnabled.[Name] auf true bzw. false setzt.

      Wenn du im Forum mal nach diesen Datenpunkten suchst wirst du feststellen das es keine gute Idee ist, diese zum dynamischen Aktivieren von Skripten zu nutzen.

      Besser ist es, im betroffenen Script zu schauen wie dein Datenpunkt gesetzt ist und basierend darauf die eigentliche Aktion des Skriptes durchzuführen.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      liv-in-skyL 1 Antwort Letzte Antwort
      1
      • AsgothianA Asgothian

        @PCGamer1988 sagte in Script durch Button starten:

        Deshalb habe ich ein weiteres Blocklysctipt geschrieben welches die Werte ausliest und das entsprechende Script unter javascript0.scriptEnabled.[Name] auf true bzw. false setzt.

        Wenn du im Forum mal nach diesen Datenpunkten suchst wirst du feststellen das es keine gute Idee ist, diese zum dynamischen Aktivieren von Skripten zu nutzen.

        Besser ist es, im betroffenen Script zu schauen wie dein Datenpunkt gesetzt ist und basierend darauf die eigentliche Aktion des Skriptes durchzuführen.

        A.

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #3

        @Asgothian
        @PCGamer1988
        kann mich nur anschliessen - ich mußte viele scripts ändern, nachdem ich von den profis darauf hingewiesen worden bin , doch über einen datenpunkt zu steuern/triggern

        zusätzlich wurde bei mir bei jedem script-start, welches ich programmierte, im admin (script-tab) eine art refresh gemacht - also während ich etwas programmierte hat hat der admin den focus verloren - da irgendein script gestartet wurde und beendet wurde

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        paul53P 1 Antwort Letzte Antwort
        1
        • liv-in-skyL liv-in-sky

          @Asgothian
          @PCGamer1988
          kann mich nur anschliessen - ich mußte viele scripts ändern, nachdem ich von den profis darauf hingewiesen worden bin , doch über einen datenpunkt zu steuern/triggern

          zusätzlich wurde bei mir bei jedem script-start, welches ich programmierte, im admin (script-tab) eine art refresh gemacht - also während ich etwas programmierte hat hat der admin den focus verloren - da irgendein script gestartet wurde und beendet wurde

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

          @liv-in-sky sagte:

          im admin (script-tab) eine art refresh gemacht

          Bei jedem Scriptstart wird das Script compiliert. Unnötige Scriptstarts sind daher nicht gerade Resourcen schonend.

          @PCGamer1988
          Packe den kompletten Inhalt des bisherigen Skripts in eine Funktion und starte die Funktion über einen Trigger auf den VisDatenpunkt.

          function script1() {
             Hier das bisherige Skript rein
          }
          
          on({id: 'javascript.0.VisDatenpunkt', val: 1}, script1); // Triggert auf Wert 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
          1
          • P Offline
            P Offline
            PCGamer1988
            schrieb am zuletzt editiert von
            #5

            Danke für die Antworten.
            Ich werde da mal meine Scripte anpassen

            P 1 Antwort Letzte Antwort
            0
            • P PCGamer1988

              Danke für die Antworten.
              Ich werde da mal meine Scripte anpassen

              P Offline
              P Offline
              PCGamer1988
              schrieb am zuletzt editiert von
              #6

              Kann man das auch mit Blockly bewerkstelligen? Ich habe mein komplettes Script in einer Funktion gepackt.
              Zusätzlich habe ich ein Trigger der ausgeführt wird falls sich das Objekt ändert. In Trigger prüfe ich ob es den Wert 1 hat und führt wenn es zutrifft die Funktion aus. Leider wird die Funktion auch ausgeführt, wenn sich der Wert von 1 auf 2 geändert hat. Gibt es noch ein passerden Trigger?
              Mein Script in der Funktion enthält auch verschiedene Trigger, funktionieren Trigger in einer Funktion?
              Zum Testen habe ich mal ein Trigger in der Funktion erstellt, wo eine Lampe umgeschalten wird wenn ein Objekt geändert wurde. Zwar geht das, aber die Lampe wird min. 3mal hintereinander geschalten als ob die Funktion mehrfach ausgeführt wird :(

              Was habe ich falsch gemacht?

              paul53P 1 Antwort Letzte Antwort
              0
              • P PCGamer1988

                Kann man das auch mit Blockly bewerkstelligen? Ich habe mein komplettes Script in einer Funktion gepackt.
                Zusätzlich habe ich ein Trigger der ausgeführt wird falls sich das Objekt ändert. In Trigger prüfe ich ob es den Wert 1 hat und führt wenn es zutrifft die Funktion aus. Leider wird die Funktion auch ausgeführt, wenn sich der Wert von 1 auf 2 geändert hat. Gibt es noch ein passerden Trigger?
                Mein Script in der Funktion enthält auch verschiedene Trigger, funktionieren Trigger in einer Funktion?
                Zum Testen habe ich mal ein Trigger in der Funktion erstellt, wo eine Lampe umgeschalten wird wenn ein Objekt geändert wurde. Zwar geht das, aber die Lampe wird min. 3mal hintereinander geschalten als ob die Funktion mehrfach ausgeführt wird :(

                Was habe ich falsch gemacht?

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

                @PCGamer1988 sagte:

                Mein Script in der Funktion enthält auch verschiedene Trigger, funktionieren Trigger in einer Funktion?

                Nein, in der Regel nicht.

                @PCGamer1988 sagte in Script durch Button starten:

                In Trigger prüfe ich ob es den Wert 1 hat und führt wenn es zutrifft die Funktion aus. Leider wird die Funktion auch ausgeführt, wenn sich der Wert von 1 auf 2 geändert hat. Gibt es noch ein passerden Trigger?

                on({id: 'javascript.0.VisDatenpunkt', change: 'ne', val: 1}, script1); // Triggert auf Wert 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
                • P Offline
                  P Offline
                  PCGamer1988
                  schrieb am zuletzt editiert von
                  #8

                  Kann man ein eigenen Trigger in Blockly definieren? Ich habe mein Script in Blockly geschrieben und nicht in puren JS. Wenn Trigger aber in Funktionen nicht möglich sind, kann ich es für mich leider nicht so umsetzen :(
                  Gibt es noch eine andere Möglichkeit?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • P PCGamer1988

                    Kann man ein eigenen Trigger in Blockly definieren? Ich habe mein Script in Blockly geschrieben und nicht in puren JS. Wenn Trigger aber in Funktionen nicht möglich sind, kann ich es für mich leider nicht so umsetzen :(
                    Gibt es noch eine andere Möglichkeit?

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

                    @PCGamer1988:

                    Gibt es noch eine andere Möglichkeit?

                    Ja, wenn auf bestimmte Ereignisse getriggert werden soll, aber nur bei Freigabe durch einen Datenpunkt eine Aktion ausgelöst werden soll, kann man diesen Freigabe-Datenpunkt in jedem Trigger als erstes abfragen.

                    Blockly_temp.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

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


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    395

                    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