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. Hardware
  4. ID's am Conbee

NEWS

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

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

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

ID's am Conbee

Geplant Angeheftet Gesperrt Verschoben Hardware
deconzzigbeeconbee
16 Beiträge 3 Kommentatoren 1.0k Aufrufe 2 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.
  • D DocGame

    @paul53
    Ich hoffe, das der Adapter-Entwickler das liest, da ich mit meinem bescheidenen Englisch Github-Issues immer eine Katastrophe sind :blush:
    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?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #6

    @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);});
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    D 1 Antwort Letzte Antwort
    0
    • paul53P 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 Offline
      D Offline
      DocGame
      schrieb am zuletzt editiert von
      #7

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

      paul53P 2 Antworten Letzte Antwort
      0
      • D DocGame

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

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #8

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

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • D DocGame

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

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #9

          @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
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          D 1 Antwort Letzte Antwort
          0
          • paul53P 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 Offline
            D Offline
            DocGame
            schrieb am zuletzt editiert von
            #10

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

            Deconzscript.JPG

            paul53P 1 Antwort Letzte Antwort
            0
            • D DocGame

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

              Deconzscript.JPG

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #11

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

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              D 1 Antwort Letzte Antwort
              0
              • paul53P paul53

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

                D Offline
                D Offline
                DocGame
                schrieb am zuletzt editiert von
                #12

                @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 :blush:

                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
                
                paul53P 1 Antwort Letzte Antwort
                0
                • D DocGame

                  @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 :blush:

                  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
                  
                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #13

                  @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) {
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • Jey CeeJ Online
                    Jey CeeJ Online
                    Jey Cee
                    Developer
                    schrieb am zuletzt editiert von
                    #14

                    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.

                    Persönlicher Support
                    Spenden -> paypal.me/J3YC33

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Jey Cee

                      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.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #15

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

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      D 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @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 Offline
                        D Offline
                        DocGame
                        schrieb am zuletzt editiert von
                        #16

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

                        723

                        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