Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. ID's am Conbee

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ID's am Conbee

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

      Hallo miteinander,
      ich habe seit fast 2 Jahren einen Conbee und 6 Mi-Hubs erfolgreich am laufen.
      Die meisten Geräte laufen an den Mi-Hubs. Nur einige Taster und Lampen habe ich mit Deconz am laufen.
      Da ich hier einige Aqara-Opple 3-fach Taster liegen habe, die definitiv nicht an den Mi-Hubs laufen werden und diese vermutlich mit der nächsten Deconz Version unterstützt werden ziehe ich momentan mit einigen Geräten auf Deconz um.
      Den Magic Cube habe ich schon lange mit Deconz laufen und habe mich an die 2 benötigten ID's gewöhnt.
      Nun habe ich den ersten Aqara Temperatursensor an Deconz angelernt. Der Braucht ja 3 ID's !!! (Je einen für Temperatur, Luftfeuchtigkeit und Luftdruck). Im Mi-Hub habe ich da einen mit allen 3 States.
      Zum einen wird es so relativ schnell unübersichtlich.
      Die wichtigste Frage für mich ist allerdings: Sind durch einen einzelnen Themeratursensor schon 3 der der möglichen 200 Geräte belegt? Dann würde ein Komplettumzug leider nicht in frage kommen, da dann die 200 nicht ausreichen würden.
      Liege ich mit meiner Vermutung richtig oder wird hier anders gezählt?
      Können die 3 States nicht unter einer ID zusammengefasst werden?

      Sanke schon mal im Voraus

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @DocGame last edited by

        @DocGame sagte:

        schon 3 der der möglichen 200 Geräte belegt?

        Datenpunkte sind keine Geräte.

        @DocGame sagte in ID's am Conbee:

        Können die 3 States nicht unter einer ID zusammengefasst werden?

        Wozu ? Sie dann dann viel umständlicher zu nutzen.

        D 1 Reply Last reply Reply Quote 0
        • D
          DocGame @paul53 last edited by

          @paul53
          Wieso das ich hatte mit den an den MiHubs's angemeldeten States noch nie Probleme. uch die Baterieüberwachung ist bei einer Batterie pro ID viel einfacher (Script läuft perfekt).
          Hier Bilder der States gleicher Temperatur Sensoren an Deconz und MiHub:

          Deconz:
          ID'd_Deconz.JPG

          Mihub:
          ID'd_MiHome.JPG

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @DocGame last edited by

            @DocGame sagte:

            Hier Bilder der States

            Ein Bild sagt mehr als tausend Worte. Es sind in beiden Fällen getrennte Datnpunkte.
            Es ist allerdings im Mihome-Adapter besser gelöst. Dass der Deconz-Adapter mehrere Ordner erzeugt und diese auch noch als Objekttyp "device", ist sehr ungünstig gelöst. Da sollte der Adapter-Entwickler noch mal ran.
            Um solche Unterschiede zu umgehen, empfehle ich die Verwendung von Alias.

            D 1 Reply Last reply Reply Quote 0
            • D
              DocGame @paul53 last edited by

              @paul53
              Ich hoffe, das der Adapter-Entwickler das liest, da ich mit meinem bescheidenen Englisch Github-Issues immer eine Katastrophe sind 😊
              Das mit Alias habe ich vorhin in einem anderen Post von dir gelesen, blicke bei der Beschreibung aber noch nicht ganz durch.
              Ein Verändertes Verhalten des Adapters wäre auf jedenfall einfacher und auch übersichtlicher.
              Ich hätte im Zusammenhang mit dem Teilumzug noch eine Frage an dich und bin mir nicht sicher ob ich deswegen noch ein Thema aufmachen soll. Das Thema Batterieauswertung ist aber im Forum schon so ausgelutscht, das ich mir das verkneife.
              Ich habe 2 Scripts am laufen (habe dabei viel von dir abgeschaut). Eins schaut ob ein Level unter einen Wert fällt und sendet mir ein Telegram mit Namen und Wert.
              Das andere sendet mit bei Adapterstart (den ich durch Telegram auslöse) alle Sensoren mit Batterien und deren Werte. Ich schaue alle paar Tage mal nach und kann mir dann rechtzeitig Batterien besorgen. Die Beiden laufen mit MiHub perfekt.
              Bekomme Sie aber leider nicht ohne Fehlermeldung an Deconz angepasst (wobei natürlich die Abfrage und Meldung beider Apdapter noch genialer wäre.
              Hier das laufende Script:

              const sensors = $('channel[state.id=mihome.0.devices.*.percent]');
              
               function lowBatt() {
                 var Infos = [];       
                 var InfoMessage = 'Batterien Stand Liste:\n';
                 sensors.each(function(id, i) {
                          var value = getState(id).val;
                    if(value < 99) {
              
                       var pathname = id.substring(0, id.indexOf(".percent"));
                       var wholeName = getObject(pathname).common.name;
                       var name = wholeName.substring(wholeName.indexOf("- ") + 1, wholeName.length); 
                    Infos.push(name + ': ' + value + ' %');
              
                    }
                 });
                 if(Infos.length) {
                    for(let i = 0; i < Infos.length; i++) {
                       InfoMessage = InfoMessage + Infos[i] + '\n';
                    }  
                    sendTo("telegram", "send", {user: 'Ralf', text: InfoMessage});
                 }
              }
              
              //on({id: /^mihome\.0\.devices\..+\.percent$/, valLt: 30, oldValGe: 30}, lowBatt); // Triggert bei Erreichen des Grenzwertes
              lowBatt(); // Aufruf bei Skriptstart
              

              Ich habe folgendes geändert:
              Zeile 1: const sensors = $('channel[state.id=deconz.0.Sensors.*.battery]');
              Zeile 2: var pathname = id.substring(0, id.indexOf(".battery"));

              das ist aber scheinbar noch nicht alles. Es kommen jede Menge Fehlermeldungen.
              Kann man beide in einem Rutsch abfragen oder was muss ich zumindest bei der Deconz-Version noch ändern?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @DocGame last edited by paul53

                @DocGame sagte:

                const sensors = $('channel[state.id=deconz.0.Sensors.*.battery]');

                Weshalb "channel" ? Ich sehe keine im Bild.
                Ist "Sensors" in der ID wirklich groß geschrieben ?
                Teste doch erst einmal den passenden $Selector mittels Testskript

                $('deconz.0.sensors.*.battery').each(function(id, i) {log(id);});
                
                D 1 Reply Last reply Reply Quote 0
                • D
                  DocGame @paul53 last edited by

                  @paul53 sagte in ID's am Conbee:

                  $('deconz.0.sensors.*.battery').each(function(id, i) {log(id);});

                  Wenn du wüsstest wie ich dich bewundere...ich komm bei JS einfach nicht richtig rein. Kleinigkeiten ändern aber sonst..
                  Blockly klappt ja recht gut, da man da viel mit logischem Denken machen kann aber bei JS fehlt mir jeder Bezug (leider)
                  Ich habe deine Zeile in ein Extra Script gepackt. Muss ich das tiggern und wo ist ein e Ausgabe zu sehen. Kann ich diese so in meine erste Zeile einbauen?
                  Ich hoffe ich nerve nicht. Mir geht es auch oft so, das ich Leuten was von meinen Spezialgebieten erzähle und diese nur Bahnhof verstehen.

                  paul53 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @DocGame last edited by paul53

                    @DocGame sagte:

                    Muss ich das tiggern und wo ist ein e Ausgabe zu sehen.

                    Bei jedem Start des Skripts kommt die Log-Ausgabe unterhalb des Editor-Fensters(evtl. vorher mal den Reiter wechseln).

                    @DocGame sagte in ID's am Conbee:

                    Kann ich diese so in meine erste Zeile einbauen?

                    Nein, dann funktioniert es mit den Mihome-Sensoren nicht mehr. Außerdem: Erst den $Selector testen, bis die Log-Ausgabe passt.

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @DocGame last edited by paul53

                      @DocGame
                      Wenn der $Selector für die Deconz-Batterien passt, dann versuches es mal so:

                      const mihome = $('channel[state.id=mihome.0.devices.*.percent]');
                      const deconz = $('deconz.0.Sensors.*.battery');
                      
                      var Infos = [];
                      var Values = [];
                      
                      function checkBatt(id, i) {
                          var value = getState(id).val;
                          if(value < 99) { // Anpassen !
                              var pathname = id.substring(0, id.lastIndexOf('.'));
                              var name = getObject(pathname).common.name;
                              if(Infos.indexOf(name) == -1) {
                                  Infos.push(name);
                                  Values.push(value);
                              }
                          }
                      }
                      
                      function lowBatt() {
                         Infos = []; 
                         Values= [];    
                         var InfoMessage = 'Batterien Stand Liste:\n';
                         mihome.each(checkBatt);
                         deconz.each(checkBatt);
                         if(Infos.length) {
                            for(let i = 0; i < Infos.length; i++) {
                               InfoMessage = InfoMessage + Infos[i] + ': ' + Values[i] + ' %\n';
                            }  
                            sendTo("telegram", "send", {user: 'Ralf', text: InfoMessage});
                         }
                      }
                       
                      on({id: /^mihome\.0\.devices\..+\.percent$/, valLt: 30, oldValGe: 30}, lowBatt); // Triggert bei Erreichen des Grenzwertes
                      on({id: /^deconz\.0\.Sensors\..+\.battery$/, valLt: 30, oldValGe: 30}, lowBatt); // Triggert bei Erreichen des Grenzwertes
                      lowBatt(); // Aufruf bei Skriptstart
                      
                      D 1 Reply Last reply Reply Quote 0
                      • D
                        DocGame @paul53 last edited by

                        @paul53
                        so hast du das bestimmt nicht gemeint...

                        Deconzscript.JPG

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @DocGame last edited by

                          @DocGame
                          Wenn nicht mehr im Log kommt, findet der $Selector nichts. Dann muss man andere Varianten testen.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            DocGame @paul53 last edited by

                            @paul53
                            Sensors groß geschrieben und dann ging es.
                            Die Anzeige ist wegen der Mehrfachnennung pro Batterie natürlich suboptimal.
                            Werde heute abend mal versuchen die 2 Geräte in ein Script zu packen. Ohne Adapterupdate ist das aber nicht so prickelnd.
                            Werde berichten. Jetzt ist aber Frauchen dran 😊

                            19:09:35.339	info	javascript.0 (12624) Stop script script.js.Scripts.Deconztest
                            19:09:35.353	info	javascript.0 (12624) Start javascript script.js.Scripts.Deconztest
                            19:09:35.364	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.10.battery
                            19:09:35.364	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.11.battery
                            19:09:35.364	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.12.battery
                            19:09:35.365	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.13.battery
                            19:09:35.365	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.14.battery
                            19:09:35.365	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.15.battery
                            19:09:35.365	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.16.battery
                            19:09:35.366	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.17.battery
                            19:09:35.366	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.4.battery
                            19:09:35.366	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.5.battery
                            19:09:35.366	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.6.battery
                            19:09:35.366	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.8.battery
                            19:09:35.367	info	javascript.0 (12624) script.js.Scripts.Deconztest: deconz.0.Sensors.9.battery
                            19:09:35.367	info	javascript.0 (12624) script.js.Scripts.Deconztest: registered 0 subscriptions and 0 schedules
                            
                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @DocGame last edited by paul53

                              @DocGame sagte:

                              Die Anzeige ist wegen der Mehrfachnennung pro Batterie natürlich suboptimal.

                              Das habe ich in dem Skript weiter oben unterdrückt.

                                      if(Infos.indexOf(name) {
                              
                              1 Reply Last reply Reply Quote 0
                              • Jey Cee
                                Jey Cee Developer last edited by

                                deConz gibt die Sensoren so aus, ich kann nicht fest stellen welche Zusammen gehören. Ich habe es mehrfach erfolg los versucht.
                                Da es nur Probleme damit gab hab ich es Aufgegeben.

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Jey Cee last edited by

                                  @Jey-Cee sagte:

                                  nicht fest stellen welche Zusammen gehören.

                                  Dann schlage ich vor, Alias zu verwenden, denn damit kann man einheitliche ID-Strukturen erzeugen und mehrfache identische Datenpunkte vermeiden.

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    DocGame @paul53 last edited by

                                    @paul53
                                    Das mit dem Alias ist für mich leider immer noch Bahnhof...
                                    Ich kann aber zumindest bei deinem Script einen Erfolg melden. Es lauft perfekt mit einer Besonderheit, an der ich allerdings selbst schuld bin. Dem Magic Cube, der ja auch 2 ID's sendet hate ich 2 Namen gegeben ("Würfel Seite" und "Würfel drehen") um in Blockly einen Besseren Überblick zu haben. Der ist jetzt natürlich 2 mal drin weil du ja den Namen abfragst. Mal sehen, ob ich meine Temperaturliste ähnlich angepasst bekomme.
                                    Vielen Dank nochmals.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    941
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    conbee deconz zigbee
                                    3
                                    16
                                    862
                                    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