Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Adapter] Neuer radar2-Adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Adapter] Neuer radar2-Adapter

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

      Hat jemand eine Idee, woran das liegen kann?
      Ich habe mir auf einem Raspberry PI4/4GB piVCCU installiert und Radar nach der Anleitung in Post1 installiert.
      Nun Radar ist grün, aber es werden keine Bluetoth-Geräte gescannt.
      Alle Geräte im Netzwerk werden hingegen erkannt.

      BLE hingegen arbeitet fehlerfrei, nachdem ich Radar2 abgeschaltet habe. Ich habe BLE nur installiert, um zu sehen, ob überhaupt ein BLE-Sinal durchkommt.
      ich denke, an Noble kann es da nicht liegen, da BLE ja seine Arbeit tut. Im Log finde ich da überhaupt nichts, nur daß keine Ubt's zu finden sind.
      Gruß,
      Mathias

      1 Reply Last reply Reply Quote 0
      • R
        root_ last edited by root_

        Ich habe ein Problem das mein iPhone8 per BT nicht gefunden wird. Mit dem alten Radar geht es einwandfrei. Beim Radar2.0 werden alle möglichen BT Geräte erkannt, darunter ein iPhone 6s aber das 8er nicht. Habe schon in der Git Version mit den BT einstellungen lescan und l2ping probiert aber das 8er wird nicht erkannt. Verwendet wird ein BT4.0 Dongle.

        1 Reply Last reply Reply Quote 0
        • marcuskl
          marcuskl last edited by

          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'
          
          crunchip AlCalzone 2 Replies Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active @marcuskl last edited by

            @marcuskl Auf welchem System? Irgendein Update gemacht?

            marcuskl 1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer @marcuskl last edited by

              @marcuskl
              Hilft ein

              sudo hciconfig hci0 up
              

              auf der Konsole?

              marcuskl 1 Reply Last reply Reply Quote 0
              • marcuskl
                marcuskl @crunchip last edited by

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

                @marcuskl Auf welchem System? Irgendein Update gemacht?

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

                crunchip 1 Reply Last reply Reply Quote 0
                • marcuskl
                  marcuskl @AlCalzone last edited by

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

                  @marcuskl
                  Hilft ein

                  sudo hciconfig hci0 up
                  

                  auf der Konsole?

                  Hat leider nichts geändert

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

                    @marcuskl und welche Hardware?

                    marcuskl 1 Reply Last reply Reply Quote 0
                    • marcuskl
                      marcuskl @crunchip last edited by

                      @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

                      1 Reply Last reply Reply Quote 0
                      • marcuskl
                        marcuskl last edited by

                        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 ?

                        1 Reply Last reply Reply Quote 0
                        • U
                          Udo_E last edited by 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 1 Reply Last reply Reply Quote 0
                          • S
                            steimi @Udo_E last edited by

                            @Udo_E Über GitHub die 1.2.0 installieren und testen

                            1 Reply Last reply Reply Quote 0
                            • Diginix
                              Diginix last edited by

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

                              MathiasJ 1 Reply Last reply Reply Quote 0
                              • MathiasJ
                                MathiasJ @Diginix last edited by

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

                                Diginix 1 Reply Last reply Reply Quote 0
                                • Diginix
                                  Diginix @MathiasJ last edited by 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.

                                  MathiasJ 1 Reply Last reply Reply Quote 0
                                  • C
                                    csamaggi last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • MathiasJ
                                      MathiasJ @Diginix last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Strizz last edited by

                                        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

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

                                          @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
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • Diginix
                                            Diginix last edited by

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter radar2 adapter
                                            80
                                            840
                                            177859
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo