NEWS
Yet another HomeKit adapter
-
Magst du damit einen issue für den deconz Adapter erstellen? `
Das kann ich tun. Allerdings weiß ich nicht, ob ich dort an der richtigen Stelle bin. Denn der Log beschreibt ja nur was ihm gesendet wurde. Dementsprechend müsste an die Datenpunkte von deconz ja die Befehle in falscher Reihenfolge von YAHKA übergeben worden sein.
Oder habe ich hier einen Denkfehler?
-
Gute Frage. Da bin ich mir auch nicht sicher, wo das Problem genau liegt.
-
Ich habe seit längerem das Problem, das ich über den HomeKit Adapter nur noch "false" Befehle senden kann.
Nutze den Adapter um Sonoff Switches zu steuern. Ob an oder aus aufm iPhone, der Status im ioBroker bleibt false.
Wenn der Status true ist und ich die Lampe ausschalte, geht er auf false, andersrum nicht mehr. Seitdem nutze ich diesen eigentlich sehr hilfreichen Adapter nicht mehr. Kann mir da jemand helfen?
EDIT:
Gelöst. Lag wohl daran, dass der RAM meines Pis zu voll war. Hab ein paar Adapter aussortiert.
Wird wohl langsam Zeit für ne größere Maschine
-
Besten Dank für das Update auf v9! Toll ist natürlich die Skript-Möglichkeit.
Dazu gleich eine Frage: Ich verstehe, wie ich nun relativ frei Datenpunkte übersetzen kann. Für meine Alarmanlage etwa sieht das so aus:
if (value === false) { return 3; } if (value === true) { return 1; }
Dazu aber auch gleich meine Frage: Ist es innerhalb eines solchen Skripts möglich, auch andere Datenpunkte auszuwerten? Dazu ist die Alarmanlage ein schönes Beispiel: Innerhalb eines HK-Datenpunktes SecuritySystemCurrentState beschreiben die Werte 0 bis 3 den Zustand der Alarmanlage, aber in Eben dem Datenpunkt SecuritySystemCurrentState beschreibt dann der Wert 4 eine ausgelösten Alarm. Ob aber die Alarmanlage scharf oder nicht scharf ist, ist bei mir in ein anderer Datenpunkt als jener zur Beschreibung Alarm ja / ein. Ich müsste also die zwei Datenpunkte aus ioBroker zu einem Datenpunkt in yahka kombinieren. An der Stelle komme ich nicht weiter. Denn im Skript funktioniert so etwas wie var alarm = getState("hm-rpc.2.xyz").val; nicht. Insgesamt benötige ich als Skript also so etwas:
var alarm = getState("hm-rpc.2.xyz").val; if (alarm === true) { return 4; } if (value === false) { return 3; } if (value === true) { return 1; }
Ist das überhaupt möglich? Danke!
Marc
-
Besten Dank für das Update auf v9! Toll ist natürlich die Skript-Möglichkeit.
Dazu gleich eine Frage: Ich verstehe, wie ich nun relativ frei Datenpunkte übersetzen kann. Für meine Alarmanlage etwa sieht das so aus:
if (value === false) { return 3; } if (value === true) { return 1; }
Dazu aber auch gleich meine Frage: Ist es innerhalb eines solchen Skripts möglich, auch andere Datenpunkte auszuwerten? Dazu ist die Alarmanlage ein schönes Beispiel: Innerhalb eines HK-Datenpunktes SecuritySystemCurrentState beschreiben die Werte 0 bis 3 den Zustand der Alarmanlage, aber in Eben dem Datenpunkt SecuritySystemCurrentState beschreibt dann der Wert 4 eine ausgelösten Alarm. Ob aber die Alarmanlage scharf oder nicht scharf ist, ist bei mir in ein anderer Datenpunkt als jener zur Beschreibung Alarm ja / ein. Ich müsste also die zwei Datenpunkte aus ioBroker zu einem Datenpunkt in yahka kombinieren. An der Stelle komme ich nicht weiter. Denn im Skript funktioniert so etwas wie var alarm = getState("hm-rpc.2.xyz").val; nicht. Insgesamt benötige ich als Skript also so etwas:
var alarm = getState("hm-rpc.2.xyz").val; if (alarm === true) { return 4; } if (value === false) { return 3; } if (value === true) { return 1; }
Ist das überhaupt möglich? Danke!
Marc `
Kannst dir in einen virtuelles Objekt (z.B. custom.0.alarmanlage.yahka) die passenden states schreiben (per Javascript/Blockly) und dann diese in Yahka bringen.
-
Was muss ich eigentlich tun, um die v 0.9 zu installieren? Es will mir nicht gelingen ..
-
Was muss ich eigentlich tun, um die v 0.9 zu installieren? Es will mir nicht gelingen .. `
Hi,
Die Katze öffnen und das hier https://github.com/jensweigele/ioBroker.yahka.git eingeben.
Grüße
-
Danke!
Ich hatte es vorher mit https://github.com/jensweigele/ioBroker.yahka (also ohne .git) erfolglos probiert.
Aber auch jetzt klappt es leider nicht
$ ./iobroker url "https://github.com/jensweigele/ioBroker.yahka.git" install https://github.com/jensweigele/ioBroker.yahka/tarball/master npm install https://github.com/jensweigele/ioBroker.yahka/tarball/master --production --save --prefix "/opt/iobroker" (System call) npm WARN addRemoteGit Error: not found: gitnpm WARN addRemoteGit at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12) npm WARN addRemoteGit at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19) npm WARN addRemoteGit at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29) npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16 npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5 npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5 npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:284:29 npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:152:21) npm WARN addRemoteGit git+https://github.com/homespun/hap-nodejs-community-types.git resetting remote /root/.npm/_git-remotes/git-https-github-com-homespun-hap-nodejs-community-types-git-63d7748d because of error: { Error: not found: git npm WARN addRemoteGit at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12) npm WARN addRemoteGit at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19) npm WARN addRemoteGit at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29) npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16 npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5 npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5 npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:284:29 npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:152:21) code: 'ENOGIT' } npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror https://github.com/homespun/hap-nodejs-community-types.git /root/.npm/_git-remotes/git-https-github-com-homespun-hap-nodejs-community-types-git-63d7748d: undefinednpm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror https://github.com/homespun/hap-nodejs-community-types.git /root/.npm/_git-remotes/git-https-github-com-homespun-hap-nodejs-community-types-git-63d7748d: undefined npm ERR! code ENOGIT npm ERR! not found: gitnpm ERR! npm ERR! Failed using git. npm ERR! This is most likely not a problem with npm itself. npm ERR! Please check if you have git installed and in your PATH. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2019-01-06T19_32_39_887Z-debug.log process exited with code 0
-
Dir fehlt scheinbar GIT in deiner Installation
npm ERR! code ENOGIT
Musst also GIT installieren und dann den Adapter
-
Danke - das hat geklappt!
-
Hallo, versuche nun schon etwas länger eine Klingel mit Push Funktion in HomekIt zu bringen.
Der Gedanke ist sobal jemand meinen HomeMatic HMIP BSM Taster am EIngang drückt ich eine Push Notification auf mein iPhone erhalte.
Hierzu habe ich ein Gerät hinzugefügt und den Service "Doorbell" ausgewählt.
Allerdings bekomme ich das Ding nicht zum laufen - in Homekit siehts dann so aus:
Frage, hat das jemand hier in der Community eventuell schon Ähnlich umgesetzt? Dachte auch schon daran in Yahka einen ContactSensor Service auszuwählen - allerdings funktioniert das bei mir ebenfalls nicht
Vielen Dank für jegliche Tipps und Tricks
-
Eine Doorlock mit zweitem Service DoorBell funktioniert
Wenn du eine Kamera im gleichem (Apple) Raum hast sogar mit Screenshot und Livebild
-
Eine Doorlock mit zweitem Service DoorBell funktioniert
Wenn du eine Kamera im gleichem (Apple) Raum hast sogar mit Screenshot und Livebild `
danw! Vielen Dank!
Hab ich direkt versucht: Bei Geräteeigenschaften Door Lock ausgewählt und bei Service so belassen wie oben in den Screenshots… hat allerdings keine Auswirkungen, steht noch immer "Nicht unterstützt" in Homekit.
Meinst Du kannst mir ein Screenshot von deiner Konfig zuschicken? Hab tatsächlich eine Kamera daneben - wäre natürlich der hammer :mrgreen:
Danke Danke!
-
Ich glaube dass der Service "Doorbell" entweder von Homekit oder ioBroker nicht unterstützt wird - mit der Konfig hat das glaube ich nichts zu tun… :?:
-
Das funktioniert. Ich hab es im einsatz.
Screenshot kommt, wenn ich zuhause bin.
Ist ehrlich gesagt aber sehr einfach. Glaub es hieß ProgrammableSwitchEvent. Das auf irgendein Objekt was true wird, wenn jemand klingelt, und fertig.
-
Vielen Dank schonmal!
Gerade als Service Typ: StatelessProgrammableSwitch versucht - allerdings funktioniert es so auch nicht :oops:
Sorry, hänge hier glaub gerade etwas in der Leitung :oops:
-
Also jetzt mal nachgeschaut.
LockMechanism als ersten Service, Doorbell als zweiten.
Im LockMechanism LockCurrentState und LockTargetState ist meine Türsummer zum öffnen der Tür (es wird dann ein Objekt auf true gesetzt, dass ich per MQTT auf dem NodeMCU subscribed habe, was wiederrum ein Relay schaltet = Türsummer) und bei Doorbell "ProgrammableSwitchEvent" ist ein Objekt das bei mir per MQTT von einem NodeMCU auf eine "1" geändert wird, wenn jemand an der Tür klingelt. Ich habe die Klingel einfach über einen Spannungsteiler (einfach nur zwei Widerstände; https://de.wikipedia.org/wiki/Spannungsteiler) an einen GPIO des NodeMCU angeschlossen.
16600_bildschirmfoto_2019-01-09_um_21.54.13.png
16600_bildschirmfoto_2019-01-09_um_21.54.23.png
16600_bildschirmfoto_2019-01-09_um_21.54.39.png -
Ich hab hier drüben -> viewtopic.php?f=20&t=8187#p217610
meine Variante der HomeMatic Heizungsanbindung an YAHKA beschrieben.
Auch für das Thema HomeMatic Dimmer habe ich ein Hilfs-Script gebaut, da HomeKit ja gerne noch einen on-off-State hätte, den HomeMatic bei Dimmern so nicht hat (schönerweise verhalten sich HomeKit manuell und Siri-zu-HomeKit da auch noch unterschiedlich).
Was mir noch fehlt, ist die Übertragung von Strom-Verbrauchswerten, die in der Eve-App darstellbar wären. Aber dazu gibt es noch keine Lösung oder?
-
Auch für das Thema HomeMatic Dimmer habe ich ein Hilfs-Script gebaut, da HomeKit ja gerne noch einen on-off-State hätte, den HomeMatic bei Dimmern so nicht hat (schönerweise verhalten sich HomeKit manuell und Siri-zu-HomeKit da auch noch unterschiedlich). `
Du brauchst kein On/Off bei "LightBulb".
@ronnyw:Was mir noch fehlt, ist die Übertragung von Strom-Verbrauchswerten, die in der Eve-App darstellbar wären. Aber dazu gibt es noch keine Lösung oder? `
Ist nicht möglich. Gibt es in der API von Apple nicht.Deine Beschreibung von CurrentCoolingState und TargetCoolingState stimmt denke ich auch nicht mit der API von Apple überein.
Alle Current* und Target* States funktionieren so, dass z.B. wenn per HomeKit ein Wert geändert wird dieser erst quittiert fertig ist, wenn der Current*-State identisch ist.
z.B. ein Schloss (LockMechanism)
Wenn CurrentLockState und TargetLockState = 1 ist, sagt er "Gesperrt".
Wenn TargetLockState = 0 und CurrentLockState = 1 sagt er "Öffnen" (Weil öffnen angefordert und aktueller Zustand des Schlosses aber "1", also zu)
Wenn TargetLockState = 1 und CurrentLockState = 0 sagt er "Schliessen" (weil schließen angefordert und aktueller Zustand des Schlosses aber "0", also geöffnet)
Wenn TargetLockState = 0 und CurrentLockState = 0 sagt er "Geöffnet"
-
Deine Beschreibung von CurrentCoolingState und TargetCoolingState stimmt denke ich auch nicht mit der API von Apple überein.
Alle Current* und Target* States funktionieren so, dass z.B. wenn per HomeKit ein Wert geändert wird dieser erst quittiert fertig ist, wenn der Current*-State identisch ist.
z.B. ein Schloss (LockMechanism)
Wenn CurrentLockState und TargetLockState = 1 ist, sagt er "Gesperrt".
Wenn TargetLockState = 0 und CurrentLockState = 1 sagt er "Öffnen" (Weil öffnen angefordert und aktueller Zustand des Schlosses aber "1", also zu)
Wenn TargetLockState = 1 und CurrentLockState = 0 sagt er "Schliessen" (weil schließen angefordert und aktueller Zustand des Schlosses aber "0", also geöffnet)
Wenn TargetLockState = 0 und CurrentLockState = 0 sagt er "Geöffnet" `
Das kann gut sein. Ich habe mich mit den API Vorgaben nicht beschäftigt, nur was passiert, wenn ich die States mit Werten füttere. Anhand Deines Beispieles klingt ein so gewolltes Verhalten zwischen Current- und Targetstate auch logisch. Auch im Falle des Thermostates ergeben manche Kombinationen nicht viel Sinn (Target Cooling, Current Heat oder so).
-Aber- in diesem Fall eine Heizung/Klimaanlage im Targetstate Auto mit Zieltemperatur laufen zu lassen und als Currentstate die Rückmeldung zu bekommen, ob sie gerade heizt (Currentstate Heat), kühlt (Currentstate Cool) oder vielleicht aus ist weil die Temperatur stimmt (Currentstate off), erscheint mir schon sinnvoll und ist mit farbiger Visualisierung und entsprechendem Wording auch berücksichtigt.