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 Skript für Abwesenheit per Smartphone

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Skript für Abwesenheit per Smartphone

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

      Hallo,
      ich würde gerne ein zuverlässiges Blockly Skipt erstellen mit dem ich die Abwesenheit aller Familienmitglieder überprüfe und dann wenn keiner mehr zuhause ist bestimmte Aktoren zeitverzögert ausschalten.
      Sollte mindestens eine Person nachhause kommen sollten sich diese Aktoren wieder einschalten.
      In beiden Schaltfällen soll auch noch eine Telegram Nachricht versendet werden.
      Vielleicht hat ja jemand schon ein solches Skript erstellt und könnte mir seine Vorlage zur Verfügung stellen?
      Vielen Dank schonmal
      Michael

      Armilar Codierknecht 2 Replies Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @Mic905 last edited by Armilar

        @mic905 sagte in Blockly Skript für Abwesenheit per Smartphone:

        Hallo,
        ich würde gerne ein zuverlässiges Blockly Skipt erstellen mit dem ich die Abwesenheit aller Familienmitglieder überprüfe und dann wenn keiner mehr zuhause ist bestimmte Aktoren zeitverzögert ausschalten.
        Sollte mindestens eine Person nachhause kommen sollten sich diese Aktoren wieder einschalten.
        In beiden Schaltfällen soll auch noch eine Telegram Nachricht versendet werden.
        Vielleicht hat ja jemand schon ein solches Skript erstellt und könnte mir seine Vorlage zur Verfügung stellen?
        Vielen Dank schonmal
        Michael

        Immer ein spannendes Thema...

        Jetzt kommt aber erstmal die Frage nach der Technologie! Womit stellst du denn "zuverlässig" fest, ob sich ein Familienmitglied "zuhause" aufhält?

        Dann würde es einfach werden, wenn du 1-n Familienmitglieder triggerst und enstsprechend reagierst. Aber zunächst wäre mal interessant zu wissen, was denn der Auslöser ist.

        • Ping ist auf Telefonen nicht stabil
        • Geofencing würde funktionieren, aber auch nur dann wenn jeder sein Telefon mitgenommen hat.
        • Smart-Tags (Schlüsselsensor) ebenfalls nur, wenn jeder seinen Schlüssel mitnimmt
        • Gesichtserkennung
        • usw.

        Erfordert immer Regeln und Disziplin...

        M 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Mic905 last edited by Codierknecht

          @mic905
          Pack alle DP in eine Aufzählung. Dann kannst Du da mit 'ner Liste arbeiten.
          Als Beispiel mal meine Aufzählung der Fenster:
          046ab86f-4f63-48a5-8543-7c2d091b3aff-image.png

          Dein Blockly könnte dann prinzipiell so aussehen:
          b175d8c5-6f43-4d3a-baa7-ec460b85b399-image.png
          Zunächst wird die Variable "Anwesend" auf "false" gesetzt.
          Dann werden alle DP abgeklappert. Ist mindestens eine Person anwesend, wird die Variable "true" und die Schleife verlassen.

          Wie @Armilar schon schrieb: Die Erkennung kann tricky werden. Über die FritzBox und den tr-064-Adapter funktioniert das z.B. nicht sauber ... zumindest nicht sauber genug.
          Ich erkenne das an meinem Unify-AP recht stabil, allerdings mit einer gewissen Verzögerung.

          1 Reply Last reply Reply Quote 0
          • M
            Mic905 @Armilar last edited by

            @armilar
            Also ich der Auslöser für meine Überlegung ist das ich zum Beispiel das schon öfters vorgekommen ist das die Kinder das eine oder andere Licht im Haus nicht ausschalten wenn sie es verlassen. Auch mir ist das schon passiert. Eine andere Sache ist das ich über Nacht schon alle im Wohnzimmerschrank verbauten Geräte abschalte. Dies würde ich auch gerne auslösen wenn ich ohnehin keiner zuhause ist.

            Also das einer von uns sein Smartphone zuhause vergisst kommt so gut wie nie vor. Darüber könnte man das schon triggern.
            Das ganze per Geodaten zu lösen wäre natürlich schon schick.

            Wir alle benutzen Android Geräte. Soweit ich gesehen habe gibt es hierfür den EgiGeoZone Adapter.
            Aber wie bekomme ich die Geodaten von aussen in den iOBroker ?

            Wenn das läuft sollte man das ganze ja per Blockly lösen können oder ?

            Codierknecht 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Mic905 last edited by

              @mic905 sagte in Blockly Skript für Abwesenheit per Smartphone:

              Wenn das läuft sollte man das ganze ja per Blockly lösen können oder ?

              Das sollte das geringste Problem sein.

              EgiGeoZone kenne ich nicht, klingt aber für mich nicht unbedingt praktikabel, da Du die Daten ja irgendwie in den ioBroker kriegen musst. Portfreigaben sind ein NoGo und VPN klingt für mich auch nicht wirklich praktikabel für Kids und Gattin.
              Meine bessere Hälfte hätte eh ein Problem, wenn ich versuchen würde ihr eine Art Tracker aufs Handy zu prömpeln.
              Auch eine Cloud-basierte Lösung widerstrebt mir ... wer weiß, wer da alles Zugriff auf die Standortdaten erhält.
              Mal ganz abgesehen davon, dass für den Kram auch die Lokalisierung (Standortdienste, GPS) auf dem Handy eingeschaltet werden muss.

              Welche Netzwerk-Hardware hast Du denn am Start?

              1 Reply Last reply Reply Quote 0
              • M
                Mic905 last edited by

                @codierknecht
                Ja vermutlich hast du damit recht.

                Also als Hardware habe ich zu bieten:
                AVM Fritzbox 6490 Cable
                AVM Repaeter
                Aruba Switche
                iOBroker läuft auf deinem Fujitsu Mini PC als VM
                Synology NAS
                Homematic IP CCU3 auf dem NAS

                Was wäre noch interessant ?

                Codierknecht FredF 2 Replies Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Mic905 last edited by

                  @mic905 sagte in Blockly Skript für Abwesenheit per Smartphone:

                  AVM Fritzbox 6490 Cable

                  Dann bliebe wohl ohne GeoFencing nur der tr-064 Adapter.
                  Versuchs doch im ersten Wurf einfach mal damit. Für Tests sollte das ja ausreichen.

                  Im Adapter die Geräteüberwachung aktivieren und alle zu überwachenden Handys hinzufügen.
                  Manchmal muss ein Gerät mehrfach rein, weil es sich mit unterschiedlichen MAC-Adressen verbindet.

                  9ac7c19a-93cc-4a16-9176-674c57047afd-image.png

                  Den DP "active" aller Geräte packst Du dann in eine Aufzählung. Bei mir heißt die "enum.functions.presence"
                  e22bd5e5-c4d2-453d-83fc-bf113387b64a-image.png
                  Damit zähle ich die Anzahl anwesender Personen (in einem eigenen DP).
                  Der Rest ist dann einfach: Steht da 'ne 0, sind alle abwesend, bei > 0 ist mindestens 1 Person anwesend.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    Mic905 @Codierknecht last edited by

                    @codierknecht
                    Das klingt doch alles schonmal ganz gut.
                    Leider habe ich bisher noch nichts mit den Aufzählungen gemacht.
                    Ich habe dort jetzt eine Kategorie angelegt. Darunter habe ich dann die tr-064 Datenpunkte "active" hinzugefügt.
                    Wenn ich es richtig verstehe muss ich dann unter Userdata einen Datenpunkt anlegen oder wie geht es dann weiter ?
                    Erst dann kann ich doch das Blockly Script erstellen oder ?

                    Codierknecht 1 Reply Last reply Reply Quote 0
                    • Armilar
                      Armilar Most Active Forum Testing last edited by Armilar

                      @mic905

                      Ich nutze Geofency seit ein paar Jahren auf dem iPhone und das sehr stabil. Ich weiß aber nicht, ob das auch mit Android klappt.
                      Vormals war es eine IFTTT-Lösung über webhook. Funktionierte - jedoch nicht zuverlässig.

                      Wenn das läuft, dann gehe ich davon aus, dass im ioBroker dann je Familienmitglied (nennen wir mal FM) ein Datenpunkt existiert in dem true oder false steht. Eventuell noch einen zusätzlichen "manuellen" Datenpunkt (EXT), falls jemand gewollt im Haus ist, aber alle anderen weg (Nennen wir das mal Freunde, Bekannte, Oma, usw.)

                      Dann haben wir eine If-Abfrage auf alle Datenpunkte. Die sollte so aussehen:

                      Trigger auf FM1-n
                         Wenn (FM1 == false && FM2 == false && FM3 == false && FMn == false && EXT == false) Dann
                            Steuere Alle Datenpunkte mit unnötigen Verbrauchern = false
                         Sonst (falls das in Frage kommt)
                            Steuere die Geräte die bei Anwesenheit von Personen laufen sollen = true
                      

                      Das wars schon. Versuche das mal zu bauen in Blockly - das hilft sehr wenn man es selbst versucht (Tolle Lösungen haben danach noch viele). Falls dann Probleme auftauchen, einfach melden. Mit Aufzählungen kann man es später auch noch lösen, wenn es komplexer wird. Im Moment ist es eher ein 3 Zeiler. Kommt viel mehr auf die Planung an.

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Mic905 @Armilar last edited by

                        @armilar
                        sieht ja recht einfach aus.
                        Für was steht beim FM1-n Trigger das -n ?
                        Unter wenn steht dann FMn.
                        Da komme ich etwas durcheinander.

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

                          @mic905 Probiere doch mal den FB Presence Adapter.
                          Damit bekommst du pro Person Datenpunkte für die An-/Abwesenheit. Basiert auch auf der Fritzbox bzw. TR064.

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @Mic905 last edited by

                            @mic905 sagte in Blockly Skript für Abwesenheit per Smartphone:

                            @codierknecht
                            Das klingt doch alles schonmal ganz gut.
                            Leider habe ich bisher noch nichts mit den Aufzählungen gemacht.
                            Ich habe dort jetzt eine Kategorie angelegt. Darunter habe ich dann die tr-064 Datenpunkte "active" hinzugefügt.
                            Wenn ich es richtig verstehe muss ich dann unter Userdata einen Datenpunkt anlegen oder wie geht es dann weiter ?
                            Erst dann kann ich doch das Blockly Script erstellen oder ?

                            So hab ich es gemacht.

                            Beobachte aber zunächst mal, wie sich die DP im tr-064 verhalten. Wenn eine Person das Haus (oder besser: Dein WLAN) verlässt, sollte der entsprechende DP von "true" auf "false" wechseln. Das kann eine Weile dauern!
                            Wenn eine Person kommt eben andersrum.
                            Schau erst einmal, ob das für Deine Zwecke sicher genug funktioniert.

                            1 Reply Last reply Reply Quote 0
                            • Armilar
                              Armilar Most Active Forum Testing @Mic905 last edited by Armilar

                              @mic905 sagte in Blockly Skript für Abwesenheit per Smartphone:

                              @armilar
                              sieht ja recht einfach aus.
                              Für was steht beim FM1-n Trigger das -n ?
                              Unter wenn steht dann FMn.
                              Da komme ich etwas durcheinander.

                              FM soll wie oben in der Klammer Familienmitglied heißen und Ext = Externer Besucher

                              Etwa so... Jetzt die Objekt ID (Datenpunkt) der einzelnen Familienmitglieder oben in den Trigger (roter Block) und ebenfalls in die Falls-Blöcke aufnehmen.
                              9e45d3da-de63-4a9f-ba08-6d13fc5bd52b-image.png

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

                                @armilar sagte in Blockly Skript für Abwesenheit per Smartphone:

                                @mic905 sagte in Blockly Skript für Abwesenheit per Smartphone:

                                @armilar
                                sieht ja recht einfach aus.
                                Für was steht beim FM1-n Trigger das -n ?
                                Unter wenn steht dann FMn.
                                Da komme ich etwas durcheinander.

                                FM soll wie oben in der Klammer Familienmitglied heißen und Ext = Externer Besucher

                                Etwa so... Jetzt die Objekt ID (Datenpunkt) der einzelnen Familienmitglieder oben in den Trigger (roter Block) und ebenfalls in die Falls-Blöcke aufnehmen.
                                9e45d3da-de63-4a9f-ba08-6d13fc5bd52b-image.png

                                Oder auch zyklisch in diesem Fall mit der gewünschten Verzögerung:

                                f7fa5c76-7076-4be5-aa47-15b6ea1c3ed4-image.png

                                Mein Tipp: Das sind die Blöcke, die du für deine Logik benötigst. Versuche es und verbessere dich mit der Zeit. Du solltest die Logik in deinem Haus kennen.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                846
                                Online

                                32.0k
                                Users

                                80.5k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                732
                                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