Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Globale (JS) Funktionen (Einschaltdauer berechnen)

    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

    Globale (JS) Funktionen (Einschaltdauer berechnen)

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

      @D-VE sagte:

      Man kann also mit Blockly JS-Funktionen aufrufen?

      Beispiel: Ich habe ein Script unter global, das die Funktion runden(val, digits) enthält. Diese Funktion kann per Blockly-JS-Funktion aufgerufen werden.

      Blockly_temp.JPG

      Inhalt der JS-Funktion runde(wert, stellen):

      return runden(wert, stellen);
      

      Warnung: Globale Skripte werden in jedes andere (nicht globale) Skript kopiert ! Deshalb sollten globale Skripte nur häufig verwendete eigene Funktionen enthalten.

      D.VE 1 Reply Last reply Reply Quote 0
      • D.VE
        D.VE @paul53 last edited by

        @paul53

        Thx...

        Wo ist mein Fehler? Die Funktion wird nicht aufgerufen. Im Log steht auch kein Fehler

        d49a8c38-7e2d-4328-b642-2380ab6f8eae-grafik.png

        2a583644-5391-471c-8e82-9f8c36a978bf-grafik.png

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @D.VE last edited by

          @D-VE sagte:

          Wo ist mein Fehler? Die Funktion wird nicht aufgerufen.

          Die Blockly-JS-Funktion hat den gleichen Namen wie die globale Funktion ?

          D.VE 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @D.VE last edited by paul53

            @D-VE sagte:

            Einschaltdauer berechnen

            Eine Startzeit muss man sich nicht in einem Datenpunkt merken, denn die stellt der Datenpunkt des Aktors zur Verfügung, wenn er als Trigger verwendet wird:

            • "letzte Änderung" während der Aktor ein ist
            • "vorherige letzte Änderung", wenn der Aktor aus ist
            1 Reply Last reply Reply Quote 0
            • D.VE
              D.VE @paul53 last edited by

              @paul53 said in Globale (JS) Funktionen (Einschaltdauer berechnen):

              Die Blockly-JS-Funktion hat den gleichen Namen wie die globale Funktion ?

              Ja... Siehe Screenshot

              @paul53 said in Globale (JS) Funktionen (Einschaltdauer berechnen):

              Eine Startzeit muss man sich nicht in einem Datenpunkt merken, denn die stellt der Datenpunkt des Aktors zur Verfügung, wenn er als Trigger verwendet wird:

              Das ist kein SmartDevice, sondern eine 15 Jahre alte Spülmaschine die ich über den Shelly tracke. Wenn der Stromverbrauch unter 3 Watt liegt, ist sie aus (Standby) und wenn darüber sollte der Startzeitpunkt gesetzt werden.

              lg, Dave

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @D.VE last edited by

                @D-VE sagte:

                Ja... Siehe Screenshot

                Das wird das Problem sein. Verwende unterschiedliche Namen.

                D.VE 1 Reply Last reply Reply Quote 0
                • D.VE
                  D.VE @paul53 last edited by

                  @paul53 said in Globale (JS) Funktionen (Einschaltdauer berechnen):

                  Das wird das Problem sein. Verwende unterschiedliche Namen.

                  Verstehe ich nicht... Wie soll er denn sonst wissen, welche JS Funktion ich aufrufen will???

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @D.VE last edited by paul53

                    @D-VE sagte:

                    Wie soll er denn sonst wissen, welche JS Funktion ich aufrufen will???

                    Bei gleichen Namen für die globale Funktion und die Blockly-JS-Funktion wird nicht die globale Funktion aus der JS-Funktion aufgerufen, sondern man erzeugt eine Endlosschleife.

                    D.VE 1 Reply Last reply Reply Quote 0
                    • D.VE
                      D.VE @paul53 last edited by D.VE

                      @paul53

                      Ich glaube, ich hab da etwas missverstanden...

                      Wie rufe ich die globale JavaScript-Funktion setStartTime() im Blockly korrekt auf?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @D.VE last edited by paul53

                        @D-VE sagte:

                        Wie rufe ich die globale JavaScript-Funktion setStartTime() im Blockly korrekt auf?

                        Es genügt, im Namen der Blockly-JS-Funktion, einen Buchstaben zu ändern, z.B.

                        Blockly_temp.JPG

                        Inhalt:

                        setStartTime(deviceStr); // Aufruf der globalen Funktion
                        
                        D.VE 1 Reply Last reply Reply Quote 0
                        • D.VE
                          D.VE @paul53 last edited by

                          @paul53

                          Ah... Jetzt hab ich das erst kapiert, dass man die JS Funktion nicht direkt aufrufen kann, sondern über einen Blockly Wrapper... Das war das fehlender Puzzlestück

                          Vielen dank

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          868
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          blockly javascript
                          3
                          15
                          866
                          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