NEWS
bshb - Rollladensteuerung mit yhka Homekit
-
Hallo zusammen!
Ich richte uns derzeit den ioBroker mit der Bosch Smart Home API ein - bsHB Adapter.
Bei den Lichtsteuerungen und Rollladensteuerungen komme ich aktuell nicht weiter.
Zunächst zu den Rollladensteuerungen...
Ich habe erkannt, dass sich der Eintrag "Level" bei offen/geschlossen von 0 in 1 ändert.
Wie muss ich yahka nun einstellen, dass ich die Rolläden über das Apple home steuern kann? Das hat bisher nicht funktioniert:
Sorry, wenn die Frage evtl. banal ist... ich habe es mit Autodidaktik versucht, aber irgendwie am Ende
-
@sascho Ich hab hier mal für jemand so eine Rollladensteuerung zusammen hinbekommen: https://forum.iobroker.net/topic/44641/homematic-rolladensteuerung-mit-apple-homekit-nutzen
Schau mal ob Du bei Level auch Zahlen zwischen 0 und 1 eingeben kannst - zum Beispiel 0.5 für 50%. Dann ist es im Prinzip easy, weil Du dann auch wie ich in dem Thread beschrieben den level DP für Target und Current Position verwenden kannst.
-
@mickym Cool, das scheint funktionieren zu können :-). Allerdings zeigt das Homekit genau den falschen Status an.
Homematic: 0 = Geschlossen >>> Apple Homekit zeigt offen an
Homematic 1 = Offen >>> Apple Homekit zeigt offen anDas ist aktuell eingestellt:
Wenn ich die Formeln leicht anpasse, scheint es zu funktionieren . Ich teste aber noch etwas.
-
@sascho Ja Du siehst ja habe damals beide Wege ausprobiert - also einer von beiden müsste klappen. Du hast es allerdings nicht exakt übernommen - damit es richtig funktioniert und auch die Bestätigung kommt musst Du bei CurrentPosition only ACk nehmen.
dann kann man nämlich den gleichen Datenpunkt nehmen und wartet bis der Adapter ihn bestätigt hat.
Und ja so wie Du es unten hast, hatte ich es ja zuerst (wenn Du den Thread runter blätterst). Bei Homematic ist das wohl wieder umgekehrt - macht wohl jeder Hersteller, wie es ihm passt.
-
@mickym Okay, ich habe das jetzt mal testweise auf ACk umgestellt, aber keinen Unterschied gemerkt. Beim Öffnen und Schließen kommt sofort die Rückmeldung geöffnet/geschlossen. Für mich wäre das auch okay.
Bzgl. der Beleuchtungen bin ich leider noch nicht weitergekommen.
Bei Homematic ist der Status "Off" und "On". Ist er beim Homekit 0 und 1?
Was müsste ich Scriptseitig eingeben um die Werte zu konvertieren?
-
@sascho Dann nimmst Du am besten ein mapping.
In meinen Augen müsste es aber nicht 0 und 1 im Homekit sein, sondern true und false:
Du siehst das Format ist "bool"
Kannst es aber auch mit 1 und 0 versuchen - in jedem Fall würde ich es hier mit einem Mapping versuchen. (ggf. noch das simple Value ankreuzen - bin mir aber nicht sicher)
-
@mickym said in bshb - Rollladensteuerung mit yhka Homekit:
Mit True/False klappt es gar nicht:
Mit 1 und 0 klappt das ein und ausschalten mit Apple Home perfekt. Allerdings wenn ich Einschalte, springt der Status in Apple Home sofort wieder auf Aus.
-
@sascho Na dann würde ich es trotzdem mit dem mapping machen und halt On = 1 und Off = 0
Bei mir werden die ganzen Datenpunkte halt über Aliase bereits aufbereitet und da sind diel Lampen für den Homekit true und false.
-
@mickym
Die Variante mit dem Mapping klappt auch:
Allerdings gleiches Verhalten wie mit dem Script beim Einschalten - der Status in der Home App springt kurz auf Ein und dann sofort wieder auf aus. Wenn ich dann noch mal auf draufklicke bleibt der Status auf ein.
-
@sascho Dann probier mal iobroker.Defered oder iobroker.OnlyACK. Wenn das auch nicht klappt - dann mach es mit Alias.
-
@mickym
Hat leider auch nicht geklappt . Wie funktioniert das grundsätzlich mit den Alias? -
@sascho Inzwischen gibts einen guten Aliasadapter - den installieren.
Damit hat Du generell auch den Vorteil, dass wenn später mal eine Hardware ausgetauscht werden muss, dass nicht alle Logikscripte umgestellt werden müssen.
Im Homekit kannst Du dann mit true und false arbeiten - wie es Homekit versteht
Das heißt im Homekit machst Du dann einfach ein passthrough des iobroker States.
Die Umsetzung von on auf false oder true ist bei mir bei Lesen des Orginaldatenpunktes in dem Fall eine Shelly-Steckdose. Die versteht nämlich auch nur on oder off.
-
@mickym
Das ist also der Shelly Adapter? Ich habe den gerade mal installiert. Wie lege ich denn für meine Lichtsteuerung einen Alias an? -
@sascho Nein das ist ein eigener Alias Adapter - und hat mit Shelly nichts zu tun. Die Steckdose ist ein Shelly -
aber soweit ich verstanden habe, hast Du ja Homematic Geräte.
Falls Du den Alias Manager Adapter nicht findest - musst Du mal kurzfristig Dein Verwahrort von stable auf latest umstellen.
Dann sofort wieder zurückstellen.
Den Shelly Adapter kannst Du getrost wieder löschen - der hat damit nichts zu tun. Sorry wenn mein Beispiel Screenshot Dich verwirrt hat. Das war nicht meine Absicht. Hätte auch ein anderes Gerät nehmen können.
Hast Du den Adapter installiert, dann legst Du für Deine Lampe einen neuen Alias an:
Ich habe den mal Saschos Lampe genannt:
Dann fügst Du einen leeren Datenpunkt hinzu - vorgeschalgen wird Dir SET - das kannst DU übernehmen, das ist Dein Datenpunkt Alias mit dem Du Deine Homematic Lampe schaltest:
Dort führst Du dann folgende Änderungen durch - markiere ich Dir:
Links unten muss Dein Orginaldatenpunkt rein, mit dem Du Deine Homematic Lampe mit ON oder OFF steuerst.
Wenn Du alles abgespeichert hast, dann hast Du im iobroker einen neuen Datenpunkt,
Nun solltest Du hier über true und false Dein Licht schalten können.
Wenn das klappt kannst diesen Datenpunkt einfach über passthrough im YAHAKA Adapter angeben.
Falls notwendig kannst noch das write schreiben. Ich musste es nicht, weil irgendwie der Shelly das selber umsetzte.
Aber so wie Du bei Read:
val === 'on' ? true : false
eingetragen hast kannst Du unter write dann
val ? 'on' : 'off'
Wenn Du Dir dann die Definition des Datenpunktes anschaust, dann siehst Du dass die Übersetzungen im Alias definiert sind:
-
@mickym said in bshb - Rollladensteuerung mit yhka Homekit:
val ? 'on' : 'off'
Also ich bin Deiner Anleitung soweit wie möglich gefolgt. Das Ein- und Ausschalten funktioniert. Aber wie bei dem Mappingansatz springt der Status nach dem Einschalten sofort wieder auf Aus zurück... Man sieht das übrigens auch im Alias Wertfeld False>True>False
P.S. Muss man eigentlich die Homematic IDs im Internet unkenntlich machen, wie Fahrgestellnummern ;-)?
-
@sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:
P.S. Muss man eigentlich die Homematic IDs im Internet unkenntlich machen, wie Fahrgestellnummern ;-)?
Machs einfach - keine Ahnung ob man wirklich was damit anfangen kann.
Geht denn das schalten, wenn Du direkt true oder fals in das Objekt einträgst?
Und Du hast den ON Punkt auch so definiert:
und Service Type:
wenn das alles vergleichbar ist - dann bin ich ehrlich mit meiner Weisheit am Ende - dann hoffe ich, dass Dir sonst noch jemand hier aus der Community helfen kann.
Du könntest beim Alias Datenpunkt - mal das Alias Write Feld (ganz rechts unten) löschen - bei mir geht das Ohne - dachte das liegt aber an den Shellies, dass die das übersetzen können.
-
@mickym
Also Lightbulb ist das Gerät schon die ganze Zeit konfiguriert :-(:
Wenn ich hinter das Alias Objekt ein .On in yahka hänge, wird die Kachel als Fehler in Apple Home angezeigt:
Das war es doch wo ich anpassen sollte oder?Vielleicht wäre noch eine Lösung, das Status Update um eine Sekunde zu verzögern? Ich habe beobachtet, dass der Status False nur ganz kurz steht und in diesem Moment von yahka abgefragt wird. Wenn Yahka den Status erst eine Sekunde nach Button Betätigung den Status abfragen würde, kommt sicher der richtige True Status. Der korrekte "Ein" Status kommt übrigens auch wenn man den Button 2x drückt.
-
@sascho Nein dss meinte ich nicht mit dem On sondern in dem Alias objekt das write val ? ‚on‘:‘off‘ rauslöschen.
Was Du in jedem Fall machen kannst. Lege einen boolean Datenpunkt unter 0_userdata-0 ab. Mit yahaka sollte dieser Datenpunkt mit true und false ohne Probleme zu schalten sein. Auch wenn du den Datenpunkt im ioBroker manuell änderst sollte diese im HomeKit sichtbar sein. Die Lampe effektiv schaltest du dann über deine Logikmaschine (blockly, node-red oder js)
-
Du meinst so einen Datenpunkt?
Mit yahka kann ich drauf schalten.
Allerdings habe ich keine Erfahrung im Coding, wie ich diesen Datenpunkt zwischen yahka und der Bosch API verknüpfen kann - sowohl für das Schalten als auch die Statusrückmeldung -
Aber genau das meinte ich mit einen Datenpunkt erstellen - das passt schon gut. Bei der Conversion im YAHAKA musst Du denke ich passthrough einstellen.
Wichtig ist erst mal, dass das funktioniert.
Sprich Du kannst im Apple HomeKit aus und einschalten und kannst umgekehrt, wenn Du den Punkt unter userdata true oder false schaltest sich das im HomeKit auch so darstellt.Allerdings habe ich keine Erfahrung im Coding, wie ich diesen Datenpunkt zwischen yahka und der Bosch API verknüpfen kann - sowohl für das Schalten als auch die Statusrückmeldung
Na da kann ich Dir mit Node Red aushelfen. Das ist nicht kompliziert.
Wenn das klappt - wie gesagt den Datenpunkt zwischen dem Homematic Bosch Datenpunkt und der userdata.0.Test Datenpunkt ist easy.
Wenn das klappt - dann können wir nämlich einfach die beiden Punkte verbinden (hin und rück) und dabei übersetzten. Wenn man dann noch ein delay oder was braucht, dann bauen wir das halt dann ein.
In diesen translate nodes wird dann einfach true und false gegen on und off getauscht - wie bis jetzt ja auch:
Ist das eigentlich dieser Adapter den Du benutzt?
oder ist das HomeMatic ??? - irgendwie blicke ich das noch nicht.
Hier wurde für den Switch mit YAHAKA das Script beschrieben, dass Du aber genau so schon benutzt hattest. Im Prinzip haben wir das ja alles schon ausprobiert.
https://github.com/holomekc/ioBroker.bshb/wiki/Yahka-Switch
Mal unabhängig von der NodeRed Lösung - wäre es ggf. wenn das HomematicIP ist, macht es dann eigentlich nicht mehr Sinn diesen Adapter zu nutzen?