Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Anwesenheitscontrol basierend auf TR64 Adapter - Script

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Anwesenheitscontrol basierend auf TR64 Adapter - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
116 Beiträge 34 Kommentatoren 27.0k Aufrufe 37 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • MicM Mic

    Freut mich, dass es funktioniert.

    Hier noch ein Anwendungsszenario:
    Alle Alexas sind bei mir an einer Osram-Steckdose. Diese schalten sich alle aus, sobald keiner mehr anwesend. Allerdings wäre es ziemlich doof, wenn ein Wecker im Schlafzimmer aktiv ist, und die Fritzbox Nachts warum auch immer meinen sollte, es sei keiner zu Hause und alle Alexas ausschaltet. Daher habe ich folgendes Script geschrieben, das prüft, ob ein Wecker im Alexa Schlafzimmer aktiv ist, und schaltet nur dann aus, wenn kein Wecker aktiv.

    Eines der Beispiele, warum ioBroker so super ist, man kann hier alles individuell gestalten.

    Hier das Script:

    /**
     * Schaltet ein Alexa-Gerät nur dann per Osram-Steckdose ab, wenn im Gerät auch kein Wecker gesetzt ist.
     * Dies dient dazu, dass das Gerät bei aktivem Wecker nicht abgeschaltet wird, und der TR064-Adapter Abwesenheit meldet.
     * Ist eine Sicherheitsstufe, falls der Adapter bzw. die Fritzbox fälschlicherweise abwesend meldet, damit der Wecker 
     * auch wirklich auslöst.
     * Autor Mic, Stand: 17.07.2019
     * @param {string}    statePlug           State-Pfad zur Osram-Steckdose, an der das Alexa-Gerät hängt.
     * @param {string}    stateAlexa          State-Pfad zu Alexa-Gerät, z.B. alexa2.0.Echo-Devices.ABCDEF0123XYZABC
     * @param {boolean}   [logInfo=false]     Optional: true: Logausgabe als Info, false: keine Logausgabe
     */
    function offAlexaIfNoAlarm(statePlug, stateAlexa, logInfo) {
        
        let alarmCount = alexaAlarms(stateAlexa, logInfo);
    
        if (alarmCount > 0) {
            // Wir machen nichts, da mindestens 1 Wecker gestellt ist
            if (logInfo) log('Keine Aktion, da ' + alarmCount + ' Wecker gestellt ' + ((alarmCount > 1)  ? 'sind.' : 'ist.'));
        } else {
            // Ausschalten, da kein Wecker aktiv.
            setState(statePlug, false);
            if (logInfo) log('Kein Wecker gestellt, daher wird Alexa ausgeschaltet.');
        }
    
        /**
         * Prüft, wie viele Wecker bei einem Alexa-Gerät aktiv sind.
         * @param {string}    alexaDeviceState       State zu Alexa-Gerät, z.B. alexa2.0.Echo-Devices.ABCDEF0123XYZABC
         * @param {boolean}   [logInfo=false]        Optional: true: Logausgabe als Info, false: keine Logausgabe
         * @return {number}   Anzahl der gestellten, also aktiven Wecker.
         */
        function alexaAlarms(alexaDeviceState, logInfo) {
            let mSelector = $('state[id=' + alexaDeviceState + '.Alarm.*.enabled' + '$]'); // Gibt alle State-IDs zurück, die dem Pattern entsprechen
            let counter = 0;
            mSelector.each(function(id, i) {
                // Nun haben wir mit "id" die State-ID, z.B. alexa2.0.Echo-Devices.xxxxxxxxxxxxxxX.Alarm.xxxxxxx.enabled
                // Damit prüfen wir, ob der Wecker aktiv ist (.enabled = true)
                if (getState(id).val) {
                    // Treffer
                    counter =+ 1;
                    if(logInfo) {
                        let alarmMainState = id.substring(0, id.length-8); // get alarm main state by removing last 8 chars (.enabled)
                        let alarmTime = getObject(alarmMainState).common.name; // common.name contains the alarm time as string
                        log('Gesetzten Wecker für ' + alarmTime + ' gefunden.');
                    }
                }
            });
            return counter;
        }
    }
    
    
    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #60

    @Mic sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

    Alle Alexas sind bei mir an einer Osram-Steckdose. Diese schalten sich alle aus, sobald keiner mehr anwesend

    Interessant, warum hast du das so gemacht? Die Alexas brauchen ja wieder 2 Minuten um sich zu verbinden.
    Also schalten sie sich immer aus oder ein wenn niemand da ist.

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    R 1 Antwort Letzte Antwort
    0
    • sigi234S sigi234

      @Mic sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

      Alle Alexas sind bei mir an einer Osram-Steckdose. Diese schalten sich alle aus, sobald keiner mehr anwesend

      Interessant, warum hast du das so gemacht? Die Alexas brauchen ja wieder 2 Minuten um sich zu verbinden.
      Also schalten sie sich immer aus oder ein wenn niemand da ist.

      R Offline
      R Offline
      ReverZ
      schrieb am zuletzt editiert von
      #61

      @sigi234
      Ich vermute um Strom zu sparen?

      1 Antwort Letzte Antwort
      0
      • MicM Offline
        MicM Offline
        Mic
        Developer
        schrieb am zuletzt editiert von
        #62

        Strom sparen und Einbrecher, usw. Habe es nicht gern, wenn Alexa aktiv ist, wenn ich nicht da bin. Mache ich schon seit vielen Monaten so.

        sigi234S 1 Antwort Letzte Antwort
        0
        • MicM Mic

          Strom sparen und Einbrecher, usw. Habe es nicht gern, wenn Alexa aktiv ist, wenn ich nicht da bin. Mache ich schon seit vielen Monaten so.

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #63

          @Mic sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

          Habe es nicht gern, wenn Alexa aktiv ist, wenn ich nicht da bin

          Ja, leider gibt es ja keinen DP um das Micro zu deaktivieren...........

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          MicM 1 Antwort Letzte Antwort
          0
          • sigi234S sigi234

            @Mic sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

            Habe es nicht gern, wenn Alexa aktiv ist, wenn ich nicht da bin

            Ja, leider gibt es ja keinen DP um das Micro zu deaktivieren...........

            MicM Offline
            MicM Offline
            Mic
            Developer
            schrieb am zuletzt editiert von
            #64

            @sigi234 sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

            Ja, leider gibt es ja keinen DP um das Micro zu deaktivieren...........

            Oder wohl gut so seitens Amazon, denn sonst könnte ein "böses" Programm das "manuell" abgeschaltete Mikrofon einschalten.

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              ReverZ
              schrieb am zuletzt editiert von
              #65

              Daher ist es um so dringender, dass Amazon die kürzlich eingeführte Stimmerkennung auch endlich dazu nutzt eine Option anzubieten, dass nur bekannte Stimmen in Interaktion mit Alexa treten dürfen.
              Damit kann man dann auch verhindern, dass "lustige" Gäste mal eben alles umprogrammieren oder die Musiksteuerung übernehmen.
              Ich denke auch in diesem Punkt ist Google bereits einen Schritt voraus.

              J 1 Antwort Letzte Antwort
              0
              • R ReverZ

                Daher ist es um so dringender, dass Amazon die kürzlich eingeführte Stimmerkennung auch endlich dazu nutzt eine Option anzubieten, dass nur bekannte Stimmen in Interaktion mit Alexa treten dürfen.
                Damit kann man dann auch verhindern, dass "lustige" Gäste mal eben alles umprogrammieren oder die Musiksteuerung übernehmen.
                Ich denke auch in diesem Punkt ist Google bereits einen Schritt voraus.

                J Offline
                J Offline
                Jan1
                schrieb am zuletzt editiert von
                #66

                @ReverZ
                Das wird leider nicht so leicht funktionieren. Alexa erkennt zwar wer zur Ihr spricht, nur wenn Du gerade mal etwas undeutlicher wirst (Erkältung oder sonst was), dann würdest Dich wieder nur ärgern, weil sie Deine Befehle nicht mehr ausführt. Die Erkennung de Sprache an sich ist schon ne Herausforderung, dann noch einzelne Personen zu unterscheiden und trotzdem alles wie gewünscht umsetzten, das wird noch ne Weile dauern.
                Beispiel, Du bist mit 5 Leuten im Raum die Du sehr gut kennst mit verbundenen Augen, alle reden gleichzeitig und Du sollst zuordnen wer was gesagt hat. Wenn nicht jeder gerade einen sehr dominanten unterschiedlichen Dialekt spricht, wird das selbst für Dich schon recht schwierig.

                R 1 Antwort Letzte Antwort
                0
                • J Jan1

                  @ReverZ
                  Das wird leider nicht so leicht funktionieren. Alexa erkennt zwar wer zur Ihr spricht, nur wenn Du gerade mal etwas undeutlicher wirst (Erkältung oder sonst was), dann würdest Dich wieder nur ärgern, weil sie Deine Befehle nicht mehr ausführt. Die Erkennung de Sprache an sich ist schon ne Herausforderung, dann noch einzelne Personen zu unterscheiden und trotzdem alles wie gewünscht umsetzten, das wird noch ne Weile dauern.
                  Beispiel, Du bist mit 5 Leuten im Raum die Du sehr gut kennst mit verbundenen Augen, alle reden gleichzeitig und Du sollst zuordnen wer was gesagt hat. Wenn nicht jeder gerade einen sehr dominanten unterschiedlichen Dialekt spricht, wird das selbst für Dich schon recht schwierig.

                  R Offline
                  R Offline
                  ReverZ
                  schrieb am zuletzt editiert von
                  #67

                  @Jan1

                  Vielleicht hast du Recht aber aus dem Bauch heraus würde ich sagen, dass es viel leichter ist eine Stimme zu charakterisieren als die Spracherkennung an sich.
                  Das verhält sich bei Babys sicher ähnlich. Diese erkennen viel früher WER mit ihnen spricht als WAS mit ihnen gesprochen wird. Ich vermute bei der KI sieht es nicht anders aus.
                  In einem Haushalt mit beispielsweise 4 Personen muss Amazon auch nur diese Stimmen dieser Personen auseinanderhalten können.
                  D.h. meine Stimme muss sich nur von 3 anderen Personen unterscheiden.

                  J 1 Antwort Letzte Antwort
                  0
                  • R ReverZ

                    @Jan1

                    Vielleicht hast du Recht aber aus dem Bauch heraus würde ich sagen, dass es viel leichter ist eine Stimme zu charakterisieren als die Spracherkennung an sich.
                    Das verhält sich bei Babys sicher ähnlich. Diese erkennen viel früher WER mit ihnen spricht als WAS mit ihnen gesprochen wird. Ich vermute bei der KI sieht es nicht anders aus.
                    In einem Haushalt mit beispielsweise 4 Personen muss Amazon auch nur diese Stimmen dieser Personen auseinanderhalten können.
                    D.h. meine Stimme muss sich nur von 3 anderen Personen unterscheiden.

                    J Offline
                    J Offline
                    Jan1
                    schrieb am zuletzt editiert von
                    #68

                    @ReverZ
                    Richtig, nur eben beides gleichzeitig und dann noch richtig v erstehen.
                    Ist ein Traum und kommt mit Sicherheit, irgendwann.

                    1 Antwort Letzte Antwort
                    0
                    • L looxer01

                      Hi,

                      ich habe ein kleines Programm geschrieben, dass die Anwesenheit aufgrund des TR64 adapters auswertet.

                      Voraussetzung ist, dass der Adapter TR64 installiert ist und natürlich eine Fritzbox vorhanden ist.

                      Die Anwesenheiten werden sehr zuverlässig gemessen mit IOS oder Android oder was auch immer. Natürlich dürfen die Telefone sich nicht vom WLAN abmelden was sowohl bei IOS nicht mehr passiert und auch nicht bei Android (es sei denn, dass sie so eingestellt sind)

                      Meine Erfahrung ist, dass es 10 Minuten dauert bis eine Abwesenheit festgestellt wird und ca. 1 Minute bis die Anwesenheit festgestellt ist.

                      Folgende Funktionen sind realisiert:

                      • Anwesenheitsdarstellung im Bereich javascript ( ist aber quasi nur eine Dopplung vom TR64)

                      • Anwesenheitsermittlung (ist irgendwer im Hause)

                      • Liste der anwesenden Personen

                      • Kommt Geht pro person

                      • JSON Liste der Anwesenheiten mit den letzten Kommt/Geht Zeiten

                      • auf Wunsch wird ein LOG geführt, dass die Geht/Kommt Zeiten historisch mitschreibt.

                      • Anbindung der Anwesenheitssimulation. Wenn gewünscht wird die Anwesenheitssimulation eingeschaltet. Die Anwesenheitssimulation gibt es hier:

                      http://forum.iobroker.net/viewtopic.php … simulation

                      • 6 User sind einstellbar. Falls gewünscht können weitere User hinzugefügt werden (mit kleiner Programmerweiterung) - reduzierbar auf 6 user im Einstellbereich des Programmes

                      vG Looxer

                      Anwesenheitsliste als Json
                      305_kommtgeht.jpg

                      Programm:
                      305_anwesenheitscontrol.txt

                      P Offline
                      P Offline
                      Phil85
                      schrieb am zuletzt editiert von
                      #69

                      @looxer01 Wäre es möglich in einem Skript sowas einzubauen, damit damit mehrere Wohneinheiten erfasst werden.
                      Als das zum Beispiel 2 Personen zusammen gefasst werden und 1 Datenpunkt erzeugt wird.
                      Eine Person von beiden zuhause = true
                      Beide Personen weg = false.

                      X ? 2 Antworten Letzte Antwort
                      0
                      • P Phil85

                        @looxer01 Wäre es möglich in einem Skript sowas einzubauen, damit damit mehrere Wohneinheiten erfasst werden.
                        Als das zum Beispiel 2 Personen zusammen gefasst werden und 1 Datenpunkt erzeugt wird.
                        Eine Person von beiden zuhause = true
                        Beide Personen weg = false.

                        X Offline
                        X Offline
                        xbow42
                        schrieb am zuletzt editiert von
                        #70

                        @Phil85
                        s. "javascript.0.Anwesenheitssteuerung.Userlist.JemandDa"

                        J 1 Antwort Letzte Antwort
                        0
                        • X xbow42

                          @Phil85
                          s. "javascript.0.Anwesenheitssteuerung.Userlist.JemandDa"

                          J Offline
                          J Offline
                          Jan1
                          schrieb am zuletzt editiert von
                          #71

                          @xbow42
                          Nein, wenn man manuell DPS anlegt, dann auch dort wo sie sein sollen und dafür gibts extra "userdata.0"..

                          ? 1 Antwort Letzte Antwort
                          0
                          • J Jan1

                            @xbow42
                            Nein, wenn man manuell DPS anlegt, dann auch dort wo sie sein sollen und dafür gibts extra "userdata.0"..

                            ? Offline
                            ? Offline
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von
                            #72

                            @Jan1 das Script ist fast 2 Jahre alt, da gab's noch kein Userdata... Aber heute mit den aktuellen Versionen übersichtlicher.

                            J 1 Antwort Letzte Antwort
                            0
                            • P Phil85

                              @looxer01 Wäre es möglich in einem Skript sowas einzubauen, damit damit mehrere Wohneinheiten erfasst werden.
                              Als das zum Beispiel 2 Personen zusammen gefasst werden und 1 Datenpunkt erzeugt wird.
                              Eine Person von beiden zuhause = true
                              Beide Personen weg = false.

                              ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von
                              #73

                              @Phil85 du kannst das Script ja 2x anlegen und da alle Personen aufteilen..?

                              1 Antwort Letzte Antwort
                              0
                              • ? Ein ehemaliger Benutzer

                                @Jan1 das Script ist fast 2 Jahre alt, da gab's noch kein Userdata... Aber heute mit den aktuellen Versionen übersichtlicher.

                                J Offline
                                J Offline
                                Jan1
                                schrieb am zuletzt editiert von
                                #74

                                @ilovegym sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

                                @Jan1 das Script ist fast 2 Jahre alt, da gab's noch kein Userdata... Aber heute mit den aktuellen Versionen übersichtlicher.

                                Ja, aber die Antwort in dem dazu geraten wird 9 Stunden :stuck_out_tongue_winking_eye:

                                1 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  nekron
                                  schrieb am zuletzt editiert von nekron
                                  #75

                                  Bin ich zu doof ?

                                  javascript.0 (15331) script.js.common.presence_detection compile failed: at script.js.common.presence_detection:49

                                  Irgendwie funktioniert das bei mir nicht - warum auch immer - wobei weiss der Geier ob ich was falsch mache - ist mein erstes Script :)

                                  Und wenn ich die Zeile 49 auskommentiere - wandert der Fehler zur 52 :)

                                  Danke ...

                                  MicM 1 Antwort Letzte Antwort
                                  0
                                  • N nekron

                                    Bin ich zu doof ?

                                    javascript.0 (15331) script.js.common.presence_detection compile failed: at script.js.common.presence_detection:49

                                    Irgendwie funktioniert das bei mir nicht - warum auch immer - wobei weiss der Geier ob ich was falsch mache - ist mein erstes Script :)

                                    Und wenn ich die Zeile 49 auskommentiere - wandert der Fehler zur 52 :)

                                    Danke ...

                                    MicM Offline
                                    MicM Offline
                                    Mic
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #76

                                    @nekron
                                    Bitte mal komplettes Log und deine Script-Einstellungen posten.

                                    N 1 Antwort Letzte Antwort
                                    0
                                    • MicM Mic

                                      @nekron
                                      Bitte mal komplettes Log und deine Script-Einstellungen posten.

                                      N Offline
                                      N Offline
                                      nekron
                                      schrieb am zuletzt editiert von
                                      #77

                                      @Mic
                                      Danke - ich sehe gerade mit einem Neustart hat dann alles Funktioniert - herzlichen Dank trotzdem!

                                      1 Antwort Letzte Antwort
                                      0
                                      • T Offline
                                        T Offline
                                        Tirador
                                        schrieb am zuletzt editiert von
                                        #78

                                        Ich bekomme leider einen Berechtigungsfehler, dass die Objekte nicht angelegt/geschrieben werden können.

                                        javascript.0 (29233) script.js.myScripts.presence-script-for-tr-064-community-adapter: Cannot write object for state [0_userdata.0.Anwesenheit.Status.presentPersonsJson]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                        15:16:04.143	info	javascript.0 (29233) script.js.myScripts.presence-script-for-tr-064-community-adapter: Cannot write object for state [0_userdata.0.Anwesenheit.Status.presentPersonsHTML]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                        15:16:04.144	info	javascript.0 (29233) script.js.myScripts.presence-script-for-tr-064-community-adapter: Cannot write object for state [0_userdata.0.Anwesenheit.Status.allPresentPersonsCount]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                        

                                        Hat jemand eine Idee?

                                        MicM 1 Antwort Letzte Antwort
                                        0
                                        • T Tirador

                                          Ich bekomme leider einen Berechtigungsfehler, dass die Objekte nicht angelegt/geschrieben werden können.

                                          javascript.0 (29233) script.js.myScripts.presence-script-for-tr-064-community-adapter: Cannot write object for state [0_userdata.0.Anwesenheit.Status.presentPersonsJson]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                          15:16:04.143	info	javascript.0 (29233) script.js.myScripts.presence-script-for-tr-064-community-adapter: Cannot write object for state [0_userdata.0.Anwesenheit.Status.presentPersonsHTML]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                          15:16:04.144	info	javascript.0 (29233) script.js.myScripts.presence-script-for-tr-064-community-adapter: Cannot write object for state [0_userdata.0.Anwesenheit.Status.allPresentPersonsCount]: Function "setObject" is not allowed. Use adapter settings to allow it.
                                          

                                          Hat jemand eine Idee?

                                          MicM Offline
                                          MicM Offline
                                          Mic
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #79

                                          @Tirador sagte in Anwesenheitscontrol basierend auf TR64 Adapter - Script:

                                          Function "setObject" is not allowed. Use adapter settings to allow it.

                                          Hast du das im JavaScript-Adapter aktiviert?

                                          T 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          795

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe