Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Yet another HomeKit adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Yet another HomeKit adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
1.8k Beiträge 206 Kommentatoren 832.8k Aufrufe 68 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Paulchen67P Offline
    Paulchen67P Offline
    Paulchen67
    schrieb am zuletzt editiert von
    #481

    Das würde mich auch interessieren.

    Habe über Suchfunktion mit threads von Dutchman nichts gefunden.

    ioBroker mit Ubuntu auf Intel NUC
    piVCCU auf Raspberry Pi 3

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #482

      http://forum.iobroker.net/viewtopic.php … lit=Dimmer

      Greetz Dutch


      Send from mobile device

      Das schöne ios hat Auto Korrektur zum k****

      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

      1 Antwort Letzte Antwort
      0
      • Paulchen67P Offline
        Paulchen67P Offline
        Paulchen67
        schrieb am zuletzt editiert von
        #483

        @Dutchman:

        http://forum.iobroker.net/viewtopic.php … lit=Dimmer

        Greetz Dutch


        Send from mobile device

        Das schöne ios hat Auto Korrektur zum k****

        Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

        Danke, aber leider funktioniert das bei Homematic Dimmern auch nicht.

        Gruß

        Paulchen

        ioBroker mit Ubuntu auf Intel NUC
        piVCCU auf Raspberry Pi 3

        1 Antwort Letzte Antwort
        0
        • eumatsE Offline
          eumatsE Offline
          eumats
          schrieb am zuletzt editiert von
          #484

          Hi. Hat zufällig jemand von Euch die Steuerung mit yahka und den Fibaro Rolloshuttern am funktionieren?

          Ich bin nämlich etwas am verzweifeln.

          Ich bekomme die Schaltung und Anzeige in HomeKit und über die manuellen Taster nicht zufriedenstellend hin. Entweder geht es über HomeKit oder über die Taster nicht beides.

          Das "Problem" bei den Fibaro Dingern ist, dass Level_1 sowohl zum Setzen als auch für das Auslesen des aktuellen Standes genommen werden muss.

          Also man schreibt z.B. 50 in Level_1 und der Rolladen setzt sich in Bewegung. Level_1 zeigt die 50 dann aber erst an, wenn sie erreicht sind.

          Also muss man sowohl Target als auch current aufwändig ableiten…

          Ich hoffe ich konnte man Problem verständlich beschreiben... 😉

          Hat jemand eine Idee?

          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            JW86
            schrieb am zuletzt editiert von
            #485

            @Paulchen67:

            Danke, aber leider funktioniert das bei Homematic Dimmern auch nicht. `

            Kannst du mal Screenshots deiner Konfig schicken?

            @eumats:

            Hi. Hat zufällig jemand von Euch die Steuerung mit yahka und den Fibaro Rolloshuttern am funktionieren?

            … `
            Das hört sich für mich an wie die Homematic Rolladensteuerung (wegen denen hab ich den Adapter geschrieben…)

            Ich habe das bei mir wie folgt konfiguriert:
            1486_homematicshutter_yahka.png

            Damit funktioniert die Homematic Steuerung eigentlich ganz gut (wenn man nicht ganz wild den Level hoch und runter zieht und immer wieder ändert).

            Wichtig ist, das der Fibaro Adapter das "ACK" Flag setzt wenn der Wert einen IST-Zustand darstellt.

            1 Antwort Letzte Antwort
            0
            • eumatsE Offline
              eumatsE Offline
              eumats
              schrieb am zuletzt editiert von
              #486

              @JW86:

              Das hört sich für mich an wie die Homematic Rolladensteuerung (wegen denen hab ich den Adapter geschrieben…)

              Ich habe das bei mir wie folgt konfiguriert:

              HomematicShutter_Yahka.PNG

              Damit funktioniert die Homematic Steuerung eigentlich ganz gut (wenn man nicht ganz wild den Level hoch und runter zieht und immer wieder ändert).

              Wichtig ist, das der Fibaro Adapter das "ACK" Flag setzt wenn der Wert einen IST-Zustand darstellt. `

              Leider übertragen die Fibaro Dinger nicht ob sie gerade hoch oder runterfahren (oder ich habe es bisher nicht gefunden). Daher kann ich "PositionState" nicht sinnvoll füllen…

              Was meinst Du denn mit "ACK" Flag setzen?

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                JW86
                schrieb am zuletzt editiert von
                #487

                @eumats:

                Leider übertragen die Fibaro Dinger nicht ob sie gerade hoch oder runterfahren (oder ich habe es bisher nicht gefunden). Daher kann ich "PositionState" nicht sinnvoll füllen…

                Was meinst Du denn mit "ACK" Flag setzen? `

                Ich vermute das es auch ohne PositionState funktionieren würde.

                Bezüglich dem "ACK" Flag: in der deutschen Übersetzung heißt das "Bestätigt". Wenn du auf "Zustände" gehst, siehst du diese Spalte:
                1486_iobroker_ackcolumn.png

                Wenn Yahka/ioBroker einen Wert an die Steuerung schickt, ist der Wert "Bestätigt", false.

                Wenn der Rolladen sich bewegt und daher ein Wert von der Steuerung kommt, ist "Bestätigt" true.

                1 Antwort Letzte Antwort
                0
                • eumatsE Offline
                  eumatsE Offline
                  eumats
                  schrieb am zuletzt editiert von
                  #488

                  @JW86:

                  Ich vermute das es auch ohne PositionState funktionieren würde. `
                  Funktionieren ja, aber die Statusinformationen wie "wird geöffnet/geschlossen" usw werden dann nicht korrekt angezeigt.

                  @JW86:

                  Bezüglich dem "ACK" Flag: in der deutschen Übersetzung heißt das "Bestätigt". Wenn du auf "Zustände" gehst, siehst du diese Spalte:

                  ioBroker_AckColumn.png `
                  Ah. In der Spalte Zustände muss ich gucken. Nun wird ein Schuh draus. Sorry, aber ich bin erst seid ca. 3 Monaten ein ioBroker Nutzer… :lol:

                  @JW86:

                  Wenn Yahka/ioBroker einen Wert an die Steuerung schickt, ist der Wert "Bestätigt", false.

                  Wenn der Rolladen sich bewegt und daher ein Wert von der Steuerung kommt, ist "Bestätigt" true. `
                  Ok. Dann unterstützt der Fibaro Shutter ACK… Was genau macht denn die "InOutFunktion" "ioBroker.State.OnlyACK"?

                  1 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    JW86
                    schrieb am zuletzt editiert von
                    #489

                    @eumats:

                    Was genau macht denn die "InOutFunktion" "ioBroker.State.OnlyACK"? `
                    Ein Wert wird nur an Homekit weitergeleitet, wenn das "ACK" Flag dazu gesetzt wurde.

                    => es werden nur IST-Werte weitergeleitet.

                    1 Antwort Letzte Antwort
                    0
                    • eumatsE Offline
                      eumatsE Offline
                      eumats
                      schrieb am zuletzt editiert von
                      #490

                      @JW86:

                      Das hört sich für mich an wie die Homematic Rolladensteuerung (wegen denen hab ich den Adapter geschrieben…) `

                      Klappt die Anzeige in HomeKit auch bei manueller Bedienung der Rollläden? Also per Schalter/Taster?

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        JW86
                        schrieb am zuletzt editiert von
                        #491

                        @eumats:

                        Klappt die Anzeige in HomeKit auch bei manueller Bedienung der Rollläden? Also per Schalter/Taster? `

                        Ja, funktioniert einwandfrei.

                        Ich erstelle gerade ein bisschen Doku - dabei fiel mir aber auf, das ich für die TargetPosition ein bisschen Tricksen musste.

                        Sofern nicht anders angegeben, sucht Yahka auf dem Objekt das als Parameter angegeben ist, nach einem State namens "WORKING".

                        Während Working = TRUE ist, werden keine Werte an HomeKit übermittelt. Erst wenn Working für mind. 150ms FALSE ist, wird der TargetState an HomeKit gesendet.

                        Andernfalls spring der Slider in der App durch die Gegend, da jede Level-Änderung als neuer Soll-Wert interpretiert werden würde.

                        Vielleicht ist das auch ein Problem bei dir. Gibt es bei deinem Connector ein Flag, das angibt ob der Rolladen fährt?

                        1 Antwort Letzte Antwort
                        0
                        • eumatsE Offline
                          eumatsE Offline
                          eumats
                          schrieb am zuletzt editiert von
                          #492

                          @JW86:

                          [

                          Ich erstelle gerade ein bisschen Doku - dabei fiel mir aber auf, das ich für die TargetPosition ein bisschen Tricksen musste.

                          Sofern nicht anders angegeben, sucht Yahka auf dem Objekt das als Parameter angegeben ist, nach einem State namens "WORKING".

                          Während Working = TRUE ist, werden keine Werte an HomeKit übermittelt. Erst wenn Working für mind. 150ms FALSE ist, wird der TargetState an HomeKit gesendet.

                          Andernfalls spring der Slider in der App durch die Gegend, da jede Level-Änderung als neuer Soll-Wert interpretiert werden würde.

                          Vielleicht ist das auch ein Problem bei dir. Gibt es bei deinem Connector ein Flag, das angibt ob der Rolladen fährt? `

                          Witzig das Du das gerade schreibst. Denn das ist mir auch gerade beim Spielen aufgefallen. Ein Working gibt es bei mir nicht direkt. Das der Rolladen sich bewegt kann man nur ermitteln, indem der "Verbrauch" größer 0 Watt ist. Bei meinem Testrolladen (der sicher durch die ganze Spielerei bald den Geist aufgibt… :mrgreen: ) ist bis 1 Watt der Motor im Stillstand und eine Bewegung des Motors zeigt ca. 125 Watt an. Siehe Screenshot..

                          Meine Idee war gerade aus dem Vorgängerzustand und ob der Motor läuft zu ermitteln, ob der Rolladen hoch oder runter fährt. Mal schauen ob meine rudimentären Java Kenntnisse dazu reichen...

                          Falls Du jemanden brauchst, der die Doku "reviewt" dann einfach melden...
                          3610_clipboard_1.jpg

                          1 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            JW86
                            schrieb am zuletzt editiert von
                            #493

                            @eumats:

                            Falls Du jemanden brauchst, der die Doku "reviewt" dann einfach melden… `
                            Gerne:

                            https://github.com/jensweigele/ioBroker.yahka/wiki

                            Rechts sind die verschiedenen Seiten

                            Gesendet von iPhone mit Tapatalk

                            1 Antwort Letzte Antwort
                            0
                            • eumatsE Offline
                              eumatsE Offline
                              eumats
                              schrieb am zuletzt editiert von
                              #494

                              @eumats:

                              Ein Working gibt es bei mir nicht direkt. Das der Rolladen sich bewegt kann man nur ermitteln, indem der "Verbrauch" größer 0 Watt ist. Bei meinem Testrolladen (der sicher durch die ganze Spielerei bald den Geist aufgibt… :mrgreen: ) ist bis 1 Watt der Motor im Stillstand und eine Bewegung des Motors zeigt ca. 125 Watt an. Siehe Screenshot..

                              Meine Idee war gerade aus dem Vorgängerzustand und ob der Motor läuft zu ermitteln, ob der Rolladen hoch oder runter fährt. Mal schauen ob meine rudimentären Java Kenntnisse dazu reichen... `

                              Du hast nicht zufällig spontan eine gute Idee, wie ich aus den Gegebenheiten den "PositionState" ableiten und in yahka kann? Ich bin da gerade "lost"… :shock:

                              1 Antwort Letzte Antwort
                              0
                              • eumatsE Offline
                                eumatsE Offline
                                eumats
                                schrieb am zuletzt editiert von
                                #495

                                @JW86:

                                Ich erstelle gerade ein bisschen Doku - dabei fiel mir aber auf, das ich für die TargetPosition ein bisschen Tricksen musste.

                                Sofern nicht anders angegeben, sucht Yahka auf dem Objekt das als Parameter angegeben ist, nach einem State namens "WORKING".

                                Während Working = TRUE ist, werden keine Werte an HomeKit übermittelt. Erst wenn Working für mind. 150ms FALSE ist, wird der TargetState an HomeKit gesendet.

                                Andernfalls spring der Slider in der App durch die Gegend, da jede Level-Änderung als neuer Soll-Wert interpretiert werden würde.

                                Vielleicht ist das auch ein Problem bei dir. Gibt es bei deinem Connector ein Flag, das angibt ob der Rolladen fährt? `

                                Bei Lesen Deiner Doku ist mir gerade eine Idee gekommen. Für Aktoren, bei denen es kein "Working" gibt, wäre es hier nicht eine brauchbarer Workaround, eine Funktion analog zu ioBroker.State.Defered zu schaffen, die aber mit "entprellt (debounced)" von HomeKit in Richtung iobroker. Hier kann man den Wert (z.B. 200ms) ja auch parametrierbar machen.

                                1 Antwort Letzte Antwort
                                0
                                • Paulchen67P Offline
                                  Paulchen67P Offline
                                  Paulchen67
                                  schrieb am zuletzt editiert von
                                  #496

                                  @JW86:

                                  @Paulchen67:

                                  Danke, aber leider funktioniert das bei Homematic Dimmern auch nicht. `

                                  Kannst du mal Screenshots deiner Konfig schicken? `

                                  Hallo,

                                  So hab ich sie momentan eingestellt.

                                  Funktioniert so halbwegs. Licht flackert beim regeln, geht nicht immer aus beim Aus drücken.

                                  Merkt nicht das das Licht an ist wenn es von anderer Stelle eingeschaltet wird.

                                  Homematic Dimmer HM-LC-Dim1TPBU-FM
                                  1441_bild1.jpg
                                  Das sind die Objekteigenschaften dazu.
                                  1441_bild2.jpg
                                  Das ist die andere Variante an Dimmer die ich im Einsatz habe.

                                  Da ist das verhalten noch schlechter.

                                  Homematic iP Dimmer HmIP-FDT
                                  1441_bild3.jpg
                                  Die Objekteigenschaften dazu:
                                  1441_bild4.jpg
                                  Astrein funktionieren die Dimmer wenn ich sie in Yahka als Door definiere.

                                  Was halt daran unschön ist, ist die Darstellung in der Home App als Tür und

                                  an Stelle von Ein/Aus steht halt Geöffnet/Geschlossen dran.
                                  1441_bild5.jpg

                                  Hatte dir schon mal ne PN geschrieben wegen dem Einfügen des Dimmer in die Yahka Dropdown Liste.

                                  Gruss Paulchen

                                  ioBroker mit Ubuntu auf Intel NUC
                                  piVCCU auf Raspberry Pi 3

                                  1 Antwort Letzte Antwort
                                  0
                                  • J Offline
                                    J Offline
                                    JW86
                                    schrieb am zuletzt editiert von
                                    #497

                                    kannst du mal die verschiedenen Aktionen durchführen und jeweils ein Debug-Log dazu posten?

                                    Ich kann mir nicht vorstellen das wir das nicht zum laufen bekommen. Ich habe leider keinen Dimmer um das zu testen, daher musst du nun die Recherchen/Tests vornehmen.

                                    1 Antwort Letzte Antwort
                                    0
                                    • J Offline
                                      J Offline
                                      JW86
                                      schrieb am zuletzt editiert von
                                      #498

                                      @eumats:

                                      Meine Idee war gerade aus dem Vorgängerzustand und ob der Motor läuft zu ermitteln, ob der Rolladen hoch oder runter fährt. Mal schauen ob meine rudimentären Java Kenntnisse dazu reichen… `
                                      Wenn ich das richtig verstehe, hast du eine Variable für den Level und eine Variable für die Leistungsaufnahme oder?

                                      Ich habe dir mal ein Skript gebastelt:

                                      const PositionState_DECREASING = 0;
                                      const PositionState_INCREASING = 1;
                                      const PositionState_STOPPED = 2;
                                      
                                      function FibaroWindowCoverStateEmulator(levelId, powerId, stateId) {
                                          this.levelId = levelId;
                                          this.powerId = powerId;
                                          this.stateId = stateId;
                                          this.lastLevel = getState(this.levelId).val;
                                      
                                          on({id: levelId}, () => this.refreshState());
                                          on({id: powerId}, () => this.refreshState());
                                      }
                                      
                                      FibaroWindowCoverStateEmulator.prototype = {
                                          refreshState: function() {
                                              var level = getState(this.levelId).val;
                                              var power = getState(this.powerId).val;
                                              var state = this.calculateState(level, power);
                                              this.lastLevel = level;
                                              if (state === undefined) {
                                                  return;
                                              }
                                      
                                              console.log('settings state with id: ' + this.stateId + ' to ' + state + ' - caused by level:' + level + ' and power: ' + power);
                                              setState(this.stateId, state);
                                          },
                                      
                                          calculateState: function(level, power) {
                                              if(this.lastLevel === undefined) {
                                                  return;
                                              }
                                      
                                              if (power < 1) {
                                                  return PositionState_STOPPED;
                                              }
                                      
                                              if (level > this.lastLevel) {
                                                  return PositionState_INCREASING;
                                              } else if (level < this.lastLevel) {
                                                  return PositionState_DECREASING;
                                              } else {
                                                  return PositionState_STOPPED;
                                              }
                                          }
                                      };
                                      
                                      var test1 = new FibaroWindowCoverStateEmulator("Test1.Level", "Test1.Power2", "Test1.State")
                                      
                                      

                                      Du musst eigentlich nur die letzte Zeile ändern, der Rest sollte so passen.

                                      Der Anfang des Skripts ist eine Klasse die in der letzten Zeile instanziert wird. Der erste Parameter ist der Level, der zweite die Leistungsaufnahme und der dritte Parameter ist der State in den das Ergebnis geschrieben werden soll (=> du musst die Variable vorher anlegen). In dieser Variablen steht der "fertige" Homekit PositionState.

                                      Wenn du mehrere Rolläden hast, kannst du einfach die letzte Zeile beliebig oft duplizieren (mit anderen Werten und einem anderen Variablennamen).

                                      Der Algorithmus ist wie folgt:

                                      Bei Änderung von Level oder Leistungsaufnahme wird der State berechnet.

                                      Ist die Leistungsaufnahme < 1, steht der Rolladen (=> Stopped)

                                      Ansonsten wird der aktuelle Level mit dem letzten Level verglichen. Ist der neue Level größer, fährt der Rolladen hoch (PositionState_INCREASING). Ist der neue Level kleiner, fährt der Rolladen runter (PositionState_DECREASING) - ansonsten steht der Rolladen.

                                      Das Skript hat zwei Annahmen:

                                      1. die Leistungsaufnahme ist immer positiv

                                      2. Kleiner Level bedeutet geschloßen (Level = 0) und großer Level (Level = 100) bedeutet geöffnet.

                                      1 Antwort Letzte Antwort
                                      0
                                      • eumatsE Offline
                                        eumatsE Offline
                                        eumats
                                        schrieb am zuletzt editiert von
                                        #499

                                        @JW86:

                                        Wenn ich das richtig verstehe, hast du eine Variable für den Level und eine Variable für die Leistungsaufnahme oder? `
                                        Jein. Variablen nicht, sondern Datenpunkte (z.B. javascript.0.virtualDevice.Rolllaeden.EsszimmerOsten.LevelRollo).

                                        @JW86:

                                        Ich habe dir mal ein Skript gebastelt: `
                                        Besten Dank!

                                        @JW86:

                                        Das Skript hat zwei Annahmen:

                                        1. die Leistungsaufnahme ist immer positiv

                                        2. Kleiner Level bedeutet geschloßen (Level = 0) und großer Level (Level = 100) bedeutet geöffnet. `

                                        Diese beiden Annahmen treffen zu…

                                        @JW86:

                                        Du musst eigentlich nur die letzte Zeile ändern, der Rest sollte so passen. `
                                        Geht leider nicht.

                                        var test1 = new FibaroWindowCoverStateEmulator("javascript.0.virtualDevice.Rolllaeden.EsszimmerOsten.LevelRollo", "javascript.0.virtualDevice.Rolllaeden.EsszimmerOsten.PowerRollo", "javascript.0.virtualDevice.Rolllaeden.EsszimmerOsten.position");
                                        

                                        Fehlermeldung:

                                        javascript.0 2018-01-10 22:48:01.513 warn at script.js.common.1_Play.Skript3:48:13

                                        javascript.0 2018-01-10 22:48:01.513 warn at Object.FibaroWindowCoverStateEmulator (script.js.common.1_Play.Skript3:6:22)

                                        javascript.0 2018-01-10 22:48:01.507 warn getState "undefined" not found (3)

                                        Die Datenpunkte existieren und LevelRollo und PowerRollo sind mit dem Fibaro Shutter "verbunden".

                                        Hier die yahka Konfiguration:
                                        3610_clipboard_1.jpg

                                        1 Antwort Letzte Antwort
                                        0
                                        • J Offline
                                          J Offline
                                          JW86
                                          schrieb am zuletzt editiert von
                                          #500

                                          Sorry, hatte noch eine last minute Änderung gemacht und nicht getestet [emoji30]

                                          Habe das Script korrigiert.

                                          Gesendet von iPhone mit Tapatalk

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          447

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe