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

  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. [Adapter] Neuer radar2-Adapter

NEWS

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

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

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

[Adapter] Neuer radar2-Adapter

Geplant Angeheftet Gesperrt Verschoben Entwicklung
adapterradar2 adapter
840 Beiträge 80 Kommentatoren 243.0k Aufrufe 54 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.
  • marcusklM Offline
    marcusklM Offline
    marcuskl
    schrieb am zuletzt editiert von
    #765

    Hei Leute,

    was will mir dieser Error sagen und was kannn ich tun ?
    Mein ganzer Log ist voll damit und Bluetooth funktioniert nicht mehr, es hat jetzt Wochenlang ohne Probleme funktioniert.

    radar2.02019-09-19 21:27:33.829 info Noble scan Err 'not powered on'
    radar2.02019-09-19 21:27:13.828 info Noble scan Err 'not powered on'
    radar2.02019-09-19 21:26:53.824 info Noble scan Err 'not powered on'
    radar2.02019-09-19 21:26:33.829 info Noble scan Err 'not powered on'
    radar2.02019-09-19 21:26:13.827 info Noble scan Err 'not powered on'
    radar2.02019-09-19 21:25:53.831 info Noble scan Err 'not powered on'
    

    Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

    Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

    crunchipC AlCalzoneA 2 Antworten Letzte Antwort
    0
    • marcusklM marcuskl

      Hei Leute,

      was will mir dieser Error sagen und was kannn ich tun ?
      Mein ganzer Log ist voll damit und Bluetooth funktioniert nicht mehr, es hat jetzt Wochenlang ohne Probleme funktioniert.

      radar2.02019-09-19 21:27:33.829 info Noble scan Err 'not powered on'
      radar2.02019-09-19 21:27:13.828 info Noble scan Err 'not powered on'
      radar2.02019-09-19 21:26:53.824 info Noble scan Err 'not powered on'
      radar2.02019-09-19 21:26:33.829 info Noble scan Err 'not powered on'
      radar2.02019-09-19 21:26:13.827 info Noble scan Err 'not powered on'
      radar2.02019-09-19 21:25:53.831 info Noble scan Err 'not powered on'
      
      crunchipC Abwesend
      crunchipC Abwesend
      crunchip
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #766

      @marcuskl Auf welchem System? Irgendein Update gemacht?

      umgestiegen von Proxmox auf Unraid

      marcusklM 1 Antwort Letzte Antwort
      0
      • marcusklM marcuskl

        Hei Leute,

        was will mir dieser Error sagen und was kannn ich tun ?
        Mein ganzer Log ist voll damit und Bluetooth funktioniert nicht mehr, es hat jetzt Wochenlang ohne Probleme funktioniert.

        radar2.02019-09-19 21:27:33.829 info Noble scan Err 'not powered on'
        radar2.02019-09-19 21:27:13.828 info Noble scan Err 'not powered on'
        radar2.02019-09-19 21:26:53.824 info Noble scan Err 'not powered on'
        radar2.02019-09-19 21:26:33.829 info Noble scan Err 'not powered on'
        radar2.02019-09-19 21:26:13.827 info Noble scan Err 'not powered on'
        radar2.02019-09-19 21:25:53.831 info Noble scan Err 'not powered on'
        
        AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        schrieb am zuletzt editiert von
        #767

        @marcuskl
        Hilft ein

        sudo hciconfig hci0 up
        

        auf der Konsole?

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        marcusklM 1 Antwort Letzte Antwort
        0
        • crunchipC crunchip

          @marcuskl Auf welchem System? Irgendein Update gemacht?

          marcusklM Offline
          marcusklM Offline
          marcuskl
          schrieb am zuletzt editiert von
          #768

          @crunchip sagte in [Adapter] Neuer radar2-Adapter:

          @marcuskl Auf welchem System? Irgendein Update gemacht?

          Auf Debian Stretch, habe keinerlei Updates in letzter Zeit gemacht.

          Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

          Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

          crunchipC 1 Antwort Letzte Antwort
          0
          • AlCalzoneA AlCalzone

            @marcuskl
            Hilft ein

            sudo hciconfig hci0 up
            

            auf der Konsole?

            marcusklM Offline
            marcusklM Offline
            marcuskl
            schrieb am zuletzt editiert von
            #769

            @AlCalzone sagte in [Adapter] Neuer radar2-Adapter:

            @marcuskl
            Hilft ein

            sudo hciconfig hci0 up
            

            auf der Konsole?

            Hat leider nichts geändert

            Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

            Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

            1 Antwort Letzte Antwort
            0
            • marcusklM marcuskl

              @crunchip sagte in [Adapter] Neuer radar2-Adapter:

              @marcuskl Auf welchem System? Irgendein Update gemacht?

              Auf Debian Stretch, habe keinerlei Updates in letzter Zeit gemacht.

              crunchipC Abwesend
              crunchipC Abwesend
              crunchip
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #770

              @marcuskl und welche Hardware?

              umgestiegen von Proxmox auf Unraid

              marcusklM 1 Antwort Letzte Antwort
              0
              • crunchipC crunchip

                @marcuskl und welche Hardware?

                marcusklM Offline
                marcusklM Offline
                marcuskl
                schrieb am zuletzt editiert von
                #771

                @crunchip sagte in [Adapter] Neuer radar2-Adapter:

                @marcuskl und welche Hardware?

                Ich habe einen CSV Bluetooth Dongle angeschlossen.
                Ich habe nun den Admin aktualisiert und mal ein Neustart gemacht, kurz hat es Bluetooth geräte erkannt nun garnicht mehr.

                Irgendwas stimmt nicht
                Screenshot_20190921-012533_JuiceSSH.jpg

                Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

                Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

                1 Antwort Letzte Antwort
                0
                • marcusklM Offline
                  marcusklM Offline
                  marcuskl
                  schrieb am zuletzt editiert von
                  #772

                  Ich habe nun mal den Stick raus gezogen und wieder eingesteckt, System neugestartet.
                  Dann ging es auch wieder (kurz)!
                  Jetzt geht der Radar Adapter kurz auf Grün und irekt danach auf Rot.
                  Neustart und Sonstiges ändert auch nichts.

                  Das steht im Log:

                  radar2.0 Adapter disconnected and stopped with dostop(false) and callback(true)
                  

                  Über den Befehl "lescan" findet man die Bluetooth Geräte wieder und unter "hcitool dev" wird mir der Stick auch angezeigt.

                  Kann mir bitte jemand weiterhelfen ?

                  Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

                  Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

                  1 Antwort Letzte Antwort
                  0
                  • U Offline
                    U Offline
                    Udo_E
                    schrieb am zuletzt editiert von Udo_E
                    #773

                    Hallo zusammen, auf die Gefahr hin, dass meine Antwort schon irgendwo in dieser riesigen Sammlung steht und ich sie nicht gefunden habe:
                    Ich habe die Vermutung, dass ich mit diesem Adapter mein Netzwerk nach MAC-Adressen scannen kann, ob diese anwesend sind oder nicht. Leider bekomme ich vom Adapter immer die Meldung, dass alles Gerät nicht anwesend wären obwohl ich es ja besser weiß. arp-scan in der Konsole liefert mir die korrekte Liste. Aber irgendwie bekommt der Adapter das nicht auf die Reihe. Habt ihr Vorschläge wie ich das hinbekommen kann?

                    radar2 -> 1.0.7
                    Node.js -> v10.16.3
                    NPM -> 6.9.0
                    js-controller -> 1.5.14
                    OS -> raspbian buster full (2019-07-10)
                    System -> RPi 3B+

                    S 1 Antwort Letzte Antwort
                    0
                    • U Udo_E

                      Hallo zusammen, auf die Gefahr hin, dass meine Antwort schon irgendwo in dieser riesigen Sammlung steht und ich sie nicht gefunden habe:
                      Ich habe die Vermutung, dass ich mit diesem Adapter mein Netzwerk nach MAC-Adressen scannen kann, ob diese anwesend sind oder nicht. Leider bekomme ich vom Adapter immer die Meldung, dass alles Gerät nicht anwesend wären obwohl ich es ja besser weiß. arp-scan in der Konsole liefert mir die korrekte Liste. Aber irgendwie bekommt der Adapter das nicht auf die Reihe. Habt ihr Vorschläge wie ich das hinbekommen kann?

                      radar2 -> 1.0.7
                      Node.js -> v10.16.3
                      NPM -> 6.9.0
                      js-controller -> 1.5.14
                      OS -> raspbian buster full (2019-07-10)
                      System -> RPi 3B+

                      S Offline
                      S Offline
                      steimi
                      schrieb am zuletzt editiert von
                      #774

                      @Udo_E Über GitHub die 1.2.0 installieren und testen

                      1 Antwort Letzte Antwort
                      0
                      • DiginixD Offline
                        DiginixD Offline
                        Diginix
                        schrieb am zuletzt editiert von
                        #775

                        @frankjoke
                        Für den neuen JS-Controller 2.x muss laut apollon77 die git Version 1.2.0 manuell angepasst werden:
                        https://forum.iobroker.net/post/309480

                        Arbeitest du schon an einem Update? Dann würde ich noch warten mit dem Update auf JS-Controller 2.x
                        Aktuell funktioniert iobroker zu gut, als das ich etwas riskieren möchte.

                        ..:: So long! Tom ::..

                        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                        MathiasJM 1 Antwort Letzte Antwort
                        0
                        • DiginixD Diginix

                          @frankjoke
                          Für den neuen JS-Controller 2.x muss laut apollon77 die git Version 1.2.0 manuell angepasst werden:
                          https://forum.iobroker.net/post/309480

                          Arbeitest du schon an einem Update? Dann würde ich noch warten mit dem Update auf JS-Controller 2.x
                          Aktuell funktioniert iobroker zu gut, als das ich etwas riskieren möchte.

                          MathiasJM Offline
                          MathiasJM Offline
                          MathiasJ
                          schrieb am zuletzt editiert von
                          #776

                          @Diginix
                          mache es halt so wie ich....
                          Meine produktive IObroker Installation läuft auf einem Rock64,
                          Eine Testversion läuft auf einem Raspberry PI 4,
                          Eine Übergabe-Version mit piVCCU auf einem Tinkerboard.
                          Übergabe deshalb, weil das gute Stück in der Wohnung bleibt, das produktive System mit mir zum neuen Eigenheim umzieht.

                          IObroker auf dem NUC als VM.
                          Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                          Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                          DiginixD 1 Antwort Letzte Antwort
                          0
                          • MathiasJM MathiasJ

                            @Diginix
                            mache es halt so wie ich....
                            Meine produktive IObroker Installation läuft auf einem Rock64,
                            Eine Testversion läuft auf einem Raspberry PI 4,
                            Eine Übergabe-Version mit piVCCU auf einem Tinkerboard.
                            Übergabe deshalb, weil das gute Stück in der Wohnung bleibt, das produktive System mit mir zum neuen Eigenheim umzieht.

                            DiginixD Offline
                            DiginixD Offline
                            Diginix
                            schrieb am zuletzt editiert von Diginix
                            #777

                            @MathiasJ
                            Und was soll ich da jetzt wie machen?
                            Ich habe einen produktiven Smarthome PC mit iobroker und da möchte ich irgendwann demnächst mal auf JS-Controller 2.x. Eilt aber nicht, ist ja produktiv und nicht experimentell. Daher wäre es schön wenn auch die verwendeten Adapter bis zu diesem Zeitpunkt kompatibel sind.
                            Selbst meinem zweiten Testsystem würde sich kein Adapter, der nicht von mir geschrieben ist, ändern.
                            Die notwendige Anpassung, wenn ich apollon richtig verstehe, ist nur eine javascript Datei (myAdapter.js).

                            Edit: Wie ich im JS-Controller Thread lese bist du selbst wieder auf v1.5 zurück. Demnach hat dir deine System Parallelität nicht wirklich geholfen.

                            ..:: So long! Tom ::..

                            NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                            MathiasJM 1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              csamaggi
                              schrieb am zuletzt editiert von
                              #778

                              Bei mir werden meine BT Geäte erkannt im Radar2 Adapter aber wie es scheint nur einmal danach sind sie dauerhaft auf False. Die Versio ist 1.0.9. Unter dem alten Radar Adapter läuft es ohne Probleme.

                              Ich dachte naja evtl liegt es an der 1.5.16 vom JS habe den dann auf 2.0.29 upgedatet aber ohne Erfolg. Mit der Konsequenz dass der alte Radar dann auch nicht mehr lief.

                              Dank eines Rollback kein mit Proxmox kein Problem nun läuft wieder die alte JS Version mit Radar1 Adapter aber evtl habt ihr ja eine Idee woran es liegen könnte.

                              MFG Maggi

                              1 Antwort Letzte Antwort
                              0
                              • DiginixD Diginix

                                @MathiasJ
                                Und was soll ich da jetzt wie machen?
                                Ich habe einen produktiven Smarthome PC mit iobroker und da möchte ich irgendwann demnächst mal auf JS-Controller 2.x. Eilt aber nicht, ist ja produktiv und nicht experimentell. Daher wäre es schön wenn auch die verwendeten Adapter bis zu diesem Zeitpunkt kompatibel sind.
                                Selbst meinem zweiten Testsystem würde sich kein Adapter, der nicht von mir geschrieben ist, ändern.
                                Die notwendige Anpassung, wenn ich apollon richtig verstehe, ist nur eine javascript Datei (myAdapter.js).

                                Edit: Wie ich im JS-Controller Thread lese bist du selbst wieder auf v1.5 zurück. Demnach hat dir deine System Parallelität nicht wirklich geholfen.

                                MathiasJM Offline
                                MathiasJM Offline
                                MathiasJ
                                schrieb am zuletzt editiert von
                                #779

                                @Diginix
                                bei mir läuft Radar 1.2.0 ohne Änderungen auf dem JS-Controller 2.0.29.
                                Die Testversion läuft nun auf dem Raspberry PI4 B.
                                das produktive System auf dem Rock64 habe ich abgeschaltet.

                                IObroker auf dem NUC als VM.
                                Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                                Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Strizz
                                  schrieb am zuletzt editiert von
                                  #780

                                  Hallo,
                                  mal eine blöde Frage: Wie realisiere ich denn jetzt mit Radar2 eine vernünftige Anwesenheitserkennung?

                                  Ich habe einen iTag, der auch erkannt wird. Jetzt habe ich also die Werte für iTag, iTag._here und iTag._lastHere. Leider sind die Werte für .Tag._here so unzuverlässig, dass ich sie nicht zur Anwesenheitserkennung verwenden kann. Es passiert halt immer wieder mal, dass der Wert beim Scannen nicht gefunden wird, - manchmal auch zur Recht, wenn z. B. ich nur kurz zur Mülltonne laufe.

                                  Ich dachte, ich könnte in der Konfigurierung des Adapters eine Zeitspanne festsetzen, ab der ich für das System als abwesend gelte. Der entsprechende Wert in der Konfiguration hat jedoch keinerlei Auswirkung auf den Datenpunkt iTag._here. Wenn ich in der Konfiguration für die Option "Abwesenheit in Minuten um als 'nicht da' zu gelten (>=2)" z.B. 10 Minuten einsetze, ändert sich iTag._here trotzdem schon nach einer Minute, wenn ich mal kurz nicht da bin. Habe ich den Sinn dieser Option nicht verstanden? Welcher Wert wird denn damit beeinflusst?

                                  Welche Datenpunkte verwendet Ihr denn für die Abwesenheitserkennung? Für ein paar erleuchtende Erklärungen wäre ich sehr dankbar.

                                  Strizz

                                  crunchipC 1 Antwort Letzte Antwort
                                  0
                                  • S Strizz

                                    Hallo,
                                    mal eine blöde Frage: Wie realisiere ich denn jetzt mit Radar2 eine vernünftige Anwesenheitserkennung?

                                    Ich habe einen iTag, der auch erkannt wird. Jetzt habe ich also die Werte für iTag, iTag._here und iTag._lastHere. Leider sind die Werte für .Tag._here so unzuverlässig, dass ich sie nicht zur Anwesenheitserkennung verwenden kann. Es passiert halt immer wieder mal, dass der Wert beim Scannen nicht gefunden wird, - manchmal auch zur Recht, wenn z. B. ich nur kurz zur Mülltonne laufe.

                                    Ich dachte, ich könnte in der Konfigurierung des Adapters eine Zeitspanne festsetzen, ab der ich für das System als abwesend gelte. Der entsprechende Wert in der Konfiguration hat jedoch keinerlei Auswirkung auf den Datenpunkt iTag._here. Wenn ich in der Konfiguration für die Option "Abwesenheit in Minuten um als 'nicht da' zu gelten (>=2)" z.B. 10 Minuten einsetze, ändert sich iTag._here trotzdem schon nach einer Minute, wenn ich mal kurz nicht da bin. Habe ich den Sinn dieser Option nicht verstanden? Welcher Wert wird denn damit beeinflusst?

                                    Welche Datenpunkte verwendet Ihr denn für die Abwesenheitserkennung? Für ein paar erleuchtende Erklärungen wäre ich sehr dankbar.

                                    Strizz

                                    crunchipC Abwesend
                                    crunchipC Abwesend
                                    crunchip
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #781

                                    @Strizz ich lass bei mir dieses laufen, nicht über radar2, sondern über den tr-064

                                    
                                    // 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-community.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 = { "JaninaA5": "1_Janina", "GalaxyS8Mario": "2_Mario", "Galaxy-S10": "3_Mario1"};
                                    
                                    // 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          = "<table style='width:100%'><thead><tr><th style='text-align:left;'>Name</th><th style='text-align:left;'>Status</th><th style='text-align:left;'>Kommt</th><th style='text-align:left;'>Geht</th></tr></thead><tbody>";                                                      
                                        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+="<tr>";
                                            HTMLString+="<td>"+User[key]+"</td>"
                                            HTMLString+="<td>"+(StatusCurrentUser ? '<div class="mdui-green-bg mdui-state mdui-card">anwesend</div>' : '<div class="mdui-red-bg mdui-state mdui-card">abwesend</div>')+"</td>"
                                            HTMLString+="<td>"+kommttime+"</td>"
                                            HTMLString+="<td>"+gehttime+"</td>"
                                            HTMLString+="</tr>";
                                            
                                        } // ende for
                                        
                                        JsonString += "]";  
                                        HTMLString += "</body></table>";  
                                        
                                        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
                                    

                                    umgestiegen von Proxmox auf Unraid

                                    1 Antwort Letzte Antwort
                                    0
                                    • DiginixD Offline
                                      DiginixD Offline
                                      Diginix
                                      schrieb am zuletzt editiert von
                                      #782

                                      @crunchip Reine BT Geräte können nicht über den Fritzbox Adapter genutzt werden. Oder gibt es Fritzboxmodelle die auch BT Geräte koppeln und Infos dazu über das tr-064 Protokoll liefern?

                                      @Strizz Die eingestellte Zeitspanne für abwesend sollte sich genau auf deinen iTag_here Datenpunkt auswirken. Ich habe eine Smart Watch, die nur per BTLE erkannt wird und die ist auch erst nach den von mir eingestellten 7 Minuten abwesend wenn sie in den Flugmodus wechselt oder ich das Haus verlasse.
                                      Eigentlich dürfte dein iTag_here erst 10 Minuten nach der Uhrzeit von _lastHere auf false wechseln.

                                      ..:: So long! Tom ::..

                                      NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                      crunchipC 1 Antwort Letzte Antwort
                                      0
                                      • DiginixD Diginix

                                        @crunchip Reine BT Geräte können nicht über den Fritzbox Adapter genutzt werden. Oder gibt es Fritzboxmodelle die auch BT Geräte koppeln und Infos dazu über das tr-064 Protokoll liefern?

                                        @Strizz Die eingestellte Zeitspanne für abwesend sollte sich genau auf deinen iTag_here Datenpunkt auswirken. Ich habe eine Smart Watch, die nur per BTLE erkannt wird und die ist auch erst nach den von mir eingestellten 7 Minuten abwesend wenn sie in den Flugmodus wechselt oder ich das Haus verlasse.
                                        Eigentlich dürfte dein iTag_here erst 10 Minuten nach der Uhrzeit von _lastHere auf false wechseln.

                                        crunchipC Abwesend
                                        crunchipC Abwesend
                                        crunchip
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #783

                                        @Diginix war mein Fehler, war da grad nicht bei der Sache:man-facepalming: kommt davon, wenn man nur halb liest

                                        umgestiegen von Proxmox auf Unraid

                                        1 Antwort Letzte Antwort
                                        0
                                        • stephan1827S stephan1827

                                          @pati said in [Adapter] Neuer radar2-Adapter:

                                          @frankjoke Ich hatte gestern das Problem dass die Geräte nach einer Minute bereits als away gekennzeichnet wurden. Scanzeit auf 20 Sekunden, delayAway auf 15 Minuten. Ich habe dann mal einen Blick in den Code geworfen und festgestellt dass die Zeit beim Starten zurückgesetzt wird:

                                          if (Math.floor(scanDelay * 2 / 1000 / 60)<= delayAway)
                                              delayAway = Math.ceil(scanDelay * 2.5 / 1000 / 60);
                                          

                                          In meinem Fall steht scanDelay auf 20 Sekunden - also ergibt sich daraus:
                                          20000 * 2 / 1000 / 60 = 0,66 - nach dem floor bleibt dann noch eine 0.

                                          Du schreibst dass delayAway auf 2,5*scanDelay gesetzt wird wenn delayAway UNTER scanDelay*2 gesetzt wurde. Prüfen tust du jedoch ob delayAway größer ist als Math.floor(scanDelay * 2 / 1000 / 60) - in meine Fall steht hier also if (0 <= delayAway) - das ist natürlich immer true wenn delayAway >= 0 ist. Dadurch wird delayAway dann auf 1 Minute gesetzt.

                                          Ich habe die zwei Zeilen auskommentiert - läuft nun wunderbar mit einer Verzögerung von 15 Minuten.

                                          Hallo,
                                          habe das Problem ebenfalls gemeldet. Deine Änderungen haben das Problem bei mir auch gelöst. Vielleicht kannst Du einen Pull Request senden dann kann Frank das einpflegen.

                                          Stephan

                                          S Offline
                                          S Offline
                                          steimi
                                          schrieb am zuletzt editiert von steimi
                                          #784

                                          @stephan1827 sagte in [Adapter] Neuer radar2-Adapter:

                                          @pati said in [Adapter] Neuer radar2-Adapter:

                                          @frankjoke Ich hatte gestern das Problem dass die Geräte nach einer Minute bereits als away gekennzeichnet wurden. Scanzeit auf 20 Sekunden, delayAway auf 15 Minuten. Ich habe dann mal einen Blick in den Code geworfen und festgestellt dass die Zeit beim Starten zurückgesetzt wird:

                                          if (Math.floor(scanDelay * 2 / 1000 / 60)<= delayAway)
                                              delayAway = Math.ceil(scanDelay * 2.5 / 1000 / 60);
                                          

                                          In meinem Fall steht scanDelay auf 20 Sekunden - also ergibt sich daraus:
                                          20000 * 2 / 1000 / 60 = 0,66 - nach dem floor bleibt dann noch eine 0.

                                          Du schreibst dass delayAway auf 2,5*scanDelay gesetzt wird wenn delayAway UNTER scanDelay*2 gesetzt wurde. Prüfen tust du jedoch ob delayAway größer ist als Math.floor(scanDelay * 2 / 1000 / 60) - in meine Fall steht hier also if (0 <= delayAway) - das ist natürlich immer true wenn delayAway >= 0 ist. Dadurch wird delayAway dann auf 1 Minute gesetzt.

                                          Ich habe die zwei Zeilen auskommentiert - läuft nun wunderbar mit einer Verzögerung von 15 Minuten.

                                          Hallo,
                                          habe das Problem ebenfalls gemeldet. Deine Änderungen haben das Problem bei mir auch gelöst. Vielleicht kannst Du einen Pull Request senden dann kann Frank das einpflegen.

                                          Stephan

                                          @Diginix BT funktioniert bei mir leider auch nicht mehr richtig. Hat sauber unter Debian 9 funktioniert, unter Debian 10 (mit js-Controller 1.5.x) nur mit regelmäßigen Neustarts des Adapter. Leider jetzt mit js-Controller 2.x so gut wie gar nicht mehr. Ich hoffe das da von @frankjoke noch was kommt. Vermute aber das es am BT unter Debian 10 liegt.
                                          Aber vielleicht kann dir das o.g. helfen wegen der zu zeitigen Abwesenheit.

                                          A 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

                                          301

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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