KM271 / Logamatic 2017 - neue Sollwerte schreiben

Begonnen von bugster_de, 15 August 2016, 14:06:33

Vorheriges Thema - Nächstes Thema

bugster_de

Hi,

ich habe nun seit ein paar Wochen das KM271 installiert und somit meine Logamatic 2107 in FHEM drin. Momentan ist das alles erst mal nur lesend und FHEM verstellt keine Sollwerte. Erste Optimierungspotentiale habe ich auch schon entdeckt und umgesetzt.

Nun würde ich gerne zwei weitere Potentiale ausschöpfen:
- die Warmwasser Solltemperatur möchte ich einmal pro Woche kurz hoch setzen und damit die fehlende Anti-Legionellen Funktion nachrüsten. Sprich WW-Solltemp. z.B. im Normalbetrieb auf 50 Grad stellen aber z.B. einmal pro Woche für 1h auf 65 Grad, um etwaigen Legionellen den Garaus zu machen
- FHEM weiß bei mir heute schon sehr genau, wann jemand zu Hause ist. Deshalb möchte ich damit gerne die Zirkulationspumpe steuern, da diese den größten Effekt auf die Brennerlaufzeit hat. Eine geringe Zirkulationszeit pro Stunde hat aber Nachteile im Warmwasserkomfort; eine hohe Zirkulationszeit bedeutet, dass  der Brenner öfter anspringt. Wenn also jemand zu Hause ist, dann soll die Zirkulationspumpe oft laufen (Komfort-Vorteil). Wenn niemand zu Hause ist, dann soll sie nicht oft laufen (Verbrauchsvorteil)

Meine Frage daher: hat jemand lngfrist Erfahrungen mit der Logamatic und dauerndem verstellen der Sollwerte? Ich habe Bedenken, dass ich damit das ROM in der Logamatic zerschieße, weil ich einfach zu oft neue Werte schreibe.

Danke !

CQuadrat

#1
Hallo,

ich benutze seit ca. 1,5 Jahren das Modul für Deine beschriebenen Einsatzzwecke:

  • Steuerung der Zirkulationspumpe je nach An-, Abwesenheit und Uhrzeit
  • Steuerung der Warmwassersolltemperatur je nach An-, Abwesenheit und Uhrzeit
  • Anti-Legionellen-Schaltung (wobei ich bezweifle, dass das bei einer normalen Nutzung im Einfamilienhaus notwendig ist)
Zusätzlich regele ich während der Heizperiode noch den Tages- bzw. Nachtbetrieb. Auf Nachtbetrieb schalte ich, wenn der Heizbedarf unter eine gewisse Schwelle sinkt. Der Heizbedarf wird dabei über den Öffnungsgrad aller Thermostate (Homematic RTs) ermittelt. Dies hat sehr viel Energie eingespart, da ich beobachten konnte, dass bei sehr geringem Heizbedarf (Ventile sind nur schwach offen) der Wärmeverlust im ganzen Heizkreislauf überproportional hoch ist.

Dass am ROM der Logamatic ein Schaden entstehen könnte, daran habe ich noch gar nicht gedacht :-\.
Wäre da aber auch an euren Meinungen interessiert.


Viele Grüße

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

rudolfkoenig

Ich verstelle den Warmwasser Sollwert seit (gefuehlt) zwei Jahren Werktags zweimal, bisher ohne merkbaren Probleme.

bugster_de

Hey,

wow, das ging ja schnell. Danke für die Antworten. Dann setze ich mich heute abend gleich mal hin und tackere ein paar at ins FHEM

CQuadrat

Da ihr beiden auch die Logamatic nutzt, habe ich mal an euch eine Frage bezüglich der technischen Umsetzung bei eurer Heizungsanlage:

