THZ Tecalor (LWZ Stiebel Eltron) Wärmepumpe -Optimierung und Erfahrungsaustausch

Begonnen von willybauss, 07 Februar 2015, 11:30:16

Vorheriges Thema - Nächstes Thema

BigNose82

Sodele, habs mal probiert...
@Trumpeter
Kommando zurück :) Die NHZ schaltet im Heizbetrieb doch ziemlich zügig nach Wegnahme der Begrenzungen. Für die WW-Ladung nehme ich die Zeit nochmal neu auf...irgendwann ;)

Bild01 zeigt den allgemeinen Verlauf. Ich habe die Beschränkungen für die NHZ "lange" vorher entfernt und Stufe 1 freigegeben (Bild02).
Um 5:47 Uhr dann den FP hochgezogen. Innerhalb einiger Sekunden kam dann die Meldung zur Nacherwärmung und kurz darauf, dass Stufe 1 aktiv ist (Bild 03).
Um 5:55 Uhr habe ich den FP wieder auf normal gesetzt und - oh Schreck - der alte Tauchsieder bleibt an... Also, um 5:57 Uhr die Freigabe der NHZ Stufen zurück auf 0 und aus.

Also @Börni
Wenn Überschuss da ist, entscheiden lassen wie viel und Max. Stufen Heizung entsprechend setzen. Gleichzeitig den FP "unendlich" hoch ziehen. Wenn beendet werden soll weil RTmax erreicht oder Wolke, dann Max. Stufen Heizung auf 0 und FP wieder zurück.

Aber mal ehrlich... Auch wenn der Fensternulltarif nicht alle deine Räume abdeckt, so wird es mit diesem Vorgehen in den anderen Räumen sehr schnell sehr warm. Viel wirst du dir damit nicht einfangen. Auch beim WW ist bei 75 °C VL Schluss. Die paar kWh, die du in die Überheizung stecken kannst, produzieren auf der anderen Seite aber mehr Kalkausfall im Speicher und gesteigerte thermische und damit mechanische Belastung.

Außerdem muss die Steuerung in Echtzeit funktionieren. Kommt eine Wolke, zieht die NHZ fröhlich ihre bis zu ~9 kW aus dem Netz, was sich direkt negativ auf die Bilanz auswirkt.
Gut, die tollen "Smartverknüpfungen", die es zu kaufen gibt, machen nichts anderes, als die Sollwerte anzuheben. Eigentlich ein Witz, dass sowas Smart genannt werden darf :)
LWZ 304 Trend - Hausautomatisierung über z-wave mit dem Fibaro HC2

TheTrumpeter

Zitat von: BigNose82 am 13 November 2019, 06:44:21
Bild01 zeigt den allgemeinen Verlauf. Ich habe die Beschränkungen für die NHZ "lange" vorher entfernt und Stufe 1 freigegeben (Bild02).
Um 5:47 Uhr dann den FP hochgezogen. Innerhalb einiger Sekunden kam dann die Meldung zur Nacherwärmung und kurz darauf, dass Stufe 1 aktiv ist (Bild 03).
Du hast die Variante mit dem FP gewählt, letztendlich müsste es egal sein wie der erhöhte Heizbedarf generiert wird. Damit man selektiv bestimmte Stufen freigeben kann, muss man wohl bisschen experimentieren.

Zitat von: BigNose82 am 13 November 2019, 06:44:21
Um 5:55 Uhr habe ich den FP wieder auf normal gesetzt und - oh Schreck - der alte Tauchsieder bleibt an... Also, um 5:57 Uhr die Freigabe der NHZ Stufen zurück auf 0 und aus.
Hm... wegschalten müsste wie das Einschalten über das Integral bzw. die Hysteresen erfolgen. Um sicherzugehen, dass wirklich ausgeschaltet wird, könnte aber der Bivalenzpunkt runtergeregelt werden. Das müsste denselben Effekt wie das generelle Verbieten des Heizstabes haben & sofort durchgreifen.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

BigNose82

Jo, ist egal. Man kann z.B. mit einem AT Temperaturoffset einen extremen Kälteeinbruch simulieren, die Steigung verändern, die RT-Soll,... Ich nehme am liebsten den FP, weil der mit der Heizkurve nichts macht, außer sie in Y-Richtung zu verschieben.
Über die Hysteresen oder den Bivalenzpunkt würde ich so eine Beeinflussung wie hier gewünscht ist, nicht machen. Da muss dann viel mehr Hirnschmalz rein, als es lohnenswert ist. Parameter müssen so oder so verändert werden, daher würde ich die Logik entscheiden lassen, welche Stufe zugeschaltet werden darf und diese dann explizit setzen. Dann rauf mit dem Heizbedarf und los gehts.
Wenn keine Zuschaltung gewünscht ist, wird der Stufenparameter wieder auf 0 gesetzt und man braucht sich keine Gedanken darum zu machen, ob man nicht doch irgendwas übersehen hat und die NHZ dann regulär eingesetzt wird.
LWZ 304 Trend - Hausautomatisierung über z-wave mit dem Fibaro HC2

börni

Hallo BigNose82,

Wow - vielen Dank für Deinen Test und Deine Bemühungen!
Meine lwz303i mit SW 2.06 kann ich nicht über 55° WW überzeugen - gibt es da noch einen Trick den ich nicht kenne um das WW größer 55° zu heizen?
Also natürlich nur wenn entsprechend Energie nichts kostet - mein Standardwert habe ich sonst bei WW um 45°  -  75° wäre mir in der Tat auch zu hoch - aber z.B. 65° wären manchmal wünschenswert gewesen.
Zitat
zieht die NHZ fröhlich ihre bis zu ~9 kW aus dem Netz
den Punkt habe ich noch nicht verstanden - wenn ich die Stufe auf 1 begrenze dürfte doch nicht mehr als ~3,5kw ziehen (1kw der Verdichter +2,6kw 1. Stufe HS)

Wird bei Zuhilfenahme der 1. Stufe der Verdichter abgeschaltet - so dass nur noch über den HS erwärmt wird oder läuft der weiter und der HS wird nur zugeschaltet?
Wäre natürlich die bevorzugte Lösung :)

Noch mal kurz zum Fensternulltarif - ich weiß nicht wie es bei Dir/euch ist, aber bei uns werden durch die kürzeren Tage (z.Zt.) nicht mehr genug Nulltarifenergie in die Räume gespeist. Daher auch die Idee in das Haus mehr Energie einzuspeichern wo es günstig vom Dach zur Verfügung steht.
Es gibt Situationen (natürlich auch wetterbedingt) da scheint die Sonne evtl. nur zwei oder drei Stunden am Tag - die Zeit reicht mir dann nicht um WW und Haus in dem Zeitfenster entsprechend zu erwärmen.
Gerade jetzt wo der Heizbedarf steigt versuche ich die weniger werdende günstige Energie vom Dach mehr zu nutzen.

Yeap mehr machen die tollen Smartverknüpfungen offensichtlich auch nicht :)

Also um eine kurze Übersicht zu haben:
- HS auf Stufe 1 begrenzen
- Flippern der Anlage vermeiden (sprich ich würde ein ca. 10min Zeitfenster einbauen)
- FP hochziehen
- Integral auf unendlich setzen

Als Schaltschwelle für die Aktion hier würde ich wahrscheinlich auch als Aktivierungswert von >4500kw nehmen. Fällt der Wert länger als 10min unter diesen werden die Werte wieder zurück gesetzt. So schätze ich, würde ein Flippern gut unterbunden werden und es würde auch nicht unnötig Energie aus dem Netz bezogen werden.

Da ich alle benötigten Infos im MS der Loxone habe werde ich das dort entsprechend mal versuchen umzusetzen.

Vielen Dank & viele Grüße
Loxberry auf RPi3 mit FHEM / LWZ303i V.2.06 / Loxone / eisfair Server (LMS/NAS/cloud/et.) / Fronius WR mit 9,3 kwp

BigNose82

Zitat von: börni am 13 November 2019, 09:41:48den Punkt habe ich noch nicht verstanden - wenn ich die Stufe auf 1 begrenze dürfte doch nicht mehr als ~3,5kw ziehen (1kw der Verdichter +2,6kw 1. Stufe HS)
Ich kenne deine PV nicht, daher wäre es durchaus möglich, dass du Überschüsse von >10 kW hast und entsprechend mit allen drei Stufen spielen kannst.
LWZ 304 Trend - Hausautomatisierung über z-wave mit dem Fibaro HC2

The Spirit

Zitat von: börni am 13 November 2019, 09:41:48
Hallo BigNose82,

Wow - vielen Dank für Deinen Test und Deine Bemühungen!
Meine lwz303i mit SW 2.06 kann ich nicht über 55° WW überzeugen - gibt es da noch einen Trick den ich nicht kenne um das WW größer 55° zu heizen?
Also natürlich nur wenn entsprechend Energie nichts kostet - mein Standardwert habe ich sonst bei WW um 45°  -  75° wäre mir in der Tat auch zu hoch - aber z.B. 65° wären manchmal wünschenswert gewesen.den Punkt habe ich noch nicht verstanden - wenn ich die Stufe auf 1 begrenze dürfte doch nicht mehr als ~3,5kw ziehen (1kw der Verdichter +2,6kw 1. Stufe HS)

Wird bei Zuhilfenahme der 1. Stufe der Verdichter abgeschaltet - so dass nur noch über den HS erwärmt wird oder läuft der weiter und der HS wird nur zugeschaltet?
Wäre natürlich die bevorzugte Lösung :)

Noch mal kurz zum Fensternulltarif - ich weiß nicht wie es bei Dir/euch ist, aber bei uns werden durch die kürzeren Tage (z.Zt.) nicht mehr genug Nulltarifenergie in die Räume gespeist. Daher auch die Idee in das Haus mehr Energie einzuspeichern wo es günstig vom Dach zur Verfügung steht.
Es gibt Situationen (natürlich auch wetterbedingt) da scheint die Sonne evtl. nur zwei oder drei Stunden am Tag - die Zeit reicht mir dann nicht um WW und Haus in dem Zeitfenster entsprechend zu erwärmen.
Gerade jetzt wo der Heizbedarf steigt versuche ich die weniger werdende günstige Energie vom Dach mehr zu nutzen.

Yeap mehr machen die tollen Smartverknüpfungen offensichtlich auch nicht :)

Also um eine kurze Übersicht zu haben:
- HS auf Stufe 1 begrenzen
- Flippern der Anlage vermeiden (sprich ich würde ein ca. 10min Zeitfenster einbauen)
- FP hochziehen
- Integral auf unendlich setzen

Als Schaltschwelle für die Aktion hier würde ich wahrscheinlich auch als Aktivierungswert von >4500kw nehmen. Fällt der Wert länger als 10min unter diesen werden die Werte wieder zurück gesetzt. So schätze ich, würde ein Flippern gut unterbunden werden und es würde auch nicht unnötig Energie aus dem Netz bezogen werden.

Da ich alle benötigten Infos im MS der Loxone habe werde ich das dort entsprechend mal versuchen umzusetzen.

Vielen Dank & viele Grüße

wenn du hier was rausfindest würde mich das auch interresieren.
Hab zu Hause auch Loxone und ne PV mit ner THZ 304 Eco.
Falls du Hilfe oder Tips brauchst, einfach Bescheid geben.
THZ 304 Eco Baujahr 2015

börni

Zitat von: BigNose82 am 13 November 2019, 09:55:13
Ich kenne deine PV nicht, daher wäre es durchaus möglich, dass du Überschüsse von >10 kW hast und entsprechend mit allen drei Stufen spielen kannst.

ok - habe ich nun verstanden -> steht aber übrigens in meiner Sig ;)
Fronius WR mit 9,3 kwp - also Anlage ist 9,3kwp der WR aber nur 8,3  ;)

Wie schaut es mit dem Verdichter aus, bleibt der bei HS-Betrieb trotzdem aktiviert?

Vielen Dank & viele Grüße
Loxberry auf RPi3 mit FHEM / LWZ303i V.2.06 / Loxone / eisfair Server (LMS/NAS/cloud/et.) / Fronius WR mit 9,3 kwp

BigNose82

LWZ 304 Trend - Hausautomatisierung über z-wave mit dem Fibaro HC2

TheTrumpeter

Zitat von: börni am 13 November 2019, 10:22:28
Wie schaut es mit dem Verdichter aus, bleibt der bei HS-Betrieb trotzdem aktiviert?
Antwort hast Du ja schon bekommen, trotzdem:

RTFM!!!
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

börni

Kann man bei euch über die Konfig P31 konfigurieren?
Bei mir habe ich den nicht in dem Pulldownmenü :(
Loxberry auf RPi3 mit FHEM / LWZ303i V.2.06 / Loxone / eisfair Server (LMS/NAS/cloud/et.) / Fronius WR mit 9,3 kwp

TheTrumpeter

FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

toggle

Zitat von: TheTrumpeter am 13 November 2019, 21:49:58
Nein, offenbar hat die Speicheradresse noch niemand gefunden.
Es hat vermutlich niemand danach gesucht bzw. gefragt. In meiner WP ist es 0x0A059F.
THZ404SOL (FW 5.39, SW ID 7278, 14.03.2014)

toggle

Zitat von: TheTrumpeter am 01 November 2019, 17:37:27
Der Algorithmus sollte recht einfach sein: wenn im WW-Betrieb der (gefilterte) Volumenstrom um mehr als x (zu ermitteln aus Deinen Plots) nach unten abweicht, handelt es sich wohl um ein klemmendes Umschaltventil. (Den Abtauvorgang müsstest Du noch prüfen. Bei mir geht dabei der Volumenstrom bei der WW-Bereitung aber nach oben, d.h. dieser Betriebspunkt ist unkritisch und kann getrost ignoriert werden.)
Vor ein paar Tagen habe ich einen weiteren Effekt während der WW-Bereitung beobachtet - das Ventil konnte sich wohl wieder nicht entscheiden, so dass die WW-Temperatur zwar nach oben ging, aber langsamer als sonst (allerdigns nicht so langsam wie vor ein paar Wochen). Dabei war der Volumenstrom nicht niedriger sondern höher (24 l/min statt 20-21 l/min). Während des Abtauvorganges waren es sogar 36 l/min.

Ist es wirklich richtig anzunehmen, dass der Volumenstrom grundsätzlich sinken müsste, wenn das Ventil klemmt? Kann es sein, dass bei einem 3-Wege-Ventil auch eine Mittelstellung existiert, die beide Kreise (inneren und HK) parallel schaltet, wodurch der Widerstand reduziert wird => höherer Volumenstrom? Das würde meine Beobachtung erklären.
THZ404SOL (FW 5.39, SW ID 7278, 14.03.2014)

depeche

Hallo,
bin  neu hier und eigentlich Windows Anwender. Komme wenn ich eine Doku habe auch ganz so gut klar.
hab mich in den letzten Tagen hier eingelesen...
ich habe FHEM auf dem Raspberry pi 4 installiert alles kein Problem (Dank an meintech.blog). FHEM läuft und die Seite kann auch aufgerufen werden. http://ip:8083

Jetzt möchte ich natürlich die THZ Konfiguration von willi (1. Seite hier in dem Forum) einspielen.
d.h. die plot Dateien und fhem.cfg
mit winscp habe ich gesehen die Datei liegt auf /opt/fhem/fhem.cfg
alles über die FHEM webgui da reinhämmern? ist nicht euer Ernst...
die Plot Dateien (z.b. thz1.gplot)  in /opt/fhem/www/gplot
der PI User hat leider keine Rechte... ok ich gehe hin und ändere das...
chmod -v g+rwx /opt/fhem/fhem.cfg
chmod -v g+rwx /opt/fhem/backup
chmod -v g+rwx /opt/fhem
chmod -v g+rwx /opt/fhem/www/gplot
mit Notepad++ mein original fhem.cfg Datei mit der von Willi ergänzt:

leider lässt sich die FHEM webseite nicht mehr starten. Liegt es an Notepad++ weil ich was falsch gemacht habe... oder hat sich seit FHEM 5.9 was geändert und die Konfig geht so nicht mehr...

Evtl kann mir jemand auch eine Konfiguration zum Start bereit stellen? Das wäre mal sehr hilfreich
hier meine Originale fhem.cfg

attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global verbose 3

define WEB FHEMWEB 8083 global

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
define allowed_WEB allowed
attr allowed_WEB basicAuth XXXXXXXXX (code von mir)
attr allowed_WEB validFor WEB


jetzt die angepasste (doppelte Einträge /Original Einträge wurden auskommentiert):

# attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global userattr DbLogExclude devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global altitude 496                  
attr global autoload_undefined_devices 1
attr global backup_before_update 0
attr global latitude 49.123
# attr global logfile ./log/fhem-%Y-%m.log
attr global logfile /mnt/fhem/log/fhem-%Y-%m.log
attr global longitude 9.123                         
attr global modpath .

attr global sendStatistics onUpdate
attr global statefile /mnt/fhem/log/fhem.save                           
# attr global statefile ./log/fhem.save
attr global uniqueID ./FHEM/FhemUtils/uniqueID
attr global updateInBackground 1                                  
attr global verbose 3

define allowed_WEB allowed
attr allowed_WEB basicAuth dGltbzptaWNyb3NvZnQ=
attr allowed_WEB validFor WEB

##############################################################################

# define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB editConfig 1
attr WEB hiddenroom DashboardRoom                        

# Fake FileLog entry, to access the fhem log from FHEMWEB
# define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
define Logfile FileLog /mnt/fhem/log/fhem-%Y-%m.log fakelog
attr Logfile archivedir /mnt/fhem/log/archive/
attr Logfile nrarchive 2                                  

define autocreate autocreate
attr autocreate autosave 1
# attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate filelog /mnt/fhem/log/%NAME-%Y.log
attr autocreate room Heizung                     

# define eventTypes eventTypes ./log/eventTypes.txt
define eventTypes eventTypes /mnt/fhem/log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


##############################################################################
### define Mythz THZ /dev/ttyUSB0@115200
define Mythz THZ /dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0@115200
attr Mythz icon sani_heating
attr Mythz interval_sGlobal 300
attr Mythz interval_sHC1 300
attr Mythz interval_sHistory 3600
attr Mythz interval_sLast10errors 3600
attr Mythz room Heizung
attr Mythz userReadings Rel_humidity:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[67]) + 11.5}, flow_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[3])}, return_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[5])}, outside_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[1])}, dhw_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[9])}, inside_temp:sHC1.* {((split ' ',ReadingsVal("Mythz","sHC1",0))[27])}, CopHC:sHeatRecoveredDay.* {sprintf("%.2f", ReadingsNum("Mythz","sHeatHCDay",1) / ReadingsNum("Mythz","sElectrHCDay",1))}, CopDHW:sHeatRecoveredDay.* {sprintf("%.2f", ReadingsNum("Mythz","sHeatDHWDay",1) / ReadingsNum("Mythz","sElectrDHWDay",1))}
define FileLog_Mythz FileLog /mnt/fhem/log/Mythz-%Y-%m.log Mythz
attr FileLog_Mythz archivedir /mnt/fhem/log/archive/
attr FileLog_Mythz nrarchive 2

