Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript läuft zu schnell durch ....

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Skript läuft zu schnell durch ....

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

      Hey, ich bin noch etwas neu in der ganzen Materie, habe aber nur mal probiert mein erstes Skript selber anzufertigen...
      Hier habe ich nur ein Problem: Bild_2023-04-11_183312581.png
      Ich möchte herausfinden ob der Stecker Leistung zieht oder eben nicht und daran erkennen, ob mein Luftentfeuchter voll ist oder eine andere Störung hat.
      Die Datenabfrage mit Tuya dauert immer so locker 20sec. bis sich der Wert der Leistung aktualisiert. Nun habe ich deswegen eine Pause eingebaut, damit sich eben genau dieser Wert aufbauen kann. Das Problem ist, ich bekomme schon vor Ablauf der einen Minute eine Nachricht auf mein Handy.... Ich verstehe leider nicht warum..

      crunchip paul53 F 3 Replies Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @Freemy last edited by

        @freemy sagte in Skript läuft zu schnell durch ....:

        Die Datenabfrage mit Tuya dauert immer so locker 20sec. bis sich der Wert der Leistung aktualisiert

        spielt ja keine Rolle, dein Trigger ist aber auf Wertänderung deines switch, wenn der immer auf true steht passiert da nix

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

          @freemy sagte: herausfinden ob der Stecker Leistung zieht

          Wenn auf eine Veränderung der Leistung reagiert werden soll, muss die Leistung als Trigger dienen.
          Was für ein Datenpunkt ist "switch_1"? Wenn er den Schaltzustand repräsentiert, ist erstaunlich, dass überhaupt getriggert wird - außer beim Schalten von "switch_1".

          Versuche es mal so:

          Blockly_temp.JPG

          Anmerkung: "stop timeout" und "Verzögerung timeout" stehen erst zur Verfügung nachdem "Ausführen timeout" in das Programm eingefügt wurde.

          F 1 Reply Last reply Reply Quote 0
          • F
            Freemy @crunchip last edited by

            @crunchip Es soll ja so sein, dass sich der Switch einschaltet (smarte Steckdose vorm Luftentfeuchter) und erst wenn diese "Ein" ist wird ja erkannt, ob der Luftentfeuchter läuft oder eben nicht, deswegen hatte ich den als Trigger ...

            crunchip paul53 2 Replies Last reply Reply Quote 0
            • crunchip
              crunchip Forum Testing Most Active @Freemy last edited by

              @freemy les nochmal meine Antwort, bzw Pauls`s

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

                @freemy sagte: erst wenn diese "Ein" ist wird ja erkannt, ob der Luftentfeuchter läuft

                Genau eine Minute nach dem Einschalten des Switch wird die Leistung geprüft, danach nicht mehr. Deshalb muss die Leistung der Trigger-Datenpunkt sein.

                Zarello 1 Reply Last reply Reply Quote 0
                • F
                  Freemy @paul53 last edited by

                  @paul53 könntest du mir den sonst nicht Schritt nochmal aufschlüsseln??

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

                    @freemy sagte: sonst nicht Schritt nochmal aufschlüsseln??

                    sonst: Wenn Leistung <= 5 UND Switch ist ein UND Timeout ist noch nicht gestartet
                    dann starte Timeout (Verzögerung um 1 Minute)

                    F 2 Replies Last reply Reply Quote 0
                    • F
                      Freemy @paul53 last edited by

                      @paul53 vielen dank!

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

                        @paul53 sagte in Skript läuft zu schnell durch ....:

                        @freemy sagte: erst wenn diese "Ein" ist wird ja erkannt, ob der Luftentfeuchter läuft

                        Genau eine Minute nach dem Einschalten des Switch wird die Leistung geprüft, danach nicht mehr. Deshalb muss die Leistung der Trigger-Datenpunkt sein.

                        Das funktioniert allerdings nur, wenn nach dem Einschalten des Geräts sich die Leistung auch dann ändert, wenn das Gerät nicht startet sondern einen Fehler hat.

                        Ich würde es so probieren:

                        bbaa29c4-9a3f-4aee-bb08-b1ada16df139-grafik.png

                        Edit: Noch eine kleine Korrektur im Skript, damit der Timeout gestoppt wird, falls vor Ablauf der Minute die Steckdose wieder ausgeschaltet werden sollte.

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

                          @zarello sagte: Das funktioniert allerdings nur, wenn nach dem Einschalten des Geräts sich die Leistung auch dann ändert, wenn das Gerät nicht startet sondern einen Fehler hat.

                          Wenn das Gerät beim Einschalten per "Switch" einen Fehler hat, wird es eine nicht konstante Leistung < 5 W aufnehmen.

                          1 Reply Last reply Reply Quote 0
                          • F
                            Freemy @Freemy last edited by

                            @freemy eine frage zu meinem nochmal, wieso geht das Ganze nicht mit Pause?

                            Zarello 1 Reply Last reply Reply Quote 0
                            • F
                              Freemy @paul53 last edited by

                              @paul53 aber fehlt dort nicht noch ein = true?

                              Zarello 1 Reply Last reply Reply Quote 0
                              • Zarello
                                Zarello @Freemy last edited by

                                @freemy sagte in Skript läuft zu schnell durch ....:

                                @freemy eine frage zu meinem nochmal, wieso geht das Ganze nicht mit Pause?

                                Da bin ich mir nicht wirklich sicher, aber ich vermute, dass die Pause evtl. durch irgendwelche Signale vorzeitig beendet wird.
                                Du könntest vermutlich statt der Pause einfach einen Timeout verwenden und die Bedingung und Benachrichtigung wie bei Deinem ersten Post innerhalb des Timeout verwenden.
                                Aber bei einem Event-basierten System programmiert man lieber mittels der Trigger.

                                @paul53 sagte in Skript läuft zu schnell durch ....:

                                Wenn das Gerät beim Einschalten per "Switch" einen Fehler hat, wird es eine nicht konstante Leistung < 5 W aufnehmen.

                                Ja, das stimmt, solange die Leistung >= 0.5W bzw. der Wert des Datenpunktes eine Fließkommazahl ist.

                                1 Reply Last reply Reply Quote 0
                                • Zarello
                                  Zarello @Freemy last edited by

                                  @freemy sagte in Skript läuft zu schnell durch ....:

                                  @paul53 aber fehlt dort nicht noch ein = true?

                                  Ein Vergleich liefert Dir einen Wahrheitswert (der ist entweder true oder false). Da der Datenpunkt aber schon ein Wahrheitswert ist, muss der nicht verglichen werden.

                                  Der Wert ist ja ein Platzhalter, der in dem Fall entweder true oder false enthält. Beim Vergleich wird Wert durch seinen Inhalt ersetzt und es steht dort: true = true und das Ergebnis dieses Vergleichs ist wiederum true. Ich hoffe, es wird klar was ich meine.

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    Freemy @Zarello last edited by

                                    @zarello ich habe es nun abgeändert und es passiert nix, wenn eine Störung vorliegt

                                    Zarello 1 Reply Last reply Reply Quote 0
                                    • Zarello
                                      Zarello @Freemy last edited by

                                      @freemy Zeig mal ein Bild von Deinem aktuellen Blockly

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        Freemy @Zarello last edited by

                                        @zarello Bild_2023-04-11_231203242.png
                                        Die zwei habe ich jetzt

                                        Zarello 2 Replies Last reply Reply Quote 0
                                        • Zarello
                                          Zarello @Freemy last edited by

                                          @freemy Hm, okay, aber das ist jetzt etwas ganz anderes als das was ich vorgeschlagen habe.

                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            Freemy @Zarello last edited by

                                            @zarello aber meins mit dem Timeout funktioniert jetzt

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            916
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            22
                                            962
                                            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