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
-
Ok. Der Sinn leuchtet mir grad nicht ein. Aber wenn Das mit dem Handler umgangen werden kann, wäre ich ja schon zufrieden.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:
Dann den Handler vor allen gedimmten Leuchten einfügen. Etwa so: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
-
bigblue1735Zitat 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
-
Hallo, eine frage, irgend wie klappt es bei mir nicht damit, was mache ich falsch? DankeschönZitat 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
-
Das würde mich auch interessieren, insbesondere gefallen mir die Stellmotoren für die Heizkörper von Elgato ...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:
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 hinterlegtCode:{ "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