define Mythz_Plot1_Temp SVG FileLog_Mythz:thz1:CURRENT
attr Mythz_Plot1_Temp label "Innen $data{currval7}°C, Außen $data{currval8}°C, Luftfeuchtigk. $data{currval2}%, Brauchwasser $data{currval1}°C, HC1-Soll $data{currval5}°C, HC1-Ist $data{currval6}°C"
attr Mythz_Plot1_Temp plotsize 840,420
attr Mythz_Plot1_Temp room Heizung_Plot

define Mythz_Plot2_HC1Offset_Integral SVG FileLog_Mythz:thz2:CURRENT
attr Mythz_Plot2_HC1Offset_Integral label sprintf("HC1Soll-HC1Ist %0.1fK, Integralwert %0.1f", $data{currval1}, $data{currval2})
attr Mythz_Plot2_HC1Offset_Integral plotsize 840,210
attr Mythz_Plot2_HC1Offset_Integral room Heizung_Plot

define Mythz_Plot3_Internals SVG FileLog_Mythz:thz3:CURRENT
attr Mythz_Plot3_Internals label "TimeStamp:  $data{currdate1}"
attr Mythz_Plot3_Internals plotsize 840,210
attr Mythz_Plot3_Internals room Heizung_Plot
# attr Plot2_Internals label "Zu-Soll $data{currval1}%, Zu-Ist $data{currval2}Hz, Ab-Soll $data{currval3}%, Ab-Ist $data{currval4}Hz, Fort-Ist $data{currval5}Hz"

define SVG_FileLog_Mythz_1 SVG FileLog_Mythz:SVG_FileLog_Mythz_1:CURRENT
define SVG_FileLog_Mythz_2 SVG FileLog_Mythz:SVG_FileLog_Mythz_2:CURRENT
attr SVG_FileLog_Mythz_2 plotsize 840,400
define Mythz_Plot4_Fans SVG FileLog_Mythz:thz4:CURRENT
attr Mythz_Plot4_Fans label "Zu-Soll $data{currval1}%, Zu-Ist $data{currval2}Hz, Ab-Soll $data{currval3}%, Ab-Ist $data{currval4}Hz, Fort-Ist $data{currval5}Hz"
attr Mythz_Plot4_Fans plotsize 840,210
attr Mythz_Plot4_Fans room Heizung_Plot

define FanSelectorDay dummy
attr FanSelectorDay devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
attr FanSelectorDay group THZ
attr FanSelectorDay room Heizung
attr FanSelectorDay setList 0 1 2 3
attr FanSelectorDay webCmd 0:1:2:3
define Notify_p07FanStageDay notify FanSelectorDay set Mythz p07FanStageDay $EVENT
define Notify_FanselectorDay notify (Mythz.p07FanStageDay.*) setstate FanSelectorDay $EVTPART1

define FanSelectorNight dummy
attr FanSelectorNight devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
attr FanSelectorNight group THZ
attr FanSelectorNight room Heizung
attr FanSelectorNight setList 0 1 2 3
attr FanSelectorNight webCmd 0:1:2:3
define Notify_p08FanStageNight notify FanSelectorNight set Mythz p08FanStageNight $EVENT
define Notify_FanselectorNight notify (Mythz.p08FanStageNight.*) setstate FanSelectorNight $EVTPART1