Bei mir ist der Temperaturfühler für die Warmwasser-Ist-Temperatur unmittelbar am Anschluss des Warmwasservorlaufes angebracht. Dies hat zur Folge, dass die Warmwasser-Ist-Temperatur nur korrekt gemessen werden kann, wann das Warmwasser zirkuliert (oder  im Vorlauf zu einer Abnahmestelle fließt).
Ich konnte schon mehrfach beobachten, wenn die Ladepumpe läuft (Warmwasser wird erwärmt) und die Zirkulationspumpe (zunächst noch) aus ist, dass dann die Aufheizung des Warmwassers stark übersteuert: der Vorlauf außerhalb des Boilers ist halt noch kalt. Springt dann irgendwann die Zirkulationspumpe an (bei mir reicht 2 mal die Stunde), geht die gemessene Warmwasser-Ist-Temperatur sofort weit über die Warmwasser-Soll-Temperatur hinaus.

Als Folge davon kommt für mich eigentlich eine Erzeugung von Warmwasser ohne Zirkulation nicht in Frage. Ich bin leider unterwegs, sonst könnte ich mal einen Graph anhängen, bei dem man das sehr schön sieht.

Wie ist denn das bei euch? Sollte ich meinen Monteur kommen lassen?


Danke und Gruß

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

rudolfkoenig

Ich kann dir nicht sagen, wo in meinem Fall der Temperaturfuehler angeschlossen ist, da ich erstens nicht alles aufschrauben will, und zweitens nicht genau weiss, welcher der vielen Kabel zum richtigen Temperaturfuehler gehoert. Ich weiss aber, dass der Warmwasser aus der Leitung ungefaehr so warm ist, wie in FHEM als WW-Ist angezeigt, WW-Ist ist nie mehr als 1Grad ueber WW-Soll, und ich die Zirkulationspumpe seit Jahren nicht mehr eingeschaltet habe.

bugster_de

bei mir ist der Sensor aussen auf den WW Speicher geschraubt und innerhalb der Isolierung. das ist so eigentlich Standard. So wie er bei dir angeschraubt ist führt das natürlich zu entsprechenden Regler Abqeichungen. Schraub ihn doch einfach dort ab und schraube ihn an den WW Speicher.

dewenni

Hallo,

ich würde mich hier gerne mal mit einer anderen Frage zum Thema Sollwerte schreiben dran hängen.
Vorweg - ich nutze kein FHEM, sondern habe auf Basis des FHEM Codes das ganze auf einem ESP32 laufen.

In dem FHEM Code konnte man sehr gut rauslesen wie man die einzelnen Werte auslesen kann.
https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/00_KM271.pm

Das klappt sowohl für die Messwerte/Statuswerte als auch für die Config Werte.
Beim Schreiben von Werten und Befehlen ist mir die Vorgehensweise noch nicht ganz so klar.

Beispiel:
"hk1_nachtsoll"   => {SET => "07006565%02x656565:0702%02x", # 0.5 celsius

0x0700h ist die Adresse
dann kommen 2 "dummy" Bytes mit 0x65
dann kommt der Sollwert
dann wieder 3x 0x65
und dann der Abschluss mit DLE, STX, BCC

Was hat es jetzt noch mit der Angabe hinter dem : auf sich? (0702%02x)
Muss man den Sollwert zusätzlich auch auf 0x0702 schreiben?

Diese 0x0702 findet man dann auch in den Config Werten als "fake reading"

  "CFG_HK1_Nachttemperatur"         => "0000:2,d:2",
  "cFG_HK1_Nachttemperatur"         => "0702:0,d:2",  # fake reading for internal notify

Wäre schön wenn mich hier jemand etwas aufklären könnte.

Danke und Grüße
Sven


rudolfkoenig

Vorgeschichte: Ich habe das Modul vor 12 Jahren gebaut, und vor ca 9 Jahren weitergegeben.
Es wurde stark erweitert und ueberarbeitet.
Zur Zeit scheint es verweist zu sein, die letzte Aenderung ist 5 Jahre her, und den Maintainer finde ich nicht.
Ich hoffe dass ich bei meiner Antwort nicht danebenrate.

Der SET String besteht aus zwei Teilen, durch Doppelpunkt getrennt.
Der Parameter wird in beide Teile gleich eingetragen.
Der erste Teil wird "KM271_encoded", mit 1003 und dem CRC ergaenzt, und gesendet (Zeile 729 und Folgende)
Der zweite Teil wird nach einem ACK(?) geparst, und der dekodierte Text als Reading/Event veroeffentlicht (Zeile 794 und Folgende).

Anders formuliert: der Befehl samt Parameter wird erst dann in FHEM "gespeichert", wenn die andere Seite ihn bestaetigt hat.
Dafuer braucht man den Teil hinter dem Doppelpunkt.

dewenni

@ruldolfkoenig, danke für deine Antwort!
Ich habe es nun grundsächlich am laufen und kann auch Werte erfolgreich schreiben.

Ich vermisse aber noch die Möglichkeit die Absenkart für den HK1 zu ändern (Reduziert, Außenhalt, Abschalt)
Das scheint in dem FHEM Modul auch nicht umgesetzt zu sein und ich finde es auch nicht in den Dokumenten die ich habe.

Aus welcher Quelle stammten denn die in FHEM umgesetzten Sollwerte?
Ist da zufällig auch noch vermerkt wie man die Absenkart setzten kann?

Danke und Grüße
Sven

rudolfkoenig

ZitatDas scheint in dem FHEM Modul auch nicht umgesetzt zu sein und ich finde es auch nicht in den Dokumenten die ich habe.
Du hast Dokumente?
Bin jetzt ganz neidisch.

ZitatAus welcher Quelle stammten denn die in FHEM umgesetzten Sollwerte?
Reverse-Engeneering vom feinsten, siehe Links im Modulkopf. Ich sass auch tagelang im Keller, habe was verstellt und dann Werte geraten. Leider funktionieren die Doku-Links nicht mehr (ist ja auch ein "professioneller" Hersteller), aber die waren auch nicht fuer das KM271, sondern 4211(?), und dienten nur zur Inspiration, mehr schlecht als recht.

Mir fehlt nur die Zeitverstellung, jetzt muss ich extra deswegen zweimal im Jahr das Ding anfassen :)

