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. Tr-064.0 adapter frage??

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Tr-064.0 adapter frage??

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
20 Beiträge 3 Kommentatoren 833 Aufrufe
  • Ä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.
  • D Offline
    D Offline
    denjo
    schrieb am zuletzt editiert von
    #1

    hallo, ich habe den fritzbox tr-064 Adapter installiert, wie kann ich ein Skript erstellen wenn zwei oder mehr Handys "also nicht nur eins"

    nicht mehr im wlan sind das ich dann ein gerät schalte. ich bekomme es nur hin wenn 1 Handy von beiden aus dem wlan ist, aber es soll wie gesagt erst schalten wenn beide aus dem wlan sind???

    Danke im Vorraus

    1 Antwort Letzte Antwort
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      zeig mal dein coding

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        denjo
        schrieb am zuletzt editiert von
        #3

        Bitte
        3445_24-10-_2018_14-45-34.png

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          denjo
          schrieb am zuletzt editiert von
          #4

          also ich möchte einfach gesagt wenn: handy1 und handy2 sind true schalte gerätaus, und wenn: handy1 und handy2 sind false schalte gerät an

          1 Antwort Letzte Antwort
          0
          • Homer.J.H Offline
            Homer.J.H Offline
            Homer.J.
            schrieb am zuletzt editiert von
            #5

            Hi,

            probier es mal damit.

            Frag den Adapter ab und setzt An-oder Abwesenheit.

            ! // Anwesenheitsliste aus TR064 bauen
            ! // Autor Looxer01 01.01.2017
            ! // Das Programm basiert auf den Adapter TR064 der die WLAN verfügbarkeit von allen Geräten überwacht
            ! // Die States fuer USER1 - USERx müssen aus dem Adapter TR064 entnommen werden
            ! // Funktionen:
            ! // Ermittlung ob irgendwer anwesend ist
            ! // Speichern von kommt und gehtzeiten
            ! // Speichern der Anwesenheitsliste mit kommt und geht als Json
            ! // Log schreiben für jede Atkualisierung der Anwesenheit
            ! //–---------------------------------------------------------------------------------------------------
            ! // Einstellbereich
            ! //-----------------------------------------------------------------------------------------------------
            ! // Hier ist der State für den die Deviceermittlung der durch den TR064 ermittelt wird
            ! var StateTR064Device = "tr-064.0.devices.";
            ! // Hier ist der State für den die Anwesenheitssimulation. Bei True wird die AWS (separates Programm) gestartet
            ! var IDAWSAktiv = "javascript.0.Anwesenheitssteuerung.AWSAktiv"; // ID AWS flag
            ! // Falls die Anwesenheitssimulation verknüpft werden soll dann hier TRUE eintragen und dann die Zeit in Sekunden nach Abwesenheit, die vergehen soll bis die Simulation aktiviert wird
            ! var AWSCheckAktiv = false; // auf true setzen, wenn die Anwesenheitssimulation genutzt wird
            ! var AWSZeit = 600; // nach diesen Sekunden verzoegerung wird die Simulation aktiviert // Maximale Anzahl der User mit Anwesenheitsueberwachung
            ! // die Deviceliste aus TR064, die ueberwacht werden soll muss hier eingetragen werden
            ! var User = { "Datenpunkt 1": "Bezeichnung Endgerät 1", "Datenpunkt 2": "Bezeichnung Endgerät 2"};
            ! // Allgemeine Anwesenheiten. Die Namen koennen geändert werden
            ! var UserAllText = "JemandDa";
            ! var UserString = "Liste";
            ! // Pfad für die userliste nach .0. kann der Name frei vergeben werden und wird entsprechend in die Objektliste geschrieben
            ! var path = 'javascript.0.Anwesenheitssteuerung.'; // Pfad für create states
            ! //Logging
            ! var logflag = false; // logging enabled
            ! var LogPath = "/opt/iobroker/iobroker-data/Anwesenheiten.csv"; // Pfad und Dateiname des externen Logs
            ! //-----------------------------------------------------------------------------------------------------
            ! // Ende Einstellbereich
            ! //-----------------------------------------------------------------------------------------------------
            ! for (var key in User){
            ! createState(path + 'Userlist.' + User[key], false, {read: true, write: true, type: 'boolean', name: 'Anwesenheit '+User[key], desc: 'Anwesenheit '+User[key]});
            ! createState(path + 'Userlist.KommtGeht.' + User[key]+"Geht", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit ausloggen aus FB', desc: 'Zeit Verlassen '+User[key]});
            ! createState(path + 'Userlist.KommtGeht.' + User[key]+"Kommt", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheit Zeit ausloggen in FB', desc: 'Zeit kommen '+User[key]});
            ! }
            ! var CreationTime = " ";
            ! var fs = require('fs'); // enable write fuer externes log
            ! // Datenpunkte erzeugen
            ! createState(path + 'Userlist.' + UserString, "Niemand", {read: true, write: true, type: 'string', name: 'Anwesenheit Userliste', desc: 'Anwesenheit Userliste'});
            ! createState(path + 'Userlist.' + UserAllText, false, {read: true, write: true, type: 'boolean', name: 'Anwesenheit alle User', desc: 'Anwesenheit alle User'});
            ! createState(path + 'Userlist.KommtGeht.' + "AnwesenheitJson", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheitsstatus Json Liste', desc: 'UserListe als Json'});
            ! createState(path + 'Userlist.KommtGeht.' + "AnwesenheitHTML", CreationTime, {read: true, write: true, type: 'string', name: 'Anwesenheitsstatus HTML String', desc: 'UserListe als HTML String'});
            ! if (AWSCheckAktiv === true){
            ! createState(IDAWSAktiv,false);
            ! }
            ! // Funktion synchronisiert Status mit TR064 beim Aufruf des Programmes
            ! anwesenheit("ProgramInitialisierung",0);
            ! for (var key in User){
            ! on({id: StateTR064Device + key, valNe: 0 }, function(obj) {
            ! if (obj.state.ack) {
            ! anwesenheit('UserKommtGeht',obj.id.split(".").pop(-1));
            ! }
            ! });
            ! }
            ! //–---------------------------------------------------------------------------------------------------
            ! // Funktion Erstellung der Anwesenheitsliste
            ! //-----------------------------------------------------------------------------------------------------
            ! function anwesenheit (Ausloeser, Userkey) {
            ! log ("Ausloeser: " + Ausloeser,"info");
            ! CreationTime = formatDate(new Date(),"TT.MM.JJJJ SS:mm:ss");
            ! var CurrentUserList = "";
            ! var StatusCurrentUser = false;
            ! var StatusAllUser = false;
            ! var JsonString = "[";
            ! var HTMLString = "";
            ! var kommttime = "";
            ! var gehttime = "";
            ! for (var key in User){
            ! StatusCurrentUser = getState(StateTR064Device + key).val; // Lesen des status des users
            ! setState(path + 'Userlist.' + User[key], StatusCurrentUser); // Den Status aus TR64 setzen
            ! kommttime = getState(path + 'Userlist.KommtGeht.' + User[key]+"Kommt").val;
            ! gehttime = getState(path + 'Userlist.KommtGeht.' + User[key]+"Geht").val;
            ! if (key === Userkey) {
            ! setState(path + 'Userlist.KommtGeht.' + User[key]+(StatusCurrentUser ? "Kommt": "Geht"),CreationTime); // Schreibe den Zeitstempel für den user der grerade gegangen ist
            ! if(StatusCurrentUser) kommttime = CreationTime; else gehttime = CreationTime;
            ! writelog(User[key] + ";" + (StatusCurrentUser ? "Kommt": "Geht"));
            ! }
            ! if (StatusCurrentUser === false && StatusAllUser !== true) { // user geht mmt es ist niemand mehr da
            ! StatusAllUser = false; // jetzt wird der Status "niemand mehr da" gesetzt
            ! } // Ende Anwesenheit auf false gesetzt
            ! if (StatusCurrentUser) { // Wenn der user der gerade gecheckt wird anwesend ist
            ! CurrentUserList += User[key] + " "; // user in der userlist aufnehmen
            ! StatusAllUser = true;
            ! } // Ende Anwesenheit auf true gesetzt
            ! log("Anwesenheit " + User[key] +" " + StatusCurrentUser,"info");
            ! JsonString += JsonCreate ("Name", User[key], "Status", StatusCurrentUser, "Kommt", kommttime, "Geht", gehttime) + ",";
            ! HTMLString+="";
            ! HTMLString+/>! HTMLString+/>! HTMLString+/>! HTMLString+/>! HTMLString+="";
            ! } // ende for
            ! JsonString += "]";
            ! HTMLString += "

            ! Name Status Kommt Geht
            "+User[key]+" "+(StatusCurrentUser ? 'anwesend' : 'abwesend')+" "+kommttime+" "+gehttime+"

            ! ";
            ! setState(path + 'Userlist.KommtGeht.' + "AnwesenheitJson", JsonString);
            ! setState(path + 'Userlist.KommtGeht.' + "AnwesenheitHTML", HTMLString);
            ! if (!StatusAllUser) {
            ! CurrentUserList = "Niemand"; // es ist niemand da
            ! }
            ! setState(path + 'Userlist.' + UserAllText,StatusAllUser); // Setzen des All Status
            ! setState(path + 'Userlist.' + UserString,CurrentUserList); // userlist speichern
            ! log("Anwesenheit genereller Status " + StatusAllUser,"info");
            ! log("Anwesenheitsliste " + CurrentUserList,"info");
            ! // Anwesenheitssimulation ein-oder ausschalten
            ! if (AWSCheckAktiv === true){
            ! if (StatusAllUser === true) {
            ! setState(IDAWSAktiv,false);
            ! } else {
            ! if (getState(IDAWSAktiv).val === false) { // prüfe status AWS flag
            ! setStateDelayed(IDAWSAktiv,true,AWSZeit*1000);
            ! log("EVENT Anwesenheit ist auf false gesetzt - AWSFlag wird aktiviert in " + AWSZeit + " Sekunden","info");
            ! } // endif AWS aktiv
            ! } // endif StatusAllUser
            ! } // AWSCheckAktiv
            ! } // Ende Funktion Anwesenheit
            ! //–---------------------------------------------------------------------------------------------------
            ! // Erstellung von json strings zur Tabellendarstellung
            ! //-----------------------------------------------------------------------------------------------------
            ! function JsonCreate (Desc1, Wert1, Desc2, Wert2, Desc3,Wert3, Desc4,Wert4,anzahlzeilen,aktuellezeile) {
            ! var buildzeile = "{";
            ! buildzeile += '"' + Desc1+ '":';
            ! buildzeile += '"' + Wert1 + '"' + ",";
            ! buildzeile += '"' + Desc2 + '"' + ":";
            ! buildzeile += '"' + Wert2 + '"' + ",";
            ! buildzeile += '"' + Desc3 + '"' + ":";
            ! buildzeile += '"' + Wert3 + '"' + ",";
            ! buildzeile += '"' + Desc4 + '"' + ":";
            ! buildzeile += '"' + Wert4 + '"' + "}";
            ! return buildzeile;
            ! } // Ende Funktion
            ! //-----------------------------------------------------------------------------------------------------
            ! // Funktion schreibt einen Logeintrag in das Filesystem und auch in das interne Log-System
            ! //-----------------------------------------------------------------------------------------------------
            ! function writelog(string) {
            ! if (logflag === true) {
            ! var logdate = formatDate(new Date(),"TT.MM.JJJJ");
            ! var logtime = formatDate(new Date(),"SS:mm:ss");
            ! if (fs.existsSync(LogPath)) {
            ! fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n"); // Füge Satz in Datei ein
            ! } else {
            ! log("Logfile nicht gefunden - wird angelegt"), "info";
            ! var headerLine= "Datum;Uhrzeit;Name;Kommt-Geht";
            ! fs.appendFileSync(LogPath, headerLine + "\n"); // Füge Satz in Datei ein
            ! fs.appendFileSync(LogPath, logdate+" ;"+logtime+" ;"+string + "\n"); // Füge Satz in Datei ein
            ! } // endif Filecheck
            ! } // Ende check on logflag
            ! } // Ende Funktion

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              denjo
              schrieb am zuletzt editiert von
              #6

              kann ich irgendwie in blockly nicht einfügen

              1 Antwort Letzte Antwort
              0
              • Homer.J.H Offline
                Homer.J.H Offline
                Homer.J.
                schrieb am zuletzt editiert von
                #7

                @denjo:

                kann ich irgendwie in blockly nicht einfügen `

                Nicht einfügen ist ein komplettes Javascript musst du neu Anlegen, ist schon fertig musst nur noch dein Smartphone einfügen.

                Schau mal unter dem Link.

                viewtopic.php?f=21&t=4905

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  denjo
                  schrieb am zuletzt editiert von
                  #8

                  okay das habe ich noch nie gemacht, habe bis jetzt immer nur mit blockly gearbeitet

                  1 Antwort Letzte Antwort
                  0
                  • Homer.J.H Offline
                    Homer.J.H Offline
                    Homer.J.
                    schrieb am zuletzt editiert von
                    #9

                    @denjo:

                    okay das habe ich noch nie gemacht, habe bis jetzt immer nur mit blockly gearbeitet `

                    Ist dort sehr gut beschrieben.

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      denjo
                      schrieb am zuletzt editiert von
                      #10

                      das mir echt zu hoch gerade, wo muss ich die Handys eintragen

                      1 Antwort Letzte Antwort
                      0
                      • Homer.J.H Offline
                        Homer.J.H Offline
                        Homer.J.
                        schrieb am zuletzt editiert von
                        #11

                        @denjo:

                        das mir echt zu hoch gerade, wo muss ich die Handys eintragen `

                        Zeile 29 im Script

                        // die Deviceliste aus TR064, die ueberwacht werden soll muss hier eingetragen werden

                        var User = { "Datenpunkt 1": "Bezeichnung Endgerät 1", "Datenpunkt 2": "Bezeichnung Endgerät 2"};

                        Schau es dir mal bein dem Link an, auf der 2 Seite da ist es Ausführlich beschrieben.

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          denjo
                          schrieb am zuletzt editiert von
                          #12

                          könntest du mir genauer erklären wie ich das mache, sorry

                          1 Antwort Letzte Antwort
                          0
                          • Homer.J.H Offline
                            Homer.J.H Offline
                            Homer.J.
                            schrieb am zuletzt editiert von
                            #13

                            @denjo:

                            könntest du mir genauer erklären wie ich das mache, sorry `
                            Adapter hast du ja schon angelegt als nächsten dein Smartphone im Adapter anlegen.

                            Adapter öffnen auf Geräte dann Geräte suche dein Smartphone einfügen dann ist es in Objekten als Devices angelegt genau diese Bezeichnung

                            setzt du dann in die genannte Zeile 29 im Script ein.

                            Und mehr ist es garnicht.
                            5373_screenshot_2018-10-21_instances_-_iobroker.png
                            5373_screenshot_2018-10-21_objects_-_iobroker.png
                            5373_screenshot_2018-10-24_javascript_-_iobroker.png

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              denjo
                              schrieb am zuletzt editiert von
                              #14

                              soo???
                              3445_24-10-_2018_18-19-49.png

                              1 Antwort Letzte Antwort
                              0
                              • Homer.J.H Offline
                                Homer.J.H Offline
                                Homer.J.
                                schrieb am zuletzt editiert von
                                #15

                                @denjo:

                                soo??? `

                                nein schaut dir mal das erste Bild an von den dreien.

                                1 Antwort Letzte Antwort
                                0
                                • Homer.J.H Offline
                                  Homer.J.H Offline
                                  Homer.J.
                                  schrieb am zuletzt editiert von
                                  #16

                                  ! var User = { "Meister-iPhone": "1_Steffen", "iPhone-von-Nadine": "2_Nadine", "iPhone-von-Christin": "3_Christin"};@Homer1976:

                                  @denjo:

                                  soo??? `

                                  nein schaut dir mal das erste Bild an von den dreien. `

                                  Füg das ein und pass es an dein Smartphone an wie es unter devices steht den rest schmeißt du rauss.

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    denjo
                                    schrieb am zuletzt editiert von
                                    #17

                                    so aber
                                    3445_24-10-_2018_18-28-40.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • Homer.J.H Offline
                                      Homer.J.H Offline
                                      Homer.J.
                                      schrieb am zuletzt editiert von
                                      #18

                                      @denjo:

                                      so aber `

                                      So siehts gut aus starte mal das Script und schau unter der Anwesenheitserkennung unter Javascript mal nach.

                                      Hast du noch irgendwas gelöscht im Script, weil es bei dir jetzt in Zeile 28 ist. ?

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        denjo
                                        schrieb am zuletzt editiert von
                                        #19

                                        ja geil, läuft besten dank. genau so wie ich es haben wollte

                                        1 Antwort Letzte Antwort
                                        0
                                        • Homer.J.H Offline
                                          Homer.J.H Offline
                                          Homer.J.
                                          schrieb am zuletzt editiert von
                                          #20

                                          @denjo:

                                          ja geil, läuft besten dank. genau so wie ich es haben wollte `

                                          Kein Problem.

                                          Schreib noch in den Beitrag oben gelöst.

                                          Grüße

                                          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

                                          606

                                          Online

                                          32.6k

                                          Benutzer

                                          82.3k

                                          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