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.
    • S
      smarteshome2020 @Homoran last edited by

      @Homoran, leider sehe ich keine Werte. Ich schaue ins LOG vom iobroker. Muss ich evtl. noch woanders schauen? Deinen anderen Hinweis prüfe ich gerade noch

      javascript.0 2021-01-02 18:45:15.692 info (23866) script.js.common.Dieselpreisalarm: Telegram wird initiert
      javascript.0 2021-01-02 18:45:15.689 info (23866) script.js.common.Dieselpreisalarm: Änderung erkannt

      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:

        leider sehe ich keine Werte

        die müsstest du dann noch in die debug-Bausteine einbauen, so wie du es in der Message machst.

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

          @Homoran, Danke. Mit der Änderung auf "Wert von Objekt" geht es.

          e4db8a0f-d127-40a4-b9a2-a77410970391-image.png

          Zwei Fragen hätte ich aber noch.

          1. trotz "Debug" sehe ich keine Werte im Log
          2. Wenn ich per text2command bzw Telegram z.B. 1.20 schicke wird nur 1.2 in die Variable geschrieben. Ist nur eine Schönheitskorrektur 🙂
          Homoran 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @smarteshome2020 last edited by

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

            trotz "Debug" sehe ich keine Werte im Log

            du hast in deinen debug-Bausteinen ja auch keine Werte definiert

            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:

              trotz "Debug" sehe ich keine Werte im Log

              du hast in deinen debug-Bausteinen ja auch keine Werte definiert, in der telegram-Message schon.
              Kopier doch einfach die Message und klinke sie in den debug Baustein ein

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

                @Homoran, Danke läuft.

                10d0b8ad-f0b0-48e4-9630-4f270b12fb1e-image.png

                Sehe jetzt im LOG die Werte:

                javascript.0 2021-01-02 19:36:46.588 info (23866) script.js.common.Dieselpreisalarm: Benzinpreisinformation:1.08, Limit steht bei: 1.1
                javascript.0 2021-01-02 19:36:46.586 info (23866) script.js.common.Dieselpreisalarm: Änderung erkannt
                javascript.0 2021-01-02 19:36:35.281 info (23866) script.js.common.Dieselpreisalarm: registered 1 subscription and 0 schedules
                javascript.0 2021-01-02 19:36:35.241 info (23866) Start javascript script.js.common.Dieselpreisalarm
                javascript.0 2021-01-02 19:36:35.215 info (23866) Stop script script.js.common.Dieselpreisalarm

                Hast du noch eine Tipp für mich warum die Variable bei einer Zahl mit Endung=0 nur zweistellig beschrieben wird? z.B. 1.10, 1.20 usw.

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

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

                  Sehe jetzt im LOG die Werte:

                  und wenn du damals den Wert aus deinem falls genommen hättest, hättest du nicht 1.1 sondern die ID des DPs erhalten.

                  Deswegen sind sinnvoll eingerichtete debug-Blöcke bei der Suche nach Fehlern Gold wert!

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

                  Hast du noch eine Tipp für mich warum die Variable bei einer Zahl mit Endung=0 nur zweistellig beschrieben wird? z.B. 1.10, 1.20 usw.

                  erstens ist es keine Variable sondern der Wert eines Datenpunkts
                  zweitens: kannst du mir den mathematischen Unterschied zwischen 1.1 und 1.10 erklären?

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

                    @Homoran sagte in

                    zweitens: kannst du mir den mathematischen Unterschied zwischen 1.1 und 1.10 erklären?

                    Hi, es ist nur ein "Schönheitsfehler" da mir bei der Abfrage bzw Telegrammeldung 1.1€ und nicht 1.10€ ausgegeben wird. Mathematisch natürlich kein Unterschied 🙂

                    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:

                      bei der Abfrage bzw Telegrammeldung 1.1€ und nicht 1.10€ ausgegeben wird.

                      dann nimm doch den Block "runden auf 2 Nachkommastellen" vor "Wert von Benzinlimit"

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

                        @Homoran sagte:

                        Block "runden auf 2 Nachkommastellen"

                        Der verkürzt nur auf 2 Nachkommastellen, denn das Ergebnis ist eine Zahl.

                        Homoran S 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @paul53 last edited by Homoran

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

                          Der verkürzt nur auf 2 Nachkommastellen, denn das Ergebnis ist eine Zahl.

                          Ich war mir ziemlich sicher, dass ich damit auch schon eine weitere 0 dranhängen konnte.
                          Muss ich mich wohl irren 😞

                          EDIT:
                          Vielleicht war das auch in einem number Widget in vis

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

                            @Homoran sagte:

                            damit auch schon eine weitere 0 dranhängen

                            Nein, das geht nur bei Wandlung in einen String: Zahl.toFixed(2)

                            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:

                              @Homoran sagte:

                              damit auch schon eine weitere 0 dranhängen

                              Nein, das geht nur bei Wandlung in einen String: Zahl.toFixed(2)

                              Dann muss hier bei Blockly in Text gewandelt werden und über eine Zeichenverkettung eie 0 angehängt werden?

                              Ich glaube das ist ein wenig oversized 😉

                              paul53 1 Reply Last reply Reply Quote 0
                              • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            860
                                            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