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 in Verbindung mit einer "dynamischen" Vari. [gelöst]

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly in Verbindung mit einer "dynamischen" Vari. [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Homoran last edited by

      @Homoran sagte:

      über eine Zeichenverkettung eie 0 angehängt werden?

      Ich würde eine einfache Javascript-Funktion verwenden, die auch rundet:

      return zahl.toFixed(stellen);
      

      Blockly_temp.JPG

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @paul53 last edited by

        @paul53 sagte in Blockly in Verbindung mit einer "dynamischen" Variable:

        Ich würde eine einfache Javascript-Funktion verwenden, die auch rundet:

        War mir klar 🙂

        während ich auf absenden ging

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

          @paul53 @Homoran Das geht leider nicht da ich mit text2command die Variable abfrage bzw beim setzen eine Quittung bekomme.
          Ich verstehe aber nicht wirklich wo die "0" verloren geht denn wenn ich die Zahl über den Browser eintrage geht es, nur wenn die 1.10 über Telegram setze geht die "0" verloren und es steht 1.1 drin.

          text2Command, Bei der Quittung des Wertes fehlt bereits die "0".

          26259a30-7db1-4666-b7c4-3209c86c4527-image.png

          Quittung:
          text2command.0 2021-01-03 17:47:13.110 info (507) Response: 1.1 € wurde als Limit gesetzt

          Ich vermute das es sich evtl mehr um ein text2command Thema handelt.

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

            @smarteshome2020 sagte:

            Das geht leider nicht da ich mit text2command

            Die Wandlung in einen String mit 2 Nachkommastellen macht auch nur bei der Telegram-Meldung Sinn.

            Blockly_temp.JPG

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

              @paul53 ich kann leider den Ansatz nicht ganz nachvollziehen.
              text2command schreibt (bis jetzt) direkt in die Variable. Soll ich jetzt text2command so umstellen das es in ein Blockly script schreibt welches dann wiederum mit "2" Nachkommastellen in die Variable schreibt?

              Ich wüsste nämlich nicht wie ich die Antwort/Quittung von text2command über Blockly modifizieren kann.

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

                @smarteshome2020 sagte:

                text2command schreibt (bis jetzt) direkt in die Variable.

                Hat text2command etwas mit telegram zu tun (ich nutze beides nicht, deshalb frage ich) ?

                Verwende bitte den Begriff Datenpunkt und nicht Variable, denn Variablen sind etwas anderes.

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

                  @paul53 Ich schicke per Telegram Befehle/Abfragen an iobroker bzw. den Telegram Adapter. Im Telegram Adapter ist die text2command Instanz hinterlegt.

                  3b5f0573-b580-41a6-9c6c-7e6b522f6ab4-image.png

                  Im text2command kann ich nun Aktionen für "Schlüssel-Wörter" hinterlegen. Mit "Benzinlimit" schreibe ich den empfangenen Wert in einen Datenpunkt. Oder z.B. "Blitz" frage ich die Temperatur des Blitz-Zigbee Sensor ab usw.

                  2bb5eed1-bee6-4a12-9b78-e0ee6a242633-image.png

                  Über JS Scripte habe ich auch ein Übersicht-Menü für Telegram erstellt. Ist eigentlich richtig cool und eine "einfache" Möglichkeit etwas von extern zu schalten oder abzufragen.

                  z.B.

                  text2command "Schlüsselwort" = Übersicht
                  text2command ruft dann {javascript.0.scriptEnabled.common.Telegram_Buttons} auf

                  script:

                  sendTo('telegram.0', {
                  text: 'Willkommen in der Übersicht, wähle eine Aktion:',
                  reply_markup: {
                  keyboard: [
                  ['Übersicht', 'Extras'],
                  ['Licht1 EIN', 'Licht1 AUS'],
                  ['Licht2 EIN', 'Licht2 AUS'],
                  ['Blitz', 'Sonoff','Netamo'],
                  ['Anwesend','Dieselpreis']
                  ],
                  resize_keyboard: true,
                  one_time_keyboard: true
                  }
                  });

                  paul53 Homoran 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @smarteshome2020 last edited by

                    @smarteshome2020 sagte:

                    Im Telegram Adapter ist die text2command Instanz hinterlegt.

                    Danke für die Erklärung. Dann haben beide etwas miteinander zu tun.

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @smarteshome2020 last edited by

                      @smarteshome2020
                      @paul53

                      Nein, text2command bleibt
                      damit trägst du den Wert in den Datenpunkt ein. Bei 1.10 wird durch den Typ Number da eine 1.1 draus

                      In dem Textbaustein für Telgram musst du dann die 0 wieder dranhängen, so wie @paul53 es gezeigt hat

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        smarteshome2020 @Homoran last edited by

                        @Homoran ich habe aber gar keinen Textbaustein. Der Text wird durch text2command selber zusammengebaut.

                        {tankerkoenig.0.stations.cheapest.diesel.short}€, Wo: {tankerkoenig.0.stations.cheapest.diesel.name}, Alarmlimit: {javascript.0.variables.Benzinlimit}€

                        c7b537be-f913-4e58-828c-48f8990c50ac-image.png

                        Blockly hat da gar nicht mehr die Finger im Spiel. 😞
                        Ich versuche mal ob ich Blockly irgendwie zum erzeugen der Bestätigung einbauen kann.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @smarteshome2020 last edited by

                          @smarteshome2020 sagte in Blockly in Verbindung mit einer "dynamischen" Variable:

                          ich habe aber gar keinen Textbaustein.

                          Was ist denn "erstelle Text aus"?

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            smarteshome2020 @Homoran last edited by

                            @Homoran zum besseren Verständnis hätte ich die beiden Themen eigentlich trennen müssen.

                            • Beim ursprünglichen Problem mit der Verwendung eines Datenpunktes (Variable darf ich nicht mehr sagen) hast du mir super geholfen da ich den Wert von Objekt im Blockly falsch hatte. Bei dieser Nachricht kann ich auch über Blockly die Kommastelle korrigieren.

                            Jetzt hatte ich aber das Thema der Darstellung über text2command noch mit rein gebracht. Hier schreibt text2command einen eigenen "Bestätigungstext". Wie oben zu sehen, sind die Möglichkeiten begrenzt. Es geht "Freitext", {Objekt} und %s und %u. Ich habe der einfachhalber mich auf das Objekt {javascript.0.variables.Benzinlimit} bezogen. Da dort aber 1.1 steht erscheint dies auch im Bestätigungtext von text2command und somit als Text bei Telegram. Ich hatte gehofft das der Datenpunkt vom Typ = Zahl irgendwie zweistellig nach dem Komma definiert werden kann, dem scheint aber nicht so.
                            Ich werde jetzt auch mal versuchen den Bestätigungstext per Blockly bauen zu lassen, aber irgendwie ist das doch mit Kanonen auf Spatzen geschossen.

                            Aber lassen wir es auf sich beruhen. Ich setzt einfach 1.11 als Limit und niemals 1.x0 🙂

                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @smarteshome2020 last edited by

                              @smarteshome2020 sagte in Blockly in Verbindung mit einer "dynamischen" Variable:

                              Jetzt hatte ich aber das Thema der Darstellung über text2command noch mit rein gebracht.

                              geht es nicht um diesen grünen Block?
                              Bild Text

                              Da kannst du die Formatierung von @paul53 integrieren

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                smarteshome2020 @Homoran last edited by

                                @Homoran ja und nein 🙂
                                Wenn es um die Logik geht einen Alarm beim unterschreiten des Datenpunkt zu bekommen, dann greift genau dieses Blocklyskript. In der Folge der Diskussion ging es um das setzten der "Zahl" für den Datenpunkt "Benzinlimit". Hier kommt text2command zum Einsatz und hat eine eigene Quittungsfunktion (Bestätigungstext). in der ich auf {Objekte} verweisen kann. Als Objekt habe ich hier im Moment noch den Datenpunkt "Benzinlimit" direkt angegeben, könnte aber natürlich auch ein Skript hinterlegen. Das habe ich aber noch nicht gemacht da es mir doch sehr aufwendig erscheint. Immerhin geht es nur um die Anzeige wenn das Limit auf 1.00, 1.10, 1.20, 1.30 steht. 🙂 PS. Einen Dieselpreis von 0,90 erwarte ich mal auf lange Zeit nicht mehr.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                880
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                blockly
                                3
                                30
                                1456
                                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