FHEM Modul (70_HPSU.pm) ROTEX HPSU compact <--> ELM327

Begonnen von ahermann86, 19 Dezember 2019, 21:14:24

Vorheriges Thema - Nächstes Thema

MadMax

Hallo Vorhand,

Also ich setze meine HPSU auf Betriebsart off wenn ich meine das ich Sie nicht benötige.
Wenn Sie gebraucht wird wieder auf Heizen, Warmwasseraufbereitung läuft auch bei off normal weiter.

Gruß Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

Vorhand

Hallo Max,
ZitatAlso ich setze meine HPSU auf Betriebsart off wenn ich meine das ich Sie nicht benötige.
Machst du das manuell, oder wie geht das?
Grüße
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

Vorhand

Hallo Axel,
meine Minimalversion der diHPSU_Control sieht jetzt so aus

DEF
## ---- Heizen
(
      [$SELF:CondHeizgrenze]
  and [$SELF:CondHeizanforderung]
  and [$SELF:CondHeizanforderung:sec] > 4*6
 
)
(set myHPSU HPSU.Raumthermostat off)

## ---- Heizen min

## ---- Heizen nur Bad

## ---- Kuehlen

## ---- Heizen aus
DOELSEIF (
      [$SELF:CondHeizgrenze]
  and [$SELF:CondHeizgrenze:sec] > 1*6
  and [$SELF:state] ne "Sommer"
)
(set myHPSU HPSU.Raumthermostat on)
(set myHPSU Betriebsart Heizen)

## ---- Sommer
DOELSEIF ([+:01]) ## Trigger
(set myHPSU Betriebsart Sommer)

Attributes
DOIF_Readings
AnzHeizanforderung:[#sum:"^Temp":Heizanforderung],
CondHeizgrenze:[myHPSU:HPSU.T_Aussen:d,15] < [$SELF:T_UmschaltSommer,15],
Cond_LetzterHeizenAktiv:[$SELF,"nv"] eq "Heizen",
Cond_LetzterHeizenMinAStandby:[$SELF,"nv"] eq "HeizenMin" and [myHPSU:HPSU.Aktive_Betriebsart,"leer"] eq "Standby" and [myHPSU:HPSU.Raumthermostat,"off"] eq "off"


Wenn ich bei den DOIF_Readings die letzte Zeile lösche, kommt Protest.
Als Status steht damit "HeizenMin" ?? keine Ahnung!
Habe ich schon zuviel gelöscht für eine minimale Funktion?
Danke


Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

MadMax

Hallo Vorhand,

Ich habe dafür ein notify welches die durchschnittliche Öffnung der FBH Ventile (Motorische Antriebe von 0-100%) erfüllt und anhand der Außentemperatur, den Sollwerten und den der Ventile die HPSU in off/kühlen/heizen setzt.
 
Mit Doif kenne ich mich nicht aus.

Gruß Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

ahermann86

Hallo Vorhand,

bisher bin ich davon ausgegangen, dass du in jedem Raum eine Temperaturmessung hast.. wenn nicht, ist meine Methode für deinen Fall nicht wirklich zielführend bzw. verkompliziert das ganze.
Was du willst, macht die HPSU mit dem Parameter "Heizgrenze" schon. Warum willst du das nachbilden?

---

Wenn du "mein" DOIF verwenden wolltest, musst du das Attribut "checkall" auf "all" setzen. Nur so wird der Trigger [+:01] funktionieren. Das ist ein Trick, damit ich die ":sec]" einsetzen kann, da ich sonst keinen Trigger habe wenn die jeweilige Bedingung erfüllt ist und die Zeit verzögert "true" wird...

"[$SELF:CondHeizgrenze:sec] > 1*6" ist das so gewollt?  -> das sind 6 Sekunden

Wenn du die letzte Zeile löscht, fehlt ein Teil des DOIFS - deswegen die Fehlermeldung. Wenn das nicht für "Commandos" benötigt wird, lösche einfach den Inhalt:
Aus: (set myHPSU Betriebsart Sommer)
Wird: ()


Um hier weiter zu kommen, würde ich dich bitten, die commandref und Beispiele für das DOIF nochmal genauer anzuschauen.

Gruß
Axel

Vorhand

Hallo Axel,
vielen Dank für deine Antwort.
Übrigens habe ich in jedem Raum eine Temperaturmessung über DS18B20. Das funktioniert auch mit der Summenbildung.
Hier nochmal den Gesamt-Code der diHPSU-Control:
## ---- Heizen
(
      [$SELF:CondHeizgrenze]
  and [$SELF:CondHeizanforderung]
  and [$SELF:CondHeizanforderung:sec] > 4*6 ### nur reduziert wegen Beobachtung
 
)
(set myHPSU HPSU.Raumthermostat off)

## ---- Heizen min

## ---- Heizen nur Bad

## ---- Kuehlen

## ---- Heizen aus
DOELSEIF (
      [$SELF:CondHeizgrenze]
  and [$SELF:CondHeizgrenze:sec] > 1*6 ### nur reduziert wegen Beobachtung
  and [$SELF:state] ne "Sommer"
)
(set myHPSU HPSU.Raumthermostat on)
(set myHPSU Betriebsart Heizen)

## ---- Sommer
DOELSEIF ([+:01]) ## Trigger ()
DOIFDEV ^global$|^myHPSU$|^diHPSU_Control$|^Temp
MODEL FHEM
NAME diHPSU_Control
NR 34
NTFY_ORDER 50-diHPSU_Control
STATE initialized
TYPE DOIF
VERSION 24905 2021-09-01 18:35:54



Attributes
DOIF_Readings
AnzHeizanforderung:[#sum:"^Temp":Heizanforderung],
CondHeizgrenze:[myHPSU:HPSU.T_Aussen:d,15] < [$SELF:T_UmschaltSommer,15],
Cond_LetzterHeizenAktiv:[$SELF,"nv"] eq "Heizen",
Cond_LetzterHeizenMinAStandby:[$SELF,"nv"] eq "HeizenMin" and [myHPSU:HPSU.Aktive_Betriebsart,"leer"] eq "Standby" and [myHPSU:HPSU.Raumthermostat,"off"] eq "off"
alias diHPSU_Control
checkall all
cmdState Heizen|HeizenAus|Sommer
cmdpause 0:3600
do always
event-on-change-reading .*
event_Readings
LogAnzHeizanforderung:[$SELF:AnzHeizanforderung,0],
LogAnzHeizanforderungMax:[$SELF:AnzHeizanforderungMax,0],
COP_smooth:[myHPSU:uR.COP:avg5]
group Heizung_Tasks
readingList Raumtemperatur VorlauftemperaturFix Min_T_Vorlauf T_UmschaltSommer
room Heizung
setList Raumtemperatur:slider,20,0.5,23,1 VorlauftemperaturFix:slider,18,1,30 Min_T_Vorlauf:slider,18,1,30 UpdateTemp:noArg T_UmschaltSommer:slider,10,1,40
wait 0,300:0,300:0,300:0,300


Du sagst, dass die "CondHeizgrenze" die Abschaltung bei nicht anstehendem Signal "Heizanforderung" übernehme. Wie bekommt die "CondHeizgrenze" diese Info?
Meine Erwartungshaltung ist: wenn die Heizanforderung wegfällt, dann zeigt die diHPSUControl - nach Zeit - den Status "HeizenAus".
Bin ich da auf dem Holzweg?
Danke
Grüße
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

ahermann86

Hallo Vorhand,

"CondHeizgrenze" wird im DOIF Reading mit "CondHeizgrenze:[myHPSU:HPSU.T_Aussen:d,15] < [$SELF:T_UmschaltSommer,15]" gebildet. D.h. Wenn die Außentemperatur kleiner als das Reading "T_UmschaltSommer" ist, ist die "Condition" "Heizgenze" erfüllt.
.. ist dir diese Bedingung nun klar bzw. weißt du wie die DOIF_Redings funktionieren?
Die "Cond..." Readings habe ich gebildet, damit das DOIF besser lesbar ist.

Was noch auffällt ist das "do always" - ist das Absicht? Wenn das aktiv ist wird ein CMD immer ausgeführt, auch wenn das schon aktiv ist...

cmdpause 0:3600 -> brauchst du das? Ich sehe das hier in Verbindung mit "do always" komplett falsch.

--> lösche "do always" und "cmdpause 0:3600"

[$SELF:CondHeizanforderung] ist im DOIF aber es fehlt das DOIF_Reading hierzu. Das müssest du noch mit deinen Heizanforderungen verknüpfen.
So z.B. als DOIF_Reading

CondHeizanforderung:[$SELF:AnzHeizanforderung,0] > 3

Das bedeutet, es müssen mehr als 3 Anforderungen aktiv sein, damit das Cond True wird.


## ---- Sommer
DOELSEIF ([+:01]) ## Trigger
()  ## <-- eine Zeile runter, sonst gehört das zum Kommentar und es gibt einen Fehler.


Gruß
Axel

Vorhand

Hallo Axel,
danke für deine Hilfe. Scheint zu funktionieren. Die Zeile "CondHeizanforderung:[$SELF:AnzHeizanforderung,0] > 3," stand so nicht in deinem Code. In der diHPSU_Control habe ich noch in die leere Klammer unter ##..Sommer den Befehl (set myHPSU Betriebsart Sommer) eingefügt. Nachstehen nochmals der gesamte Code des Programmes.
attr global userattr cmdIcon devStateIcon:textField-long 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 motd SecurityCheck:\
  WEB is not password protected\
\
Protect this FHEM installation by defining an allowed device with define allowed allowed\
You can disable this message with attr global motd none
attr global statefile ./log/fhem.save
attr global verbose 3

define WEB FHEMWEB 8083 global
setuuid WEB 60ce1cae-f33f-8136-bc30-702bf41fb2cc7849
attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB editConfig 1

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
setuuid Logfile 60ce1caf-f33f-8136-c1db-a100742a50812117

define autocreate autocreate
setuuid autocreate 60ce1caf-f33f-8136-4d47-55e25c0025bfe378
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt
setuuid eventTypes 60ce1caf-f33f-8136-fe37-b6e8f268c6ef844f

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
setuuid initialUsbCheck 60ce1caf-f33f-8136-15ec-50a0e8544226b4a8
define myHPSU HPSU /dev/ttyUSB0
setuuid myHPSU 60cf0021-f33f-8136-04e3-e36fed06b26993f3
attr myHPSU event-on-change-reading HPSU.T_direkter_Heizkreis:0.3,HPSU.UWPumpe:3,HPSU.Vorlauftemperatur_Waermeerzeuger:0.5,HPSU.Heizung_Ruecklauf:0.5,HPSU.UWPumpe:5,HPSU.Durchfluss:40,.*
attr myHPSU event-on-update-reading Info.LastDefrostDHWShrink,HPSU.ehs
attr myHPSU room Heizung
define myHPSU_Log FileLog ./log/myHPSU_Log-%Y-%m.log myHPSU:HPSU.(Aktive_Betriebsart|Betriebsart|Heizung_Ruecklauf|Pos_Vent_3UVB1|Soll_T_direkter_Heizkreis|T_Aussen|T_Aussen_WP|T_Warmwasser|T_direkter_Heizkreis|Vorlauftemperatur_Waermeerzeuger):.*|myHPSU:Info.(LastDefrostDHWShrink|Ts):.*
setuuid myHPSU_Log 60cf1613-f33f-8136-01e1-13e269da2f6b42bb
attr myHPSU_Log room Test
define SVG_myHPSU_Log_1 SVG myHPSU_Log:SVG_myHPSU_Log_1:CURRENT
setuuid SVG_myHPSU_Log_1 60cf17be-f33f-8136-1da4-77a1b466945e330a
attr SVG_myHPSU_Log_1 room Heizung
define SVG_myHPSU_Log_2 SVG myHPSU_Log:SVG_myHPSU_Log_2:CURRENT
setuuid SVG_myHPSU_Log_2 60d8424a-f33f-8136-537f-f3429400aa06b98c
attr SVG_myHPSU_Log_2 room Heizung
define TempEgWzKueche dummy
setuuid TempEgWzKueche 6151d60f-f33f-8136-e277-9f448e92a574fb63
attr TempEgWzKueche room Test
attr TempEgWzKueche stateFormat T
define RemoteEG FHEM2FHEM 192.168.10.202:7072 LOG:.*
setuuid RemoteEG 6151d77a-f33f-8136-9a66-c314e17387fa8dcc
attr RemoteEG disable 0
attr RemoteEG room Test
define TempEgAbstllrm dummy
setuuid TempEgAbstllrm 6151dc5b-f33f-8136-cbdd-545f3c7f4cb34d9c
attr TempEgAbstllrm room Test
attr TempEgAbstllrm stateFormat T
define RemoteKG FHEM2FHEM 192.168.10.201:7072 LOG:.*
setuuid RemoteKG 6151de07-f33f-8136-8d8f-6e45b3f563ea7fb1
attr RemoteKG disable 0
attr RemoteKG room Test
define TempKgGast dummy
setuuid TempKgGast 6151de60-f33f-8136-721b-718e9fe6327725db
attr TempKgGast room Test
attr TempKgGast stateFormat T
define TempKgTechnik dummy
setuuid TempKgTechnik 6151de92-f33f-8136-62fb-67708f25d57bf87a
attr TempKgTechnik room Test
attr TempKgTechnik stateFormat T
define TempKgFitness dummy
setuuid TempKgFitness 6151deb1-f33f-8136-de5c-1a85b412bc984d13
attr TempKgFitness room Test
attr TempKgFitness stateFormat T
define TempOgElternBad dummy
setuuid TempOgElternBad 6151e11a-f33f-8136-32eb-119eb794727d547d
attr TempOgElternBad room Test
attr TempOgElternBad stateFormat T
define TempOgGlriMtte dummy
setuuid TempOgGlriMtte 6151e144-f33f-8136-6efd-6866c4bd07414a90
attr TempOgGlriMtte room Test
attr TempOgGlriMtte stateFormat T
define RemoteOG FHEM2FHEM 192.168.10.203:7072 LOG:.*
setuuid RemoteOG 6151e199-f33f-8136-fc99-cc3545e13d15bb4e
attr RemoteOG disable 0
attr RemoteOG room Test
define RemoteDG FHEM2FHEM 192.168.10.204:7072 LOG:.*
setuuid RemoteDG 6151e1b2-f33f-8136-4692-a89876eeeb4fac16
attr RemoteDG room Test
define TempDgFlur dummy
setuuid TempDgFlur 6151e26e-f33f-8136-2c35-64ace74417280e92
attr TempDgFlur room Test
attr TempDgFlur stateFormat T
define TempDgAtelier dummy
setuuid TempDgAtelier 6151efe7-f33f-8136-18d8-a4ec826af42bf9a6
attr TempDgAtelier room Test
attr TempDgAtelier stateFormat T
define NotTemperaturHeizaktor_xx notify Temp.*(Dg|Og|Eg|Kg).*:temperature.*\
{\
  my $h = $defs{"$NAME"};;\
  my $soll = ReadingsNum("$NAME", "Soll", -1);;\
  my $diff = 0;;\
\
  readingsBeginUpdate($h);;\
  if ($soll < 0) ##wenn noch kein "Soll" Reading im Device vorhanden ist\
  {\
    $soll = 22;;  ##Default Temperaturwert.\
    readingsBulkUpdate($h, "Soll", $soll);;\
  }\
\
  $diff = sprintf("%.2f", $soll-ReadingsNum("$NAME", "temperature", 0));;\
  if ($diff <= 0.1)\
  {\
    readingsBulkUpdateIfChanged($h, "Heizanforderung", 0);;\
  }\
  elsif ($diff > 0.2)\
  {\
    my $val = ReadingsNum("$NAME", "Faktor", 1);;\
    readingsBulkUpdateIfChanged($h, "Heizanforderung", $val);;\
  }\
\
  readingsEndUpdate($h, 1);;\
\
  ## <-- das sind Kommentare\
  ## nachfolgende Zeile aktivieren, um im Log zu sehen, ob das notify funktioniert...\
  ##Log 1, "Das Device $NAME hat ausgeloest, der Event sah so aus: $EVENT";;\
}
setuuid NotTemperaturHeizaktor_xx 61548c09-f33f-8136-41d9-6f6b80a9c24b11d1
attr NotTemperaturHeizaktor_xx room Heizung
define Temperaturen readingsGroup <%sani_heating>,<Soll>,<Ist>,<Heizanf.>\
Temp.*(Dg|Og|Eg|Kg).*:Soll,temperature,Heizanforderung\
<hr>\
Temperaturen:<>,<>,<>,$sum(:6)@SUM\
diHPSU_Control:,<>,<>,AnzHeizanforderung\
\

setuuid Temperaturen 61548e22-f33f-8136-3c24-046b660a3178065c
attr Temperaturen alias Temperaturen
attr Temperaturen nameStyle style="font-weight:bold"
attr Temperaturen room Heizung
attr Temperaturen valueColumn { 'temperature' => 2, 'Heizanforderung' => 6 }
attr Temperaturen valueFormat {'Soll' => " %.1f&deg;;C ", 'temperature' => " %.1f&deg;;C "}
attr Temperaturen valueIcon {'auf-set.on' => 'sani_heating_manual@orange', 'auf-set.off' => 'sani_heating_automatic@lightgreen', 'zu-set.on' => 'time_eco_mode@green', 'zu-set.off' => 'sani_heating_automatic@lightgreen', 'Heizanforderung' => (looks_like_number($VALUE) and $VALUE > 0)?'sani_floor_heating@red':'sani_floor_heating_off@green', 'HeizanforderungMax' => (looks_like_number($VALUE) and $VALUE > 0)?'sani_floor_heating@orange':'sani_floor_heating_off@green'}
attr Temperaturen valuePrefix { 'Temperaturen.SUM' =>'&Sigma;; ' }
attr Temperaturen valueStyle style="width:70px;; text-align:right"
define diHPSU_Control DOIF ## ---- Heizen\
(\
      [$SELF:CondHeizgrenze] \
  and [$SELF:CondHeizanforderung]\
  and [$SELF:CondHeizanforderung:sec] > 40*60\
  \
)\
(set myHPSU HPSU.Raumthermostat off)\
\
## ---- Heizen min\
\
## ---- Heizen nur Bad\
\
## ---- Kuehlen\
\
## ---- Heizen aus\
DOELSEIF (\
      [$SELF:CondHeizgrenze]\
  and [$SELF:CondHeizgrenze:sec] > 10*60\
  and [$SELF:state] ne "Sommer"\
)\
(set myHPSU HPSU.Raumthermostat on)\
(set myHPSU Betriebsart Heizen)\
\
## ---- Sommer\
DOELSEIF ([+:01]) ## Trigger\
\
(set myHPSU Betriebsart Sommer)\

setuuid diHPSU_Control 61548f4b-f33f-8136-bc91-1c625b25b0b51ab5
attr diHPSU_Control DOIF_Readings AnzHeizanforderung:[#sum:"^Temp":Heizanforderung],\
CondHeizanforderung:[$SELF:AnzHeizanforderung,0] > 3,\
CondHeizgrenze:[myHPSU:HPSU.T_Aussen:d,15] < [$SELF:T_UmschaltSommer,15],\
Cond_LetzterHeizenAktiv:[$SELF,"nv"] eq "Heizen",\
Cond_LetzterHeizenMinAStandby:[$SELF,"nv"] eq "HeizenMin" and [myHPSU:HPSU.Aktive_Betriebsart,"leer"] eq "Standby" and [myHPSU:HPSU.Raumthermostat,"off"] eq "off"
attr diHPSU_Control alias diHPSU_Control
attr diHPSU_Control checkall all
attr diHPSU_Control cmdState Heizen|HeizenAus|Sommer
attr diHPSU_Control event-on-change-reading .*
attr diHPSU_Control event_Readings LogAnzHeizanforderung:[$SELF:AnzHeizanforderung,0],\
LogAnzHeizanforderungMax:[$SELF:AnzHeizanforderungMax,0],\
COP_smooth:[myHPSU:uR.COP:avg5]
attr diHPSU_Control group Heizung_Tasks
attr diHPSU_Control readingList Raumtemperatur VorlauftemperaturFix Min_T_Vorlauf T_UmschaltSommer
attr diHPSU_Control room Heizung
attr diHPSU_Control setList Raumtemperatur:slider,20,0.5,23,1 VorlauftemperaturFix:slider,18,1,30 Min_T_Vorlauf:slider,18,1,30 UpdateTemp:noArg T_UmschaltSommer:slider,10,1,40
attr diHPSU_Control wait 0,300:0,300:0,300:0,300
define rgHPSU readingsGroup myHPSU:<%sani_water_hot>,<Warmwasser>,HPSU.T_Warmwasser,<%temp_outside>,<Außen>,HPSU.T_Aussen,<%temp_outside>,<AußenWP>,HPSU.T_Aussen_WP\
myHPSU:<%control_standby>,<Betriebsart>,HPSU.Betriebsart,<>,<Aktive_Betriebsart>,HPSU.Aktive_Betriebsart\
SDM72DM_Z1:<%measure_power>,<Verbrauch>,Power_Sum__W\
Pikoread:<%measure_photovoltaic_inst>,<PV_Ertrag>,Akt_Ertrag,<%message_light_intensity>,<PV_Überschuss>,Akt_Ueberschuss
setuuid rgHPSU 6161ac32-f33f-8136-02be-dac7a0a76a8f697e
attr rgHPSU alias Heizung
attr rgHPSU group 1_Übersicht
attr rgHPSU room Heizung
attr rgHPSU sortby 1
attr rgHPSU valueFormat { Power_Sum__W => '%.0f W', Akt_Ertrag => '%.0f W', Akt_Ueberschuss => '%5.0f W' }
attr rgHPSU valueStyle style="width:80px;; text-align:right"
attr rgHPSU valueSuffix { "Power_Sum_W" => " W" }

Was bewirken in den DOIF_Readings die Zeile "Cond_LetzterHeizenAktiv:[$SELF,"nv"] eq ...."
Beigefügt noch 2 Fotos des Bildschirmes. Screenshot war nicht möglich, weil ich selbst nur über VNC zugreife.
Danke.
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

Maxman83

Zitat von: ahermann86 am 13 März 2021, 23:37:31
Hallo,

ich habe die 1.13er Version soeben Hochgeladen.

Hier sind die bisherigen Wünsche von hackepeter, Maxman83 sowie die Unterstützung der Ultra eingeflossen.

Die "develope" im Github ist somit hinfällig!

Gruß
Axel

Es ist zwar schon erwas her, aber ich habe das Update limmer noch nicht aufgespielt.
Gibt es irgendwo eine Anleitung wie man vorgeht? Meine FHEM-Kenntnisse lassen leider nach wie vor zu Wünschen übrig

Gruß Max


Vorhand

Hallo Axel,
nochmals zum Programm Heizung. Jetzt steht die Betriebsart nur noch auf Sommer!? Muss nicht bei jedem DOIF cmd die Betriebsart definiert werden. Z.Zt macht das nur der Teil "Heizen Aus" und "Sommer". Der stellt die BA Heizen ein bzw. Sommer.  Sommer wird jede Minute wiederholt, wenn keine andere Bedingung erfüllt ist, warum das?
Ich habe jetzt auch beim Befehl Heizen (set myHPSU HPSU.Raumthermostat off), die BA auf Heizen gestellt - mit (set myHPSU Betriebsart Heizen).
Vielleicht könntest du nochmals den Mindest-Code für das DOIF "diHPSU_Control" aufzeigen.
Vielen Dank. Grüße
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

ahermann86

Hallo Vorhand,

ZitatMuss nicht bei jedem DOIF cmd die Betriebsart definiert werden.
In deinem Fall musst du das "(set myHPSU Betriebsart Heizen)" noch in "Heizen" ergänzen - als ja.

ZitatSommer wird jede Minute wiederholt, wenn keine andere Bedingung erfüllt ist, warum das?
Bein DOIF wird ein Kommando nicht wiederholt, wenn es bereits erfüllt ist... siehe DOIF im commandref
Die Zeile "DOELSEIF ([+:01]) ## Trigger\" benötige ich, damit die [...:sec] Bedinungen minütlich geprüft werden da diese selbst keinen Trigger auslösen.

Warum ist in deinem DOIF noch ein Zeilenumbruch hinter deinem letzten Kommando?
(set myHPSU Betriebsart Sommer)\ <-- Das \ muss weg

Gruß
Axel

Maxman83

#357
Zitat von: ahermann86 am 11 Oktober 2021, 09:46:05
Hallo Max,

das ganze ist hier beschrieben:
https://wiki.fhem.de/wiki/Rotex_HPSU_Compact#Installation.2FUpdate_.28Linux.29

Hilft dir das ?

Gruß
Axel

Hallo Axel,

die gute alte Anleitung im Wiki. Natürlich hilft das. Danke :)
Die Frage ist, werden irgendwelche Grundeinstellungen wie DEFs überschrieben?
Ist ja gleiches Vorgehen wie bei der Installation

ahermann86

Hallo Max,

da wird nichts überschrieben.
Das Update kannst du daher wie beschrieben durchführen.

Gruß
Axel

Chris0tian

Hi, ich habe mal eine Frage zum Thema Continuous Heating

Ich habe an meiner 2015er 8kW Anlage einmal die Ventile beim Abtauvorgang beobachtet.

Im Heizbetrieb stehen beide auf 0% wenn ich das nun richtig gesehen habe, startet nun der Abtauvorgang öffnet 3UV DHW auf ca. 60-90% und 3UVB1 auf ca. 24% nach dem Abtauen fahren beide wieder auf 0% zurück.

Ist jetzt das Verhalten normal? Bringt mir hier die Anti Continuous Heating Funktion einen Nutzen?