Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wie exec Ergebnis mit Blockly nutzen? (gelöst)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie exec Ergebnis mit Blockly nutzen? (gelöst)

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      NyanCat last edited by

      Hallo, ich würde gerne über Telnet abgefragten AVR-Status in Blockly weiterverwenden, also als Objekt speichern:

      #!/bin/sh
      
      host=192.168.0.xxx
      port=xxxx
      cmd1=?P
      
      (echo open ${host} ${port}
        sleep 1
        echo ${cmd1}
        sleep 1
        echo exit ) | telnet
      

      In der Konsole funktioniert die Abfrage auch, wenn ich das obige script ausführe und gibt dann folgendes aus:

      Connected to 192.168.0.xxx.
      Escape character is '^]'.
      PWR0
      Connection closed by foreign host.
      

      Aber wie kann ich die möglichen Ausgaben "PWR0" und "PWR1" als String in einem Objekt speichern, um dies dann in Blockly weiterverwenden zu können? (so dass ich weiß, ob der AVR an ist oder nicht)

      Nutze zur Zeit immer den exec block um kleine sh datein, wie die oben auszuführen und damit den AVR zu bedienen, klappt zwar wunderbar ist aber bestimmt unnötig kompliziert, muss ja für jeden neuen Steuerbefehl eine neue sh datei anlegen …

            POWER_ON="PO"
            POWER_OFF="PF"
         POWER_QUERY="?P"
         POWER_ONSTATE="PWR0"
         POWER_OFFSTATE="PWR1"
      

      ihr merkt schon, ich hab nur bedingt eine Ahnung, was ich da mache … :lol:

      Vielen Dank und Grüße.

      1 Reply Last reply Reply Quote 0
      • M
        mariohbs last edited by

        Moin,

        relativ einfach. Du machst einen Block "Exec" und aktivierst die Option "mit Ergebnissen". Dann bekommst du nach Ausführung die Variable "error" und "result". Beide Blöcke sind unter den Variablen zu finden. Mit diesen Blöcken kannst du nun das Ergebnis verarbeiten. Der Result Block enthält die Text-Ausgabe der Shell und deinen Wert kannst du dir dann z.B. über die Text-Funktionen raussplitten. Könnte z.B. mit "suche erstes Auftreten von PWR" gehen.

        Ich nutze das z.B. um die Ping Zeit im Netzwerk zu bestimmen und in Blockly weiter zu verarbeiten.

        Ob das mit den SH Dateien sinnvoll ist kann ich nicht sagen, bin weder in Java noch im Raspi so fit, dass ich da andere / schnellere Lösungen kennen würde. Die Befehle für den Exec baue ich mir aber auch im Blockly - sprich habe keine SH Dateien am start.

        Gruß

        Mario

        1 Reply Last reply Reply Quote 1
        • N
          NyanCat last edited by

          Ah 😮 die Variablen sind mir vorher nie aufgefallen. Vielen Dank, war genau das was ich gesucht habe. Meinst ich kann die obige Funktion auch mit blockly nachbauen?

          Grüße

          1 Reply Last reply Reply Quote 0
          • M
            mariohbs last edited by

            Ich würde es einfach mal probieren. Also ich mache mit Exec befehlen z.B. den Connect zum HM Gateway und rebootet das z.B. bei Bedarf.

            1 Reply Last reply Reply Quote 0
            • N
              NyanCat last edited by

              so bin nun zuhause und wollte das mal ausprobieren,

              @mariohbs:

              Du machst einen Block "Exec" und aktivierst die Option "mit Ergebnissen". Dann bekommst du nach Ausführung die Variable "error" und "result". `

              aber leider finde ich keine neuen variablen 😞
              4250_exec_test.jpg

              1 Reply Last reply Reply Quote 0
              • M
                mariohbs last edited by

                @NyanCat:

                aber leider finde ich keine neuen variablen 😞 `

                Mhm…. seltsam. Also bei mir kommt da der Block "error" und "result" zum Vorschein, den mann dann normal verarbeiten kann.
                2093_blockly-netzwerk.jpg

                Hast du mal geschaut, ob in der Java Script Instanz auch der Haken bei "Erlaube das Kommando "exec":" gesetzt ist?

                Gruß

                Mario

                1 Reply Last reply Reply Quote 0
                • N
                  NyanCat last edited by

                  @mariohbs:

                  Hast du mal geschaut, ob in der Java Script Instanz auch der Haken bei "Erlaube das Kommando "exec":" gesetzt ist? `

                  Hi, sorry für die späte Antwort. War nicht im Lande.

                  Ja das hab ich direkt als erstes. Ist natürlich aktiviert.

                  Bin daher auch etwas ratlos 😞

                  1 Reply Last reply Reply Quote 0
                  • M
                    mariohbs last edited by

                    Dann gehen mir leider auch die Ideen aus 😞

                    Vielleicht versuchst du es mal mit einem direkten Befehl - so wie bei mir mit Ping - ob dann ein Ergebnis kommt?

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @NyanCat:

                      so bin nun zuhause und wollte das mal ausprobieren,

                      @mariohbs:

                      Du machst einen Block "Exec" und aktivierst die Option "mit Ergebnissen". Dann bekommst du nach Ausführung die Variable "error" und "result". `

                      aber leider finde ich keine neuen variablen 😞 `
                      Dafür braucht man kleinen Trick.

                      Erst muss die Variable mit dem Namen "result" erzeugt werden und dann kann man die im Ergebnis abfragen:
                      48_2018-03-15_13_58_58-iobroker.admin.png

                      1 Reply Last reply Reply Quote 3
                      • wendy2702
                        wendy2702 last edited by

                        Nur mal so…

                        ist das kein AVR für den es einen fertigen Adapter gibt?

                        1 Reply Last reply Reply Quote 0
                        • N
                          NyanCat last edited by

                          @wendy2702:

                          Nur mal so…

                          ist das kein AVR für den es einen fertigen Adapter gibt? `

                          hmm das müsste ich nochmal checken. Ist ein Pioneer VSX921.

                          @Bluefox:

                          Dafür braucht man kleinen Trick.

                          Erst muss die Variable mit dem Namen "result" erzeugt werden und dann kann man die im Ergebnis abfragen: `

                          vielen Dank, das war die Lösung

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          730
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          4
                          11
                          6862
                          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