NEWS
Yet another HomeKit adapter
-
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.
-
Moin!
Ich habe mich auf Grund der tollen neuen Funktionen in der v.9.0.2 zu einem update verleiten lassen.
Ein Fehler.
Was unter der v8.2. noch wunderbar lief, produzierte in der neuen Version nur Fehler.
Die Geräte in der Home App wurden als nicht erreichbar angezeigt.
Schon bei der installation fiel mir der Hinweis auf ein fehlendes "react" hin welches ich via npm nach installiert habe. // Neustart iobroker
Weiterhin waren alle Geräte offline. //Neustart RaspberryPi // Neustart iPhone
Keine Besserung.
Versuchsweise einfach mal den Port von Yahka verändert. Das produzierte folgenden Fehler im Log:
! ```
2019-01-15 20:44:08.769 - [32minfo[39m: yahka.0 cleaning up ... 2019-01-15 20:44:08.770 - [32minfo[39m: yahka.0 cleaned up ... 2019-01-15 20:44:09.773 - [32minfo[39m: yahka.0 cleaning up ... 2019-01-15 20:44:10.950 - [31merror[39m: Caught by controller[0]: HAP Warning: Characteristic 00000073-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000049-0000-1000-8000-0026BB765291\. Adding anyway. 2019-01-15 20:44:10.951 - [31merror[39m: Caught by controller[1]: { Error: listen EACCES 0.0.0.0:1 2019-01-15 20:44:10.952 - [31merror[39m: Caught by controller[1]: at Server.setupListenHandle [as _listen2] (net.js:1343:19) 2019-01-15 20:44:10.952 - [31merror[39m: Caught by controller[1]: at listenInCluster (net.js:1401:12) 2019-01-15 20:44:10.952 - [31merror[39m: Caught by controller[1]: at Server.listen (net.js:1485:7) 2019-01-15 20:44:10.952 - [31merror[39m: Caught by controller[1]: at EventedHTTPServer.listen (/opt/iobroker/node_modules/hap-nodejs/lib/util/eventedhttp.js:60:19) 2019-01-15 20:44:10.952 - [31merror[39m: Caught by controller[1]: at HAPServer.listen (/opt/iobroker/node_modules/hap-nodejs/lib/HAPServer.js:158:20) 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: at Bridge.Accessory.publish (/opt/iobroker/node_modules/hap-nodejs/lib/Accessory.js:607:16) 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: at THomeKitBridge../yahka.homekit-bridge.ts.THomeKitBridge.init (/opt/iobroker/node_modules/iobroker.yahka/main.js:1562:27) 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: at new THomeKitBridge (/opt/iobroker/node_modules/iobroker.yahka/main.js:1533:14) 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: at TIOBrokerAdapter../yahka.ioBroker-adapter.ts.TIOBrokerAdapter.createHomeKitBridges (/opt/iobroker/node_modules/iobroker.yahka/main.js:2140:27) 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: at TIOBrokerAdapter../yahka.ioBroker-adapter.ts.TIOBrokerAdapter.adapterReady (/opt/iobroker/node_modules/iobroker.yahka/main.js:2117:14) 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: errno: 'EACCES', 2019-01-15 20:44:10.953 - [31merror[39m: Caught by controller[1]: code: 'EACCES', 2019-01-15 20:44:10.954 - [31merror[39m: Caught by controller[1]: syscall: 'listen', 2019-01-15 20:44:10.954 - [31merror[39m: Caught by controller[1]: address: '0.0.0.0', 2019-01-15 20:44:10.954 - [31merror[39m: Caught by controller[1]: port: 1 } 2019-01-15 20:44:10.954 - [31merror[39m: host.raspi3 instance system.adapter.yahka.0 terminated with code 6 (uncaught exception) 2019-01-15 20:44:10.954 - [32minfo[39m: host.raspi3 Restart adapter system.adapter.yahka.0 because enabled[/code]
! Und führte zu nichts. Also wieder zurück auf 0.
! Inzw. waren mir die Ideen ausgegangen, deshalb fügte ich einen weiteren Yahka Adapter hinzu. Instanz: 1.
! Ich erstellte in Ihr eine Lightbulb nur mit der ON Eigenschaft und fügte diese Bridge dann in der Homeapp als ein weiteres Zuhause hinzu. Das funktionierte überraschend.
! Mutig probierte ich auch CT und BRI dazu aus. Auch das funktionierte weiterhin.
! Weiterhin fügte ich einen meiner Sensoren hinzu. Bewegungsmelder von Aqara PIR-Sensor. Als Service: MotionSensor, Lightsensor, BatteryService.
! Plötzlich ging nichts mehr. Jedes Gerät zeigte in der Home-App "Nicht verfügbar" an.
! Also.. Neustart iPhone, Neustart Raspberrypi.
! Keine Besserung.
! Die Bridge aus dem Zuhause gelöscht und versucht neu Hinzuzufügen. Nicht möglich. In der Vergangenheit hat es ab und zu geholfen den Benutzernamen der Bridge im Adapter zu ändern (die MAC -Adresse). Also tat ich dies. Auch das half nicht.
! Ich deaktivierte den BWM im Adapter, änderte wieder die MAC-Adresse und plötzlich war es möglich die Bridge in der Home-App hinzuzufügen.
! Alle Geräte waren online. // Neustart aller Geräte
! Immer noch alles da!
! BWM wieder aktivieren.
! Gleiche Fehlerbild. Alle Geräte wieder auf "Nicht verfügbar".
! BWM wieder deaktiviert. > Alles neugestartet. Weiterhin "Nicht verfügbar"
! Bridge gelöscht und wieder neu hinzugefügt. Alles läuft wieder.
! Den Service BatteryService aus dem BWM gelöscht und BWM aktiviert.
! BWM wird angezeigt in der HomeApp. Weiterhin funktioniert alles.
! Offensichtlich verträgt sich der BatteryService also nicht.
! Das könnte man noch verkraften, wenn denn nicht dadurch jedesmal ein heiden Aufwand betrieben werden müsste um bei einer fehlerhaften Eingabe oder eines Fehlerhaften Services, alles neu Installiert werden muss.
! Mit der Erfahrung wechselte ich wieder zur alten Instanz 0 die noch alle Geräte inne hat.
! Ich deaktivierte jedes Gerät welches einen BatteryService hat. Keine Besserung. Ich deaktivierte alle Geräte. Auch keine Besserung. Es bleibt hier bei "Keine Antwort".
! Das ist ziemlich nervig, denn ich habe doch inzw. eine beachtliche Menge an Schaltern und Sensoren in dem Adapter.
! Hier eine kurze Zusammenfassung der Geräte und den verwendeten Services im Adapter:
! 1. 8x Aqara Temp/Luftfeuchte/Luftdruck Sensor mit: TempSensor,HumiditiySensor,BatteryService
! 2. 6x Aqara ContactSensor mit: ContactSensor, BatteryService
! 3. 4x Aqara PIR BWM mit: MotionSensor,LightSensor,BatteryService
! 4. 5x div. TempSensoren des NAS mit: TempSensor
! 5. 8x Osram Smart+ Plugs mit: Outlet
! 6. 3x Comet Heizkörper Thermostat mit: Thermostat, BatteryService
! 7. 4x div. Schalter zum setzen von Datenpunkten in ioBroker mit: Switch
! Log mässig ist nichts auffällig. Auch im Debugmode des Adapters fällt mir im Vergleich nichts auf was anders ist.
! Als letzten Test, löschte ich in der Instanz 1 noch einmal den BWM komplett und deaktivierte ihn nicht nur. Dennoch keine Änderung. Es bleib auch jetzt weiterhin bei "Nicht verfügbar" bei allen Geräten in der Home app.
! Jetzt müsste man also wieder die Bridge entfernen, und diese dann wieder hinzufügen.
! Übrigens. Solange der "defekte" BatteryService sich in der Geräteliste befindet, ist es nicht möglich die Bridge hinzuzufügen. Erst wenn man ihn rauslöscht lässt sich die Bridge neu hinzufügen.
! Woran kann das alles liegen? Habt ihr ähnliche Probleme?
! Grüße! -
Mehr Logs und am besten im GitHub ein issue aufmachen
-
Moin,
mal ne dumme Frage: welches Videoformat erwartet yahka bei den Kameras? Wenn ich einen Stream zur Verfügung stelle, der dem gewünschten entspricht: brauche ich dann noch ffmpeg?
-
Moin,
mal ne dumme Frage: welches Videoformat erwartet yahka bei den Kameras? Wenn ich einen Stream zur Verfügung stelle, der dem gewünschten entspricht: brauche ich dann noch ffmpeg? `
Ja. RTSP Stream mit 720/1080p funktioniert gut.
-
H264? Oder MJPEG? Und - kann ich auch den Ton hinzufügen?
-
MJPEG wird ja meistens über HTTP gemacht. H264 funktioniert.
Ton habe ich ein Issue zu aufgemacht, würde ich auch gern haben.
https://github.com/jensweigele/ioBroker.yahka/issues/82
Hoffen wir, dass es bald kommt
-
Hallo
mein yahka adapter will nicht mehr.
Auch ein Update auf 9.1 funktioniert nicht.
Jemand eine Idee?
Log beim starten des adapters:
host.debian 2019-01-29 22:30:31.528 error instance system.adapter.yahka.0 terminated with code 0 (OK) Caught 2019-01-29 22:30:31.528 error by controller[0]: at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:251:12) Caught 2019-01-29 22:30:31.528 error by controller[0]: at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) Caught 2019-01-29 22:30:31.528 error by controller[0]: at Decoder. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) Caught 2019-01-29 22:30:31.528 error by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8) Caught 2019-01-29 22:30:31.527 error by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) Caught 2019-01-29 22:30:31.527 error by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) Caught 2019-01-29 22:30:31.527 error by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:241:12) Caught 2019-01-29 22:30:31.527 error by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:316:9) Caught 2019-01-29 22:30:31.527 error by controller[0]: at Socket. <anonymous>(/opt/iobroker/node_modules/iobroker.yahka/main.js:2282:21) Caught 2019-01-29 22:30:31.527 error by controller[0]: at convertStateValueToNumber (/opt/iobroker/node_modules/iobroker.yahka/main.js:2331:41) Caught 2019-01-29 22:30:31.526 error by controller[0]: TypeError: Cannot read property 'val' of null yahka.0 2019-01-29 22:30:31.507 info terminating yahka.0 2019-01-29 22:30:30.544 error at Receiver._receiver.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:141:47) yahka.0 2019-01-29 22:30:30.544 error at WebSocket.emit (events.js:211:7) yahka.0 2019-01-29 22:30:30.544 error at emitOne (events.js:116:13) yahka.0 2019-01-29 22:30:30.544 error at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/EventTarget.js:99:16) yahka.0 2019-01-29 22:30:30.544 error at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/websocket.js:147:10) yahka.0 2019-01-29 22:30:30.544 error at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:137:8) yahka.0 2019-01-29 22:30:30.544 error at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:145:8) yahka.0 2019-01-29 22:30:30.544 error at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) yahka.0 2019-01-29 22:30:30.544 error at WS. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:273:10) yahka.0 2019-01-29 22:30:30.544 error at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:450:19) yahka.0 2019-01-29 22:30:30.544 error Error: server error yahka.0 2019-01-29 22:30:30.543 error server error</anonymous></anonymous></anonymous></anonymous>
Log bei update versuch:
$ ./iobroker upgrade yahka Update yahka from @0.9.0 to @0.9.1 NPM version: 6.4.1 npm install iobroker.yahka@0.9.1 --production --save --prefix "/opt/iobroker" (System call) npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ENODATA: Cache input stream was emptynpm WARN registry Using stale package data from https://registry.npmjs.org/ due to a request error during revalidation. npm ERR! code EINTEGRITYnpm ERR! errno EINTEGRITY npm ERR! Invalid response body while trying to fetch https://registry.npmjs.org/util: Integrity verification failed for sha512-D68adWMEMLxQulT6AfU4bov6inCZVtuY2gLWnKwJef6GzwWhbfmo3VatF+MFIyx2UAo2+JGXXhxbPkTqrIlGVQ== (/root/.npm/_cacache/content-v2/sha512/0f/af/1a75630430bc50ba54fa01f5386e8bfa8a709956db98da02d69cac0979fe86cf05a16df9a8dd56ad17e305232c76500a36f891975e1c5b3e44eaac894655) npm ERR! A complete log of this run can be found in:npm ERR! /root/.npm/_logs/2019-01-29T21_32_21_089Z-debug.log npm install --production (System call) in "/opt/iobroker/node_modules/iobroker.yahka" npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ENODATA: Cache input stream was emptynpm WARN registry Using stale package data from https://registry.npmjs.org/ due to a request error during revalidation. npm WARN deprecated jscs-preset-wikimedia@1.0.1: Deprecated in favour of eslint-config-wikimedia. -- https://phabricator.wikimedia.org/T118941 npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info. npm ERR! code EINTEGRITYnpm ERR! errno EINTEGRITY npm ERR! Invalid response body while trying to fetch https://registry.npmjs.org/util: Integrity verification failed for sha512-D68adWMEMLxQulT6AfU4bov6inCZVtuY2gLWnKwJef6GzwWhbfmo3VatF+MFIyx2UAo2+JGXXhxbPkTqrIlGVQ== (/root/.npm/_cacache/content-v2/sha512/0f/af/1a75630430bc50ba54fa01f5386e8bfa8a709956db98da02d69cac0979fe86cf05a16df9a8dd56ad17e305232c76500a36f891975e1c5b3e44eaac894655) npm ERR! A complete log of this run can be found in:npm ERR! /root/.npm/_logs/2019-01-29T21_32_33_065Z-debug.log Cannot install iobroker.yahka: 1 ERROR: process exited with code 25
-
Der Fehler im 0.9.0 Adapter sollte mit der Version 0.9.1 behoben sein.
Die Meldung die du beim Update bekommst, deutet auf ein Netzwerkproblem hin - oder auf ein Rechte Problem.
Hast du das Upgrade mal ueber das WebInterface probiert? Oder in der Kommandozeile mit sudo?