Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter homeconnect (BSH Home-Connect) v0.0.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter homeconnect (BSH Home-Connect) v0.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • oberfragger
      oberfragger @antoun22 last edited by oberfragger

      @antoun22 Anbei der Blockly_Code für die Ansagen welcher Kaffe fertig ist und falls der Event "Wasser leer" oder "Tropfschale leeren" getriggert wird.
      "warmMilk" und "hotWater" musst Du aber noch via if/then abfangen, da es bei Dir ja hotWater gibt...

      Achja- eigenen eigenen DP für zuletzt gewählten Kaffe muss man noch per Hand erstellen.

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="comment" id="LapTK?,zWE6pz2iV@=Bd" x="112" y="-112">
          <field name="COMMENT">Zuletzt gewählten Kaffee in eigenen DP einsetzen</field>
          <next>
            <block type="on" id="P[p|KIv3DklZ*7m`J=N|">
              <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
                <block type="controls_if" id="~6{*Ca*7l4%hOUmLmL{c">
                  <value name="IF0">
                    <block type="logic_compare" id="l7)TWOm#vM5l/2R}t#2X">
                      <field name="OP">NEQ</field>
                      <value name="A">
                        <block type="on_source" id="v!zVQIk]LtLD!f6}(RI5">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_null" id="_tcb=-(;tZt(9GRfBEol"></block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="update" id="-$7Dw9!Tr_n]x24=+ud]">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="on_source" id="R:@y-I4Qe1h({z;lMu[%">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </statement>
              <next>
                <block type="comment" id="Pb~:L+1hh!xT[39H,0HM">
                  <field name="COMMENT">Alexa Ansage wenn der Kaffee fertig ist</field>
                  <next>
                    <block type="on" id="8715eV~RN{[[atjqp@A8">
                      <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.active.options.BSH_Common_Option_ProgramProgress</field>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="i$4lS6+x-a-AN;|Wmh]X">
                          <value name="IF0">
                            <block type="logic_compare" id="v9co4T,*.REvm,*8J2i#">
                              <field name="OP">EQ</field>
                              <value name="A">
                                <block type="on_source" id="W?RA#KxD4^Kb9*?T7_h?">
                                  <field name="ATTR">state.val</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="text" id="B+(*%MY~j/GNKQIdmFM9">
                                  <field name="TEXT">100</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="control" id="Je-575z]PxkP_zFl(Z!U">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">alexa2.0.Echo-Devices.G090U509914419KQ.Commands.speak</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="text_join" id="@~B,i;x$I)8%Je^k*)DR">
                                  <mutation items="3"></mutation>
                                  <value name="ADD0">
                                    <block type="text" id="Q5Xjmj~g%]*WvRW4EvTX">
                                      <field name="TEXT">Hallo, Dein </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="text_getSubstring" id="X|YKPo0/!GBgZ0^5z/2," inline="false">
                                      <mutation at1="true" at2="false"></mutation>
                                      <field name="WHERE1">FROM_START</field>
                                      <field name="WHERE2">LAST</field>
                                      <value name="STRING">
                                        <block type="get_value" id="p5%H5#w[it6WS9iE|tj[">
                                          <field name="ATTR">val</field>
                                          <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field>
                                        </block>
                                      </value>
                                      <value name="AT1">
                                        <block type="math_arithmetic" id="bF186|FznYoaFBx}io9o" inline="false">
                                          <field name="OP">ADD</field>
                                          <value name="A">
                                            <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="text_indexOf" id="j1|aA3l$S=z^m.Ug8?B=" inline="false">
                                              <field name="END">LAST</field>
                                              <value name="VALUE">
                                                <block type="get_value" id="4}HZ*/+Ss/,Q?CV4P7Kh">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field>
                                                </block>
                                              </value>
                                              <value name="FIND">
                                                <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                  <field name="TEXT">abc</field>
                                                </shadow>
                                                <block type="text" id="Mir}i#n{YT[K@4t#)Q?v">
                                                  <field name="TEXT">.</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_number" id="I%mK$b3fzLFhu88Z[g?_">
                                              <field name="NUM">1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text" id="-DS/R`ePW!paNc:WF^eT">
                                      <field name="TEXT"> ist fertig</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="debug" id="E;l%;geOn!|rdiT.sc5a">
                                  <field name="Severity">log</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="Xs_M92/GAeD6l2|_Y~dT">
                                      <field name="TEXT">BSH_Common_Option_ProgramProgress_auf_100%</field>
                                    </shadow>
                                    <block type="text_join" id="Pl2tbDK3unWM,c-2~(po">
                                      <mutation items="3"></mutation>
                                      <value name="ADD0">
                                        <block type="text" id="1]-mr1)bwgU!2iJW7Gr-">
                                          <field name="TEXT">Hallo, Dein </field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text_getSubstring" id="7_gd/nDVsY5t7X^aC(dH" inline="false">
                                          <mutation at1="true" at2="false"></mutation>
                                          <field name="WHERE1">FROM_START</field>
                                          <field name="WHERE2">LAST</field>
                                          <value name="STRING">
                                            <block type="get_value" id="u#1/@sb^88T:atE:rk+*">
                                              <field name="ATTR">val</field>
                                              <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field>
                                            </block>
                                          </value>
                                          <value name="AT1">
                                            <block type="math_arithmetic" id="L04we+5X]U^5?@Ua.Jr!" inline="false">
                                              <field name="OP">ADD</field>
                                              <value name="A">
                                                <shadow type="math_number" id="A`TLz5Lbfgw;=mJOp}(^">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="text_indexOf" id="7Hg3~{#zFgX^4e]iEu[/" inline="false">
                                                  <field name="END">LAST</field>
                                                  <value name="VALUE">
                                                    <block type="get_value" id="]}8EkT?*B-y[0%o4SU5_">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field>
                                                    </block>
                                                  </value>
                                                  <value name="FIND">
                                                    <shadow type="text" id="P5s;aJDPT*F;y(,VtRBs">
                                                      <field name="TEXT">abc</field>
                                                    </shadow>
                                                    <block type="text" id="pe(!(TuP#HoKY39*~{G+">
                                                      <field name="TEXT">.</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="-9+`M14/p._`PvUM3`yk">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_number" id="cXVm+lfkz-m:|X#O5tQ2">
                                                  <field name="NUM">1</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="text" id="0WPrr.Q,}Mn2P{0-WrTW">
                                          <field name="TEXT"> ist fertig</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </statement>
                      <next>
                        <block type="comment" id="bdo3D}FyKm7rm:j@4jn:">
                          <field name="COMMENT">Alexa Ansage wenn Tropfschale voll ist</field>
                          <next>
                            <block type="on" id="%Qry3R,F-w~eDWIZ;v~Q">
                              <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_DripTrayFull</field>
                              <field name="CONDITION">ne</field>
                              <field name="ACK_CONDITION"></field>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="s+uRRm_,=H?8|j|GSLrD">
                                  <value name="IF0">
                                    <block type="logic_compare" id="({v/UANZbItzMGQVz;PO">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="on_source" id="pecp$)zA!mFQ,:p2NR($">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="text" id="9)#UKeJGU=0BXO9mzOft">
                                          <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="control" id=",,H!U35,2=48#DuW,!+$">
                                      <mutation delay_input="false"></mutation>
                                      <field name="OID">alexa2.0.Echo-Devices.G090U509914419KQ.Commands.speak</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="text_join" id="z|J(n/Z1m%yc,kWJUl=J">
                                          <mutation items="1"></mutation>
                                          <value name="ADD0">
                                            <block type="text" id="BqB=N.D1{}my3ZRt8o[6">
                                              <field name="TEXT">Bitte Tropfschale leeren.</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                              <next>
                                <block type="comment" id="TklKTCg(o7sKGG+Soo5`">
                                  <field name="COMMENT">Alexa Ansage wenn Wasserbehälter leer ist</field>
                                  <next>
                                    <block type="on" id="j?sr8Kd.S/N@pQN(A1vt">
                                      <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_WaterTankEmpty</field>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <statement name="STATEMENT">
                                        <block type="controls_if" id="8{?uPOLRWYL.d~nt8AUV">
                                          <value name="IF0">
                                            <block type="logic_compare" id="@tLM~A-j]@aUA@-Wt`C3">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="on_source" id="K4CbR^8njT!H]#RdQdqS">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="text" id=".uE~(4Ui~h(LX?VY}yHN">
                                                  <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="control" id="y?HpJNT?9z_[/UhEvK-p">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">alexa2.0.Echo-Devices.G090U509914419KQ.Commands.speak</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="text_join" id="t/y|E^|@|NJ`QM*vQMY2">
                                                  <mutation items="1"></mutation>
                                                  <value name="ADD0">
                                                    <block type="text" id="VINF;n`EDeCMwW6JowOA">
                                                      <field name="TEXT">Bitte Wassertank füllen.</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      
      A 1 Reply Last reply Reply Quote 0
      • A
        antoun22 @oberfragger last edited by

        @oberfragger super, Danke Dir!

        1 Reply Last reply Reply Quote 0
        • D
          dtp last edited by dtp

          Mal ne Frage zum Funktionsumfang des Adapters.

          Aktuell haben wir einen Kaffeevollautomaten, eine Waschmaschine und einen Geschirrspüler, die über Home Connect kommunizieren können.

          Beim Kaffeevollautomaten gibt es die Möglichkeit, per IFTTT bestimmte Getränke zubereiten zu lassen. Das funktioniert auch soweit. So habe ich dann diese IFTTT-Befehle mit entsprechenden Webhooks verknüpft, die ich über den iot- und den yahka-Adapter aufrufen kann.

          2020-02-05_08h55_32.png

          Ich frage mich aber, ob ich wirklich immer den Umweg über IFTTT gehen muss (läuft leider nicht immer zuverlässig), oder ob man das nicht auch direkt mit dem homeconnect-Adapter umsetzen kann? Was per IFTTT geht, sollte doch auch über den Adapter laufen können. Oder hat BSH hier Einschränkungen vorgenommen?

          T 1 Reply Last reply Reply Quote 0
          • T
            tombox @dtp last edited by

            @dtp Die API kann auf jeden Fall nicht alle Optionen die die App kann. Aber wenn ich das Bild so sehe müssten die Optionen gehen.
            Die Version von github installieren.
            Einfach unter programs/selected/programname auswählen und dann das Programm aktiv setzen

            1 Reply Last reply Reply Quote 0
            • D
              dtp last edited by

              Nun ja, das Problem ist ja, dass man über IFTTT individuelle Einstellungen z.B. hinsichtlich der Milchmenge, der Getränkegröße oder der Kaffeestärke vornehmen kann, die man als Applet ablegt. Es wird also nicht nur einfach ein Programm aufgerufen, sondern es werden zusätzlich noch gewisse Parameter gesetzt, die ich bisher in den Datenpunkten des Adapters nicht finden konnte. Oder geht das mit der aktuellsten Version?

              T 1 Reply Last reply Reply Quote 0
              • T
                tombox @dtp last edited by

                @dtp
                Hier kannst du die aktuellen Optionen sehen:
                https://developer.home-connect.com/docs/coffee-maker/supported_programs_and_options
                ConsumerProducts.CoffeeMaker.Option.BeanAmount
                ConsumerProducts.CoffeeMaker.Option.FillQuantity
                ConsumerProducts.CoffeeMaker.Option.CoffeeTemperature

                Für weitere Wünsche einfach eine englische Mail hier hin schreiben, dass du dir die IFTTT Optionen auch in die API wünscht.
                https://developer.home-connect.com/support/contact

                1 Reply Last reply Reply Quote 0
                • D
                  dtp last edited by dtp

                  Danke. Das sieht ja schon mal recht vielfältig aus. Fehlt - soweit ich das sehe - eigentlich nur die Milchmenge.

                  EDIT: Hab mir jetzt noch mal die Datenpunkte des homeconnect-Adapters angesehen. Soweit ist alles vorhanden.

                  2020-02-05_15h12_15.png

                  Aber wie kombiniere ich jetzt das entsprechende Getränk mit den weiteren Optionen?

                  Gruß,

                  Thorsten

                  1 Reply Last reply Reply Quote 0
                  • D
                    dtp last edited by

                    Hi,

                    wäre es möglich, die Namensinfo eines Geräts automatisch in die Spalte Name das Adapters eintragen zu lassen? Ich suche mir da jedesmal einen Wolf, bis ich das richtige Gerät gefunden habe.

                    2020-02-26_09h13_42.png

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      tombox @dtp last edited by tombox

                      @dtp lösche mal alle Geräte und installiere via github

                      Dann kannst du gleich testen am besten mit einer Kaffeemaschine ob noch alle select Programm gehe

                      1 Reply Last reply Reply Quote 0
                      • D
                        dtp last edited by dtp

                        Sieht gut aus.

                        2020-02-26_11h58_47.png

                        Die Select-Programme werden auf alle Fälle alle angezeigt. Hab mir aber gerade nen Kaffee gemacht. Muss also noch etwas warten, bis ich es teste. 😉

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          tombox @dtp last edited by

                          @dtp ich habe umgestellt das alle select mit ihren jeweiligen Optionen

                          1 Reply Last reply Reply Quote 0
                          • D
                            dtp last edited by

                            So sieht's bei mir mit der Version 0.0.27 aus.

                            2020-02-26_12h06_01.png

                            Von weiteren Optionen der Programme kann ich da nichts erkennen. Was mir auch fehlt, ist die Möglichkeit, die Maschine ein- und auszuschalten. Das geht derzeit wohl nur über IFTTT, oder?

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              tombox @dtp last edited by

                              @dtp eigenartig mal im eingeschaltet Zustand den Adapter Neustarten. Über den settings State kannst du das Gerät ein und ausschalten

                              1 Reply Last reply Reply Quote 0
                              • D
                                dtp last edited by dtp

                                Jetzt sind die Optionen da.

                                2020-02-26_12h41_38.png

                                Latte Macchiatto ist aber das einzige Getränk ohne Eintrag im Namen.

                                Und danke für die Info mit dem Datenpunkt settings.BSH_Common_Setting_PowerState zum Ein- und Ausschalten. Setze ich den Datenpunkt dazu einfach auf true oder false?

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  tombox @dtp last edited by

                                  @dtp Nein es muss der jeweilige bsh State gesetzt werden den du findest wenn du auf den edit Stift klickst

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User last edited by

                                    Hi,

                                    ich hab gerade den Adapter für unseren Trockner installiert und mehrere Fragen dazu

                                    Wie kann ich unter Events das Present auswerten für ein Skript?

                                    Für mein Denken wäre doch 0/1 besser für Programm Ende oder Knitterschutz Ende.....

                                    Der Doorstate steht auf offen obwohl der Trockner läuft .....

                                    Bei Betriebsstatus das gleiche wie oben, wie kann ich das Auswerten oder ändern auf 0 und 1 ??

                                    Danke
                                    Tobias

                                    trockner iobroker.jpg

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      tombox @Guest last edited by

                                      @tobi83 Das ist eigenartig mit dem Knitterschutz gab es schon mal eine Diskussion um das zu erkennen.
                                      Wenn man mit Skript auswerten will muss man die langen States nehmen BSH.Common... man sieht sie alle wenn man auf den Stift klickt.

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        Dancekid last edited by Dancekid

                                        Hallo liebe Community,

                                        UPDATE: Nach dem Neustart der Node-RED sind die Objekte jetzt auswählbar...

                                        Frage zu HomeConnect und Node-RED:

                                        Derzeit sehe ich meinen Geschirrspüler und kann ihn auch über die Objekte in IOBroker starten.

                                        Nun möchte ich den Fernstart per Node-Red ab 5.000 Watt PV-Leistung starten.

                                        Den Trigger (aus Modbus.0) habe ich gefunden, nur mit IOBroker-Out kann ich bei den Objekten kein Gerät auswählen.
                                        Unter Homeconnect.0 gibt es nur den Ordner dev.
                                        Welche Node muss ich nutzen, um ein Homeconnect Objekt zu ändern ?

                                        In den Objekten (ausserhalb Node-RED) stehen: Backofen, Herd, Dunstabzug, Geschirrspüler.

                                        Grüße aus Brandenburg.
                                        Michael

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          tombox @Dancekid last edited by

                                          @Dancekid das ist eine Node red spezifische Frage da würde ich dir empfehlen ein eignen thread aufzumachen

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            dtp last edited by dtp

                                            Ist das bei euch eigentlich auch, dass ihr regelmäßig einen neuen Token erzeugen müsst, weil der Adapter seine Verbindung zu den Geräten verloren hat? So ist das Ganze leider nicht wirklich praktikabel. Oder mache ich da was falsch?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            963
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            bsh bsh home connect home connect homeconnect adapter
                                            193
                                            1308
                                            395420
                                            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