dewenni

#11
Die Zeiteinstellung habe ich auch noch nicht umgesetzt, aber das sollte auch möglich sein.
Schau mal in das angefügte Dokument ab Seite 37.

<0x01> <0x00> <6 Byte>

1.Byte = Sekunden Stellbereich: 0 – 59 Auflösung: 1

2.Byte = Minuten Stellbereich: 0 – 59 Auflösung: 1

3.Byte = Stunden Stellbereich: 1 - 255
1. Bit = Stunden LSB
2. Bit = Stunden                  (Berechnung erfolgt: z.B. 10101 => 1x1 + 0x2 + 1x4 + 0x8 + 1x16 = 21 Uhr)
3. Bit = Stunden
4. Bit = Stunden
5. Bit = Stunden MSB
6. Bit = intern
7. Bit = Sommerzeit aktuelle Uhrzeit ist Sommerzeit
8. Bit = Funkuhr aktuelle Uhrzeit ist Funkuhrzeit

4.Byte = Tag Stellbereich: 1 - 31 Auflösung: 1

5.Byte = Monat
1. Bit = Monat LSB
2. Bit = Monat                         (Berechnung erfolgt: Juli = 7 => 1x1 + 1x2 + 1x4 + 0x8)
3. Bit = Monat
4. Bit = Monat MSB
5. Bit = Wochentag LSB            (Montag = 1bis Sonntag = 7)
6. Bit = Wochentag
7. Bit = Wochentag MSB
8. Bit = Funkuhrempfang zugelassen

6.Byte = Jahr Stellbereich: 89 – 188 Auflösung: 1

Hinweis:
Jahreszahl kleiner 100 bedeutet 19xx
Jahreszahl größer 100 bedeutet 20xx

siehe auch:
https://homematic-forum.de/forum/viewtopic.php?f=18&t=26955&start=190#p678725

rudolfkoenig

Vielen Dank fuer die Beschreibung!
Habs eingebaut und kurz getestet: funktioniert.

rudolfkoenig

Nachtrag:

Die Wochentag-Angabe ist bei meinem KM271 anders: 0 ist Montag und 6 ist Sonntag.
Habs im Modul korrigiert und eingecheckt.

Die anderen Werte (Jahr/Monat) kann ich nicht kontrollieren, ist aber vmtl. auch irrelevant.

dewenni

Hallo,

ich habe meine Lösung basierend auf einem ESP32 mal bei Github hochgeladen.
Falls hier jemand drüber stolpert und interessiert ist.
https://github.com/dewenni/ESP_Buderus_KM271

