NEWS
Yet another HomeKit adapter
-
Ich nutze auch deCONZ und YAHKA in Verbindung und habe ein ähnliches Problem. Habe das nun bisher mit einem Skript gelöst, das mit einer Verzögerung von 500ms nach dem Einschalten die Lampen bzw. eine Gruppe von Lampen auf 100% regelt. Ein "gleichzeitiges" Setzen der Helligkeit und des "on"-Status klappt da übrigens auch nicht. Der Befehl wird nur ausgeführt, wenn ich eine Verzögerung zwischen dem Einschalten und der Helligkeitsänderung einbaue. `
Tatsächlich werden die Befehle auch in falscher Reihenfolge gesendet:
2018-12-19 23:49:32.671 - info: deconz.0 setLightState: {"bri": 255} 1 deconz.0.Light_1.bri 2018-12-19 23:49:32.678 - info: deconz.0 setLightState: {"on": true} 1 deconz.0.Light_1.on 2018-12-19 23:49:32.682 - info: deconz.0 options: {"url":"http://127.0.0.1:8080/api/AE6BB8XXXX/lights/1/state","method":"PUT","headers":"Content-Type\" : \"application/json","body":"{\"bri\": 255}"} 2018-12-19 23:49:32.683 - warn: deconz.0 {"address":"/lights/1","description":"parameter, /lights/1/bri, is not modifiable. Device is set to off.","type":201} 2018-12-19 23:49:32.691 - info: deconz.0 options: {"url":"http://127.0.0.1:8080/api/AE6BBXXXX/lights/1/state","method":"PUT","headers":"Content-Type\" : \"application/json","body":"{\"on\": true}"}
Erst die Helligkeit und dann der "AN" -Befehl. So wird der Helligkeitsbefehl ignoriert mit der Meldung: "Device is set to off"
-
Magst du damit einen issue für den deconz Adapter erstellen?
-
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?