NEWS
Yet another HomeKit adapter
-
hier kommt ein Fehler:
root@raspberrypi:/opt/iobroker# iobroker upload yahka
Cannot find io-package.json in /opt/iobroker/node_modules/iobroker.js-controller/adapter/yahka
Cannot parse /opt/iobroker/node_modules/iobroker.js-controller/adapter/yahka/io-package.json:Error: ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.js-controller/adapter/yahka/io-package.json'
root@raspberrypi:/opt/iobroker#
edit:
mit dem hier hats geklappt:
Der Adapter kann über das NPM-Paket "iobroker.yahka" installiert werden (Admin-Konsole -> Installieren aus eigener URL (links oben) -> aus eigener URL -> "iobroker.yahka" -> ok `
Upload geht nur wen die install files bereits da sind (also entweder im browser oder per console installiert. Sonst immer erst "iobroker add >adaptername<" `
Das klappt. Nur dann ist die Version aus dem Github installiert. In der kann ich in der Konfiguration keine Objekte auswählen und abspeichern. Kann man nicht die Github Version aktualisieren, sodass man das ganz einfach installieren kann? Über NPM bekomme ich den Adapter nicht angezeigt.
Gruß
Micha
-
Das klappt. Nur dann ist die Version aus dem Github installiert. In der kann ich in der Konfiguration keine Objekte auswählen und abspeichern. Kann man nicht die Github Version aktualisieren, sodass man das ganz einfach installieren kann? Über NPM bekomme ich den Adapter nicht angezeigt. `
Wenn man bei der Funktion "aus eigener URL installieren" nur "iobroker.yahka" eingibt, wird NICHT die "GitHub-Version" installiert sondern das NPM Paket.
Das NPM Paket beinhaltet die JavaScript Quellen und das Paketformat wie ioBroker das möchte.
Auf GitHub sind die Source-Dateien veröffentlicht welche größtenteils in Typescript geschrieben sind und nur zu JavaScript transpiliert werden. Daher führt das Installieren über die GitHub URL zu einem Fehler. Der Inhalt der NPM Pakets liegt zwar im Ordner "build", es ist aber nicht möglich nur diesen Ordner per GitHub URL zu installieren.
Lange Rede, kurzer Sinn: installiere über "aus eigener URL" und tippe nur "iobroker.yahka" ein. Falls du dann immernoch Fehler bekommst, poste diese mal bitte (JavaScript Konsole in Chrome bzw. ioBroker Log)
-
Das klappt. Nur dann ist die Version aus dem Github installiert. In der kann ich in der Konfiguration keine Objekte auswählen und abspeichern. Kann man nicht die Github Version aktualisieren, sodass man das ganz einfach installieren kann? Über NPM bekomme ich den Adapter nicht angezeigt. `
Wenn man bei der Funktion "aus eigener URL installieren" nur "iobroker.yahka" eingibt, wird NICHT die "GitHub-Version" installiert sondern das NPM Paket.
Das NPM Paket beinhaltet die JavaScript Quellen und das Paketformat wie ioBroker das möchte.
Auf GitHub sind die Source-Dateien veröffentlicht welche größtenteils in Typescript geschrieben sind und nur zu JavaScript transpiliert werden. Daher führt das Installieren über die GitHub URL zu einem Fehler. Der Inhalt der NPM Pakets liegt zwar im Ordner "build", es ist aber nicht möglich nur diesen Ordner per GitHub URL zu installieren.
Lange Rede, kurzer Sinn: installiere über "aus eigener URL" und tippe nur "iobroker.yahka" ein. Falls du dann immernoch Fehler bekommst, poste diese mal bitte (JavaScript Konsole in Chrome bzw. ioBroker Log) `
Also ich habe es schon öfter über die Funktion "aus eigener URL" mit "iobroker.yahka" versucht:
http://www.directupload.net ~~Fehlermeldungen der Konsole von Chrome:
> [https://raw.githubusercontent.com/ioBro … /yahka.png](https://raw.githubusercontent.com/ioBroker/ioBroker.yahka/master/admin/yahka.png) Failed to load resource: the server responded with a status of 404 (Not Found)
IoBroker Log:
` > iobroker 2017-01-09 23:24:26.346 info exit 0iobroker 2017-01-09 23:24:26.237 info iobroker.core@1.0.0 /root└── iobroker.yahka@0.5.2
iobroker 2017-01-09 23:23:16.238 info npm install iobroker.yahka –production --prefix "/root" (System call)
iobroker 2017-01-09 23:23:15.871 info install iobroker.yahka
iobroker 2017-01-09 23:23:14.689 info url "iobroker.yahka" --debug
iobroker 2017-01-09 23:23:04.433 info exit 0
iobroker 2017-01-09 23:23:04.322 info iobroker.core@1.0.0 /root└── iobroker.yahka@0.5.2
iobroker 2017-01-09 23:21:53.835 info npm install iobroker.yahka --production --prefix "/root" (System call)
iobroker 2017-01-09 23:21:53.474 info install iobroker.yahka
iobroker 2017-01-09 23:21:52.235 info url "iobroker.yahka" --debug `
Ist das richtig, dass 2 .png's aus dem Github geladen werden?
Gruß
Micha~~
-
Die 404 Meldung bzgl. des PNGs ist kein Problem. Dort habe ich einfach noch die falsche URL in der ioPackage.json hinterlegt.
Erscheint der Adapter nach der Installation in der Adapter Liste?
Wenn ja, was funktioniert anschließend nicht?
-
Die 404 Meldung bzgl. des PNGs ist kein Problem. Dort habe ich einfach noch die falsche URL in der ioPackage.json hinterlegt.
Erscheint der Adapter nach der Installation in der Adapter Liste?
Wenn ja, was funktioniert anschließend nicht? `
In dem Reiter "Adapter" Ja - ohne Vorschau, als Version 0.5.2 (s. Bild vom vorherigen Post)
Unter "Instanzen" jedoch nicht.
-
Schonmal rechts neben dem Adapter auf das "+" Symbol geklickt?
-
Schonmal rechts neben dem Adapter auf das "+" Symbol geklickt? `
Das wäre doch dann die Version von Github?Gesendet von iPhone mit Tapatalk
-
Nein, das + rechts neben dem Adapter fügt eine Instanz des Adapters hinzu - das ist genau das was du machen möchtest.
Klick auf das + und dann erscheint der Adapter unter Instanzen und du kannst ihn konfigurieren
-
Ach herjee, Danke! [emoji23]
Gesendet von iPhone mit Tapatalk
-
Hallo Zusammen,
Adapter lies sich problemlos installieren und funktioniert. Leider ist die Bridge nach wenigen Stunden nicht mehr erreichbar. Der Adapter läuft normal weiter. Wenn ich den Namen ändere läuft sind die Geräte wieder für eine Weile erreichbar.
Habt ihr eine Idee?
Danke und viele Grüße
reeze
-
Die russische Anwender fragen wie diesen Adapter zu bedienen ist?
Service name - name von homeKit Gerät oder vom Service? Welchen Service?
Service type - Typ vom Objekt für die Darstellung? (switch, fan, sensor usw ?)
Service Subtype -Das ist überhaupt nicht klar. Id in ioBroker? oder ….
Characteristics Table - was ist das?
Ein paar Beispiele für verschiedene Typen währe sehr hilfreich.
Danke
-
Leider ist es nun bei mir auch soweit - nach wochenlanger perfekter Funktion hat der Adapter (scheinbar) den Dienst quittiert.
Jedenfalls verbindet sich meine "Home"-App nicht mehr, beziehungsweise kein Gerät meldet sich mehr.
Ich bekomme keinerlei Fehler im Log angezeigt - es geht nur auch nichts mehr (Betriff auch alle iPhones - sollte also am Adapter liegen)
Sehr schade, da die Funktion vorher wirklich super war!
Ich helfe gerne bei der Fehlersuche, nur ist dies ohne vorhandene Fehler im Log irgendwie schwierig
Viele Grüße
Trident
-
Hallo,
hat einer von euch die Keymatic am laufen ?
Der Status abgeschlossen, aufgeschlossen wird verkehrtrum angezeigt.
Tür öffnen habe ich noch nicht hinbekommen.
Jemand eine Idee ?
Danke !
-
Hi,
Schade das es hier anscheinend keinen Support gibt.. nach einigen Wochen hat sich Yahka einfach verabschiedet. Alle Geräte waren nicht mehr erreichbar. Auf dem iPad hat es funktioniert aber iOS tot. Hab die bridge entfernt, alles neu installiert, Name, serial, mac I'd etc - wirklich alles geändert. Aber die bridge erscheint nicht mal mehr. Hat jemand irgend eine Ahnung? Mein halbes Haus basiert auf yahka (gerade meine innr Birnen). Hab keine Siri Steuerung mehr. Jemand ne Idee?
Vielen Dank!
-
Ich finde es auch schade…:-(
Zumal die anderen vorhandenen HomeKit Adapter leider
Völlig veraltet sind und kaum Geräte unterstützen.
Was mir eigentlich nur fehlt ist die Betriebsart der Heizung (Heizen oder Aus)
Und die richtige Funktion der Keymatic..
-
Sorry - ich hatte nicht mitbekommen das sich hier im Thread etwas tut.
Die russische Anwender fragen wie diesen Adapter zu bedienen ist?
Service name - name von homeKit Gerät oder vom Service? Welchen Service?
Service type - Typ vom Objekt für die Darstellung? (switch, fan, sensor usw ?)
Service Subtype -Das ist überhaupt nicht klar. Id in ioBroker? oder ….
Characteristics Table - was ist das?
Ein paar Beispiele für verschiedene Typen währe sehr hilfreich.
Danke `
Ein Service ist ein Merkmal eines Geräts.
Ein Beispiel:
Das Gerät Garagentorantrieb kann zwei Services haben: Garagentoröffner und Licht
Für jeden Service muss ein Typ angegeben werden- diese Typen sind von Apple vorgegeben und beeinflussen zum einen die Darstellung in der App und zum anderen die verfügbaren Charakteristiken (ein Service kann beliebig viele Charakteristiken haben). Der Subtype wird i.d.R. nicht gebraucht. Das Feld bräuchte man wenn ein Geräte den gleichen Servicetyp zweimal zur Verfügung stellt. Da wir aber nur virtuelle Geräte haben, würde ich dafür einfach zwei Geräte anlegen.
Eine Charakteristik beim Garagentoröffner ist z.B. CurrentDoorState. In der Tabelle muss man nun angeben welcher ioBroker Datenpunkt den aktuellen Tor Zustand darstellt.
Auf dieser Art und Weise muss man sich alle Geräte zusammenklicken/schreiben.
Natürlich nutzen Apple und andere Hersteller nicht die gleichen Enums oder Systematiken. Daher kann man für die States bzw. die Parameter Funktionen angeben die ein Mapping vornehmen.
Weiteres Beispiel (fiktiv!!): Garage offen ist bei Homekit der Wert "0", Garage geschlossen eine 1. Bei Homematic kann dies genau andersherum sein. (das sind keine echten Werten sondern rein fiktive Werte!).
Leider fehlt mir im Moment die Zeit um den Adapter um weitere Mappings zu erweitern, daher gibt es aktuell nur ganz wenige davon. Aber theoretisch können diese Mappings auch von jedem selbst geschrieben werden.
Ihr könnt über den JavaScript-Adapter ein Skript schreiben welches euren Datenpunkt mit dem Homematic-Wert in den Apple-Wert konvertiert und als neuen Datenpunkt abspeichert (und umgekehrt). Diesen neuen Datenpunkt könnt Ihr dann in YAHKA eintragen.
Eine Doku über die Homekit Konstanten gibt es bei Apple (hier bspw. für den DoorState des GarageDoorOpeners: https://developer.apple.com/reference/h … edoorstate)
Leider ist es nun bei mir auch soweit - nach wochenlanger perfekter Funktion hat der Adapter (scheinbar) den Dienst quittiert. `
@hbod:…nach einigen Wochen hat sich Yahka einfach verabschiedet. Alle Geräte waren nicht mehr erreichbar... `
Wurde ein ioBroker Update durchgeführt? Bei mir läuft der Adapter seit Monaten durch (ich mache allerdings seit einigen Woche NICHTS an ioBroker - keine Updates, kein Reboot etc.).
Unabhängig davon bitte mal den Loglevel auf "Debug" ändern (ioBroker -> Instanzen -> Experten-Einstellunge anwählen (links oben). Dann beim Yahka-adapter in die Spalte "loglevel" klicken und "debug" auswählen).
Adapter neustarten und mal schauen ob im Log irgendwas vom Adapter kommt.
Ich habe vor einigen Wochen mal eine Version mit noch mehr Logausgaben vorbereitet - ich versuche diese in den nächsten Tagen mal zu publishen.
Der Status abgeschlossen, aufgeschlossen wird verkehrtrum angezeigt. `
Dir sollte mein Tipp von oben helfen. Schreibe dir ein Script das den Status von Homematic zu Homekit mapped (und umgekehrt).Eine gute Quelle zu den Apple Konstanten ist auch folgende Datei aus dem HAP-NodeJS Projekt (diese Bibliothek wird von yahka benutzt um die Homekit Kommunikation durchzuführen):
https://github.com/KhaosT/HAP-NodeJS/bl … itTypes.js
Dort steht für LockCurrentState:
// The value property of LockCurrentState must be one of the following: Characteristic.LockCurrentState.UNSECURED = 0; Characteristic.LockCurrentState.SECURED = 1; Characteristic.LockCurrentState.JAMMED = 2; Characteristic.LockCurrentState.UNKNOWN = 3;
Und für LockTargetState:
// The value property of LockTargetState must be one of the following: Characteristic.LockTargetState.UNSECURED = 0; Characteristic.LockTargetState.SECURED = 1;
-
Version 0.5.4 steht auf NPM bereit. Ihr könnt nun bei den Bridge-Settings (klicken zum aufklappen), "Verbose logging" einschalten. Dann sollten Meldungen aus der HAP-NodeJS Bibliothek in das Log fließen (Loglevel muss auf Debug stehen!).
Zudem habe ich mit dieser Version noch das Mapping für den HeatingCooling-State eingebaut.
Edit: das Mapping für HeatingCooling-State wird nach einem Update des Adapters nicht angezeigt - nur bei einer Neuinstallation. Ich muss mal schauen wie ich das fixen kann.
Für alle technisch versierten: das Item "yahka.meta._conversionFunctions" bearbeiten und "HomematicControlModeToHomekitHeathingCoolingState" zu dem "native" Array hinzufügen.
Sollte dann etwa so aussehen:
{ "_id": "yahka.meta._conversionFunctions", "type": "meta", "common": {}, "native": [ "", "passthrough", "HomematicDirectionToHomekitPositionState", "HomematicControlModeToHomekitHeathingCoolingState" ], "acl": { "object": 1638 } }
-
Danke JW86 das du hier doch noch Support gibst !
Ich habe unter dem Reiter Instanzen den yahka Adapter gelöscht und neu Installiert,
Leider wird mir das Mapping für die Thermostate (HeatingCoolingMode) nicht
angezeigt.
Das mit dem Mapping für die Keymatic werde ich als Linux/Java Noob wohl leider nicht hinbekomme…:-(
Könnte mir hier evtl. Jemand helfen ?
Danke euch allen für eure Hilfe !
Cupido
-
@JW86: Ist es irgendwie möglich (oder wäre es eine Idee) von der Arbeit von homebridge-homematic zu profitieren? Dort existieren viiieeellee Mappings für HM und CuxD-Devicetypen … Kann das eine Basis sein von der man einfach ableiten kann? Kann man ggf yahko so anpassen das man diese Mappings vllt irgendwie "direkt "nutzen kann?! habe noch nicht so tief reingeschaut ...
-
@JW86: Ist es irgendwie möglich (oder wäre es eine Idee) von der Arbeit von homebridge-homematic zu profitieren? Dort existieren viiieeellee Mappings für HM und CuxD-Devicetypen … Kann das eine Basis sein von der man einfach ableiten kann? Kann man ggf yahko so anpassen das man diese Mappings vllt irgendwie "direkt "nutzen kann?! habe noch nicht so tief reingeschaut ... `
Das wäre natürlich Perfekt !
Könnte mir jemand ein Beispiel geben wie ich das für die Thermostate jetzt wo eintragen muss
damit das Mapping funktioniert ?