Grüße
Sven

MarkusN

Hallo Sven,

ich nutzte deine Software auf einem Board von Daniel, und bisher funktioniert es fantastisch! Die Daten kommen per MQTT in FHEM an, und das Steuern funktioniert auch. Vielen Dank für deine Arbeit!

DasQ

#16
Hat sich hier schon jemand Gedanken gemacht den Raum Thermostat BFU zu simulieren?

Dann wäre die Sache komplett rund.

Bin echt schwer am überlegen mir so ein Teil gebraucht zu kaufen, um zu sehen was der mit der 2107 redet und wie man dieses Signal simulieren/faken kann.

Wenn man sich die Bilder auf e-Bay Kleinanzeigen anschaut, ist dort ein Dreh dipswitch verbaut der theoretisch 10 heizkreise(obwohl meine g115 nur maximal 2 vorsieht) kann.

Ich Bild mir ein, das ich durch den aktiven Eingriff (ich hab das km271 Modul an nem extra Pi hängen) an der Heizung den Verbrauch doch sehr erheblich gesenkt hab.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

sengelking

Hallo,
ich überlge mir derzeit auch das KM271 board von Daniel zuzulegen.
Hat dieses den gleichen Funktionsumfang wie das original?
Und wie binde ich es in FHEM ein?
FHEM aud RaspberryPi

DasQ

#18
uralter thread ... uralte  hardware.
*edit*
Und ich sollte vielleicht das nächste mal den gesamten Thread lesen, bevor ich antworte. Das was ich hier über die Uhrzeit schrieb, steht auf der Seite zuvor *peinlich ende* ::)


kurzes update und gleichzeitig frage.
und zwar hab ich inzwischen rausgefunden das befehle/kommandos der BFU über eine zweite serielle schnittstelle gesendet werden kann. (dazu hat im homaticforum jemand die uhrzeit, die aus der bfu/f per funk gestellt werden kann, von konsole/pythonscript geschafft zu ändern)(siehe einige postings zuvor von @dewenni)

so nun zu meiner frage, laut @78themole ist das register 0x04 noch unbekannt. die uhrzeit wurde nach 0x01 geschrieben (wenn ich mich recht erinner). wir popeln jetzt mit einem serialtool via netzwerk über ein raspberrypi rum und der heizung die "Raumisttemperatur" zu setzten. denn dadurch wird die heizkurve dynamisch optimal verändert. das wäre für mich das sahnehäubchen des uraltheizungstuning.
kann mir da jemand auf die sprünge helfen?

*****************************edit****************************

Also wir haben die BFU jetzt angezapft.

Allerdings werden wir noch nicht so recht schlau draus.
Und zwar unterhält sich die BFU anders wie erwartet mit der Heizung. Die BFU (Fernbedienung mit Thermometer) ist per zweidrahtleitung angeschlossen.

10v u. 16v liegen an. Auf 16v redet die Heizung mit der BFU mit Flanken ins positive. Die BFU antwortet auf 10v mit sehr kleinen Signalen (spanungshub) nach unten. (Hier ist das näher erklärt).

Die Telegramme der BFU haben wir soweit aufgeschlüsselt. Nur klemmts jetzt beim senden. Wie bastelt man so ein Signal?

Du darfst diesen Dateianhang nicht ansehen.

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

DasQ

#19
@Rudi also ich hatte gestern den effekt das ich "datetime" nicht gefunden hatte.

jetzt weis ich warum. zum einen hatte ich in einer uralten km721.pm github version gesucht (14 jahre alt) ... da war es natürlich nicht zu finden. ::) 

Und zum andern ist es so, das in Mobil geräten (getestet Iphone, Ipad und Android handy browser firefox und chrome) die Dorpdownmenu vorauswahl auf "frost_ab" sitzt.
Datetime sitzt eine position drüber und ist beim ausklappen des dropdown nicht zu sehen. man muß erst nach obenscrollen. (wenig intuitiv)


