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. Skripten / Logik
  4. Blockly
  5. Blockly Skript button "drücken" simulieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Blockly Skript button "drücken" simulieren

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
15 Beiträge 6 Kommentatoren 1.9k Aufrufe 3 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.
  • B blade-of-fire

    Hallo zusammen,
    ich benötige Hilfe bei einem Blockly-Skript.
    Der Harmony-Adapter legt in den Objekten für die Geräte Objekte mit der Rolle "button" an, womit man quasi einen Tastendruck simulieren kann.
    Ich möchte nun aus Blockly heraus einen solchen Tastendruck simulieren.

    Ich weiss, dass dies bereits hier und hier besprochen wurde, allerdings die Lösung funktioniert bei mir nicht.
    So sieht mein Blockly aus.

    blockly.PNG

    Egal, ob ich das Modul "steuere", "aktualisiere" verwende, es passiert einfach nichts.
    Mir ist auch aufgefallen, dass der Zeitstempel sich nicht ändert.

    Habe ich irgendwas übersehen?

    M Online
    M Online
    MCU
    schrieb am zuletzt editiert von
    #6

    @blade-of-fire Zeig doch mal die Datenpunkt-Objektstruktur von channel1, channel2 und LG-Fernseher.PowerOn mit Werten.

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    1 Antwort Letzte Antwort
    0
    • B blade-of-fire

      Bin ich tatsächlich der einzige, der dieses Problem hat?

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #7

      @blade-of-fire ich habe hier z.B. Eject beim BD-Player. Das ist auch ein Button

      harmony_steuern_Button.png

      das funktioniert einwandfrei

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • B blade-of-fire

        Bin ich tatsächlich der einzige, der dieses Problem hat?

        N Offline
        N Offline
        Nordischerjung
        schrieb am zuletzt editiert von
        #8

        @blade-of-fire

        läuft das Script auch?

        Hast du mal versucht direkt im Datenpunkt eine 1 zu schreiben?

        Gruß Nordischerjung

        sonnige Grüße von der Ostsee

        1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @blade-of-fire Ich bin nicht der Blockly-Held, aber funktioniert es denn direkt per JS?
          Lege mal ein reines JS an mit nur diesem Inhalt (Datenpunkt natürlich anpassen ;) ) :

          setState("Datenpunkt vom Button",true);
          

          Wenn du es dann speicherst und startest sollte es den Button dann einmalig "drücken".

          B Offline
          B Offline
          blade-of-fire
          schrieb am zuletzt editiert von
          #9

          @SBorg
          Ich habe das getestet mit verschiedenen Befehlen (die als Objekte angelegt wurden). Leider auch hier kein Erfolg.

          setState("harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle", 1);
          console.log('test');
          

          Die Debug message kommt, aber es passiert nichts.

          Dabei wird folgendes geloggt:

          javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: registered 0 subscriptions and 0 schedules
          javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: test
          javascript.0	2020-11-26 17:27:42.573	warn	(544) at script.js.common.Debug.Skript_1:1:1
          javascript.0	2020-11-26 17:27:42.573	warn	(544) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1358:20)
          javascript.0	2020-11-26 17:27:42.572	warn	(544) State "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle" not found
          

          Das "State "..." not found wundert mich ein wenig, weil die ID auf jeden Fall da ist.
          Aber vielleicht liegt genau da der Hase im Pfeffer.

          @MCU
          Channel1 und Channel2 können wir glaube ich außen vor lassen. Die werden wir gewünscht geschaltet.
          Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme (vermutlich die Instanz neu erstellen..). Aber das Problem bezieht sich sowieso auf auf alle Buttons von Harmony. Der Button "PowerToggle" sieht so aus:

          {
            "from": "system.adapter.harmony.0",
            "user": "system.user.admin",
            "ts": 1606220786316,
            "common": {
              "name": "LG-Fernseher:PowerToggle",
              "role": "button",
              "type": "number",
              "min": 0,
              "write": true,
              "read": true
            },
            "native": {
              "action": "{",
              "name": "PowerToggle",
              "label": "Power Toggle",
              "controlGroup": "Power",
              "deviceId": "72103782"
            },
            "acl": {
              "object": 1638,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1638
            },
            "_id": "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle",
            "type": "state"
          }
          
          

          @Nordischerjung
          Das Skript läuft definitiv. Wenn manuell eine 1 eintrage, dann wird korrekt geschaltet.

          Wie gesagt, habe ich die Vermutung, dass es mit dem "not found" zusammenhängt.

          Zur Info: Ich habe bisher schon einige Skripte laufen und die machten bisher keine Probleme. Muss wohl irgendwie mit dem harmony zusammenhängen.

          HomoranH paul53P 3 Antworten Letzte Antwort
          0
          • B blade-of-fire

            @SBorg
            Ich habe das getestet mit verschiedenen Befehlen (die als Objekte angelegt wurden). Leider auch hier kein Erfolg.

            setState("harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle", 1);
            console.log('test');
            

            Die Debug message kommt, aber es passiert nichts.

            Dabei wird folgendes geloggt:

            javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: registered 0 subscriptions and 0 schedules
            javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: test
            javascript.0	2020-11-26 17:27:42.573	warn	(544) at script.js.common.Debug.Skript_1:1:1
            javascript.0	2020-11-26 17:27:42.573	warn	(544) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1358:20)
            javascript.0	2020-11-26 17:27:42.572	warn	(544) State "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle" not found
            

            Das "State "..." not found wundert mich ein wenig, weil die ID auf jeden Fall da ist.
            Aber vielleicht liegt genau da der Hase im Pfeffer.

            @MCU
            Channel1 und Channel2 können wir glaube ich außen vor lassen. Die werden wir gewünscht geschaltet.
            Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme (vermutlich die Instanz neu erstellen..). Aber das Problem bezieht sich sowieso auf auf alle Buttons von Harmony. Der Button "PowerToggle" sieht so aus:

            {
              "from": "system.adapter.harmony.0",
              "user": "system.user.admin",
              "ts": 1606220786316,
              "common": {
                "name": "LG-Fernseher:PowerToggle",
                "role": "button",
                "type": "number",
                "min": 0,
                "write": true,
                "read": true
              },
              "native": {
                "action": "{",
                "name": "PowerToggle",
                "label": "Power Toggle",
                "controlGroup": "Power",
                "deviceId": "72103782"
              },
              "acl": {
                "object": 1638,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator",
                "state": 1638
              },
              "_id": "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle",
              "type": "state"
            }
            
            

            @Nordischerjung
            Das Skript läuft definitiv. Wenn manuell eine 1 eintrage, dann wird korrekt geschaltet.

            Wie gesagt, habe ich die Vermutung, dass es mit dem "not found" zusammenhängt.

            Zur Info: Ich habe bisher schon einige Skripte laufen und die machten bisher keine Probleme. Muss wohl irgendwie mit dem harmony zusammenhängen.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #10

            @blade-of-fire du könntest mal zum testen den Block "Wert" aus dem Trigger Bereich gegen einen Systemblock Wert von ObjectID tauschen.

            Du hast drei Trigger, es kann sein, dass der WERT nicht der des gewünschten Triggers ist

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • B blade-of-fire

              @SBorg
              Ich habe das getestet mit verschiedenen Befehlen (die als Objekte angelegt wurden). Leider auch hier kein Erfolg.

              setState("harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle", 1);
              console.log('test');
              

              Die Debug message kommt, aber es passiert nichts.

              Dabei wird folgendes geloggt:

              javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: registered 0 subscriptions and 0 schedules
              javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: test
              javascript.0	2020-11-26 17:27:42.573	warn	(544) at script.js.common.Debug.Skript_1:1:1
              javascript.0	2020-11-26 17:27:42.573	warn	(544) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1358:20)
              javascript.0	2020-11-26 17:27:42.572	warn	(544) State "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle" not found
              

              Das "State "..." not found wundert mich ein wenig, weil die ID auf jeden Fall da ist.
              Aber vielleicht liegt genau da der Hase im Pfeffer.

              @MCU
              Channel1 und Channel2 können wir glaube ich außen vor lassen. Die werden wir gewünscht geschaltet.
              Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme (vermutlich die Instanz neu erstellen..). Aber das Problem bezieht sich sowieso auf auf alle Buttons von Harmony. Der Button "PowerToggle" sieht so aus:

              {
                "from": "system.adapter.harmony.0",
                "user": "system.user.admin",
                "ts": 1606220786316,
                "common": {
                  "name": "LG-Fernseher:PowerToggle",
                  "role": "button",
                  "type": "number",
                  "min": 0,
                  "write": true,
                  "read": true
                },
                "native": {
                  "action": "{",
                  "name": "PowerToggle",
                  "label": "Power Toggle",
                  "controlGroup": "Power",
                  "deviceId": "72103782"
                },
                "acl": {
                  "object": 1638,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator",
                  "state": 1638
                },
                "_id": "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle",
                "type": "state"
              }
              
              

              @Nordischerjung
              Das Skript läuft definitiv. Wenn manuell eine 1 eintrage, dann wird korrekt geschaltet.

              Wie gesagt, habe ich die Vermutung, dass es mit dem "not found" zusammenhängt.

              Zur Info: Ich habe bisher schon einige Skripte laufen und die machten bisher keine Probleme. Muss wohl irgendwie mit dem harmony zusammenhängen.

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

              @blade-of-fire sagte:

              Das "State "..." not found wundert mich ein wenig,

              Was ergibt im Log ?

              log(existsState("harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle"));
              

              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
              • B blade-of-fire

                @SBorg
                Ich habe das getestet mit verschiedenen Befehlen (die als Objekte angelegt wurden). Leider auch hier kein Erfolg.

                setState("harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle", 1);
                console.log('test');
                

                Die Debug message kommt, aber es passiert nichts.

                Dabei wird folgendes geloggt:

                javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: registered 0 subscriptions and 0 schedules
                javascript.0	2020-11-26 17:27:42.573	info	(544) script.js.common.Debug.Skript_1: test
                javascript.0	2020-11-26 17:27:42.573	warn	(544) at script.js.common.Debug.Skript_1:1:1
                javascript.0	2020-11-26 17:27:42.573	warn	(544) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1358:20)
                javascript.0	2020-11-26 17:27:42.572	warn	(544) State "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle" not found
                

                Das "State "..." not found wundert mich ein wenig, weil die ID auf jeden Fall da ist.
                Aber vielleicht liegt genau da der Hase im Pfeffer.

                @MCU
                Channel1 und Channel2 können wir glaube ich außen vor lassen. Die werden wir gewünscht geschaltet.
                Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme (vermutlich die Instanz neu erstellen..). Aber das Problem bezieht sich sowieso auf auf alle Buttons von Harmony. Der Button "PowerToggle" sieht so aus:

                {
                  "from": "system.adapter.harmony.0",
                  "user": "system.user.admin",
                  "ts": 1606220786316,
                  "common": {
                    "name": "LG-Fernseher:PowerToggle",
                    "role": "button",
                    "type": "number",
                    "min": 0,
                    "write": true,
                    "read": true
                  },
                  "native": {
                    "action": "{",
                    "name": "PowerToggle",
                    "label": "Power Toggle",
                    "controlGroup": "Power",
                    "deviceId": "72103782"
                  },
                  "acl": {
                    "object": 1638,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator",
                    "state": 1638
                  },
                  "_id": "harmony.0.Harmony_Wohnzimmer.LG-Fernseher.PowerToggle",
                  "type": "state"
                }
                
                

                @Nordischerjung
                Das Skript läuft definitiv. Wenn manuell eine 1 eintrage, dann wird korrekt geschaltet.

                Wie gesagt, habe ich die Vermutung, dass es mit dem "not found" zusammenhängt.

                Zur Info: Ich habe bisher schon einige Skripte laufen und die machten bisher keine Probleme. Muss wohl irgendwie mit dem harmony zusammenhängen.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von Homoran
                #12

                @blade-of-fire wieso steht denn dann in deinem Blockly noch "PowerOn"?

                @blade-of-fire sagte in Blockly Skript button "drücken" simulieren:

                Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme

                Objektbaum löschen - Instanz neu starten

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                B 2 Antworten Letzte Antwort
                0
                • HomoranH Homoran

                  @blade-of-fire wieso steht denn dann in deinem Blockly noch "PowerOn"?

                  @blade-of-fire sagte in Blockly Skript button "drücken" simulieren:

                  Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme

                  Objektbaum löschen - Instanz neu starten

                  B Offline
                  B Offline
                  blade-of-fire
                  schrieb am zuletzt editiert von
                  #13

                  @Homoran
                  Ich hatte das in der Zwischenzeit versehentlich gelöscht, als ich den Screenshot gemacht hatte, war es aber noch vorhanden.

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @blade-of-fire wieso steht denn dann in deinem Blockly noch "PowerOn"?

                    @blade-of-fire sagte in Blockly Skript button "drücken" simulieren:

                    Den Button PowerOn habe ich blöderweise gelöscht. Muss mal schauen, wie ich den wieder da reingeladen bekomme

                    Objektbaum löschen - Instanz neu starten

                    B Offline
                    B Offline
                    blade-of-fire
                    schrieb am zuletzt editiert von
                    #14

                    @Homoran

                    Das war jetzt wohl tatsächlich die Lösung.

                    Ich habe den gesamten Harmony Objektbaum gelöscht und die Instanz neu gestartet.
                    Nachdem alles wieder angelegt war, habe ich einfach nochmal das Skript gestartet und siehe da, es funktioniert!!!

                    Woran das jetzt lag ist wohl schwer zu sagen, aber hautpsache, es funktioniert jetzt :+1: :+1: :+1:

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • B blade-of-fire

                      @Homoran

                      Das war jetzt wohl tatsächlich die Lösung.

                      Ich habe den gesamten Harmony Objektbaum gelöscht und die Instanz neu gestartet.
                      Nachdem alles wieder angelegt war, habe ich einfach nochmal das Skript gestartet und siehe da, es funktioniert!!!

                      Woran das jetzt lag ist wohl schwer zu sagen, aber hautpsache, es funktioniert jetzt :+1: :+1: :+1:

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #15

                      @blade-of-fire sagte in Blockly Skript button "drücken" simulieren:

                      und siehe da, es funktioniert!!!

                      Gottseidank!!!

                      Dann bitte den Thread als [gelöst] markieren

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      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

                      694

                      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