Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. bshb - Rollladensteuerung mit yhka Homekit

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    bshb - Rollladensteuerung mit yhka Homekit

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sascho @mickym last edited by sascho

      @mickym said in bshb - Rollladensteuerung mit yhka Homekit:

      Mit True/False klappt es gar nicht:
      37421af1-fc25-4035-9421-3188ea4a4c23-image.png

      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.
      63c81383-8bce-4b1c-bd20-f450c8b8fd45-image.png

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @sascho last edited by mickym

        @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.

        1299dcf4-9f3a-4bda-b6bd-d557233b9fe4-image.png

        S 1 Reply Last reply Reply Quote 0
        • S
          sascho @mickym last edited by

          @mickym
          Die Variante mit dem Mapping klappt auch:
          d1736921-fc91-4dd3-85ba-30feeb3542ab-image.png

          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.

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @sascho last edited by mickym

            @sascho Dann probier mal iobroker.Defered oder iobroker.OnlyACK. Wenn das auch nicht klappt - dann mach es mit Alias.

            S 1 Reply Last reply Reply Quote 0
            • S
              sascho @mickym last edited by

              @mickym
              Hat leider auch nicht geklappt ❌ . Wie funktioniert das grundsätzlich mit den Alias?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @sascho last edited by

                @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

                068912cb-cb72-41c4-9362-b590f179c01b-image.png

                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.

                S 1 Reply Last reply Reply Quote 0
                • S
                  sascho @mickym last edited by

                  @mickym
                  Das ist also der Shelly Adapter? Ich habe den gerade mal installiert. Wie lege ich denn für meine Lichtsteuerung einen Alias an?

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @sascho last edited by mickym

                    @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.

                    d3f9c8e3-5b57-4444-aaab-c2494ad38cec-image.png

                    2c49553b-61f3-46b0-a8a6-f48ed71b067a-image.png

                    Falls Du den Alias Manager Adapter nicht findest - musst Du mal kurzfristig Dein Verwahrort von stable auf latest umstellen.

                    6806f530-82aa-4066-bf78-f791a07fb05d-image.png

                    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:

                    b0e6f09a-b749-4cb7-b5e3-9bbe017a9a23-image.png

                    Ich habe den mal Saschos Lampe genannt:

                    78d23089-63a7-43e3-8d69-4cfd63a44cea-image.png

                    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:

                    4c0a49a4-7990-4de0-b3af-6c6a40438e59-image.png

                    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,

                    c00810ed-7c60-409f-a5c8-cef83a53fde2-image.png

                    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:

                    59e96bf5-8a12-4f04-b742-8224c3520cb0-image.png

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sascho @mickym last edited by sascho

                      @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

                      425b52b8-7a5f-47bd-8e5c-be003f880a08-image.png

                      e417c880-7b7d-4ced-b4e3-22bc88c4f35d-image.png

                      P.S. Muss man eigentlich die Homematic IDs im Internet unkenntlich machen, wie Fahrgestellnummern ;-)?

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @sascho last edited by mickym

                        @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:

                        66cd59da-b3e2-48a0-ab11-c2e18bcf01aa-image.png

                        und Service Type:

                        3cfc83ed-3f62-4312-b5c9-1dd2f35b477f-image.png

                        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.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          sascho @mickym last edited by

                          @mickym
                          Also Lightbulb ist das Gerät schon die ganze Zeit konfiguriert :-(:
                          8a3451cf-74c1-435c-b9fd-7a18b4f845cc-image.png

                          Wenn ich hinter das Alias Objekt ein .On in yahka hänge, wird die Kachel als Fehler in Apple Home angezeigt:
                          4e89ced5-8142-4865-8965-9ba5c3ddcabd-image.png
                          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.

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @sascho last edited by mickym

                            @sascho Nein dss meinte ich nicht mit dem On sondern in dem Alias objekt das write val ? ‚on‘:‘off‘ rauslöschen.
                            6b69281a-14fe-48b4-b0a8-902a131704b4-image.png

                            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)

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              sascho @mickym last edited by

                              @mickym

                              Du meinst so einen Datenpunkt?
                              769adef9-80df-4652-95f3-ba5555a89ca7-image.png

                              51554c58-4db2-4095-bcdd-d6974690801a-image.png

                              Mit yahka kann ich drauf schalten.
                              1b744779-a1a0-48ad-af1e-916b3dd5dadf-image.png
                              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 😞

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @sascho last edited by mickym

                                @sascho

                                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.

                                92be4aeb-8420-46c4-a360-c96b7b6607f7-image.png

                                In diesen translate nodes wird dann einfach true und false gegen on und off getauscht - wie bis jetzt ja auch:

                                656ddcce-4711-4433-9d8d-884e0d9e0826-image.png

                                Ist das eigentlich dieser Adapter den Du benutzt?

                                8b206590-1556-4f1e-be60-7474aa8dd40f-image.png 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?

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  sascho @mickym last edited by sascho

                                  @mickym

                                  Also ich habe mich mal in Node Red eingearbeitet - super, sieht wirklich benutzerfreundlich aus.

                                  So sieht mein Mapping aus:

                                  7ec4a782-984b-425e-868b-dc39526a3b7a-image.png

                                  Translate_1:
                                  63ca9252-2927-4bed-b859-dd9e2a22571e-image.png

                                  Translate_2:
                                  f3834ce6-4e9a-476f-be72-3a19a91fdfda-image.png

                                  Das Umschalten des Userdata Status True/False funktionierte ja schon über die Homekit App, allerdings empfängt die Bosch API kein Update:
                                  5194b07e-54e8-4425-a6b6-de8138a81cd7-image.png

                                  Muss ich den Node Red Flow noch irgendwie aktivieren? Ich habe nur Übernehmen geklickt.

                                  Bzgl. BSHB:
                                  Die Lichtsteuerungen und Rollladensteuerungen sind Homematic Hardware. Andere Komponenten wie die Bewegungsmelder, Rauchmelder usw. sind Bosch-Entwicklungen.
                                  Ich kann den Bosch eignen Adapter für die Lichtsteuerungen einsetzen. Allerdings kann dieser Adapter noch nicht alles - z.B. werden die Temperaturwerte (Soll/Ist) von den Raumthermostaten nicht in die Homekit App übernommen. Teilweise werden Sensorwerte konsolidiert, die ich gerne separat zeigen möchten. Deswegen würde ich gerne nach und nach komplett auf Yahka umstellen :-).

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @sascho last edited by mickym

                                    @sascho Huch - Du überraschst mich ja immer wieder - was Du dann so plötzlich alles treibst.

                                    Zu einen geh erst mal in die Adaptereinstellungen von Node-Red und nimm bitte den Haken raus, das alles in Strings konvertiert wird.

                                    Also diese Option:
                                    0deedc62-30e5-4d9f-80b2-5977e6a31972-image.png

                                    darf NICHT aktiv sein.

                                    Dann darfst Du nicht die Get Nodes verwenden, sondern die iobroker-IN Nodes.

                                    Die schauen so aus:

                                    43d29e0c-a12d-42ff-b7d5-e842de772d28-image.png

                                    Haben also keinen Eingang und nur einen Ausgang.

                                    Umgekehrt nimmst Du für die out-Nodes nur diese:

                                    56914727-303b-4726-9c73-39ec29a18059-image.png

                                    die haben nur einen Eingang und keinen Ausgang:

                                    Nun aber Vorsicht, dass Du keine Endlosschleifen produzierst und Dein System lahm legst. In den iobroker-In Nodes, trägst Du deshalb zur Sicherheit erst mal ein, dass nur bei geänderten Werten eine Nachricht gesendet werden soll.

                                    Dann machst Du hinter Deinen beiden translate Nodes bitte noch jeweils eine Debug Node und schaust Dir an, ob im Debugfenster das richtige rauskommt:

                                    a3d58487-a3d9-4177-a3b3-6dd9eb736562-image.png

                                    afa8c29b-dc5a-40d2-ad25-dea581345e79-image.png

                                    Wenn Du nicht zurecht kommst, dann kann ich den Flow auch für Dich machen und Du importierst ihn noch. Wichtig sind aber erst mal die Adaptereinstellungen und dann versuchs halt erst mal.

                                    Und jede Änderung wird erst durch Übernehmen aktiv. Wir schauen erst mal, dass Du das hinbekommst. Wenn Du dann noch Lust hast, Dich weiter in NodeRed einzuarbeiten, dann habe ich ein paar Links und Videos für Dich.

                                    Getriggert werden die Flows dann übrigens automatisch durch Aktualisierung - deswegen ist es so wichtig, dass Du erst mal nur Änderungen durchlässt.

                                    Im Prinzip funktionieren Dein Flow (mit den richtigen in und out Nodes dann so).

                                    1. Im Homekit änderst Du 0_userdata.0.Test zu true oder false - damit triggerst Du den oberen Flow.
                                    2. In translate1 wird dann true bzw. false in on oder off übersetzt und in den bshb.0. .... Punkt geschrieben. Da sich dieser nun auch ändert, wird automatisch der
                                    3. untere Flow getriggert, der nun falls geändert über translate 2 den 0_userdata.0.Test wieder true bzw. false schreibt,
                                    4. Damit wird der obere Teil wieder getriggert - der weiterlaufen würde (Endlosschleife), wenn Du da nicht reinschreibst, dass nur geänderte Werte weitergereicht werden. Deswegen ist das so wichtig - sonst legst Du wie gesagt Dein System lahm - aber ich denke das ist nun mit der BEschreibung leicht zu begreifen.

                                    Ach und noch was - wenn Du den bshb.0 Node mit der iobroker out Node beschreibst, dann nimmst Du bitte den Typ command:
                                    318e48a7-f525-4d74-864b-e3e21007f3bb-image.png

                                    wenn Du den 0_userdata.0.Test beschreibst den Typ value:

                                    37573ded-ce37-4a59-9992-852f67545910-image.png

                                    Das hat was mit dem ACK Flag zu tun, was unter 0_userdata.0 sonst nie gesetzt wird, bei anderen Datenpunkten aber durch den entsprechenden Adapter.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      sascho @mickym last edited by sascho

                                      @mickym

                                      Ja, ich taste mich Schritt für Schritt an das Machbare heran. Später würde ich gerne auch noch den Wechselrichter mit der Wallbox verknüpfen. Ursprünglich wollte ich über Relais gehen, aber wenn das alles per Software machbar ist, um so besser :-).

                                      Also, gestern hat es geklappt mit der oben beschriebenen Lösung: Datenpunkt and yahka anbinden, mit Node Red an den Bosch Adapter heranzugehen. Ich musste auch kein Delay einbauen, der Status wurde sauber angezeigt.

                                      Jetzt wollte ich heute mal ein paar Lampen anschließen und habe neue Datenpunkte angelegt und den Testdatenpunkt gelöscht, aber Node Red erkennt neu angelegte Datenpunkte nicht sondern hat nur den bereits gelöschten Datenpunkt als Topicauswahl. Muss man Node Red neu einlesen?

                                      a1002cdb-96d1-4108-a781-26d5fd331b89-image.png

                                      e74b877b-1f64-45f1-982c-0696fe547e6e-image.png

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @sascho last edited by mickym

                                        @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                        Jetzt wollte ich heute mal ein paar Lampen anschließen und habe neue Datenpunkte angelegt und den Testdatenpunkt gelöscht, aber Node Red erkennt neu angelegte Datenpunkte nicht sondern hat nur den bereits gelöschten Datenpunkt als Topicauswahl. Muss man Node Red neu einlesen?

                                        Ja das ist so. Du kannst entweder einfach den Pfad zum Topic über die Zwischenablage reinkopieren,
                                        714ba9d1-9730-4b55-b03d-57e7eaa6fd3d-image.png
                                        ansonsten wird die Objektstruktur nur beim Adapterstart eingelesen. (also NodeRed Instanz neu starten.) ggf muss man zusätzlich auch den Browser aktualisieren.

                                        Ich empfehle das Kopieren über die Zwischenablage.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          sascho @mickym last edited by

                                          @mickym

                                          Cool, das hat beides funktioniert! Vielen Dank!

                                          Ganz zuverlässig war es bis gerade noch nicht. So funktioniert es aktuell ohne Delay... Ich teste noch mal 🙂 etwas.

                                          81e21e8b-a1a0-4076-99ff-46ad9df70894-image.png

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @sascho last edited by mickym

                                            @sascho Rechts unten die iobroker -out Node solltest Du ggf. value (=ACK = true) und nicht comand schreiben, da die Datenpunkte unter userdata von keinem Adapter bestätigt werden.

                                            Oben hingegen ist comand richtig, da hier der Bosch Adapter den Wert bestätigt.

                                            Und bei den iobroker-IN Nodes ggf. nochmals überprüfen, dass nur geänderte Werte triggern (wie gesagt sonst Gefahr von Endlosschleifen).

                                            S 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            912
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            121
                                            6580
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo