Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. CC2530/CC2531 als Custom-Zigbee-Aktor/Sensor

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    CC2530/CC2531 als Custom-Zigbee-Aktor/Sensor

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

      1fca3515-6735-46f1-9b50-190484b150fc-image.png

      ed0865ec-52b7-4192-9f30-90a953d12f74-image.png

      1 Reply Last reply Reply Quote 0
      • skvarel
        skvarel Developer last edited by skvarel

        Sooo, nächster Konverter angepasst. @jkvarel hat mir geholfen 😉

        Gefällt mir aber wegen der fehlenden Icons bei den Temperaturen noch nicht.

        5aba0649-344a-4275-929a-51400c794ea4-image.png

        1 Reply Last reply Reply Quote 0
        • skvarel
          skvarel Developer last edited by

          @Asgothian .. ich könnte noch mal deine Hilfe gebrauchen

          005e3090-be85-49af-9913-a8caa9821c7c-image.png

          Ich möchte gern das Icon davor haben.

          Hier mal mein Konverter, den ich mit @jkvarel gemacht habe:

          const precisionRound = zigbeeHerdsmanUtils.precisionRound;
          const fzlocal = {
              local_analog_switch: {
                cluster: 'genAnalogInput',
                type: ['attributeReport', 'readResponse'],
                convert: (model, msg, publish, options, meta) => {
                    const payload = {};
                    const channel = msg.endpoint.ID;
                    const mapping = {
                      1: 'Vorlauftemperatur',
                      2: 'Ruecklauftemperatur'
                    }
          
                    if(mapping[channel] === undefined) return payload
          
                    payload[mapping[channel]] = precisionRound(msg.data['presentValue'], 1)
          
                    return payload
          
          
                }
              }
          }  
          
          const device = {
              zigbeeModel: ['CC2531.DS18B20'],
              model: 'CC2531.DS18B20',
              vendor: 'inventwo',
              description: '[CC2531 w. DS18B20 Sensor](https://github.com/inventwo/custom-zigbee)',
              fromZigbee: [fz.ignore_basic_report, fz.ptvo_switch_analog_input, fzlocal.local_analog_switch],
              toZigbee: [tz.ptvo_switch_trigger,],
              exposes: [
                  exposes.numeric('Vorlauftemperatur', ea.STATE).withUnit('°C'),
                  exposes.numeric('Ruecklauftemperatur', ea.STATE).withUnit('°C'),
          ],
              meta: {
                  multiEndpoint: true,
                  
              },
              endpoint: (device) => {
                  return {
                      Vorlauftemperatur: 1, Ruecklauftemperatur: 2,
                  };
          
          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @skvarel last edited by

            @skvarel Ich fürchte da läufst du auf die Grenzen des Möglichen. Soweit ich das korrekt erkannt habe wird das Icon aus der Benennung des Payloads gemacht - genau das was du da gerade 'umbenannt' hast.

            Was du versuchen kannst:

            • 'Vorlauftemperatur' durch 'temperatur_vorlauf' ersetzen (überall wo es auftritt)
            • 'Ruecklauftemperatur' durch 'temperatur_ruecklauf' ersetzen (überall wo es auftritt)
            • hoffen 🙂

            A.

            skvarel 1 Reply Last reply Reply Quote 1
            • skvarel
              skvarel Developer @Asgothian last edited by

              @asgothian .. das teste ich morgen direkt. Dann habe ich aber nicht mehr meine Wunschnamen in der Zigbee-Kachel. Einen Tod muss ich da wohl sterben.

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @skvarel last edited by

                @skvarel sagte in CC2530/CC2531 als Custom-Zigbee-Aktor/Sensor:

                @asgothian .. das teste ich morgen direkt. Dann habe ich aber nicht mehr meine Wunschnamen in der Zigbee-Kachel. Einen Tod muss ich da wohl sterben.

                Das, oder wir machen eine Anpassung bei zigbee2mqtt.io das man die icons über die exposes vorgeben kann - das ist dann aber ein größerer Wurf.

                A.

                skvarel 2 Replies Last reply Reply Quote 0
                • skvarel
                  skvarel Developer @Asgothian last edited by

                  @asgothian .. über die Exposes wäre ein Traum. Ich denke, ich bin da aber wohl ein Einzellfall 😉

                  1 Reply Last reply Reply Quote 0
                  • skvarel
                    skvarel Developer @Asgothian last edited by skvarel

                    @asgothian .. ich könnte auch mit dem Eintrag 'Temperatur' und dem Icon leben, wenn ich den Namen in der Klammer (das ist der Endpoint) ändern könnte.

                    Das teste ich morgen nochmal.

                    Dann hätte ich der Kachel: Temperatur (Vorlauf) anstatt: Temperatur (l1) stehen.

                    Ich meine, das hatten wir heute schon mal. Ich weiß nur nicht mehr wann das war. Wir haben so vieles geändert 🙂

                    Asgothian 1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @skvarel last edited by

                      @skvarel das sollte gehen. Können wir morgen mal versuchen

                      skvarel 1 Reply Last reply Reply Quote 1
                      • skvarel
                        skvarel Developer @Asgothian last edited by

                        @asgothian .. ich habe gerade Nachtschicht und muss morgen früh erstmal ein paar Stunden schlafen. ab Mittag bin ich bei Discord online

                        Asgothian 2 Replies Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @skvarel last edited by

                          @skvarel sagte in CC2530/CC2531 als Custom-Zigbee-Aktor/Sensor:

                          @asgothian .. ich habe gerade Nachtschicht und muss morgen früh erstmal ein paar Stunden schlafen. ab Mittag bin ich bei Discord online

                          Passt. Ich schau mir heut Nacht des\n superbowl an und bin vor 12 auch nicht ansprechbar 🙂

                          1 Reply Last reply Reply Quote 1
                          • Asgothian
                            Asgothian Developer @skvarel last edited by

                            @skvarel So, ich wär jetzt wach und häng auch im Discord. Meld dich einfach 🙂
                            kann sein das ich ein/zwei Minuten brauch zu reagieren, wenn ich gerade telefoniere.

                            A.

                            skvarel 2 Replies Last reply Reply Quote 0
                            • skvarel
                              skvarel Developer @Asgothian last edited by skvarel

                              @asgothian .. DANKE 🙂

                              ad13a850-9d17-4cdd-b7a9-a0aa94ce3fea-image.png

                              Den Konverter habe ich hochgeladen:

                              https://github.com/inventwo/custom-zigbee/blob/main/Converter/CC2531.HEIZUNG.js

                              1 Reply Last reply Reply Quote 0
                              • skvarel
                                skvarel Developer @Asgothian last edited by skvarel

                                @asgothian ... nächster Test: Morgen versuche ich mit den Payloads bei meinem Ultraschallsensor zu spielen.

                                Ich habe vorhin noch tamper und state eingestetzt. Da kommen auch Icons. Ich versuche morgen mal distance und presence 😉

                                06054f98-7573-48a4-9d5c-057b9b37f43f-image.png

                                Die Icons kommen übrigens hier her:

                                https://fontawesome.com/start

                                1 Reply Last reply Reply Quote 0
                                • skvarel
                                  skvarel Developer last edited by skvarel

                                  Ich finde einfach kein Payload für die Messung 😞

                                  Anstelle von Modus wäre dort der Status passender. Ich muss aber erst etwas für die Messung finden.

                                  6e3c00a6-cd30-4abc-857f-d8e820cf518a-image.png

                                  d0d0f121-d319-4cec-87aa-278b020717f0-image.png

                                  1 Reply Last reply Reply Quote 0
                                  • skvarel
                                    skvarel Developer last edited by

                                    @Asgothian .. DANKE !!!

                                    75fd411c-a0e4-425b-9266-cc1c54710591-image.png

                                    1 Reply Last reply Reply Quote 0
                                    • skvarel
                                      skvarel Developer last edited by skvarel

                                      @Asgothian .. bei numeric und contact klappt es so nicht. Wenn ich da eigene Endpunkte einsetze, kommt ein N/A zurück

                                      Temperatur, Feuchte und State klappt! Bei State gibt es noch einen Schönheitsfehler. Da steht der Endpunkt jetzt doppelt drin.

                                      36ef9498-40d0-4d70-83f1-e0e1560264b3-image.png

                                      onst device = {
                                          zigbeeModel: ['CC2530.GREEN'],
                                          model: 'CC2530.GREEN',
                                          vendor: 'inventwo',
                                          description: '[Greenhouse](https://github.com/inventwo/custom-zigbee)',
                                          fromZigbee: [fz.ignore_basic_report, fz.ptvo_switch_analog_input, fz.temperature, fz.ptvo_humidity, fz.ptvo_on_off, fz.ptvo_multistate_action, fz.ptvo_on_off_config,],
                                          toZigbee: [tz.ptvo_switch_trigger, tz.on_off, tz.ptvo_on_off_config,],
                                          exposes: [
                                            e.temperature().withEndpoint('Erdreich').withDescription('Bodentemperatur L1'),
                                            e.temperature().withEndpoint('Innenraum').withDescription('Lufttemperatur L2'),
                                            e.humidity().withEndpoint('Innenraum').withDescription('Luftfeuchte L2'),
                                            exposes.numeric('l3', ea.STATE).withDescription('Bodenfeuchte L3').withUnit('µS/cm'),
                                            exposes.numeric('l4', ea.STATE).withDescription('Bodenfeuchte L4').withUnit('µS/cm'),
                                            e.contact().withEndpoint('l5').withDescription('Türkontakt L5'),
                                            e.contact().withEndpoint('l6').withDescription('Fensterkontakt L6'),
                                            e.switch().withEndpoint('Licht'),
                                            e.switch().withEndpoint('Heizung'),
                                            ...ptvo_on_off_config_exposes('l5'),
                                            ...ptvo_on_off_config_exposes('l6'),
                                          ],
                                          meta: {
                                              multiEndpoint: true,
                                              binaryEndpoints: {'l5': 'contact', 'l6': 'contact', }, 
                                          },
                                          endpoint: (device) => {
                                              return {
                                                  Erdreich: 1, Innenraum: 2, l3: 3, l4: 4, l5: 5, l6: 6, Licht: 7, Heizung: 8,
                                              };
                                          },
                                      
                                      Asgothian 1 Reply Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @skvarel last edited by

                                        @skvarel Da bräuchte ich mal den ganzen converter für das Greenhouse, nicht nur das device

                                        skvarel 1 Reply Last reply Reply Quote 0
                                        • skvarel
                                          skvarel Developer @Asgothian last edited by

                                          @asgothian .. habe ich hochgeladen

                                          https://github.com/inventwo/custom-zigbee/blob/main/Converter/CC2530.GREEN.js

                                          Ich bin heute ab 15 Uhr wieder erreichbar.

                                          Asgothian 1 Reply Last reply Reply Quote 0
                                          • Asgothian
                                            Asgothian Developer @skvarel last edited by

                                            @skvarel Da muss es einen Automatismus für die Kachel geben. Die EP Namen waren auch früher schon doppelt, siehe diesen Screenshot von Dir - da steht L7 und L8 doppelt drin

                                            Screenshot 2025-02-13 at 16.13.44.png

                                            Ich fürchte das bekommen wir nicht gefixed.

                                            Für das Numeric sollte es auch gehen das du da am Ende ein 'withEndpoint('...') einhängst. Dazu müsstest Du aber den von mir angepassten externen Konverter nutzen. (PR ist da. Ich wäre auch auf Discord greifbar)

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            696
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            160
                                            11283
                                            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