Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. KNX DTP 3.007 (Dimmer) nach Zigbee übersetzen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    KNX DTP 3.007 (Dimmer) nach Zigbee übersetzen

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

      Hallo zusammen,

      ich bin hier schon einige Zeit Mitleser bin über die Suche nun aber nicht mehr weitergekommen.

      Ich möchte aus unserem KNX System über openKNX ein Dimmsignal per Zigbee Adapter an eine Lampe schicken. Leider kann ich jedoch mit dem Signal des Dimmers nicht wirklich etwas anfangen. Ich hoffe mir kann hier jemand in Blockly oder Java weiterhelfen.

      Laut KNX Konfi handelt es sich um ein 3 Bit Signal. Ein Bit für +/- sowie 2 Bit für die Schrittgröße und Stopp

      Diese Infos bekomme ich vom Datenpunkt im IOBroker:

      efb4c3ab-7e9f-4bc2-ae6b-827d45e695d4-image.png

      Da mein Schalter nur eine Dimmgeschwindigkeit nutzt reicht mir folgende Übersetzungen aus:

      "decr_incr" steht für das Vorzeichen und "data" für die Schrittgröße

      • {"decr_incr":1,"data":1} nach +20
      • {"decr_incr":1,"data":0} nach 0
      • {"decr_incr":0,"data":1} nach -20
      • {"decr_incr":0,"data":0} nach 0

      Dies ist das Objekt welches ich auslese

      
        "_id": "openknx.0.Licht.Zigbee.Z_LD_BURO_01_Dim_Rel",
        "type": "state",
        "common": {
          "desc": "Basetype: 4-bit relative dimming control",
          "name": "Z_LD_BURO_01 Dim Rel",
          "read": true,
          "role": "state",
          "type": "object",
          "write": true
        },
        "native": {
          "address": "0/7/3",
          "answer_groupValueResponse": false,
          "autoread": true,
          "bitlength": 4,
          "dpt": "DPT3.007",
          "valuetype": "composite"
        },
      }
      

      Dies ist das Objekt welches ich schreiben will:

      {
        "type": "state",
        "common": {
          "name": "Dimming",
          "type": "number",
          "read": false,
          "write": true,
          "role": "state",
          "min": -50,
          "max": 50
        },
        "native": {},
        "from": "system.adapter.zigbee.0",
        "_id": "zigbee.0.a4c13800ab3b2cdb.brightness_move"
      }
      

      Danke schon mal für die Hilfe
      Chris

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

        @chribo sagte: "decr_incr" steht für das Vorzeichen und "data" für die Schrittgröße

        {"decr_incr":1,"data":1} nach +20
        {"decr_incr":1,"data":0} nach 0
        {"decr_incr":0,"data":1} nach -20
        {"decr_incr":0,"data":0} nach 0

        dp.state.val.decr_incr ? 20 * dp.state.val.data : -20 * dp.state.val.data
        
        C 1 Reply Last reply Reply Quote 0
        • C
          chribo @paul53 last edited by

          @paul53

          hey danke für die schnelle Antwort. Was Java angeht bin ich leider noch ein ziemlicher Anfänger. Ich kann zwar bestehende Scripte größtenteils nachvollziehen/ändern aber um den benötigten Rest um deinen Code drum herum zu bauen fehlt mir leider noch das Wissen.

          Wenn ich das richtig verstehe fragst du hier hab ob der wert "decr_incr" wahr ist und multiplizierst dann "data" mit +20/-20.

          das dp muss ich dann durch meinen vorhanden Datenpunkt ersetzen?

          openknx.0.Licht.Zigbee.Z_LD_BURO_01_Dim_Rel.state.val.decr_incr ? 20 * openknx.0.Licht.Zigbee.Z_LD_BURO_01_Dim_Rel.state.val.data : -20 * openknx.0.Licht.Zigbee.Z_LD_BURO_01_Dim_Rel.state.val.dat
          

          wie schreibe ich jetzt das Ergebnis in die gewünschte Variable?

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

            @chribo sagte: Was Java angeht bin ich leider noch ein ziemlicher Anfänger.

            Javascript ist nicht Java. Besser Blockly?

            Blockly_temp.JPG

            EDIT: In Javascript:

            on('openknx.0.Licht.Zigbee.Z_LD_BURO_01_Dim_Rel', function(dp) {
                setState('zigbee.0.a4c13800ab3b2cdb.brightness_move', dp.state.val.decr_incr ? 20 * dp.state.val.data : -20 * dp.state.val.data);
            });
            
            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            1.0k
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            2
            4
            223
            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