Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. PING Smartphone WLAN Energiesparmodus berücksichtigen

    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

    PING Smartphone WLAN Energiesparmodus berücksichtigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      AlyxAbyss @mickym last edited by AlyxAbyss

      @mickym Dankeschön. Das hat ein Großteil des Problems lösen können.

      Jetzt bekomme ich bei "false" nicht mehr direkt ne Falschmeldung.
      Bei "true" wird das Script sofort ausgeführt.

      Da ich das Ganze jetzt allerdings ja auch so ausbauen möchte, dass sich beim nachhause kommen die Lichter einschalten, werde ich allerdings wohl bald vor einem anderen Problem stehen:

      Nehmen wir mal an, ich (oder meine Tochter) sitzen zuhause und schauen ein Film und schalten dafür manuell die Lichter aus. Der WLAN Wert springt nun plötzlich wieder fälschlicherweise auf false. Die Lichter bleiben aus, was ja auch gut so ist.

      Aber er springt kurze Zeit später ja wieder auf True und schaltet dann ungewollt die Lichter wieder ein.

      Theoretisch müsste das Script prüfen ob der Wert "false" nur kurzzeitig gesetzt war und das darauffolgende "true" dann nicht direkt nochmal ausführen.

      Bisschen tricky denk ich mal. Aber vielleicht hat ja jemand eine Idee wie man das lösen könnte.

      So sieht mein Script aktuell aus:

      chrome_iF41S1SrtP.jpg

      mickym paul53 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @AlyxAbyss last edited by

        @athomic_arts Ich meine Du kannst das immer weiter so treiben, Du kannst natürlich hinter den Timer im False Ast eine Variable auf false setzen, einen neuen Timer kreieren, der nach Ablauf Deiner Zeit diese Variable wieder auf true setzt und dass dann als Bedingung für Deinen True Ast nehmen.

        Du wirst aber irgendwann in Teufelsküche kommen.

        Ich halte es für sinnvoller (wenn Dein Fernseher zum Beispiel im WLAN) ist oder irgendwelche anderen Dinge, diese in eine Ausnahmeliste - zu bringen, die Deine Automatik einfach deaktiviert. Bei bleiben umgekehrt bestimmte Lichter an, wenn der Fernseher läuft auch wenn in dem Zimmer keine Bewegung registriert wird usw.

        Jedenfalls ist so was leichter logisch zu handeln. Wie gesagt Du kannst es so machen, wie ich am Anfang beschrieben habe, aber ich möchte nicht wissen, wie oft dann Deine Lichter nicht angehen, wenn sie angehen sollen, aber gerade die Überprüfung auf kurz aus, aktiv ist.

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

          @athomic_arts sagte: prüfen ob der Wert "false" nur kurzzeitig gesetzt war

          Bild_2022-01-16_175453.png

          A 1 Reply Last reply Reply Quote 1
          • A
            AlyxAbyss @paul53 last edited by

            @paul53 Hat prima funktioniert. Dankeschön 🙂

            Das Script sieht nun so aus:

            chrome_RVlT1Q0fy6.jpg

            Jetzt habe ich noch einige manuelle Datenpunkte erstellt. Der Wert wird bei der jeweiligen Person auf True gestellt, wenn diese Zuhause ist. Das klappt auch.

            Alex = false
            Paula = true
            Lilo = false
            Amy = false

            Nun erstelle ich ein neues Script.
            Dafür benötige ich einen Trigger der prüft ob eine der jeweiligen Personen zuhause ist. Schließlich sollen sich die Lichter erst abschalten wenn alle Personen auf "false" stehen bzw. sich einschalten wenn einer oder mehr "true" ist.

            Ist bestimmt nicht schwer, aber ich als Anfänger komme nicht drauf wie man das am einfachsten umsetzt.
            Alle Lösungen die mir einfallen, würden zu einem überladenen Skript führen. 😄

            S 1 Reply Last reply Reply Quote 0
            • S
              Schlumpf @AlyxAbyss last edited by

              @alyxabyss

              Hy, denke das du nach so langer Zeit schon eine entsprechende Lösung gefunden hast aber da ich grade erst diesen Beitrag gesehen habe (habe mal ganz dreißt dein Skript kopiert 😄 ) dachte ich schreib mal wie ich das gelöst habe:

              Als erstes habe ich, ähnlich wie du, allen ein eigenes Objekt gegeben (Anwesenheit XX: true/false) welches ich durch mehrere Skripte steuere (Ping, Kamera usw.). Durch diese Objekte werden wiederum andere Skripte gesteuert für die einzelnen Dinge die passieren sollen wenn XX anwesend ist.

              Zusätzlich habe ich zwei allgemeines Objekte: "Status" und "Status manuell". Hier wird (bei "Status"), wenn mindestens eine Person anwesend ist "Zuhause" eingetragen, wenn alle weg sind "Abwesend". Gesteuert durch ein separates Skript, welches sich auf die "Anwesenheit" Objekte bezieht.
              Das Objekt "Status manuell" ist für die Visualisierung gedacht, damit hier eben "manuell" zumindest die allgemeine Anwesenheit/Abwesenheit angeklickt werden kann. Ein Skript wiederum überträgt das auf den normalen "Status".

              Das Skript zum Abfragen der "Anwesenheit" und Eintragung vom "Status" lauf über mehrere ODER-Verknüpfungen und beinhaltet noch Dinge wie Telegram-Nachricht bzgl. "Status" und die Urlaubsmeldung.

              Gruß
              Jan

              S 1 Reply Last reply Reply Quote 1
              • S
                Schlumpf @Schlumpf last edited by

                An alle die Ahnung haben: Würde das in diesem Beispiel nicht auch funktionieren? Ich weiß das hierbei nur eins der Objekte sich ändern muss um den Trigger zu triggern. Würde aber die Abfrage nach dem Wert auch beinhalten das nur eins der Objekte Wahr sein müsste?

                69275817-bf45-4640-b286-2ed901b0b908-grafik.png

                Ist jetzt nur so dahin "geschmiert", daher keine Eintragungen, geht hier nur darum das ihr versteht was ich meine.

                Antwort wäre schön, könnte das durchaus auch in anderen Bereichen einsetzen wenn es so funktioniert.

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

                  @schlumpf sagte: Würde aber die Abfrage nach dem Wert auch beinhalten das nur eins der Objekte Wahr sein müsste?

                  Nein, es muss eine ODER-Verknüpfung aller Werte erfolgen, wenn man erfassen will, dass kein Wert wahr ist. Bei so vielen Datenpunkten verwendet man besser eine Schleife über eine Liste, ähnlich wie hier.

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

                    @paul53

                    Ok, wenn ich das richtig verstehe funktioniert das nicht weil er nicht alle zusammen abfragt sondern jedes einzeln.

                    Das was du geschrieben hast hatte ich mir auch schon angeguckt und versucht nachzubauen, hab es aber nicht hinbekommen. Ich denke das liegt daran, dass, wenn ich es richtig verstanden habe, die Aufzählungen abgefragt werden. Diese nutze ich allerdings nicht, daher scheint es bei mir nicht zu funktionieren.

                    Könnte man sowas nicht auch mit einer Liste oder Änlichem bewerkstellen?

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

                      @schlumpf sagte: Könnte man sowas nicht auch mit einer Liste oder Änlichem bewerkstellen?

                      Bild_2022-04-06_161720959.png

                      S 2 Replies Last reply Reply Quote 0
                      • S
                        Schlumpf @paul53 last edited by

                        @paul53

                        WOW, so einfach? Oh mann!!! 😄

                        Also, ich habe zwar noch nicht ganz verstand "warum" aber es funktioniert!

                        Vielen Dank Paul, du bist der Beste!

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

                          @paul53

                          Hallo Paul, ich schon wieder. 😞

                          Habe versucht das Blockly oben für ein anderes Projekt umzubauen, komme aber grade nicht weiter und hoffe du bist so geduldig und hilfst mir nochmal.

                          Eigentlich wollte ich einfach nur 2 Lampen in vorher über mein VIS zu definierenden Farbein blinken lassen. Soweit so gut, hat eigentlich auch alles soweit funktioniert. Ich habe mir ein Skript geschrieben, welches die Werte aus 4 Benutzerdefinierten Objekten nimmt und sie zu einem Comando für die beiden Hue-Lampen umwandelt und mit dem "alert:lselect" zum Blinken bringt. Hier habe ich 2 Skripte zusammen gebaut.

                          In der Theorie (nach ein paar Versuchen) klappt es auch, nur leider nur mit einer Lampe anstatt beiden. Sicher einfach nur ein dummer denkfehler oder fehlendes Wissen, aber ich komme einfach nicht drauf.

                          Blinken.jpg

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

                            @schlumpf sagte: leider nur mit einer Lampe anstatt beiden.

                            Nimm die Blöcke "die Schleife abbrechen" raus.

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

                              @paul53

                              Oh.....

                              Ja, jetzt klappt es. 😄

                              Wie immer vielen Dank Paul.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              791
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              4
                              15
                              682
                              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