NEWS
Yet another HomeKit adapter
-
Hallo zusammen,
ich bin noch Yahka Anfänger und habe wahrscheinlich ein lächerliches Problem aber es tut sich zumindest ein Problem bei der Formulierung einer Google-suche auf
Ich hoffe jemand kann zwischen den Advanced Problemen mir eine kurze Antwort geben.
Ich benutze Homematic IP wired im kompletten Haus und möchte nun nur Teilbereiche davon auch über Siri bedienen können.
Bzw. zum Beispiel meinen normalen Klingeltaster (Taster an einem Homematic Eingangsmodul) zum triggern einer Melodie auf dem Homepod nutzen.Jetzt bekomme ich die Einbindung auch hin aber nur als Kontaktsensor. Wie definiere ich einen Button/ Taster etc.
Ich möchte den button allerdings nicht in Homekit bedienen sondern den Zustand des realen Tasters auswerten können...
Danke vorab für eine Antwort
Gruß, Philipp
-
@pihero um dich richtig zu verstehen, du möchtest deinen Klingeltaster den du über ein Homematic Eingangsmodul in ioBroker hast als Klingel in Yahka einbinden damit du dann in der Homekit App deinen Homepod damit triggern kannst?
Habe keinen Homepod, kann man den nicht direkt in den ioBroker bekommen? Wenn nicht, einfach ein neues Gerät mit der Kategorie "Door" wählen. Dann einen neuen Service hinzufügen und als Service-Typ "Doorbell" und den Haken bei "ProgrammableSwitchEvent" setzen. "InOut: ioBroker.State" und "State" deinen Datenpunkt der Klingel auswählen. Dann hast deine Tür in Homekit. -
@el_malto Guten Morgen Community,
ich habe in meinem Adapter scheinbar eine Schleife, nach dem update auf .12 funktioniert er nicht mehr. Das gibt das Log raus:
Zeit host.iobroker.lan 2021-01-19 05:40:22.221 info Restart adapter system.adapter.yahka.0 because enabled host.iobroker.lan 2021-01-19 05:40:22.221 info instance system.adapter.yahka.0 terminated with code 0 (NO_ERROR) host.iobroker.lan 2021-01-19 05:40:22.221 error Caught by controller[3]: [Jalousie@@Position State] characteristic was supplied illegal value: string instead of number. Supplying illegal values will throw errors in the future! host.iobroker.lan 2021-01-19 05:40:22.220 error Caught by controller[2]: [Deckenbeleuchtung_G-WC@@Color Temperature] characteristic was supplied illegal value: undefined! This might throw errors in the future! host.iobroker.lan 2021-01-19 05:40:22.220 error Caught by controller[1]: at processTicksAndRejections (internal/process/task_queues.js:97:5) host.iobroker.lan 2021-01-19 05:40:22.220 error Caught by controller[1]: at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 host.iobroker.lan 2021-01-19 05:40:22.219 error Caught by controller[1]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) host.iobroker.lan 2021-01-19 05:40:22.219 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 host.iobroker.lan 2021-01-19 05:40:22.219 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka.functions/iofunc.base.ts:93:13 host.iobroker.lan 2021-01-19 05:40:22.218 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka.homekit-service.ts:164:13 host.iobroker.lan 2021-01-19 05:40:22.218 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka.homekit-service.ts:115:31 host.iobroker.lan 2021-01-19 05:40:22.218 error Caught by controller[1]: at PositionState.Characteristic.setValue (/opt/iobroker/node_modules/hap-nodejs/src/lib/Characteristic.ts:1200:20) host.iobroker.lan 2021-01-19 05:40:22.218 error Caught by controller[1]: at PositionState.Characteristic.validateUserInput (/opt/iobroker/node_modules/hap-nodejs/src/lib/Characteristic.ts:1958:15) host.iobroker.lan 2021-01-19 05:40:22.217 error Caught by controller[1]: [Jalousie@@Position State] Error: characteristic value NaN is not contained in valid values array! host.iobroker.lan 2021-01-19 05:40:22.217 error Caught by controller[1]: [Jalousie@@Position State] characteristic was supplied illegal value: string instead of number. Supplying illegal values will throw errors in the future! host.iobroker.lan 2021-01-19 05:40:22.217 error Caught by controller[1]: at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 host.iobroker.lan 2021-01-19 05:40:22.216 error Caught by controller[1]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) host.iobroker.lan 2021-01-19 05:40:22.216 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:616:17 host.iobroker.lan 2021-01-19 05:40:22.216 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka.ioBroker-adapter.ts:160:21 host.iobroker.lan 2021-01-19 05:40:22.215 error Caught by controller[1]: at changeInterceptor (/opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka.ioBroker-adapter.ts:145:75) host.iobroker.lan 2021-01-19 05:40:22.215 error Caught by controller[1]: at TIoBrokerInOutFunction_State../yahka.functions/iofunc.base.ts.TIoBrokerInOutFunction_StateBase.subscriptionEvent (/opt/iobroker/node_modules/iobroker.yahka/webpack:/yah host.iobroker.lan 2021-01-19 05:40:22.215 error Caught by controller[1]: at TIoBrokerInOutFunction_State../yahka.functions/iofunc.base.ts.TIoBrokerInOutFunction_StateBase.executeCallback (/opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka host.iobroker.lan 2021-01-19 05:40:22.214 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.yahka/webpack:/yahka.homekit-service.ts:110:31 host.iobroker.lan 2021-01-19 05:40:22.214 error Caught by controller[1]: at PositionState.Characteristic.setValue (/opt/iobroker/node_modules/hap-nodejs/src/lib/Characteristic.ts:1200:20) host.iobroker.lan 2021-01-19 05:40:22.214 error Caught by controller[1]: at PositionState.Characteristic.validateUserInput (/opt/iobroker/node_modules/hap-nodejs/src/lib/Characteristic.ts:1958:15) host.iobroker.lan 2021-01-19 05:40:22.213 error Caught by controller[1]: [Jalousie@@Position State] Error: characteristic value NaN is not contained in valid values array! host.iobroker.lan 2021-01-19 05:40:22.213 error Caught by controller[0]: [Jalousie@@Position State] characteristic was supplied illegal value: string instead of number. Supplying illegal values will throw errors in the future! host.iobroker.lan 2021-01-19 05:40:22.212 error Caught by controller[0]: [Deckenbeleuchtung_G-WC@@Color Temperature] characteristic was supplied illegal value: undefined! This might throw errors in the future! yahka.0 2021-01-19 05:40:21.639 info (32688) Terminated (NO_ERROR): Without reason yahka.0 2021-01-19 05:40:21.638 info (32688) terminating yahka.0 2021-01-19 05:40:21.633 info (32688) cleaned up ... yahka.0 2021-01-19 05:40:21.633 info (32688) cleaning up ... yahka.0 2021-01-19 05:40:21.632 error (32688) Error: characteristic value NaN is not contained in valid values array! at PositionState.Characteristic.validateUserInput (/opt/iobroker/node_modules/hap-nodejs/src/lib/Characteristic.ts:1 yahka.0 2021-01-19 05:40:21.631 error (32688) uncaught exception: characteristic value NaN is not contained in valid values array! yahka.0 2021-01-19 05:40:18.926 info (32688) publishing bridge ioBroker on 10.16.1.199 using ciao yahka.0 2021-01-19 05:40:18.919 info (32688) adding Jalousie with UUID: 62b8f4f5-2d86-42cf-9951-0866c67995dc yahka.0 2021-01-19 05:40:18.914 info (32688) adding Tür Eingang with UUID: 1651622b-70d3-44cc-bdbc-dc52c58f5139 yahka.0 2021-01-19 05:40:18.911 info (32688) adding Deckenbeleuchtung_HWR with UUID: d49736db-d032-4a09-b301-657c18726595 yahka.0 2021-01-19 05:40:18.907 info (32688) adding Motion_Küche with UUID: 141c0424-8f96-4216-858b-140ec41166cf yahka.0 2021-01-19 05:40:18.901 info (32688) adding Motion_Flur with UUID: 717155ae-b57c-4f4f-9b83-3cc534e07bff yahka.0 2021-01-19 05:40:18.895 info (32688) adding Deckenbeleuchtung_G-WC with UUID: a25916a2-0537-4ac1-880a-bb67eeda71ac yahka.0 2021-01-19 05:40:18.890 info (32688) adding Tür Gast-WC with UUID: 8c055dbf-a83c-4e5d-aaff-1d1470e5ede7 yahka.0 2021-01-19 05:40:18.884 info (32688) adding Tür HWR with UUID: bf94f0e3-5745-44ad-aac9-4c04f72edb90 yahka.0 2021-01-19 05:40:18.878 info (32688) adding Deckenbeleuchtung with UUID: 3366f416-a233-43e1-a9f4-96f65c439e59 yahka.0 2021-01-19 05:40:18.875 info (32688) adding Spüle with UUID: 60a63a33-c570-42a1-a68f-2881feae75b3 yahka.0 2021-01-19 05:40:18.873 info (32688) adding Arbeitsplatte with UUID: ab5ddd74-1221-462c-bbea-7f648eae1ff5 yahka.0 2021-01-19 05:40:18.863 info (32688) adding Thermomix with UUID: 7871b8eb-dc3e-4b40-892a-f74e88f0a72b yahka.0 2021-01-19 05:40:18.852 info (32688) adapter ready, checking config yahka.0 2021-01-19 05:40:18.822 info (32688) starting. Version 0.13.1 in /opt/iobroker/node_modules/iobroker.yahka, node: v12.20.0, js-controller: 3.1.6 host.iobroker.lan 2021-01-19 05:40:16.609 info instance system.adapter.yahka.0 started with pid 32688
Muss ich nun die Geräte im Homekit nun alle neu Konfigurieren, bzw den Adapter einmal komplett entfernen und neu Installieren?
vG
-
@el_malto Vielen Dank!
"um dich richtig zu verstehen, du möchtest deinen Klingeltaster den du über ein Homematic Eingangsmodul in ioBroker hast als Klingel in Yahka einbinden damit du dann in der Homekit App deinen Homepod damit triggern kannst?"
so ist es!Allerdings erhalte ich in Homekit den Hinweis: "Dieses Gerät wird derzeit nicht von der Homeapp unterstützt".
Hast du noch eine Idee? Wie konfiguriere ich denn einen ganz normalen Taster wie für eine Lampe?Gruß, Philipp
-
@pihero HomeKit kann leider keine Taster. Du musst einen Schalter (Switch) anlegen. Diesen kannst du dann per Script 1 Sekunde nachdem er auf „true“ gewechselt hat zurück auf „false“ setzen. So mach ich das mit meinem Türöffner.
-
@loverz sagte in Yet another HomeKit adapter:
Du musst einen Schalter (Switch) anlegen. Diesen kannst du dann per Script 1 Sekunde nachdem er auf „true“ gewechselt hat zurück auf „false“ setzen. So mach ich das mit meinem Türöffner.
Schade, dass diese Funktionalität immer noch kein direkter Bestandteil des yahka-Adapters ist. Sollte eigentlich kein Ding sein, einen Schalter per Auswahl nach einer Sekunde wieder automatisch auszuschalten, um einen Taster zu simulieren. Mein Problem ist, dass ich z.B. knappe 50 solcher Schalter zur Fernbedienung unseres Fernsehers eingebunden habe und nun für jeden einzelnen einen entsprechenden Skriptbefehl in einem Javaskript implementieren müsste.
-
@dtp sagte in Yet another HomeKit adapter:
Mein Problem ist, dass ich z.B. knappe 50 solcher Schalter zur Fernbedienung unseres Fernsehers eingebunden habe und nun für jeden einzelnen einen entsprechenden Skriptbefehl in einem Javaskript implementieren müsste.
Vielleicht solltest du nochmal darüber nachdenken, ob man wirklich 50 Schalter/Taster benötigt, um einen Fernseher zu bedienen. Wieviel Sinn macht das und wer braucht das überhaupt?
-
@hiltex @dtp Gut über Sinn oder Unsinn kann man streiten. Wenn er das möchte, dann sei ihm das gegönnt.
Der YAHKA Adapter kann das bestimmt über das Skript Feld, aber dafür kenne ich mich nicht aus.
Armseliger finde ich es ehrlich gesagt von Apple, dass sie so etwas nicht anbieten.Ich habe im Internet sowieso von einem plattformübergreifend den Standard für Smart Home gelesen, an dem einige Tech-Giganten zusammenarbeiten. Da wird sich in den nächsten Monaten oder Jahren bestimmt noch viel tun.
-
Es gibt für die CCU ein Plugin namens hap-homematic, damit kann man für jeden Schalter, den man nach Homekit überträgt, einstellen wann dieser wieder auf False springen soll. Wobei ich bei 50 solcher Schalter vielleicht nochmal das System überdenken sollte. Aber das bleibt ja jedem selbst überlassen.
-
@dtp sagte in Yet another HomeKit adapter:
für jeden einzelnen einen entsprechenden Skriptbefehl in einem Javaskript implementieren müsste.
Wieso für jeden ?
Wenn du die Schalter entsprechend definiert hast, dann kannst du mit einem Skript und einem geeigneten Selektor ($(), siehe auch hier: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md) das Zurücksetzen nach n ms realisieren.
Nebenbei: Selektor geht auch in Blockly. Wie gut das geht hängt nur davon ab ob du ein sauberes Muster zur automatischen Erkennung der relevanten Datenpunkte deiner 50 Schalter findest.
A.
-
@enoceaneltako
Welche Doorbird hast du? Bereits die neue mit 1080p oder auch die mit 720p (D20XX)?
Aufpassen - bei der D20XX kannst du parallel maximal 2 mal den rtsp-Stream abgreifen. Danach ist Schluss. Nun hast du mit Yakha bereits 1nen belegt, wenn du dann noch parallel aufzeichnest ist Ende... Das führt dazu dass du dann beim 3. Stream ein schwarzes Bild hast.
...ich wollte noch 1nen vür die VuSolo haben und noch einen für Kodi. Deshalb habe ich nun Motion parallel im Einsatz. Da mache ich aus 1nem rtsp-Stream ein ffmpeg-Stream der von vielen Geräten abgegriffen wird.
-
@pihero sagte in Yet another HomeKit adapter:
Allerdings erhalte ich in Homekit den Hinweis: "Dieses Gerät wird derzeit nicht von der Homeapp unterstützt".
Hast du noch eine Idee? Wie konfiguriere ich denn einen ganz normalen Taster wie für eine Lampe?Ah jetzt verstehe ich dein Problem. Der Hinweis "Dieses Gerät wird derzeit nicht von der Homeapp unterstützt" kommt bei ganz vielen Geräten die man mit Yahka einbindet. Dachte du hast dich deswegen nur irritieren lassen. Hab es aber bei mir dann mit meiner Klingel auch ausprobiert eine Automation zu machen und tatsächlich kann ich die Klingel nicht in einer Automation wählen. Ich kann aber z.B. Sensoren benutzen. Habe bei mir für die Anwesenheit MotionSensoren drin. Das könntest du auch mit der Klingel machen. Oder halt einfach einen Schalter wie du vorgeschlagen hast. Dann kannst du auch ein klingeln "simulieren" und dein Homepod macht den Gong. Da gibt es ja viele Möglichkeiten. Muss sich jeder die aussuchen die für ihn am besten ist.
Also wenn du noch so neu in Yahka bist, dass du noch nicht mal einen Schalter hinbekommst, würde ich mal ins Wiki gucken. Da sind ein paar Beispiele und dann versteht man ziemlich schnell wie das läuft. Oder mal Videos bei Youtube gucken.
https://github.com/jensweigele/ioBroker.yahka/wiki -
@el_malto das krieg ich grundsätzlich schon hin aber ich fand bisher nichts wirklich passend. Zum Beispiel möchte ich auch langen und kurzen Tastendruck abfragen können. Und immerhin gibt es ja Homekit-fähige Taster, die müssen ja auch in irgendeiner Form mit den vorhanden "Profilen" arbeiten.
Ich habe es jetzt mit Switch probiert...der ändert aber seinen Zustand nicht wenn ich den realen Taster an der Wand betätige.
Bei MotionSensor ist es dann halt nicht so toll dass man die Benennung nicht ändern kann, er wird immer mit Bewegungssensor in der Übersicht bezeichnet. Erst in der detaillierten Beschreibung sieht man dann die Benennung Haustürklingel.Danke und Gruß, Philipp
-
@hiltex sagte in Yet another HomeKit adapter:
Vielleicht solltest du nochmal darüber nachdenken, ob man wirklich 50 Schalter/Taster benötigt, um einen Fernseher zu bedienen. Wieviel Sinn macht das und wer braucht das überhaupt?
Ist manchmal ganz praktisch, wenn ich in meine Apple Watch sagen kann: "Hey Siri, Fernseher im Wohnzimmer auf Das Erste schalten" oder "Hey Siri", Fernseher im Wohnzimmer auf Youtube schalten". Entsprechend habe ich relativ viele Sender- und App-Namen im yahka-Adapter hinterlegt.
Die Home App selbst nutzte ich praktisch nie. Das geht dann alles über Siri. Normalerseise stört es mich daher auch nicht unbedingt, wenn da ein eingeschalteter Schalter in der Home App angezeigt wird. Aber manchmal stört es dann doch die Übersicht.
@asgothian sagte in Yet another HomeKit adapter:
Wenn du die Schalter entsprechend definiert hast, dann kannst du mit einem Skript und einem geeigneten Selektor ($(), siehe auch hier: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md) das Zurücksetzen nach n ms realisieren.
Das muss ich mir noch mal anschauen. Danke.
-
@oberfragger
nutze den d2101v mit 720p.
Habe jetzt den html link genommen. Welchen Vorteil hat der rtsp stream? Wie ist das in der Vorschau? Woher kommt hier eigentlich das Bild? Den Motionstreamlink hast du dann in yahka drin? Wozu? Also dann bekommst du ja nur bei Bewegung ein Bild oder? -
@pihero sagte in Yet another HomeKit adapter:
@el_malto das krieg ich grundsätzlich schon hin aber ich fand bisher nichts wirklich passend. Zum Beispiel möchte ich auch langen und kurzen Tastendruck abfragen können. Und immerhin gibt es ja Homekit-fähige Taster, die müssen ja auch in irgendeiner Form mit den vorhanden "Profilen" arbeiten.
Was sind denn das für Taster? Vielleicht haben auch nur die Hardware Taster an sich diese funktion mit kurz und langen Tastendruck und ich der Homekit App wird einfach ein normaler Tastendruck angezeigt (wenn überhaupt was angezeigt wird). Weil man bedenke, wenn du den Taster mit einer Lampe verknüpfst, drückst du in der Homekit App ja nicht den Taster damit die Lampe angeht, sondern drückst direkt die Lampe. Ich denke einen "simulierten" Tastendruck über die Homekit App ist nicht "nötig" oder kann nicht gemacht werden. Wäre mal interessant solch einen Taster in der Homekit App zu sehen und wie dieser agiert. Hast du einen?
Ich habe es jetzt mit Switch probiert...der ändert aber seinen Zustand nicht wenn ich den realen Taster an der Wand betätige.
Geht der Datenpunkt denn nur ganz kurz an? Also wie ein Taster? Kann ja sein, dass das zu schnell für HomeKit ist.
Aber habe es gerade mal mit meinen Datenpunkt für die Klingel getestet. Wenn der nur für 50ms auf true ist, bekomme ich direkt eine Nachricht. Aber habe ja auch keinen Switch. Sonst erstell doch mal einen Datenpunkt den du auf true und false stellen kannst. Dann machst ein Skript wo du den Datenpunkt dann länger auf true stellst. Bei einer Klingel ist ja auch ein "Entpreller" sinnvoll (Beispiel -> https://forum.iobroker.net/topic/22619/aqara-bewegungsmelder-welcher-datenpunkt-adapter/11). Bei den Kommentar den Datenpunkt auf true setzen und im nach den Timer den Datenpunkt wieder auf false setzen. Vielleicht hilft das bei einem Switch ja schon. Wenn jemand Sturmklingelt willst du ja nicht mit Nachrichten bombadiert werden.Bei MotionSensor ist es dann halt nicht so toll dass man die Benennung nicht ändern kann, er wird immer mit Bewegungssensor in der Übersicht bezeichnet. Erst in der detaillierten Beschreibung sieht man dann die Benennung Haustürklingel.
Ja das sieht halt doof aus. Aber du könntest ja auch einen Doorbell Sensor machen für die Anzeige und Benachrichtigung und einen Switch (wenn das oben beschriebene funktioniert) für die Verknüpfung mit deinem Homepod. Den dann einfach in einen "Müll" Raum schieben und dann siehst den ja nicht mehr. Kannst in den Einstellungen ja auch sagen ob der unter "Mein Zuhause" oder so angezeigt werden soll. Wäre vielleicht eine Abhilfe.
-
@enoceaneltako Auf die Idee den html-Stream zu nehmen bin ich noch nie gekommen. Der ist soweit ich das gesehen habe nur in 480p. Ich schreib dir mal ne PM weil die Details zur Doorbird sind hier falsch...
-
Hatte das schon gefragt. Ist es bei euch auch so dass ihr manchmal zum erfolgreichen schalten einer Lampe doppelt klicken müsst?
Bspw. Licht an - reagiert nicht, zeigt es aber ins Home als „an“ an. - dann erneuter Klick auf „aus“ - dann auf „an“ - und alles passt.
Ist das nur bei mir so? Gleiches gilt dann auch für die Szene, bei mir bspw. „Alles aus“ -
@enoceaneltako nein, das ist normalerweise nicht so. Wartest du auch bis die „Buttons“ sich aktualisiert haben?
Warst du nicht der mit den „komischen“ States true(on) und false(off) die über ein Script umgewandelt werden müssen? Wenn ja, dann schau dir die Scripts nochmal an. -
@chip131001 um auf das Thema zurück zu kommen das die States in HomeKit nicht aktualisiert werden. Kann mittlerweile sagen das es bei mir wohl nicht an Yahka liegt, das läuft vernünftig. Aber mir ist in den letzten Tagen vermehrt aufgefallen das gerade Hue Geräte die native in HomeKit sind, nicht immer den aktuellen Status anzeigen und ich die Home App neu starten muss damit er die aktuellen States übernimmt. Scheint also irgendwo anders ein Problem zu geben.