Ankündigung

Einklappen
Keine Ankündigung bisher.

homebridge-knx 0.3.0 alpha (Apple HomeKit interface)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Dann darf halt der Dimmer den Status nur bei Änderung senden.

    Kommentar


      Guten Abend Evilg,
      ich hatte das selbe verhalten. Auch erst der Wert und dann gleich danach ein „an“.
      Scheint wohl so gewollt zu sein, wird aber von Dimmern unterschiedlich interpretiert. So zumindest meine Information.
      Ich nutze jetzt für die Dimmer nen handler, der nach einem empfangenen Wert für n paar Millis die nächsten schalt Befehle ignoriert. Ich kann morgen mal schauen wie der heißt. Aber im Netz ist der auch ziemlich einfach zu finden. Damit geht das bei mir jetzt einwandfrei.

      Grüße Julian

      Kommentar


        Zitat von JulianGloeckle Beitrag anzeigen
        Scheint wohl so gewollt zu sein, wird aber von Dimmern unterschiedlich interpretiert.

        Grüße Julian
        Ok. Der Sinn leuchtet mir grad nicht ein. Aber wenn Das mit dem Handler umgangen werden kann, wäre ich ja schon zufrieden.

        Grüße Dirk

        Kommentar


          So, gelöst.

          Ich musste ertstmal schauen wie man einen Handler installiert. Ich hoffe das ist richtig so. Scheint aber zu Funktionieren.

          Für alle die das selbe Problem haben:


          Im Verzeichnis "/usr/lib/node_modules/homebridge-knx/lib/addins" eine Datei millis.js erstellen.
          Entweder per ftp oder ssh:

          sudo nano /usr/lib/node_modules/homebridge-knx/lib/addins/millis.js

          und folgenden Code einfügen:


          Code:
          'use strict';
          /** * @type {HandlerPattern}
           */
          var HandlerPattern = require('./handlerpattern.js');
          var log = require('debug')('dltDIM');
          
          
          /**
           * @class A custom handler to fix brightness/on messages and to make 1% eq 1/255 brightness
           * @extends HandlerPattern
           */
          class dltDIM extends HandlerPattern {
          
              constructor(knxAPI) {
                  super(knxAPI); // call the super constructor first. Always.
              }
          
          
              /****
               * onKNXValueChange is invoked if a Bus value for one of the bound addresses is received
               *
               */
              onKNXValueChange(field, oldValue, knxValue) {
              console.log('INFO: on KNX Value Change(' + field + ", old="+ oldValue + ", new="+ knxValue+ ")");
          
                    switch (field)
                    {
                        case "Brightness":
          
                          this.myAPI.setValue("Brightness", parseInt((knxValue)/255*100)+1);
                          break;
                      case "On":
                          this.myAPI.setValue("On", knxValue);
                          break;
                      }
                  return true;
              } // onBusValueChange
          
              /****
               * onHKValueChange is invoked if HomeKit is changing characteristic values
               *
               */
              onHKValueChange(field, oldValue, newValue) {
                      console.log('INFO: on HK Value Change (' + field + ", old="+ oldValue + ", new="+ newValue + ")");
          
                        switch (field)
                        {
                            case "Brightness":
          
                                // to make 1% -> 1/255 (more precise dimming)
                              this.myAPI.knxWrite(field, parseInt(newValue/100*255-1), "DPT5");
          
                              // set "brightness has just been set" flag to true for next 0.2s
                              this.brightnessSet=true;
                              var that = this;
                              if (this.timer) clearTimeout(this.timer);
                              this.timer = setTimeout(function () {
                                  that.brightnessSet=false;
                              },200);
                              return true;
                              break;
                          case "On":
                              //skip "turn on" knx message if brightness has just been set
                              if (newValue == 1 && this.brightnessSet)
                              {
                                  return true;
                              }
                              this.myAPI.knxWrite(field, newValue, "DPT1");
                              break;
                      }
          
                      return true;
          
          
              } // onHKValueChange
          } // class
          module.exports=    dltDIM;
          Dann den Handler vor allen gedimmten Leuchten einfügen. Etwa so:

          Code:
          "ServiceType": "Lightbulb",
                              "Handler": "millis",
                              "ServiceName": "Wohnzimmer Decke",
                              "Characteristics": [
                                  {
                                      "Type": "On", ................

          Die Diskusion zu dem Thema gibt es hier:
          https://github.com/snowdd1/homebridge-knx/issues/47

          @JulianGloeckle
          danke für den Tipp.

          Kommentar


            Zitat von bigblue1735 Beitrag anzeigen
            ratzi82 Würdest du mit uns dein Dockerfile teilen?
            bigblue1735

            Hi, sorry habe deine Nachricht ganz vergessen.
            Klar teile ich das Dockerfile, kann ich aber erst am Wochenende, spätestens nächste Woche machen, da ich unterwegs bin und keinen Zugriff darauf habe.

            Gruß Henning

            Kommentar


              Hallo Sonnenkind80

              hast du auf deine Frage "Kennt jemand das Phänomen dass der temperaturesensor keine Werte unter 0° anzeigt?" schon eine Lösung gefunden ? ich habe dasselbe Problem und im DIY Forum gepostet (https://knx-user-forum.de/forum/%C3%...ratur-werte-an ) , leider auch ohne Erfolg.
              auf einem KNX Terminal oder auf Openhab wir der korrekt (auf Bus geschickte) Minus Wert angezeigt. nur via Homebridge geht das nicht. Homekit zeig bei minus immer 0 Grad an.

              Kommentar


                Hallo stadelmannj,

                in der definition kannst Du den Bereich angeben:

                "ServiceType": "TemperatureSensor",
                "MaxValue": 60,
                "MinValue": -20,

                Die Kalifornier kennen halt keine Minusgrade :-)

                VG

                Peter

                Kommentar


                  Hallo Peter,

                  Besten Dank. Probiere es gerade aus. muss nur noch warten bis es Draussen wieder minus wird :-)
                  Weisst du auch gerade wie ich die Temperatur mit Komma hinkriege ? Aktuell zeigt Homekit nur ganze Grad an (rundet immer auf).
                  ich habs mal mit "minStep": 0.1, versucht, scheint aber nicht zu klappen.

                  "ServiceType": "TemperatureSensor",
                  "maxValue": 60,
                  "minValue": -20,
                  "minStep": 0.1,

                  habe das Objekt aus dem Cache gelöscht und dann den Service neu gestartet.
                  Oder muss ich das ganze Objekt zuerst komplett raus loeschen und dann neu anlegen ?

                  LG
                  Juerg

                  Kommentar


                    Zitat von Tqm Beitrag anzeigen
                    Hier noch weitere:

                    Homebridge - Temperatur-Sensor
                    HTML-Code:
                    {
                          "ServiceType": "TemperatureSensor",
                          "ServiceName": "Aussentemperatur Nord",
                          "Characteristics": [{
                             "Type": "CurrentTemperature",
                              "Listen": ["0/0/8"]
                                      "maxValue":60,
                                      "minValue":-20,
                                      "minStep":0.1
                                }]
                           }
                    Hallo, eine frage, irgend wie klappt es bei mir nicht damit, was mache ich falsch? Dankeschön

                    "ServiceType": "TemperatureSensor",
                    "maxValue": 60,
                    "minValue": -20,
                    "minStep": 0.1,
                    Zuletzt geändert von vitbic; 10.02.2018, 11:16.
                    KNX Anwender

                    Kommentar


                      Bei mir hat es jetzt geklappt wenn man MaxValue, MinValue und MinStep mit einem Großbuchstaben beginnt (und nicht maxValue, minValue, minStep). Die Anzeige in der Apple Home App ist weiterhin ohne Nachkommastellen. Das liegt aber wohl an der Apple Home App. In der Eve App werden z.B. -0.7°C angezeigt.

                      Kommentar


                        Super,
                        Danke funktioniert bei mir auch.
                        KNX Anwender

                        Kommentar


                          Steinigt mich wenn dass jetzt eine doofe Frage ist :

                          Geht das ganze auch in die andere Richtung, also sprich ein HomeKitGerät mit KNX zu steuern?

                          Derzeit steuern wir ja KNX mit Apples HomeKit, nur ich würde gerne eine HomeKit Steckdose über KNX steuern...


                          Und gibt es was neues von dem Dockerfile?
                          Zuletzt geändert von Shine120; 24.02.2018, 00:39.

                          Kommentar


                            Zitat von Shine120 Beitrag anzeigen
                            Geht das ganze auch in die andere Richtung, also sprich ein HomeKitGerät mit KNX zu steuern?
                            Das würde mich auch interessieren, insbesondere gefallen mir die Stellmotoren für die Heizkörper von Elgato ...
                            Danke und LG, Dariusz
                            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                            Kommentar


                              Hallo zusammen,

                              ich benötige Hilfe und für euch sollte es ein Kinderspiel sein.
                              Ich möchte meine MDT Jalousieaktoren in homebridge-knx 0.3 einbinden. Es sind normale Rolladen.
                              Folgende config habe ich probiert und scheitere damit:

                              Code:
                                
                              {
                                          "DeviceName": "Office rolling shutter",
                                          "Services": [
                                              {
                                                  "ServiceType": "WindowCovering",
                                                  "Handler": "GiraJalousieActuator",
                                                  "ServiceName": "Office blinds",
                                                  "Characteristics": [
                                                      {
                                                          "Type": "TargetPosition",
                                                          "Set": [
                                                              "2/3/46"
                                                          ],
                                                          "DPT": "DPT5"
                                                      },
                                                      {
                                                          "Type": "CurrentPosition",
                                                          "Listen": [
                                                              "2/3/26"
                                                          ]
                                                      },
                                                      {
                                                          "Type": "PositionState"
                                                      }
                                                  ],
                                                  "KNXObjects": [
                                                      {
                                                          "Type": "ShutterMove",
                                                          "Listen": "2/3/6",
                                                          "DPT": "DPT1"
                                                      }
                                                  ],
                                                  "KNXReadRequests": [
                                                      "2/3/26",
                                                      "2/3/46"
                                                  ],
                                                  "LocalConstants": {
                                                      "TimeOutSecs": 23
                                                  }
                                              }
                                          ]
                                      }
                              Mein Problem ist das ich nicht genau verstehe welche Adresse wohin gehört und ob ich TimeOutSecs überhaupt benötige? Ich habe die Zeiten ja bereits im Aktor hinterlegt

                              2018-03-29_075032.jpg

                              2018-03-29_080721.jpg

                              Ich wäre euch sehr dankbar wenn ihr mir helfen würdet.
                              Zuletzt geändert von cvuzem; 29.03.2018, 07:21.

                              Kommentar


                                Hi,
                                habe bei mir es so gelöst und es funktioniert soweit, ist aber nicht 100%, was mir nicht gefällt habe ich hier beschrieben https://knx-user-forum.de/forum/proj...51#post1201451 leider noch keiner Lösung.

                                Gruß





                                Zuletzt geändert von vitbic; 29.03.2018, 10:55.
                                KNX Anwender

                                Kommentar

                                Lädt...
                                X