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.
    • 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

                              800
                              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