define FanSelectorPassiveCooling dummy
attr FanSelectorPassiveCooling devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2
attr FanSelectorPassiveCooling group THZ
attr FanSelectorPassiveCooling room Heizung
attr FanSelectorPassiveCooling setList 0 1 2
attr FanSelectorPassiveCooling webCmd 0:1:2

define Notify_p75passiveCooling notify FanSelectorPassiveCooling set Mythz p75passiveCooling $EVENT
define Notify_PassiveCooling notify (Mythz.p75passiveCooling.*) setstate FanSelectorPassiveCooling $EVTPART1

define Mythz.alarm_failure notify Mythz { if (((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]) > ReadingsVal("Mythz","number_of_faults_old",0)) { DebianMail('MEINNAME@t-online.de','Tecalor Mythz Alarm - ERROR','Fehlermeldung: '. $EVENT,'/mnt/fhem/Tecalor-Fehlermeldungen.txt');; fhem("setreading Mythz number_of_faults_old ". ((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]));; } }
attr Mythz.alarm_failure room Heizung

define Mythz.alarm_boosterDHW notify Mythz { if (((split ' ',ReadingsVal("Mythz","sHistory",0))[7]) > ReadingsVal("Mythz", "boosterDHW_old", 0)) { DebianMail('MEINNAME@t-online.de','Tecalor Mythz Alarm - boosterDHW','Zusatzheizung wurde fuer Warmwasser benutzt: '. $EVENT,'');; fhem("setreading Mythz boosterDHW_old ". ((split ' ',ReadingsVal("Mythz","sHistory",0))[7]));; } }
attr Mythz.alarm_boosterDHW room Heizung

define Mythz.alarm_boosterHeating notify Mythz { if (((split ' ',ReadingsVal("Mythz","sHistory",0))[9]) > ReadingsVal("Mythz", "boosterHeating_old",0)) { DebianMail('MEINNAME@t-online.de','Tecalor Mythz Alarm - boosterHeating','Zusatzheizung wurde zum heizen benutzt: '. $EVENT,'');; fhem("setreading Mythz boosterHeating_old ". ((split ' ',ReadingsVal("Mythz","sHistory",0))[9]));; } }
attr Mythz.alarm_boosterHeating room Heizung

define Mythz.alarm_insideTempLow notify Mythz { if (ReadingsVal("Mythz","inside_temp",22) < ReadingsVal("Mythz","inside_temp_min",0) ) { DebianMail('MEINNAME@t-online.de','Tecalor Mythz Alarm - insideTemp','Innentemperatur zu niedrig','');; fhem("setreading Mythz inside_temp_min ". (ReadingsVal("Mythz","inside_temp",22)));; } }
attr Mythz.alarm_insideTempLow room Heizung

define Mythz.alarm_insideTempHigh notify Mythz { if (ReadingsVal("Mythz","inside_temp",22) > ReadingsVal("Mythz","inside_temp_max",0) ) { DebianMail('MEINNAME@t-online.de','Tecalor Mythz Alarm - insideTemp','Innentemperatur zu hoch','');; fhem("setreading Mythz inside_temp_max ". (ReadingsVal("Mythz","inside_temp",22)));; } }
attr Mythz.alarm_insideTempHigh room Heizung

define rg_thz readingsGroup Mythz:<%temp_inside@green>,<Innen>,inside_temp Mythz:<%temp_outside@blue>,<Aussen>,outside_temp Mythz:<%temperature_humidity@green>,<Luftfeuchte>,Rel_humidity Mythz:<%sani_supply_temp@purple>,<Vorlauf>,flow_temp Mythz:<%sani_return_temp@BD7800>,<Rücklauf>,return_temp Mythz:<%sani_boiler_temp@red>,<Brauchwasser>,dhw_temp
attr rg_thz alias Heizung Temperaturen
attr rg_thz group THZ
attr rg_thz room Heizung
attr rg_thz valueFormat { inside_temp => '%0.1f °C', outside_temp => '%0.1f °C', Rel_humidity => '%0.1f %%', flow_temp => '%0.1f °C', return_temp => '%0.1f °C', dhw_temp => '%0.1f °C' }

define Fan.Unscheduled dummy
attr Fan.Unscheduled devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
attr Fan.Unscheduled group THZ
attr Fan.Unscheduled room Heizung
attr Fan.Unscheduled setList 0 1 2 3
attr Fan.Unscheduled webCmd 0:1:2:3
define Notify_p99startUnschedVent notify Fan.Unscheduled set Mythz p99startUnschedVent $EVENT
define Notify_UnschedVent notify (Mythz.p99startUnschedVent.*) setstate Fan.Unscheduled $EVTPART1

