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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. SetState sendet falschen Wet auf den KNX Bus

NEWS

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

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

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

SetState sendet falschen Wet auf den KNX Bus

Geplant Angeheftet Gesperrt Verschoben JavaScript
21 Beiträge 3 Kommentatoren 1.1k Aufrufe 3 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.
  • F Offline
    F Offline
    felixnb
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich nutze den KNX Adapter und möchte mittels JS KNX Telegramme absetzen.

    Generell funktioniert das, nur bei einem Objekt mit dem DPT232.600 (RGB Wert als 3 Byte) komme ich nicht weiter.

    Wenn ich über die UI einen Wert setze (z.B. 4456448 entspricht in 3 Byte dem Hex RGB Wert #440000), dann kommt dies so auch auf dem KNX Bus an.

    Hier das Ergebnis der UI Eingabe. Ergebnis, so wie ich es aus meiner Sicht sein soll.
    KNX Bus Event - UI Eingabe

    Setze ich den Wert nun über setState im JS, dann landet auf dem Bus der Wert "000005".

    setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", (4456448).toString());
    

    Der JS command führt zu folgendem Telegramm auf dem KNX Bus:

    KNX Bus Event - setState

    Mache ich hier etwas falsch oder was könnte hier das Problem sein?

    Wäre super, wenn ihr mir hier weiterhelfen könnt!

    Grüße

    Felix

    paul53P 1 Antwort Letzte Antwort
    0
    • F felixnb

      Hallo zusammen,

      ich nutze den KNX Adapter und möchte mittels JS KNX Telegramme absetzen.

      Generell funktioniert das, nur bei einem Objekt mit dem DPT232.600 (RGB Wert als 3 Byte) komme ich nicht weiter.

      Wenn ich über die UI einen Wert setze (z.B. 4456448 entspricht in 3 Byte dem Hex RGB Wert #440000), dann kommt dies so auch auf dem KNX Bus an.

      Hier das Ergebnis der UI Eingabe. Ergebnis, so wie ich es aus meiner Sicht sein soll.
      KNX Bus Event - UI Eingabe

      Setze ich den Wert nun über setState im JS, dann landet auf dem Bus der Wert "000005".

      setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", (4456448).toString());
      

      Der JS command führt zu folgendem Telegramm auf dem KNX Bus:

      KNX Bus Event - setState

      Mache ich hier etwas falsch oder was könnte hier das Problem sein?

      Wäre super, wenn ihr mir hier weiterhelfen könnt!

      Grüße

      Felix

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

      @felixnb sagte:

      was könnte hier das Problem sein?

      Hast Du es mal ohne .toString() versucht ?

      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

      F 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @felixnb sagte:

        was könnte hier das Problem sein?

        Hast Du es mal ohne .toString() versucht ?

        F Offline
        F Offline
        felixnb
        schrieb am zuletzt editiert von
        #3

        @paul53

        Hast Du es mal ohne .toString() versucht ?

        Ja habe ich, dann wir kein Wert in der UI angezeigt und auch 0x00000 auf den Bus gesendet.

        Hier noch ein Screenshot von dem Telegramm ohne toString.

        Screenshot ohne to String

        paul53P 2 Antworten Letzte Antwort
        0
        • F felixnb

          @paul53

          Hast Du es mal ohne .toString() versucht ?

          Ja habe ich, dann wir kein Wert in der UI angezeigt und auch 0x00000 auf den Bus gesendet.

          Hier noch ein Screenshot von dem Telegramm ohne toString.

          Screenshot ohne to String

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

          @felixnb
          ... und mit .toString(16) ?

          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

          F 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @felixnb
            ... und mit .toString(16) ?

            F Offline
            F Offline
            felixnb
            schrieb am zuletzt editiert von
            #5

            @paul53

            .toString(16)

            Dann landet in der UI wieder die 440000 (wie erwartet) und aber auf dem Bus ein 0x000000. Gleiches Verhalten, wie ohne toString

            1 Antwort Letzte Antwort
            0
            • F felixnb

              @paul53

              Hast Du es mal ohne .toString() versucht ?

              Ja habe ich, dann wir kein Wert in der UI angezeigt und auch 0x00000 auf den Bus gesendet.

              Hier noch ein Screenshot von dem Telegramm ohne toString.

              Screenshot ohne to String

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

              @felixnb sagte:

              dann wir kein Wert in der UI angezeigt

              Das kann nicht sein.

              setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
              

              muss den Wert in den Datenpunkt schreiben (evtl. mit Warnung).
              Trigger mal den DP und logge den Wert:

              setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
              on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                 log(dp.state.val);
              });
              

              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

              F 2 Antworten Letzte Antwort
              0
              • paul53P paul53

                @felixnb sagte:

                dann wir kein Wert in der UI angezeigt

                Das kann nicht sein.

                setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                

                muss den Wert in den Datenpunkt schreiben (evtl. mit Warnung).
                Trigger mal den DP und logge den Wert:

                setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                   log(dp.state.val);
                });
                
                F Offline
                F Offline
                felixnb
                schrieb am zuletzt editiert von
                #7

                @paul53

                setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);

                Habe es nochmal ausgeführt. In der UI steht kein Wert, im Log kein Fehler und auf dem KNX Bus ein 0x000000.

                Habe auch schon "#440000" und das ganze als binary rein geschrieben, hat aber auch keinen Erfolg gebracht.

                Hast du noch eine Idee?

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @felixnb sagte:

                  dann wir kein Wert in der UI angezeigt

                  Das kann nicht sein.

                  setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                  

                  muss den Wert in den Datenpunkt schreiben (evtl. mit Warnung).
                  Trigger mal den DP und logge den Wert:

                  setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                  on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                     log(dp.state.val);
                  });
                  
                  F Offline
                  F Offline
                  felixnb
                  schrieb am zuletzt editiert von
                  #8

                  @paul53

                  Trigger mal den DP und logge den Wert:

                  Habe 1:1 deinen code ausgeführt. Im Log steht auch kein Wert:

                  (22206) script.js.common.ColorConversion:
                  
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • F felixnb

                    @paul53

                    Trigger mal den DP und logge den Wert:

                    Habe 1:1 deinen code ausgeführt. Im Log steht auch kein Wert:

                    (22206) script.js.common.ColorConversion:
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @felixnb sagte:

                    Im Log steht auch kein Wert:

                    Auch nicht im Tab "Log" ? Dann starte mal ioBroker neu, denn da ist was faul.

                    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

                    F 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @felixnb sagte:

                      Im Log steht auch kein Wert:

                      Auch nicht im Tab "Log" ? Dann starte mal ioBroker neu, denn da ist was faul.

                      F Offline
                      F Offline
                      felixnb
                      schrieb am zuletzt editiert von
                      #10

                      @paul53

                      Ja, auch nicht unter Log. ioBroker neu gestartet, gleiches Problem. Im Log steht immer noch kein Wert. Also wenn ich das wie folgt ausführe:

                      setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                      
                      paul53P 1 Antwort Letzte Antwort
                      0
                      • F felixnb

                        @paul53

                        Ja, auch nicht unter Log. ioBroker neu gestartet, gleiches Problem. Im Log steht immer noch kein Wert. Also wenn ich das wie folgt ausführe:

                        setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                        
                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #11

                        @felixnb sagte:

                        Im Log steht immer noch kein Wert. Also wenn ich das wie folgt ausführe:

                        Das Log wird erst durch den Code mit dem Trigger (on) erzeugt.

                        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

                        F 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @felixnb sagte:

                          Im Log steht immer noch kein Wert. Also wenn ich das wie folgt ausführe:

                          Das Log wird erst durch den Code mit dem Trigger (on) erzeugt.

                          F Offline
                          F Offline
                          felixnb
                          schrieb am zuletzt editiert von
                          #12

                          @paul53

                          Sorry, meine Antwort war unpräzise. Habe den Event handler mit drinnen gelassen.

                          Also das hier ausgeführt:

                             setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                             on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                                 log(dp.state.val);
                             });
                          
                          paul53P 1 Antwort Letzte Antwort
                          0
                          • F felixnb

                            @paul53

                            Sorry, meine Antwort war unpräzise. Habe den Event handler mit drinnen gelassen.

                            Also das hier ausgeführt:

                               setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                               on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                                   log(dp.state.val);
                               });
                            
                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #13

                            @felixnb
                            Erfolgt kein Log oder nur ein Log ohne Wert ?

                            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

                            F 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @felixnb
                              Erfolgt kein Log oder nur ein Log ohne Wert ?

                              F Offline
                              F Offline
                              felixnb
                              schrieb am zuletzt editiert von
                              #14

                              @paul53

                              Es wird ein Log Eintrag erzeugt, aber ohne Wert. Siehe

                              @felixnb said in SetState sendet falschen Wet auf den KNX Bus:

                              @paul53

                              Trigger mal den DP und logge den Wert:

                              Habe 1:1 deinen code ausgeführt. Im Log steht auch kein Wert:

                              (22206) script.js.common.ColorConversion:
                              
                              paul53P 1 Antwort Letzte Antwort
                              0
                              • F felixnb

                                @paul53

                                Es wird ein Log Eintrag erzeugt, aber ohne Wert. Siehe

                                @felixnb said in SetState sendet falschen Wet auf den KNX Bus:

                                @paul53

                                Trigger mal den DP und logge den Wert:

                                Habe 1:1 deinen code ausgeführt. Im Log steht auch kein Wert:

                                (22206) script.js.common.ColorConversion:
                                
                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #15

                                @felixnb
                                Erweitere mal das Log (eigentlich müssten 2 erfolgen: Erst mit ack: false und dann mit ack: true).

                                   setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                                   on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                                       log('Wert: ' + dp.state.val + ', Ack: ' + dp.stat.ack + ', Ursprung: ' + dp.state.from);
                                   });
                                

                                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

                                F 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @felixnb
                                  Erweitere mal das Log (eigentlich müssten 2 erfolgen: Erst mit ack: false und dann mit ack: true).

                                     setState("knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen", 4456448);
                                     on({id: "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen"}, function(dp) {
                                         log('Wert: ' + dp.state.val + ', Ack: ' + dp.stat.ack + ', Ursprung: ' + dp.state.from);
                                     });
                                  
                                  F Offline
                                  F Offline
                                  felixnb
                                  schrieb am zuletzt editiert von
                                  #16

                                  @paul53

                                  Es wird 1 Log Eintrag erzeugt:

                                  (821) script.js.common.ColorConversion: LED_HSV: , Ack: false, Ursprung: system.adapter.javascript.0
                                  

                                  Ein zweiter Log Eintrag wird nicht erzeugt.

                                  Kann es sein, dass der KNX Adapter den Wert nicht "annimmt" und verwirft?

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • F felixnb

                                    @paul53

                                    Es wird 1 Log Eintrag erzeugt:

                                    (821) script.js.common.ColorConversion: LED_HSV: , Ack: false, Ursprung: system.adapter.javascript.0
                                    

                                    Ein zweiter Log Eintrag wird nicht erzeugt.

                                    Kann es sein, dass der KNX Adapter den Wert nicht "annimmt" und verwirft?

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

                                    @felixnb sagte:

                                    Kann es sein, dass der KNX Adapter den Wert nicht "annimmt" und verwirft?

                                    Dann würde erst mit ack: true der Wert "verworfen". Aber der Wert erscheint gar nicht erst im Datenpunkt. Poste bitte die RAW-Ansicht der Objekteigenschaften des DP in Code tags.

                                    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

                                    F 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @felixnb sagte:

                                      Kann es sein, dass der KNX Adapter den Wert nicht "annimmt" und verwirft?

                                      Dann würde erst mit ack: true der Wert "verworfen". Aber der Wert erscheint gar nicht erst im Datenpunkt. Poste bitte die RAW-Ansicht der Objekteigenschaften des DP in Code tags.

                                      F Offline
                                      F Offline
                                      felixnb
                                      schrieb am zuletzt editiert von
                                      #18

                                      @paul53 said in SetState sendet falschen Wet auf den KNX Bus:

                                      Objekteigenschaften

                                      {
                                        "from": "system.adapter.knx.0",
                                        "user": "system.user.admin",
                                        "ts": 1609163390261,
                                        "common": {
                                          "name": "LED HSV Setzen",
                                          "type": "mixed",
                                          "role": "value",
                                          "unit": "",
                                          "max": "",
                                          "min": "",
                                          "read": false,
                                          "write": true,
                                          "update": true
                                        },
                                        "native": {
                                          "dpt": "DPT232.600",
                                          "address": "1/0/0",
                                          "addressRefId": "P-056B-0_GA-12",
                                          "statusGARefId": "",
                                          "actGARefId": "",
                                          "objRef": "O-67_R-118",
                                          "devName": "M-0083_A-0040-24-52B5",
                                          "devInst": "P-056B-0_DI-2",
                                          "objectSize": ""
                                        },
                                        "acl": {
                                          "object": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator",
                                          "state": 1636
                                        },
                                        "_id": "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen",
                                        "type": "state"
                                      }
                                      
                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • F felixnb

                                        @paul53 said in SetState sendet falschen Wet auf den KNX Bus:

                                        Objekteigenschaften

                                        {
                                          "from": "system.adapter.knx.0",
                                          "user": "system.user.admin",
                                          "ts": 1609163390261,
                                          "common": {
                                            "name": "LED HSV Setzen",
                                            "type": "mixed",
                                            "role": "value",
                                            "unit": "",
                                            "max": "",
                                            "min": "",
                                            "read": false,
                                            "write": true,
                                            "update": true
                                          },
                                          "native": {
                                            "dpt": "DPT232.600",
                                            "address": "1/0/0",
                                            "addressRefId": "P-056B-0_GA-12",
                                            "statusGARefId": "",
                                            "actGARefId": "",
                                            "objRef": "O-67_R-118",
                                            "devName": "M-0083_A-0040-24-52B5",
                                            "devInst": "P-056B-0_DI-2",
                                            "objectSize": ""
                                          },
                                          "acl": {
                                            "object": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator",
                                            "state": 1636
                                          },
                                          "_id": "knx.0.Wohnzimmer.Deckenspots.LED_HSV_Setzen",
                                          "type": "state"
                                        }
                                        
                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von paul53
                                        #19

                                        @felixnb
                                        Da haben wir den Salat: Lösche mal die Zeilen "min" und "max" raus.
                                        Der Adapter ist "schlampig" programmiert.

                                        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

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @felixnb
                                          Da haben wir den Salat: Lösche mal die Zeilen "min" und "max" raus.
                                          Der Adapter ist "schlampig" programmiert.

                                          F Offline
                                          F Offline
                                          felixnb
                                          schrieb am zuletzt editiert von
                                          #20

                                          @paul53

                                          Da haben wir den Salat: Lösche mal die Zeilen "min" und "max" raus.

                                          --> Vielen Dank dir! Das hat geklappt! :)

                                          @paul53:

                                          Der Adapter ist "schlampig" programmiert.

                                          --> Habe den code zum Adapter gar nicht gefunden, sodass ich daraus einen PR machen könnte. Sofern ich mich im Code zurecht finden würde :laughing:

                                          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

                                          834

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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