Closed giase82 closed 7 years ago
Ach ja und ich wollte das gerne als Frage labeln, kann ich aber wohl nicht.
Aber ich.
Jetzt habe ich schon soviel Doku geschrieben, aber wohl nicht alles deutlich genug:
Wie ich hier schon einmal verlinkt hatte, gibt es die ganze Liste nur als JavaScript-Datei.
https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes.js
Eine nicht ganz so aktuelle Liste gibt es als Excel-File hier im deutschen Repository:
Services
https://github.com/snowdd1/homebridge-knx-de/blob/master/Services-Translation%20V2.xlsx
Characteristics
https://github.com/snowdd1/homebridge-knx-de/blob/master/Characteristics-Translation%20V2.xlsx
Ok super Danke Dir. Ich habe schon zwei- oder dreimal über die Stelle in der Doku gelesen, dachte aber nicht dass ich da auch die Liste aller unterstützten Services und Characteristics finde... Kann schon auch an mir liegen :)
Ich glaube man sollte evtl. nochmal an der Stelle wo du beschreibst wie man selbst Add-Ins erstellen kann, beschrieben sein.
Ich werde mich hoffentlich demnächst mal an den Tilt machen können. Sollte ja nachdem was ich da so lese funktionieren. Wo finde ich den das ursprüngliche default "WindowCovering", damit ich mich daran halten kann? Bzw. soll ich das direkt dort machen?
//giase
Service.WindowCovering = function(displayName, subtype) { Service.call(this, displayName, '0000008C-0000-1000-8000-0026BB765291', subtype);
// Required Characteristics this.addCharacteristic(Characteristic.CurrentPosition); this.addCharacteristic(Characteristic.TargetPosition); this.addCharacteristic(Characteristic.PositionState);
// Optional Characteristics this.addOptionalCharacteristic(Characteristic.HoldPosition); this.addOptionalCharacteristic(Characteristic.TargetHorizontalTiltAngle); this.addOptionalCharacteristic(Characteristic.TargetVerticalTiltAngle); this.addOptionalCharacteristic(Characteristic.CurrentHorizontalTiltAngle); this.addOptionalCharacteristic(Characteristic.CurrentVerticalTiltAngle); this.addOptionalCharacteristic(Characteristic.ObstructionDetected); this.addOptionalCharacteristic(Characteristic.Name); };
Wo finde ich den das ursprüngliche default "WindowCovering"
Das gibt es nicht. In der Version 0.3.0 ist erst einmal alles generisch, dass bedeutet dass die angegeben Characteristics 1:1 an HomeKit durchgereicht werden. Immer wenn das nicht geht, muss man ein add-in programmieren. Ich habe für meine Rollos den GiraJalousieActuator.js geschrieben, der aus Position und Fahrt-Objekten die TargetPosition, CurrentPosition und PositionState errechnet. Den kannst Du gerne um Tilt-Geschichten erweitern oder als Vorlage nehmen - meine Rolladen können halt nur hoch und runter...
Ach so ist das... Deswegen liefert mir ein grep nix :) Ok, ist in der Mache. Kann leider grade nicht testen. Melde mich aber wenn ich was hab.
Hab einen Pull-request geschickt. Funktioniert bei mir. Bei Fragen: Fragen! Danke für die Hilfe!
Die ganze addin-Architektur macht's echt super-einfach was neues zu bauen. Super Arbeit!
//giase
Guck Dir bitte noch mal die Konvertierungen an. Habe selber keine Tilt-Geräte, daher kann ich es nur simulieren. Laut Doku sind das aber Winkel (horiz. -90-90°, vert 0-100°) und keine % Werte!
Hi,
Danke, guter Punkt. Da wollte ich noch nachfragen ob es eine Möglichkeit gibt, die erlaubten HK-Werte von 0-100 anzupassen (mit "minValue" und "maxValue")? Es gibt unterschiedliche Raffstores, manche haben tatsächlich -90 - +90, meine gibt man in 0-100% an.
On Mon, Nov 14, 2016 at 12:02 PM, Raoul notifications@github.com wrote:
Guck Dir bitte noch mal die Konvertierungen an. Habe selber keine Tilt-Geräte, daher kann ich es nur simulieren. Laut Doku sind das aber Winkel (horiz. -90-90°, vert 0-100°) und keine % Werte!
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/snowdd1/homebridge-knx-de/issues/19#issuecomment-260307352, or mute the thread https://github.com/notifications/unsubscribe-auth/ATeF0yaaLuYlBMhDMXDDRSzUsP_azeN2ks5q-D-_gaJpZM4Kvzew .
Richtig, damit kann man es eingrenzen. Ich bin gerade nicht sicher ob irgendwo ein Beispiel rumfliegt.
Aber dann überlässt du es den Nutzern, den "richtigen" Bereich für dein add-in zu definieren. Ich fände es besser du belässt es bei den Standard-HomeKit-Werten (-90...90) und rechnest in Prozent um, oder lässt in der knx_config bei den LocalConstants min und max des jeweiligen Actors angeben, und verwendest die für die Umrechnung.
Das mit den LocalConstants ist ne gute Idee, und wahrscheinlich am schnellsten Umzusetzen. Hat minValue und maxValue auch einen Einfluss auf den angezeigten Bereich in HomeKit? Wenn dem so ist würde zumindest ich persönlich das vorziehen, da ich mir sonst "merken" muss, dass -90° bei mir 0° sind. Wie kann ich denn in einem AddIn auf minValue und maxValue zugreifen?
Ersteres ja, denn dafür ist es gemacht. Letzteres : noch gar nicht.
Ok. Ich habe mal kurz gekuckt, und die KNX-Aktoren, die ich mir angesehen habe (Berker, Elsner, ...) benutzen DP-Type 5.001, d.h. 0 - 100%. D.h. ich tendiere zu der Lösung mit minValue und maxValue.
Was meinst du?
Wenn das "KNX Standard" ist dann klar. Du kannst auch gerne eine Wiki-Seite für Dein Add-In anlegen, auf der Du beschreibst wie es funktioniert und was die Voraussetzungen sind. Wollte ich sowieso für jedes Add-in anfangen. Den größten "Markt" haben wir sowieso im deutschsprachigen Raum, daher auch gerne hier im -de repository.
Ich überlege mir demnächst mal, ob es eine gute Idee ist, wenn Add-ins bestimmte properties in die knx_config reinschreiben dürfen, so wie MinValue und MaxValue.
Ok ich mach das mal, teste nochmals und schicke ein update. Das mit der Wiki-page kann ich gerne machen, bin allerdings relativ neu auf Github und muss erstmal checken wie das alles funktioniert :)
WIKI: Ich habe gerade meine Installationsnaleitung aus dem Juli wiedergefunden. Bis auf die node-Version ist die sogar noch richtig... Das Wiki ist echt versteckt, das muss ich im README verlinken!!!!
Hallo @giase82 ich habe mal eine Seite für die Add-ins angefangen, und auch schon was für meine geschrieben. Am ausführlichsten ist meine Rollladensteuerung bisher beschrieben, vielleicht kannst Du das als Vorlage nehmen. Ich habe Dein Add-in schon gelistet, aber der Link geht noch auf eine leere Seite.
https://github.com/snowdd1/homebridge-knx-de/wiki/Add-Ins
Vielen Dank für Deine Mitarbeit hier!
Ok, ich schreibe was. Hast du Präferenzen zwecks Sprache? Nachdem der code Englisch dokumentiert ist, würde ich das gleich Englisch machen.
Kein Thema, gerne! Danke für deine Arbeit!
Ach noch was: Kannst du mir grob sagen, was ich machen muss um die Doku zu erstellen? Muss ich das branchen und einen Pull-request stellen oder wie ist das? Oder schicke ich dir einfach was und du machst das dann?
Hast du Präferenzen zwecks Sprache
Das ist im deutschsprachigen Wiki - Deutsch würde sich Anbieten!
was ich machen muss um die Doku zu erstellen
Auf den Link zu der Wiki-Seite klicken -> leere Seite öffnet sich -> reintippen!
oder Kopieren: Du klickst auf den Link zu einem von meinen Handlers, klickst auf edit page
kopierst Dir den Quellcode (Markdown) in die Zwischenablage, gehst auf Deine Add-In Seite, fügst den Inhalt ein und änderst ihn so ab dass er passt.
Wiki = jeder darf schreiben/anpassen, ohne Pull-Request oder ähnliches.
So dachte ich mir das auch von nem Wiki, allerdings kann ich da nix editieren... Wenn ich nach "edit" suche ist der einzige Treffer "Raoul edited this page 17 hours ago · 3 revisions"
Sorry die Standardeinstellung war nicht öffentlich. Jetzt sollte es gehen!
Ahh jetzt. Dachte schon ich bin bescheuert ;-)
Jetzt wird mir auch klar warum niemand mal was da reingeschrieben hat.
Und ich dachte mir noch "es kann doch nicht an den Rechten liegen weil für die anderen funktioniert's ja auch" :)
Hi,
Kann mir jemand sagen, wo es eine Liste gibt, in der ich rausfinde was für HK Properties (z.B. "TargetPosition", etc.) ich verwenden kann?
Hintergrund ist, dass ich evtl gerne für meine Raffstores ein Addin schreiben würde, dass mir auch "Tilt" mit in einem Gerät zusammenfasst. Allerdings weiß ich nicht ob das überhaupt geht bzw. HK das versteht. Kann mir da jemand näheres sagen?
//giase