define FanSelector_Unsched.0 dummy
attr FanSelector_Unsched.0 group THZ
attr FanSelector_Unsched.0 room Heizung
attr FanSelector_Unsched.0 setList state:slider,0,1,480
attr FanSelector_Unsched.0 webCmd state
define Notify_p46UnschedVent0 notify FanSelector_Unsched.0  set Mythz p46UnschedVent0 $EVENT
define Notify_FanSelector_Unsched.0 notify (Mythz.p46UnschedVent0.*) setstate FanSelector_Unsched.0 $EVTPART1

define FanSelector_Unsched.1 dummy
attr FanSelector_Unsched.1 group THZ
attr FanSelector_Unsched.1 room Heizung
attr FanSelector_Unsched.1 setList state:slider,0,1,480
attr FanSelector_Unsched.1 webCmd state
define Notify_p45UnschedVent1 notify FanSelector_Unsched.1  set Mythz p45UnschedVent1 $EVENT
define Notify_FanSelector_Unsched.1 notify (Mythz.p45UnschedVent1.*) setstate FanSelector_Unsched.1 $EVTPART1

define FanSelector_Unsched.2 dummy
attr FanSelector_Unsched.2 group THZ
attr FanSelector_Unsched.2 room Heizung
attr FanSelector_Unsched.2 setList state:slider,0,1,480
attr FanSelector_Unsched.2 webCmd state
define Notify_p44UnschedVent2 notify FanSelector_Unsched.2  set Mythz p44UnschedVent2 $EVENT
define Notify_FanSelector_Unsched.2 notify (Mythz.p44UnschedVent2.*) setstate FanSelector_Unsched.2 $EVTPART1

define FanSelector_Unsched.3 dummy
attr FanSelector_Unsched.3 group THZ
attr FanSelector_Unsched.3 room Heizung
attr FanSelector_Unsched.3 setList state:slider,0,1,480
attr FanSelector_Unsched.3 webCmd state
define Notify_p43UnschedVent3 notify FanSelector_Unsched.3  set Mythz p43UnschedVent3 $EVENT
define Notify_FanSelector_Unsched.3 notify (Mythz.p43UnschedVent3.*) setstate FanSelector_Unsched.3 $EVTPART1

define wl_hr2 weblink htmlCode <div class="SVGplot"><embed src="/fhem/THZ_PrintcurveSVG/" type="image/svg+xml"  name="wl_hr2"/></div> <a href="/fhem?detail=wl_hr2">wl_hr2</a><br>
attr wl_hr2 room Heizung

define number_of_faults_old dummy
define Mythz.number_of_errors_old dummy

define GetsHeatHCDay at *23:55:03 get Mythz sHeatHCDay
attr GetsHeatHCDay room Heizung
define GetsElectrDHWDay at *23:55:00 get Mythz sElectrDHWDay
attr GetsElectrDHWDay room Heizung
define GetsElectrHCDay at *23:55:01 get Mythz sElectrHCDay
attr GetsElectrHCDay room Heizung
define GetsHeatDHWDay at *23:55:02 get Mythz sHeatDHWDay
attr GetsHeatDHWDay room Heizung
define GetsHeatRecoveredDay at *23:55:04 get Mythz sHeatRecoveredDay
attr GetsHeatRecoveredDay room Heizung
define GetsBoostDHWTotal at *00:01:04 IF ($mday == 1) ( get Mythz sBoostDHWTotal )
attr GetsBoostDHWTotal room Heizung
define GetsBoostHCTotal at *00:01:05 IF ($mday == 1) ( get Mythz sBoostHCTotal )
attr GetsBoostHCTotal room Heizung
define GetsElectrDHWTotal at *00:01:00 IF ($mday == 1) ( get Mythz sElectrDHWTotal )
attr GetsElectrDHWTotal room Heizung
define GetsElectrHCTotal at *00:01:01 IF ($mday == 1) ( get Mythz sElectrHCTotal )
attr GetsElectrHCTotal room Heizung
define GetsHeatDHWTotal at *00:01:02 IF ($mday == 1) ( get Mythz sHeatDHWTotal )
attr GetsHeatDHWTotal room Heizung
define GetsHeatHCTotal at *00:01:03 IF ($mday == 1) ( get Mythz sHeatHCTotal )
attr GetsHeatHCTotal room Heizung
define GetsHeatRecoveredTotal at *00:01:06 IF ($mday == 1) ( get Mythz sHeatRecoveredTotal )
attr GetsHeatRecoveredTotal room Heizung
define GetsHistory at *00:01:07 IF ($mday == 1) ( get Mythz sHistory )
attr GetsHistory room Heizung

