Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Skript button "drücken" simulieren

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Skript button "drücken" simulieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      blade-of-fire @paul53 last edited by

      @paul53
      Das sind die harmony activities. Die haben den Status 1 beim starten, 2 wenn aktiv.
      Ich hatte eine debug modul an die Stelle gesetzt, wo der Wert = 2 reinläuft, und der wird definitiv erreicht.

      B 1 Reply Last reply Reply Quote 0
      • B
        blade-of-fire @blade-of-fire last edited by

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

        SBorg Homoran N 3 Replies Last reply Reply Quote 0
        • SBorg
          SBorg Forum Testing Most Active @blade-of-fire last edited by

          @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 1 Reply Last reply Reply Quote 0
          • M
            MCU @blade-of-fire last edited by

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

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @blade-of-fire last edited by

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

              harmony_steuern_Button.png

              das funktioniert einwandfrei

              1 Reply Last reply Reply Quote 0
              • N
                Nordischerjung @blade-of-fire last edited by

                @blade-of-fire

                läuft das Script auch?

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

                1 Reply Last reply Reply Quote 0
                • B
                  blade-of-fire @SBorg last edited by

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

                  Homoran paul53 3 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @blade-of-fire last edited by

                    @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

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @blade-of-fire last edited by

                      @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"));
                      
                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @blade-of-fire last edited by 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 2 Replies Last reply Reply Quote 0
                        • B
                          blade-of-fire @Homoran last edited by

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

                          1 Reply Last reply Reply Quote 0
                          • B
                            blade-of-fire @Homoran last edited by

                            @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 👍 👍 👍

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @blade-of-fire last edited by

                              @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

                              1 Reply Last reply Reply Quote 1
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              452
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              blockly
                              6
                              15
                              1412
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo