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

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Curiades
    Azubi
    • vor 4 Tagen
    • 7

    #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; vor 3 Tagen.
  • Curiades
    Azubi
    • vor 4 Tagen
    • 7

    #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

    Lädt...