Dann darf halt der Dimmer den Status nur bei Änderung senden.
Ankündigung
Einklappen
Keine Ankündigung bisher.
homebridge-knx 0.3.0 alpha (Apple HomeKit interface)
Einklappen
X
-
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 anzeigenScheint wohl so gewollt zu sein, wird aber von Dimmern unterschiedlich interpretiert.
Grüße Julian
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;
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.
- Likes 1
Kommentar
-
Zitat von bigblue1735 Beitrag anzeigenratzi82 Würdest du mit uns dein Dockerfile teilen?
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 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 anzeigenHier 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 }] }
"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.
- Likes 1
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.
- Likes 1
Kommentar
-
Zitat von Shine120 Beitrag anzeigenGeht das ganze auch in die andere Richtung, also sprich ein HomeKitGerät mit KNX zu steuern?Danke und LG, Dariusz
GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL
- Likes 1
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 } } ] }
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
Kommentar