Ankündigung

Einklappen
Keine Ankündigung bisher.

Neue HA-Integration: Shadow Control

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Neue HA-Integration: Shadow Control

    Hallo miteinander

    Nachdem der Ruf nach einem Replacement des Edomi-Beschattungsbausteines immer lauter wurde, hier nun die Antwort darauf.

    Darf ich vorstellen: Shadow Control

    Shadow Control ist eine Home Assistant Integration, welche sowohl von der Konfiguration als auch vom Verhalten her weitestgehend meinem Edomi-Beschattungsbaustein entspricht. Wer die Details zum Edomi-Beschattungsbaustein nicht kennt, kann gern hier nachlesen oder hier den aufgezeichneten Workshop anschauen. Insbesondere die im Workshop erklärten Grundlagen zur Beschattung gelten unverändert auch bei Shadow Control. Die Integration kann sowohl Raffstoren als auch Jalousien/Rollos handhaben.

    Installation:
    Shadow Control wird via HACS installiert und die Dokumentation ist wie üblich auf Github zu finden.

    Konfiguration:
    Ich werde die Befehls- resp. Konfigurationsreferenz jetzt nicht nochmal hierher kopieren, bitte schaut direkt auf Github, dort ist das auch immer aktuell. Daher hier nur Grundsätzliches.

    Konfiguration via ConfigFlow:
    Die Integration resp. die damit erstellten einzelnen Beschattungsinstanzen können vollständig via Home Assistant ConfigFlow, also via Browser, konfiguriert werden. Dabei erstreckt sich die initiale Einrichtung einer Instanz auf ein minimales Set von Einstellungen, mit dem eine vollständige Automatisierung der Behangsteuerung bereits möglich ist. Alle weiteren Werte können dann via ConfigFlow individuell angepasst werden.

    Konfiguration via YAML:
    Insbesondere wenn mehrere Instanzen eingerichtet werden sollen, ist die Konfiguration via YAML sehr viel effizienter. Aus diesem Grund ist es möglich, die Shadow Control Instanzen vollständig via YAML zu konfigurieren. Dazu werden die YAML-Konfigurationen von Shadow Control eingelesen und in ConfigFlow-Konfigurationen konvertiert. Sobald eine Instanz angelegt wurde, ist diese vollständig via ConfigFlow konfigurierbar und die zugehörige YAML-Konfiguration wird nicht mehr beachtet. Soll die Konfiguration erneut aus YAML erfolgen, muss die entsprechende Shadow Control Instanz gelöscht und HA neu gestartet werden.

    Statische Werte vs. Entitäten:
    Sämtliche Optionen, welche sowohl fix konfiguriert als auch dynamisch verändert werden sollen, stehen effektiv als jeweils zwei separate Konfigurationseinträge zur Verfügung. Einmal als direkter Konfigurationsparameter (Suffix *_static) und einmal als konfigurierbare Entität (Suffix *_entity). Damit wird ermöglicht, dass man einerseits alle diese Parameter fix konfigurieren kann (Verwendung der statischen Konfigurationsparameter) und andererseits aber auch dynamisch die Konfiguration der Instanzen ändern kann (Verwendung von Entitäten für die jeweilige Einstellung).

    Rückgabewerte:
    Jede Shadow Control Instanz erstellt in Home Assistant ein eigenes "Gerät", welches seinerseits die Entitäten der jeweiligen Instanz zurückgibt. Namentlich sind das aktuell folgende Werte resp. Entitäten:
    • Berechnete Behanghöhe und Behangwinkel in Prozent
    • Berechneter Behangwinkel in Grad
    • Aktueller Status (numerisch und sprechend)
    • Zeitpunkt der nächsten Positionierung
    • Sperrstatus

    Sprache:
    Aktuell steht die Integration in Deutsch und Englisch zur Verfügung. Weitere Übersetzungen können aber jederzeit hinzugefügt werden.

    Disclaimer:
    Die Integration wurde nach bestem Wissen und Gewissen erstellt und wird so wie sie ist zur Verfügung gestellt. Ich übernehme keinerlei Verantwortung, wenn sich die Storen/Jalousien/Rollos/whatever nicht wie gewünscht bewegen und deshalb die geliebte Zimmerpflanze von der Sonne verbrannt wird oder im Schatten verkümmert.

    Da die Funktionalität recht umfangreich ist, kann ich unmöglich sämtliche Eventualitäten und Konstellationen selbst testen. Wenn also etwas nicht wie erwartet funktioniert, bitte melden oder direkt auf Github ein Ticket aufmachen. Jegliches Feedback ist gern gesehen und wird nach Möglichkeit in eine der nächsten Versionen von Shadow Control einfliessen.
    Zuletzt geändert von starwarsfan; 21.07.2025, 10:27. Grund: Updated installation section
    Kind regards,
    Yves

    #2
    Mein Glückwunsch zur ersten Integration.

    Wenn ich Feedback zur Readme geben darf:
    Ich habe recht weit gelesen, aber immer noch nicht verstanden welche Vorzüge diese Integration gegenüber anderen implementierungen hat.
    ​​​​​ Ich würde deshalb die Geschichte von edomi weglassen und stattdessen
    1) kurz erklären was diese Integration macht (nach welcher Logik steuert sie)
    2) erklären was sie anders oder besser macht als andere Integrationen

    ​​​​​Davon ab finde ich unglücklich, dass die Logik 0% 100% anders ist als sonst in HA.

    Bitte nicht falsch verstehen, soll wirklich nur konstruktive Kritik sein.
    Mich interessiert die Integration, aber ich habe halt nicht rausfinden können, welche Vorzüge sie bringt

    Kommentar


      #3
      Zitat von henfri Beitrag anzeigen
      Davon ab finde ich unglücklich, dass die Logik 0% 100% anders ist als sonst in HA.
      Hass macht das schon immer falsch, dafür können wir doch nichts. In einer so mächtigen Software wie Hass. Könnte man ja eine Einstellung im System machen, aber das will man irgendwie nicht.
      Dieser Beitrag enthält keine Spuren von Sarkasmus... ich bin einfach so?!

      Kommentar


        #4
        Das weiß ich, aber deshalb muss man doch nicht noch mehr Verwirrung stiften.

        Und ich nehme mal an, dass die Integration nicht nur für KNX Nutzer sein soll.
        Für die würde die Verwirrung jetzt erst starten.

        Kommentar


          #5
          Wow
          Tolle Arbeit..
          Und super aufbereitet.
          Ich habe zwar meine eigene Lösung implementiert, aber deswegen kann ich beurteilen welcher Aufwand und welche Lernkurve dahinter stecken dürfte.

          Jetzt gibt es eine Lösung, die bestimmt viele in Home Assistant so noch vermisst haben.

          Hut ab für deinen Beitrag..

          Grüße
          Christian

          Kommentar


            #6
            Hallo miteinander

            Vielen Dank für das initiale Feedback. Ein paar Worte dazu:



            Zitat von henfri Beitrag anzeigen
            Mein Glückwunsch zur ersten Integration.
            Danke, hat dann doch mal wieder richtig Spass gemacht, in eine gänzlich neue Welt einzutauchen: Python!​


            Zitat von henfri Beitrag anzeigen
            Ich habe recht weit gelesen, aber immer noch nicht verstanden welche Vorzüge diese Integration gegenüber anderen implementierungen hat.
            ​​​​​ Ich würde deshalb die Geschichte von edomi weglassen und stattdessen
            1) kurz erklären was diese Integration macht (nach welcher Logik steuert sie)
            2) erklären was sie anders oder besser macht als andere Integrationen
            Sehr guter Punkt, vielen Dank dafür. Du hast Recht, die Doku hat da durchaus noch Luft nach oben, ich werde das dementsprechend überarbeiten und ergänzen.

            Der Hintergrund warum es so aussieht, wie es jetzt aussieht ist der, dass die Doku sehr stark aus Sicht von bzw. für "Edomi-Umsteiger" geschrieben ist. Die mögliche Zielgruppe ist nun aber sehr viel grösser, was sich selbstredend auch in der Doku niederschlagen sollte.


            Zitat von henfri Beitrag anzeigen

            ​​​​​Davon ab finde ich unglücklich, dass die Logik 0% 100% anders ist als sonst in HA.
            Ja das ist mir völlig klar und Du kannst Dir sicher sein, dass ich mir darüber auch schon den Kopf zerbrochen habe. Daher habe ich für den Moment auch den entsprechenden Hinweis in der Doku geschrieben. Aus reiner Implementationssicht war es mir aber schlussendlich erstmal lieber, die Businesslogik 1:1 zu migrieren, den mehr oder weniger gleichen Stand hinzubekommen, den der Edomi-Baustein hat und das sauber in HA einzubinden. Grundsätzlich gibt es ja nun auch gänzlich andere Möglichkeiten, was man noch so alles machen kann und daher bin ich mir im Moment noch nicht sicher, wie ich das 0%-100%-Thema weiterentwickeln werde. IMHO gibt es drei mögliche Varianten:
            1. So lassen wie es ist
            2. Nur alles was aus der Integration "raus" kommt in HA-Style auszugeben
            3. Intern umbauen, so dass wirklich "andersherum" gerechnet wird
            Das muss ich mir erst noch eine Weile durch den Kopf gehen lassen und die jeweiligen Vor- und Nachteile abwägen.

            Zitat von biggoof Beitrag anzeigen
            Wow
            Tolle Arbeit..
            Und super aufbereitet.
            Danke und ja, das war schon eine Lernkurve in den letzten fünf, sechs Wochen. Mein erster Commit war am 3. Mai und auch wenn ich das Buzzword-Bingo bald nicht mehr hören kann: Ohne KI-Unterstützung hätte mich das mindestens ein halbes Jahr gekostet (eher mehr) und von der damit einhergehenden Frustration ganz zu schweigen.


            Zitat von biggoof Beitrag anzeigen
            ​Ich habe zwar meine eigene Lösung implementiert, aber deswegen kann ich beurteilen welcher Aufwand und welche Lernkurve dahinter stecken dürfte.

            Jetzt gibt es eine Lösung, die bestimmt viele in Home Assistant so noch vermisst haben.
            Jap, das hoffe ich auch. Die Edomi-Beschattung lief hier seit ca. acht Jahren und das soll einfach genausogut weiterfunktionieren. Oder natürlich besser...
            Kind regards,
            Yves

            Kommentar


              #7
              Hi, vielen Dank für deine Tolle Arbeit! Erster Eindruck sieht auf jeden Fall gut aus und tat was es soll.

              Was aus meiner Sicht unter HA besser/anders sein könnte:
              1. Status als Klartext ausgeben, das erspart das Nachlesen in einer separaten Doku
              2. Ein/aus und Sperre direkt als Steuerelement in HA mitliefern. So machen das eigentlich die meisten anderen Integrationen
              image.png Ich finde das übersichtlicher. ​

              Kommentar


                #8
                Hallo Jan

                Zitat von turtle1987 Beitrag anzeigen
                Hi, vielen Dank für deine Tolle Arbeit! Erster Eindruck sieht auf jeden Fall gut aus und tat was es soll.
                Danke, freut mich zu hören.


                Zitat von turtle1987 Beitrag anzeigen
                1. Status als Klartext ausgeben, das erspart das Nachlesen in einer separaten Doku
                Ok, verständlich. Aber der Status ist in dieser Form dazu gedacht, weitere Automationen zu steuern und das kann nicht allgemeingültig durch Strings abgebildet werden, weil die sprachabhängig sind. Aber damit das nicht vergessen wird: Du kannst dazu gern einen FR auf Github aufmachen!


                Zitat von turtle1987 Beitrag anzeigen
                ​2. Ein/aus und Sperre direkt als Steuerelement in HA mitliefern. So machen das eigentlich die meisten anderen Integrationen
                Bitte etwas genauer, was Du damit meinst!? Das kannst Du doch jetzt schon steuern aber ich verstehe Dich vermutlich gerade falsch. Was genau zeigt denn der Screenshot?
                Kind regards,
                Yves

                Kommentar


                  #9
                  Hi,
                  werde ich gleich mal testen.
                  Was henfri​ sagt, stimmt schon. Wenn ich jetzt meine Jalousie/Rollladen mit HA auf 20 % (KNX 80 %) fahre, sollte man diesen Wert nehmen. Sonst muss man ja bei den Einstellungen die ganze Zeit umdenken. Und ja, ich bin mit 100 % oben auch sehr unglücklich.​

                  Kommentar


                    #10
                    Hallo miteinander

                    Zitat von turtle1987 Beitrag anzeigen
                    2. Ein/aus und Sperre direkt als Steuerelement in HA mitliefern. So machen das eigentlich die meisten anderen Integrationen
                    So, ich hab's selber herausgefunden. Nochmal danke für den Hinweis, kommt mit der nächsten Version.
                    Kind regards,
                    Yves

                    Kommentar


                      #11
                      Hi

                      Zitat von FireSale Beitrag anzeigen
                      Was henfri​ sagt, stimmt schon.
                      Wer hat denn gesagt, dass es nicht stimmt?


                      Zitat von FireSale Beitrag anzeigen
                      Wenn ich jetzt meine Jalousie/Rollladen mit HA auf 20 % (KNX 80 %) fahre, sollte man diesen Wert nehmen. Sonst muss man ja bei den Einstellungen die ganze Zeit umdenken.​
                      Das verstehe ich nicht. Wenn Du den Behang manuell verfährst, dann spielt das für die Integration doch keine Rolle. Wo musst Du da die ganze Zeit umdenken? Und bzgl. Konfiguration ist das für jemanden aus der KNX-Welt überhaupt kein Problem.

                      ​​​​​​​Aber ja, schon klar, die Details resp. Hintergründe warum das im Moment so ist wie es ist, habe ich ja oben schon beschrieben.
                      Kind regards,
                      Yves

                      Kommentar


                        #12
                        Zitat von starwarsfan Beitrag anzeigen
                        Aber der Status ist in dieser Form dazu gedacht, weitere Automationen zu steuern und das kann nicht allgemeingültig durch Strings abgebildet werden, weil die sprachabhängig sind.
                        Du könntest dafür Sensoren mit Enum device class verwenden. Damit kannst du dann auch State-Translations verwenden. https://developers.home-assistant.io...device-classes

                        Kommentar


                          #13
                          Das sind hervorragende Neuigkeiten. Vielen Dank für die Portierung!

                          Mit Begeisterung habe gleich mit der Umstellung eines "Testbehangs" von Edomi zu HA begonnen. Dabei ist mir aufgefallen, dass Höhe und Winkel für die Neutralposition nicht wie für Beschattung und Dämmerung per Entität gesetzt werden können. In Edomi habe ich das fleißig genutzt, daher die Frage ob Du das in einer kommenden Version ermöglichen kannst?

                          Kommentar


                            #14
                            Hallo Christian

                            Zitat von ChristianW Beitrag anzeigen
                            Das sind hervorragende Neuigkeiten. Vielen Dank für die Portierung!
                            Mit Begeisterung habe gleich mit der Umstellung eines "Testbehangs" von Edomi zu HA begonnen.
                            Danke, freut mich zu hören.


                            Zitat von ChristianW Beitrag anzeigen
                            Dabei ist mir aufgefallen, dass Höhe und Winkel für die Neutralposition nicht wie für Beschattung und Dämmerung per Entität gesetzt werden können. In Edomi habe ich das fleißig genutzt, daher die Frage ob Du das in einer kommenden Version ermöglichen kannst?
                            Das sollte kein Problem sein.
                            Kind regards,
                            Yves

                            Kommentar


                              #15
                              Zitat von starwarsfan Beitrag anzeigen
                              Nochmal danke für den Hinweis, kommt mit der nächsten Version.
                              Danke für die schnelle Umsetzung in V0.2.

                              Kommentar

                              Lädt...
                              X