Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Statusabfrage per Telegram mit Wandlung von Werten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Statusabfrage per Telegram mit Wandlung von Werten

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

      Hallo,

      ich will per Telegram den Status meiner Fenster abfragen (offen/gekippt/geschlossen).
      Das Blocky Skript dafür konnte ich mir erstellen und ich erhalte auch die Werte wenn ich das Triggerwort an meinen Bot schicke. Mein Problem ist, dass der Status in Zahlen zurückgegeben wird:

      • 0: geschlossen
      • 1: gekippt
      • 2: geöffnet

      Hat jemand einen Tipp für mich wie in dem Skript gleichzeitig eine Umwandlung durchführen (0=geschlossen / 1=gekippt / 2=geöffnet) kann die ich dann zugeschickt bekommen?

      Hier mein aktuelles Skript:

      Statusabfrage.JPG

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @samsungfreak last edited by

        @samsungfreak sagte:

        Umwandlung durchführen (0=geschlossen / 1=gekippt / 2=geöffnet)

        JS-Funktion mit Ergebnis.

        S 1 Reply Last reply Reply Quote 0
        • S
          samsungfreak @paul53 last edited by

          @paul53 Danke dir! Allerdings werde ich daraus nicht so richtig schlau.

          6a4bb2e3-8423-49b5-9c14-cb580c2bde56-grafik.png

          Wie bekommen ich da mit; ID, val rein?
          Bei den drei Punkte habe ich entsprechend das JavaSkript eingefügt:

          • return getObject(id).common.states[val];

          Aber wo trage ich die "Übersetzung" genau ein?
          Ebenfalls finde ich den folgenden Baustein nicht:

          b616c25b-6d22-4737-ba87-673ded0d5a90-grafik.png

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @samsungfreak last edited by paul53

            @samsungfreak sagte:

            Wie bekommen ich da mit; ID, val rein?

            Blockly_temp.JPG

            @samsungfreak sagte in Statusabfrage per Telegram mit Wandlung von Werten:

            Ebenfalls finde ich den folgenden Baustein nicht:

            Nachdem die Funktion erstellt ist, steht sie auch unter "Funktionen" zur Verfügung.

            S 1 Reply Last reply Reply Quote 0
            • S
              samsungfreak @paul53 last edited by

              @paul53 Danke das hat geklappt aber ich komme dann nicht weiter:

              e82a921d-6298-44ce-bc4d-c1716b2317ff-grafik.png

              die Funktion "getStateText mit" kann ich nicht andocken an erstelle Text aus.
              Mir ist jetzt auch noch nicht klar wo genau ich die Übersetzung eintragen kann ((0=geschlossen / 1=gekippt / 2=geöffnet)

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @samsungfreak last edited by

                @samsungfreak sagte:

                die Funktion "getStateText mit" kann ich nicht andocken an erstelle Text aus.

                Du musst auch die JS-Funktion mit Ergebnis verwenden.

                Da deine Werte nicht aus einem Trigger-Datenpunkt kommen, musst Du andere Blöcke zuweisen:

                Blockly_temp.JPG

                S 1 Reply Last reply Reply Quote 0
                • S
                  samsungfreak @paul53 last edited by

                  @paul53 Ah jetzt klappt es fast:

                  d0c3c083-636f-4673-b415-20038a8ee0f0-grafik.png

                  Ich bekomme jetzt als Wert "Closed" da so das Objekt von der HomeMatic beschrieben wird (jetzt verstehe ich auch das JavaSkript). Kann ich da noch einen eigenen Namen reinbringen also, dass dann statt closed "geschlossen" steht usw.?

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @samsungfreak last edited by

                    @samsungfreak sagte:

                    Kann ich da noch einen eigenen Namen reinbringen also, dass dann statt closed "geschlossen" steht usw.?

                    Wenn es mit dieser Funktion verwendet wird, kann man es nur im Datenpunkt-Objekt ändern (RAW-Ansicht).

                        "states": {
                          "0": "geschlossen",
                          "1": "gekippt",
                          "2": "offen"
                        },
                    
                    S 1 Reply Last reply Reply Quote 0
                    • S
                      samsungfreak @paul53 last edited by samsungfreak

                      @paul53 Du meinst den Code einfach 1:1 austauschen wo vorher "return getObject(id).common.states[val];" stand? Das geht leider nicht.

                      84f36f3e-c980-4aa1-802f-06ee4e04c778-grafik.png

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @samsungfreak last edited by paul53

                        @samsungfreak sagte:

                        austauschen wo vorher "return getObject(id).common.states[val];" stand?

                        Nein, nicht in der Funktion, sondern im Datenpunkt-Objekt im Tab "Objekte".
                        Wenn du die Funktion entsprechend ändern möchtest, dann so:

                        if(val == 0) return 'geschlossen';
                        if(val == 1) return 'gekippt';
                        return 'offen';
                        

                        Blockly_temp.JPG

                        Das geht aber auch mit einer Blockly-Funktion mit Ergebnis:

                        Blockly_temp.JPG

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          samsungfreak @paul53 last edited by

                          @paul53

                          Dann mache ich das lieber mit der Blocky Funktion.

                          b2557014-9fed-4126-970c-ed1c48e5ce19-grafik.png

                          So sollte es doch eigentlich dann ausreichen/richtig sein oder? Er macht leider immer wieder oben "getFensterText2" statt "getFensterText".
                          Siehst du einen Fehler?

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @samsungfreak last edited by paul53

                            @samsungfreak sagte:

                            "getFensterText2" statt "getFensterText".

                            Lösche die Javascript-Funktion, wenn es die Blockly-Funktion machen soll. Zwei Funktionen können nicht den gleichen Bezeichner haben.

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              samsungfreak @paul53 last edited by

                              @paul53

                              Das stimmt natürlich! Jetzt funktioniert es wie ich es haben wollte!

                              Vielen Dank!

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              858
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              blockly monitoring
                              2
                              13
                              830
                              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