# prüfe alle 2 Stunden um xx:03:00 ob zu kalt und schalte ggf. Heizung ein
# define OpModeDhwToAuto at +*02:00:00 IF (([Mythz:sHC1:[insideTempRC. (\S+)]] < ([Mythz:p02RoomTempNightHC1:d] - 0.5)) and ([Mythz:pOpMode] eq "DHWmode")) (set Mythz pOpMode automatic)
# attr OpModeDhwToAuto alignTime 00:03:00
# attr OpModeDhwToAuto room Heizung

# prüfe 1 mal nachts un 2 Uhr, ob innen und aussen warm genug und schalte ggf, Heizung aus
# define OpModeAutoToDhw at *02:02:00 IF (([Mythz:sHC1:[insideTempRC. (\S+)]] > ([Mythz:p02RoomTempNightHC1:d] + 0.7)) and ([Mythz:outside_temp] > 3) and ([Mythz:pOpMode] eq "automatic")) (set Mythz pOpMode DHWmode)
# attr OpModeAutoToDhw room Heizung

# synchronisiere THZ Uhr mit Raspi monatlich
define SetClockMinutes at *00:27:00 IF ($mday == 1) (set Mythz pClockMinutes 27)
attr SetClockMinutes room Heizung
##############################################################################

define MyDashboard Dashboard
attr MyDashboard dashboard_activetab 1
attr MyDashboard dashboard_row top-center
attr MyDashboard dashboard_showtooglebuttons 0
attr MyDashboard dashboard_tab1groups THZ
attr MyDashboard dashboard_tab1name Tecalor THZ
attr MyDashboard dashboard_tab1sorting t0c100,THZ,true,514,261:t0c100,Wetter,true,317,206:
attr MyDashboard dashboard_tab2groups rc1
attr MyDashboard dashboard_tab2name Samsung TV
attr MyDashboard dashboard_tab2sorting t1c100,rc1,true,206,259:
attr MyDashboard dashboard_tab3groups Switch
attr MyDashboard dashboard_tab3name Switches
attr MyDashboard dashboard_tab3sorting t2c100,Switch,true,428,78:
attr MyDashboard dashboard_tab4groups Stau
attr MyDashboard dashboard_tab4name Stau
attr MyDashboard dashboard_tab4sorting t3c100,Stau,true,200,200:
attr MyDashboard dashboard_tab5groups Wetter
attr MyDashboard dashboard_tab5name Wetter
attr MyDashboard dashboard_tab5sorting t4c100,Wetter,true,327,197:
attr MyDashboard dashboard_tabcount 5
attr MyDashboard dashboard_webfrontendfilter *

define MyDashboard_weblink weblink htmlCode {DashboardAsHtml("MyDashboard")}
attr MyDashboard_weblink room DashboardRoom

define Wetter weblink iframe http://www.wetteronline.de/cgi-bin/hpweather?PLZ=72401
attr Wetter group Wetter
attr Wetter htmlattr width_"220" height="330" frameborder="0" marginheight="0" marginwidth="0"

define Stau weblink link http://www.svz-bw.de/verkehrslage.html?&L=0
attr Stau group Stau
attr Stau htmlattr width_"640" height="480" frameborder="0" marginheight="0" marginwidth="0"

###########################################################################

wenn ich die original fhem.cfg zurückspiele (hab ein Backup gemacht) geht es natürlich wieder

willybauss

Sorry, wenn ich mir jetzt nicht alles durchgelesen habe. Aber fhem.cfg mit winscp rüber kopieren ist schon mal ok für den Start. Niemand erwartet, das initial übers UI zu konfigurieren (später, wenn's mal läuft aber unbedingt). Admin-Rechte für den pi-User sind auch richtig. Vermutlich liegt dein Fehler in der Benutzung des Notepad++:

Unter Windows besteht eine Zeilentrennung aus CR (Carriage Return) plus LF (Linefeed).
Linux kennt nur LF, also ohne CR.
In der Standardeinstellung hält Notepad++ sich an den Windows-Modus. Wenn Du im NP++ das Hex-Editor-Plugin hast, dann kannst Du das sehen (CR = ODhex, LF = 0Ahex). Schmeiße mal alle CR raus. Oder einfach das Notepad++ auf "nur Linefeed" umstellen (Optionen, NEue Dateien, Zeilenenden) und nochmal neu machen.
Kodierung steht bei mir auf UTF-8-
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS