NEWS
Yet another HomeKit adapter
-
@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.
-
@loverz ja genau der bin ich. Habe das jetzt mal gedubegd.
yahka.0 2021-01-24 22:46:50.013 debug (26927) [Küchenschrank.On] set was accepted by ioBroker (value: 1) yahka.0 2021-01-24 22:46:50.012 debug (26927) [TIoBrokerInOutFunctionMultiState] wrote all states sucessfully to ioBroker yahka.0 2021-01-24 22:46:50.012 debug (26927) [TIoBrokerInOutFunctionMultiState] checking value change: 1 != 1 = false yahka.0 2021-01-24 22:46:50.007 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker [enocean.0.05838713.CMD]: 1 yahka.0 2021-01-24 22:46:50.007 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker: 1 yahka.0 2021-01-24 22:46:50.006 debug (26927) script: converting value to ioBroker: true to 1 yahka.0 2021-01-24 22:46:50.005 debug (26927) [Küchenschrank.On] got a set event, hkValue: true
in der Home App ist danach der state des Buttons auf "an". Der Aktor hat aber nicht geschalten.
Als Lightbulb konfiguriert und über multistate konfiguriert.
Nach einer gewissen Zeit springt der State in der App dann auf aus.Dann nach einmal an,aus und dann an geht der Aktor an.
yahka.0 2021-01-24 22:53:21.510 debug (26927) [Küchenschrank.On] set was initiated from ioBroker - exiting here yahka.0 2021-01-24 22:53:21.510 debug (26927) [Küchenschrank.On] got a set event, hkValue: true yahka.0 2021-01-24 22:53:21.510 debug (26927) [Küchenschrank.On] forwarding value from ioBroker (1) to homekit as (true) yahka.0 2021-01-24 22:53:21.510 debug (26927) script: converting value to homekit: 1 to true yahka.0 2021-01-24 22:53:21.509 debug (26927) [Küchenschrank.On] got a change notify event, ioValue: 1 yahka.0 2021-01-24 22:53:21.509 debug (26927) [TIoBrokerInOutFunctionMultiState] change event from ioBroker via [enocean.0.05838713.B0]{"val":1,"ack":true,"ts":1611525201506,"q":0,"from":"system.adapter.enocean.0","user":"system.user.admi yahka.0 2021-01-24 22:53:21.508 debug (26927) got a stateChange for [enocean.0.05838713.B0] yahka.0 2021-01-24 22:53:20.991 debug (26927) [Küchenschrank.On] set was accepted by ioBroker (value: 1) yahka.0 2021-01-24 22:53:20.990 debug (26927) [TIoBrokerInOutFunctionMultiState] wrote all states sucessfully to ioBroker enocean.0 2021-01-24 22:53:20.991 info (13693) state 05838713.CMD changed: 1 (ack = false) state: {"val":1,"ack":false,"ts":1611525200987,"q":0,"from":"system.adapter.yahka.0","user":"system.user.admin","lc":1611525200987} yahka.0 2021-01-24 22:53:20.983 debug (26927) [TIoBrokerInOutFunctionMultiState] checking value change: 0 != 1 = true yahka.0 2021-01-24 22:53:20.980 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker [enocean.0.05838713.CMD]: 1 yahka.0 2021-01-24 22:53:20.979 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker: 1 yahka.0 2021-01-24 22:53:20.979 debug (26927) script: converting value to ioBroker: true to 1 yahka.0 2021-01-24 22:53:20.978 debug (26927) [Küchenschrank.On] got a set event, hkValue: true yahka.0 2021-01-24 22:53:18.861 debug (26927) [Garagentür.ContactSensorState] set was initiated from ioBroker - exiting here yahka.0 2021-01-24 22:53:18.860 debug (26927) [Garagentür.ContactSensorState] got a set event, hkValue: 0 yahka.0 2021-01-24 22:53:18.860 debug (26927) [Garagentür.ContactSensorState] forwarding value from ioBroker (0) to homekit as (0) yahka.0 2021-01-24 22:53:18.860 debug (26927) [Garagentür.ContactSensorState] got a change notify event, ioValue: 0 yahka.0 2021-01-24 22:53:18.860 debug (26927) change event from ioBroker via [enocean.0.0582de30.CO]{"val":0,"ack":true,"ts":1611525198853,"q":0,"from":"system.adapter.enocean.0","user":"system.user.admin","lc":1611496237888} yahka.0 2021-01-24 22:53:18.859 debug (26927) got a stateChange for [enocean.0.0582de30.CO] yahka.0 2021-01-24 22:53:16.384 debug (26927) [TIoBrokerInOutFunctionMultiState] state value already in cache - notification is canceled yahka.0 2021-01-24 22:53:16.384 debug (26927) [TIoBrokerInOutFunctionMultiState] change event from ioBroker via [enocean.0.05838713.B0]{"val":0,"ack":true,"ts":1611525196382,"q":0,"from":"system.adapter.enocean.0","user":"system.user.admi yahka.0 2021-01-24 22:53:16.383 debug (26927) got a stateChange for [enocean.0.05838713.B0] yahka.0 2021-01-24 22:53:15.898 debug (26927) [Küchenschrank.On] set was accepted by ioBroker (value: 0) yahka.0 2021-01-24 22:53:15.897 debug (26927) [TIoBrokerInOutFunctionMultiState] wrote all states sucessfully to ioBroker enocean.0 2021-01-24 22:53:15.897 info (13693) state 05838713.CMD changed: 0 (ack = false) state: {"val":0,"ack":false,"ts":1611525195894,"q":0,"from":"system.adapter.yahka.0","user":"system.user.admin","lc":1611525195894} yahka.0 2021-01-24 22:53:15.889 debug (26927) [TIoBrokerInOutFunctionMultiState] checking value change: 1 != 0 = true yahka.0 2021-01-24 22:53:15.887 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker [enocean.0.05838713.CMD]: 0 yahka.0 2021-01-24 22:53:15.886 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker: 0 yahka.0 2021-01-24 22:53:15.886 debug (26927) script: converting value to ioBroker: false to 0 yahka.0 2021-01-24 22:53:15.885 debug (26927) [Küchenschrank.On] got a set event, hkValue: false yahka.0 2021-01-24 22:53:13.338 debug (26927) [Küchenschrank.On] set was accepted by ioBroker (value: 1) yahka.0 2021-01-24 22:53:13.337 debug (26927) [TIoBrokerInOutFunctionMultiState] wrote all states sucessfully to ioBroker yahka.0 2021-01-24 22:53:13.336 debug (26927) [TIoBrokerInOutFunctionMultiState] checking value change: 1 != 1 = false yahka.0 2021-01-24 22:53:13.331 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker [enocean.0.05838713.CMD]: 1 yahka.0 2021-01-24 22:53:13.330 debug (26927) [TIoBrokerInOutFunctionMultiState] writing state to ioBroker: 1 yahka.0 2021-01-24 22:53:13.330 debug (26927) script: converting value to ioBroker: true to 1 yahka.0 2021-01-24 22:53:13.329 debug (26927) [Küchenschrank.On] got a set event, hkValue: true
Habt ihr eine Idee was ich dagegen tun kann?
@Asgothian hast du eine Idee was ich hier tun kann? Dein Tipp weiter oben hatte ja soweit funktioniert. Ich bedanke mich vorab! Grüße -
@enoceaneltako sorry, nein, mot den Scripts kenne ich mich leider nicht aus. Vielleicht verlinkst du nochmal den Entwickler, der dir das weiter oben gezeigt hat?
-
@loverz sehr gute Idee, danke. Ich verstehe wohl noch immer nicht wie das hier so läuft
-
@enoceaneltako ich auch nicht, bin genauso „Starter“
Mit einem @-Zeichen voraus kannst du ihn markieren.