Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Hilfe bei erstem Script - Blockly

    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

    Hilfe bei erstem Script - Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • O
      Ondas[tm] last edited by

      Hallo zusammen,
      auf lange Sicht gesehen möchte ich die "Intelligenz" von meiner CCU auf einen ioBroker verlagern. Dazu wollte ich mit einfachen Scripten zum Testen anfangen, stehe aber direkt ziemlich auf dem Schlauch:
      Die Anforderungen:
      Eine tplink hs110 soll nach einer bestimmten Zeit nach dem Einschalten ausgehen. Das geht. Wenn ich die Steckdose wieder einschalte, geht sie direkt wieder aus. Wenn ich etwas länger warte, dann scheint es zu gehen.
      Ist das normal?
      So sieht mein Script aus:
      5e3578f8-0858-4d69-9f9d-fe2829ac16c6-image.png

      Eigentlich soll man die Steckdose wieder einschalten können.
      Bin für alle Anregungen dankbar. (Auch genereller Art).
      Grüße
      Ralf

      1 Reply Last reply Reply Quote 0
      • BBTown
        BBTown last edited by

        versuche es mal so
        1d0af42c-3868-456f-b744-34d7c4a87a72-image.png

        1 Reply Last reply Reply Quote 0
        • O
          Ondas[tm] last edited by

          ich sag's ungern, aber das läuft gar nicht
          64a5c016-44d3-409a-9951-a7c31e33e75d-image.png
          vielleicht liegt der Fehler auch woanders?
          54aede13-68a8-4fbb-bcd9-504ca99f89fc-image.png

          BBTown paul53 2 Replies Last reply Reply Quote 0
          • BBTown
            BBTown @Ondas[tm] last edited by BBTown

            @Ondas-tm
            Das ist ein derart einfaches Script, das kann gar nicht "nicht-laufen" 😉

            "Wenn der Datenpunkt "Bügeleisen" den Status "wahr" signalisiert, stoppe bereits laufende Ausschalttimer und starte einen neuen Ausschalttimer in x-Minuten"

            Somit wird immer x-Minuten nach der letzten Erkennung von "wahr" das Buegeleisen ausgeschaltet. Dies wird auch verwendet wenn bspw ein Bewegungsmelder bei fortwährender Bewegung ein Licht nicht einfach x-Minuten nach der ersten. sondern x-Minuten nach der letzten Bewegung ausschalten soll.

            Zeige doch mal einen Screenshot deines Datenpunktes "Buegeleisen"

            1 Reply Last reply Reply Quote 0
            • O
              Ondas[tm] last edited by

              Dann denke ich, habe ich den Fehler gefunden:
              "Somit wird immer x-Minuten nach der letzten Erkennung von "wahr" das Buegeleisen ausgeschaltet. " Der Datenpunkt wird alle regelmäßig aktualisiert, bedeutet also nach meinem Verständnis, dass der Timer immer neu getriggert wird.
              5a514cf6-6246-4ae9-9f31-70ca5fd6277a-image.png

              Und nun?
              Eigentlich ist das ja bis jetzt nur Spielerei und "Einführung" zum Verständnis der Logik von ioBroker, im Endergebnis will ich das Bügeleisen abschalten, wenn er zu lange an war (Strom verbraucht hat) unabhängig vom Schalter.
              Aber einen Schritt nach dem anderen...

              Z BBTown 2 Replies Last reply Reply Quote 0
              • Z
                zahnheinrich @Ondas[tm] last edited by

                @Ondas-tm
                Grundsätzlich sollten alle Skripte unterhalb common liegen, nicht darüber wie bei Dir.

                BBTown R 2 Replies Last reply Reply Quote 0
                • BBTown
                  BBTown @zahnheinrich last edited by

                  @zahnheinrich sagte in Hilfe bei erstem Script - Blockly:

                  @Ondas-tm
                  Grundsätzlich sollten alle Skripte unterhalb common liegen, nicht darüber wie bei Dir.

                  ... oder in eigenen Verzeichnissen.

                  1 Reply Last reply Reply Quote 0
                  • BBTown
                    BBTown @Ondas[tm] last edited by

                    @Ondas-tm
                    dann solltest Du einmal vollständig ausformulieren was Du zu welchem Zeitpunkt erreichen willst wenn die Steckdose in welchem Zustand ist und wenn jemand zusätzlich eingreift.

                    Dein Beispielscript im ersten Beitrag macht im Gegenzug zu meinem Beispiel definitiv nach 3 Minuten das Bügeleisen aus, nachdem das erste mal ein Einschalten registriert wurde ... ganz gleich was zwischendurch noch so gemacht wurde, wird der timer gnadenlos abgearbeitet und so nach 3 Minuten ein Ausschaltsignal gesendet.

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Ondas[tm] last edited by paul53

                      @Ondas-tm sagte:

                      ich sag's ungern, aber das läuft gar nicht

                      Das ist dann der Fall, wenn der Datenpunkt zyklisch (< 3 Minuten) aktualisiert wird. Dann wird der Timer immer wieder gestoppt, bevor er ablaufen konnte und neu gestartet. Folgende Aussage deutet auch darauf hin, dass mehrere Timer laufen, weil mehrmals getriggert wird:
                      @Ondas-tm sagte in Hilfe bei erstem Script - Blockly:

                      Wenn ich die Steckdose wieder einschalte, geht sie direkt wieder aus. Wenn ich etwas länger warte, dann scheint es zu gehen.

                      Versuche es mal so:

                      Blockly_temp.JPG

                      Wert und Objekt ID sind Eigenschaften des Trigger-Datenpunktes.

                      1 Reply Last reply Reply Quote 0
                      • R
                        RappiRN Most Active @zahnheinrich last edited by

                        @zahnheinrich sagte in Hilfe bei erstem Script - Blockly:

                        @Ondas-tm
                        Grundsätzlich sollten alle Skripte unterhalb common liegen, nicht darüber wie bei Dir.

                        Das ist Quatsch, Scripte müssen nicht in einem Ordner liegen um zu funktionieren, sie dürfen aber natürlich in Ordnern sortiert werden, das hilft ungemein.
                        Der "global"-Ordner ist dabei noch gesondert zu betrachten, das kann ich aber nicht genauer beschreiben, wegen zu weniger Kenntnisse. 🙄

                        Enrico

                        FredF 1 Reply Last reply Reply Quote 0
                        • FredF
                          FredF Most Active Forum Testing @RappiRN last edited by

                          @RappiRN sagte in Hilfe bei erstem Script - Blockly:

                          Der "global"-Ordner ist dabei noch gesondert zu betrachten, das kann ich aber nicht genauer beschreiben,

                          Im globalen Ordner können/sollen keine Blockly Skripte gespeichert werden.
                          Alle Skripte in dem globalen Ordner werden immer vor allen anderen Skipten ausgeführt. Deswegen sollte hier besonders sorgsam vorgegangen werden.

                          paul53 1 Reply Last reply Reply Quote 1
                          • paul53
                            paul53 @FredF last edited by

                            @FredF sagte:

                            Alle Skripte in dem globalen Ordner werden immer vor allen anderen Skipten ausgeführt.

                            Korrektur: Alle Skripte in dem globalen Ordner werden in alle anderen (nicht globalen) Skripte kopiert und dort ausgeführt. Skripte im globalen Ordner sollten nur häufig verwendete eigene Funktionen enthalten, die aus den anderen Skripten aufgerufen werden.

                            1 Reply Last reply Reply Quote 2
                            • O
                              Ondas[tm] last edited by Ondas[tm]

                              Cool, vielen Dank für die Infos & sorry, dass ich mich jetzt erst wieder melde.
                              Macht, glaube ich, eh Sinn diverse Ordner anzulegen, um den Überblick zu behalten.

                              @BBTown : Ich bin hier am Lernen, einen Schritt nach dem anderen. Aktuell habe ich hier eine HS110 die nach einem bestimmten Zeitraum x nach dem Einschalten wieder ausgehen soll und nach erneutem Einschalten nach gleichem Zeitraum wieder ausgehen soll. Das wird eine Sicherheitsschaltung fürs Bügeleisen. Allerdings ist das sofortige Wiederausschalten ein Problem, das wird nicht zur Akzeptanz führen.

                              Im nächsten Schritt will ich den Verbrauch vom Bügeleisen mitschneiden und nach einer gewissen Zeit das Ding ausmachen, unabhängig davon, ob die Dose vorher an und aus war. Das erscheint mir deutlich sinnvoller als Version 1 😉

                              Und als 3. Schritt soll dann noch eine PushoverNachricht kommen: "Sicherheitsschaltung Bügeleisen" oder so. Ebenso soll noch eine anwesenheitsgesteuerte Nachricht kommen...

                              Die Verbrauchskurve sieht gerade so aus:
                              9575fd66-b767-45ac-a186-df103c013662-image.png

                              Ja, ich habe Angst, dass die Bude abfackelt....
                              Ralf

                              1 Reply Last reply Reply Quote 0
                              • Wal
                                Wal Developer last edited by Wal

                                102134.jpg
                                Schritt1: So kannst du auch nachtriggern, falls du länger als 3min bügeln möchtest.

                                edit: upps, es geht ja noch einfacher.
                                03830.jpg

                                editedit: dein skript ganz oben geht auch, wenn du den haken bei "löschen falls läuft" machst 🙂

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                803
                                Online

                                31.9k
                                Users

                                80.3k
                                Topics

                                1.3m
                                Posts

                                7
                                14
                                843
                                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