dann zum aktuellen stand. wir haben jetzt einmal die gesamte heizung aus einander gerupft und durchgepiepst. die schnittstelle BF (fernbedienung BFU) ist bei mir zweimal drin, weil ich noch das mischermodul verbaut hab.
(info am rande, an der BFU schnittstelle passen laut buderus 500 stück hin)
jetzt dachte ich zuerst, wäre ja cool wenn das Mischermodul das BF signal übersetzt. (is aber nicht so). nun gut, die eigentlich 2107 hauptplatine steckt auf einer "bus" platine auf der wiederum 3 Modulkarten drauf gesteckt werden können.

bus suggeriert das die signale an allen sockel anliegen, aber das ist nicht der fall. da bekommt jede karte was anderes.

lange rede wenig sinn, ich beweg mich hier ein wenig im kreis. zunächst wollte ich ja über das km271 modul die telegramme senden. dann über die bf schnittstelle und jetzt bin ich wieder am anfang.
nun könnte ich natürlich direkt hinter der BF schittstelle, nach dem "übersetzer" (begriff fällt mir gerade nicht ein, irgendwas mit koparator oder so)
die telegramme wieder plain abgreife um die "isttemperatur" register rauszufinden.

fals jemand ein andern vorschlag hat, gern her damit


danke fürs lesen
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

mbrawa

Hallo DasQ,

ich verstehe was Du machen willst, nur erschließt sich mir der Sinn nicht.
Die BFU kann nur Temperatur, Tag, Nacht soweit ich weiß.

Habe bei mir ein KM271 verbaut mit serieller Verbindung zu Raspi 2 mit fhem.
Alle Werte und Set Funktionen werden per mqtt an Home Assistent weitergeleitet.
In Home Assistent kann ich die Heizung komfortabel von Überall steuern oder in Automatisierungen einbinden.
Das hatte ich schon bevor es das neue Board gab.

Das neue Board von Daniel kann direkt, ohne Umweg, in Home Assistent genutzt werden.

Wofür braucht Du dann noch die Fernbedienung(BFU) mit Kabel?

Gruß Michael


DasQ

#21
Hatte ich genauso wie du gemacht, nur eben Fhem only ohne Hass.

Zitat von: mbrawa am 25 Januar 2024, 20:36:23Die BFU kann nur Temperatur, Tag, Nacht soweit ich weiß.
Jein, die BFU hat ein Thermometer und erfasst auch die Raum Ist Temperatur. Und nicht nur Raum Soll.

Allerdings überlagert die BFU die Signale von Fhem.
Die BFU macht im Prinzip nichts anderes als Fhem, aber dynamisch und intern, das seh ich als echten Vorteil. Es werden auf ein Rutsch sehr viele Parameter in der Hzg gesetzt. Die Heizung ändert mit BFU ihr gesamtes Verhalten.

Sprich, die istwerte die die BFU in die Heizung schreibt, verändert die kennlinien ständig und dynamisch. Ich muss nicht ständig von fhem in Eeprom schreiben.das macht die Heizung von ganz allein.

Hier (Screenshots) mal exemplarisch wie das dann aussieht wenn die BFU unterstützt. (Nenn es feintuning)(da wo im 2. Screenshot 55 steht, kommt nicht von fhem, hab ich falsch bezeichnet. Das ist der hardgecodete Wert in der 2107)

Effekt ist aber deutlich spürbar.


Dann noch kurz zu den Kabel, das sind in der Steuerung ungefähr 5-10cm neben dem km271. Also absolut nicht der Rede wert.
Und da ich die 2. heizkreiskarte drin hab. Kann ich auch 2 Zonen emulieren.


Ziel ist das Modul von the78mole um die 4 Drähte zu erweitern und so echte ist werte zu schreiben.
Die restlichen Funktionen der BFU intressieren mich nicht.

P.s. Und ach ja, vielleicht noch der aktuelle Stand. Junior hat ein C# Programm geschrieben in dem wir nun die Signale als Stapelverarbeitung senden können. Allerdings zickt noch die Steuerung. Da ich aber als Rentner(51) alle Zeit der Welt hab, schleift die Sache etwas. Wir machen nur gelegentlich da rum, da ich noch etliche andere Projekte in der Röhre haben.
Ich gehe davon aus, das wir die nächsten Wochen mit echten Ergebnissen auffahren können. Es bleib spannend.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org