Einbindung Bosch Wärmepumpe Compress 5800i in Loxone mittels Gateway von BBQkees

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Curiades
    Azubi
    • 14.01.2026
    • 8

    #1

    Einbindung Bosch Wärmepumpe Compress 5800i in Loxone mittels Gateway von BBQkees

    Trotz aller gutgemeinten Artikel des Wärmepumpenherstellers, wie einfach es sei diese in ein Smarthome einzubinden, bin ich auf zumindest mit der Loxone Smarthome Lösung auf viele Widerstände gestossen. Das vielversprechende EEBUS hat nie eine vernünftige Kommunikation zustande gebracht. Somit habe ich mir das Gateway E32 V2 KIT von BBQKees zugelegt. Aber auch hier sind viele der Anleitungen immer nur bruchstückhaft, und als Nicht-Informatiker kam ich immer wieder mit der Syntax ins hardern. Jedes " < : spielt eine gewisse Rolle, aber ich weiss nicht unbeding welche.
    Hier also eine Praxisanleitung für Amateure. Sicherlich werden Experten auf bessere, smartere bzw. offensichtlichere Lösungen hinweisen, aber bis dato waren mir diese nicht zugänglich.
    Ich habe 2 halbe Tage gebraucht um endlich Daten aus der Wärmepumpe zu lesen und nun auch zu schreiben. Die Syntax ergab sich aus vielen Versuchen, und ich hoffe diese ist für den einen oder anderen sinnvoll als Inspiration oder Lösung.

    Hardwareeinbindung Gateway/Bosch WP war ohne Auffälligkeiten. Die Anleitungen hierzu vom Hersteller sind gut anwendbar. Ich konnte das Verbindungskabel zum Gateway in den Serviceport an der Seite stecken. Wifi Erkennung hat funktioniert, Zugang zum Gateway Portal ebenso, und ich war positiv überrascht, dass alle weiteren Geräte wie Mischer, Thermostate usw. automatisch über das EMS protokoll erkannt wurden. (siehe Screenshot)


    Lesen von Daten
    Grundlegend habe ich mich für die RestApi Kommunikation entschieden, da ich keine Umwege über weitere Server/Broker machen wollte.
    zuerst in Loxone einen Virtuellen HTTP Eingang einfügen. Dort muss man lediglich die URL einfügen. Ich habe diese mit dem User und Passwort eingegeben, die für die Anmeldung auf dem Gateway benötigt wird, und natürlich auf die IP Adresse im Heimnetz.

    http://userasswort@192.168.55.44/api/boiler/info (da wo der Smiley ist noch Doppelpunkt und p einsetzen)
    Anmerkung: boiler bezieht sich auf die Wärmepumpe, der Regler heisst thermostat. Ist einfach so, ist aber auf dem Screenshot des Gateways ersichtlich.

    Als 2. Schritt nun einen Virtuellen HTTP Eingang Befehl erstellen. Mein Beispiel hier ist die Abfrage der WP-Modulation. Interessierte können in Browser einfach
    http://userasswort@192.168.55.44/api/boiler/info oder http://userasswort@192.168.55.44/api/thermostat/info eingeben, dann sollten alle Werte ausgelesen werden. Im Browser kann man diese dann im JSON Format oder als Rohdaten ansehen. Wenn man nun auf den kleinen Pfeil des Feldes (Eigenschaften von Virtuellen HTTP Eingang Befehl) drückt werden ebenso die Rohdaten angezeigt. Hier muss man nun den richtigen Wert suchen. Im Falle der Modulation heisst es burner current power. Jetzt muss man den gefundenen String bis zu dem Zeichen vor dem Zahlenwert in die Befehlserkennung reinkopieren, dazu noch \v, ergo in meinem Fall "burner current power (curburnpow)":\v . Wenn man auf Daten abfragen drückt, sollte der richtige Wert in Prozent ausgespuckt werden, das aber nur zur Kontrolle. Danach auf ANWENDEN drücken, und schon ist die Befehlskette reinkopiert. Das war es eigentlich schon.
    Das Auslesen von Text bzw. Strings ist etwa umständlicher, da der virtuelle HTTP Eingang kein Text verarbeiten kann. In den meisten Fällen steht aber "on", " Off", "Comfort" usw. Hier kann man mit einer Befehlskette den ASCII Wert eines markanten Buchstaben herauslesen. ZB wollte ich wissen ob Warmwasser produziert wird oder nicht . Die Rohdaten hierzu zeigen "tapwater active (tapwateractive)":"off" . Da on und off erst ab dem 2. Buchstaben sich unterscheiden, einfach die Befehlskette "tapwater active (tapwateractive)":"o\v\1 eingeben. Dann wird der Ascii Wert von dem f , ergo 102 ausgegeben. Damit lässt sich dann eine entsprechende Statusanzeige (virtueller Status) generieren.

    Für den 2. Teil werde ich einen separaten Beitrag schreiben, damit es nicht so lang wird. Ich hoffe das klappt bei Euch auch so.
    Zuletzt geändert von Curiades; 15.01.2026, 16:09.
  • Curiades
    Azubi
    • 14.01.2026
    • 8

    #2
    Teil 2
    Schreiben von Daten

    Warnung: Jeder muss die Veratwortung für sich selbst übenehmen, ob er Daten im WP-Regler usw. überschreiben will. Grundlegend kann man bei Eingriff in Kompressordaten auch (teuren) Schaden verursachen. Also Vorsicht ist wichtig, und immer in der Bosch App gegenprüfen was die WP so macht.
    Die Anleitung mit den von mir gefundenen Parametern/Befehlsketten ist womöglich nur für meine Anlage gültig, und jeder muss selbst die Befehlsketten suchen, die er braucht.
    Beim Schreiben von Daten hat mir keine Anleitung helfen können. Schreiben soll mit dem Virtuellen Ausgang bewältigt werden. Hier muss lediglich die IP Adresse des Gateways eingeben werden. Ich habe dies mit dem Username und Passwort gemacht, also wie oben , aber /api/info weglassen.
    Ab hier gibt es jetzt Abweichungen von anderen Veröffentlichungen. Bei mir hat der "POST" Befehl einfach nicht funktioniert. Ich bin zu dem "GET" Befehl zurückgekehrt und habe in der Gateway Oberfläche unter EINSTELLUNGEN/ANWENDUNGEN einen Haken an Zugriffstoken-Autorisierung bei API-Aufrufen umgehen​ gesetzt. Ich habe nicht die Absicht vom Internet auf die Geräte zuzugreifen, alles bleibt schön im Heimnetzwerk.

    Ich betrachte hier das Beispiel die Komforttemperatureinstellung des Heizkreises 2 zu ändern.
    Es lohnt sich im Browser den Befehl IPGateway/api/Thermostat/commands einzugeben (IPGateway mit der IP Nummer ersetzen).

    Das Ergebnis im JSON Format ist
    info "list all values (verbose)"
    values "list all values"
    commands "list all commands"
    entities "list all entities"
    [hc<n>.]boost "boost mode"
    [hc<n>.]boosttime "boost time"
    [hc<n>.]comforttemp "comfort temperature"
    [hc<n>.]control "control device"
    [hc<n>.]controlmode "control mode"
    [hc<n>.]cooloffdelay "cooling off delay"
    [hc<n>.]coolondelay "cooling on delay"
    [hc<n>.]

    Da es 2 Heizkreise gibt, muss also noch die Zahl dessen eingegeben werden, aber die Syntax bzw. Schreibweise war mir nicht bekannt.

    Nun einen Virtuellen Ausgang Befehl erstellen.
    In den Eigenschaften habe ich folgendes eingetragen:
    Einheit: <v> (vermutlich kann man hier auch eine Kommastelle angeben)
    Befehl bei EIN: /api?device=thermostat&cmd=hc2.comforttemp&data=<v>
    HTTP header: hier habe ich noch die Altlast des Post Befehls mit dem Key aus dem Gatway, kann ich vermutlich löschen
    HTTP Body bei EIN: /api?device=thermostat&cmd=hc2.comforttemp&data=<v>
    ​HTTP Methode bei EIN: GET
    Erste Wiederholung; 0 (wenn man eine Zahl einsetzt dann wird mehrfach geschrieben, wollte ich nicht)
    ​Als Digitaleingang verwenden: KEIN Häkchen

    Im Gateway kann man das Systemprotokoll anschauen (Info als Filter reicht). Da kann man erkennen dass Werte geändert wurden. In dem Beispiel (siehe Screenshot) habe ich mit der Loxone App die Komforttemperaturvorgabe zuerst auf 22C, dann auf 23C geändert. Wenn man schnell eine Raumsolltemperatur ändern möchte sollte man besser den Parameter "selected room temperature" wählen. (wie immer auf eigene Gefahr)

    Ich hoffe dieser Ansatz funktioniert bei Euch auch.
    Grüsse und viel Spass beim vorsichtigen Ausprobieren.

    Kommentar

    • Slawik
      Azubi
      • 02.04.2025
      • 6

      #3
      Hallo Curiades,
      Dein Post hat mir echt weitergeholfen! Ich habe auch erst versucht es über die interne EEBUS- Schnittstelle zu machen, aber selbst nach wochenlanger Recherche und Testen am Ende doch erfolglos. Also habe ich mir auch das Gateway E32 V2 KIT von BBQKees besorgt, und nach Minuten hatte ich schon die aktuellen Werte in Loxone.
      Hast Du eine Lösung um die Digitalen Befehle "on" und "off" zu setzen?
      Wenn ich mein Projekt abgeschlossen habe werde ich meine Einstellungen usw. hier Posten. Evtl. kann ja dann auch noch jemanden geholfen werden.
      Grüße
      Zuletzt geändert von Slawik; vor einer Woche.

      Kommentar

      • Slawik
        Azubi
        • 02.04.2025
        • 6

        #4
        Schreiben von "on" / "off"

        das Schreiben von "on" / "off" ist sehr einfach umzusetzen. Es wird jeweils ein Befehl bei EIN und AUS gesendet, und zwar mit 1 oder halt 0:

        /api?device=Boiler&cmd=dhw.disinfecting&data=1
        /api?device=Boiler&cmd=dhw.disinfecting&data=0

        Dies wird entsprechend mit "on" oder "off" interpretiert.
        In diesem Fall schalte ich die Desinfektion Ein und Aus.

        Im virtuellen Ausgang wird lediglich mit http://IP-Adresse auf den Server Referenziert.

        Im Webinterface des ems-esp unter "Einstellungen-Anwendungen" "Zugriffstoken-Autorisierung bei API-Aufrufen umgehen" auswählen, ansonsten muss User und Passwort mit übergeben werden.

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot 2026-04-11 164918.png Ansichten: 0 Größe: 33,0 KB ID: 482414 Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot 2026-04-11 165441.png Ansichten: 0 Größe: 12,6 KB ID: 482415

        Kommentar

        • Curiades
          Azubi
          • 14.01.2026
          • 8

          #5
          Hallo Slawik,
          erstmal Danke für Deine Rückmeldung.
          In der Umsetzung von on/off Befehlen warst Du jetzt aber schneller.
          Ich habe auch probiert, und mich für den unkritischen "SilentMode" des Boiler (WP) entschieden, einfach um bei ungeschickten Befehlen keinen kritischen Fehler zu erzeugen. Der SilentModus kann übrigens nicht über die Bosch App verändert werden, insofern macht eine Loxone Steuerung schon Sinn.
          Interessanterweise ist meine Syntax irgendwie etwas anders:
          /api?device=boiler&cmd=silentmode&data=on
          bzw
          /api?device=boiler&cmd=silentmode&data=off
          Anmerkung: Der Silentmode kennt übrigens 3 Zustände: on / off / auto (den letzten habe ich nicht ausprobiert).
          Bei der Umschaltung kann es bis zu 1 Minute dauern bis der neue Status bestätigt wird.

          Kennst du zufällig die Befehlskette um die Kreiselpumpen des Keizkreis 1 bzw 2 einzuschalten ? Für HK2 habe cih ein Mischermodul, und da gibt es unter Gerät das "MM100/MM100 (Mixer Module)" mit einem möglichen Befehl "hc2 activated", bin mir aber nicht sicher ob das wirklich nur Kreiselpumpe betrifft.
          Für Heizkreis ist es vermutlich unter BOILER "heating activated", aber auch hier ist das nicht ganz klar.
          viel Spass beim "Regeln" bzw. "Steuern".

          Kommentar


          • Slawik
            Slawik kommentierte
            Kommentar bearbeiten
            Deine Version mit =on bzw. =off habe ich getestet, und funktioniert auch. Ich hatte on und off bei meinen ersten Tests in Anführungszeichen gesetzt, und da hat es nicht funktioniert. Ist aber schon interessant das beides als "Wert" interpretiert wird und nicht als Zahl und String..
            Denn Mischer habe ich bei mir nicht, womit ich auch nicht sagen kann wie er funktioniert. Aber was mir aufgefallen ist, dass sich einige Befehle nicht setzen lassen. Z.B. "dhw one time charging", ich kann zwar den Sollwert ändern aber nicht starten. Wahrscheinlich gibt es steuerungsintern Verriegelungen, bzw. bestimmte Voraussetzungen um den Befehl auszuführen. Vielleicht ist das beim Mixer auch der Fall. Bei mir gibt es nur das "3-way valve" was ich aber auch nicht einschalten/umschalten kann. Wenn ich es auf "on" setze bleibt es immer auf "off".
            Gerade habe ich noch den Warmwassermodus auf "eco" und wieder zurück auf "auto" geschaltet. Funktioniert einwandfrei:
            /api?device=Thermostat&cmd=dhw.mode&data=eco.
            Ergo, muss bei den Werten, die sich nicht umschalten lassen dies irgendwie verhindert werden. Vielleicht müssen, wie bereits gesagt, irgendwelche Vorrausetzungen gegeben sein, aber da die dies ja super dokumentiert ist wird es wohl bedeuten eine ganze Zeit "rumzuspielen".
        Lädt...