Fussbodenheizung mit PWM steuern

Begonnen von jamesgo, 24 September 2015, 08:28:49

Vorheriges Thema - Nächstes Thema

jamesgo

Hallo Morgennebel,

ich habe leider gar keine Erfahrung mit DbLog. Aus Sicht der Modulentwicklung gibt es nichts was man diesbezüglich beachten muss.

Vermutlich passt dein RegEx doch nicht so ganz.

Grüße
Andy

stromer-12

Hallo Morgennebel,

Zitat von: Morgennebel am 13 Februar 2019, 10:24:40ich habe mein Logging auf DbLog umgestellt, meine RegExp-Definition ist:

./db.conf .*:(temperature|desired-temp|measured-temp|humidity|ValvePosition|dewpoint|on|off|position|cond|hmTraffic|motion|motionCount|motionDuration|noMotion|energy|energyCalc|energyOffset|power|gasCnt|gasCntCalc|gasPower|Diesel|SuperE5|AVG\sT|Temperature|FussbodenMischer_VorlaufMED).*

Im PWM-Modul (meines heißt PWM.FussbodenHeizung) gibt es das Reading OverallHeatingSwitch, das jedoch leider nicht geloggt wird. Nach einer Woche mit dieser Definition findet meine DB keine Einträge, obwohl der OverallHeatingSwitch mehrfach geschaltet wurde:
Ich sehe in deiner RegEx keinen OverallHeatingSwitch, deswegen kein Logging.
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

jamesgo

Hallo,
habe gerade eine neue Version der beiden Module hochgeladen.

93_PWMR unterstützt nun das Attribut "maxOffTime". Das Attribut verhindert, dass der Boden zu stark auskühlt.
Das Format ist z.B. "2:00,DCE,0:30,1.5" bedeutet:
- alle 2 Stunden für 30 Minuten heizen falls die Solltemperatur bis zu 1.5 Grad überschritten ist.
- DCE (ohne N) bezieht sich auf die Zeiträume der autom. Temperatur Berechnung (auch wenn diese nicht für die Solltemperatur verwendet wird) also tagsüber aber nicht Nachts.

94_PWM unterstützt den Befehl "set FB maxOffTimeCalculation on|off" um die Berechnung bei den Räumen generell zu aktivieren/deaktivieren. Z.B. abhängig von der Jahreszeit, Aussentemperatur o.Ä.

Viele Grüße
Andy

sash.sc

Hallo zusammen.

Hier geht es um eine Verständnissfrage.

Ich habe bis jetzt
1x PWMR_Bad und 1x PWM_Bad definiert.

Ich möchte jetzt das Kinderzimmer mit in die Regelung einbauen.
Da muss ja einmal das PWMR_KiZi definiert werden.
Muss für das Kinderzimmer jetzt auch wieder ein eigenes PWM Device definiert werden, oder kann das mit über PWM_Bad laufen lassen ??

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

jamesgo

Hallo Sascha,
du brauchst kein eigenes PWM. Verwende einfach das vom Bad.
Grüße
Andy

Gesendet von meinem BTV-DL09 mit Tapatalk


sash.sc

Danke für deine schnelle Antwort.

Hier das List vom PWM_Bad


Internals:
   CYCLETIME  1200
   DEF        850 1200 120 0.85 1,1 0,0,0.3
   FUUID      5c430279-f33f-852e-8455-c08f6d462b88cb56
   INTERVAL   850
   MINONOFFTIME 120
   MaxPulse   0.85
   MaxSwitchOffPerCycle 1
   MaxSwitchOnPerCycle 1
   NAME       PWM_Bad
   NR         373
   NoRoomsToStayOff 0
   NoRoomsToStayOn 0
   NoRoomsToStayOnThreshold 0.3
   OverallHeatingSwitch
   OverallHeatingSwitch_delayTimeOn
   OverallHeatingSwitch_followUpTime
   OverallHeatingSwitch_regexp_on
   OverallHeatingSwitch_roomBased
   OverallHeatingSwitch_threshold
   STATE      lastrun: 2019-03-29 13:44:27
   TYPE       PWM
   p_cycletime 1200
   p_interval 850
   p_maxPulse 0.85
   p_minOnOfftime 120
   p_overallHeatingSwitch
   p_roomsMinOnOffThreshold 0,0,0.3
   READINGS:
     2019-03-29 12:59:51   OverallHeatingSwitch
     2019-03-29 12:59:51   OverallHeatingSwitchWaitBeforeOn
     2019-03-29 12:59:51   OverallHeatingSwitchWaitUntilOff
     2019-03-29 13:44:27   avgPulseRoomsOff 0.42
     2019-03-29 13:44:27   avgPulseRoomsOn 0
     2019-03-29 13:44:27   lastrun         calculating
     2019-03-29 13:44:27   pulseAvg        0.42
     2019-03-29 13:44:27   pulseAvg2       0.42
     2019-03-29 13:44:27   pulseAvg3       0.42
     2019-03-29 13:44:27   pulseMax        0.85
     2019-03-29 13:44:27   pulseSum        0.85
     2019-03-29 13:44:27   roomsActive     2
     2019-03-29 13:44:27   roomsOff        2
     2019-03-29 13:44:27   roomsOn         0
     2019-03-29 13:44:27   roomsToStayOn   0
     2019-03-29 13:44:27   roomsToStayOnList
     2019-03-29 13:44:27   state           lastrun: 2019-03-29 13:44:27
   helper:
     pulses:
       PWMR_Bad   0.85 / 0
       PWMR_KiZi  0 / 0
Attributes:
   event-min-interval .*:480
   event-on-change-reading .*
   group      Bad
   room       10_EG->Bad,20_Heizung
   verbose    0


Da muss doch aber noch die Anzahl der Räume angepasst werden, oder ??
Gruß und Danke

Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

jamesgo

Nachdem du NoRoomsToStayOff und NoRoomsToStayOn nicht gesetzt hast brauchst du nichts anpassen.

Gesendet von meinem BTV-DL09 mit Tapatalk


sash.sc

Heisst in dem Fall, dass auch beide Räume gleichzeitig angeschaltet werden können ?

Um Energie zu sparen, würde es da Sinn machen immer nur 1 Raum an und 1 Raum aus zu schalten ?
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

jamesgo

Ja, beide können gleichzeitig an sein. Bei zwei Räumen wird "NoRoomsToStayOff=1" evtl.  dazu führen dass es insgesamt nicht warm genug wird.

Gesendet von meinem BTV-DL09 mit Tapatalk


Rolfg

Hallo,
erst mal vielen Dank für das Modul. Habe es auch so weit am laufen. Ich habe nur ein Verständnis Problem. Für die Temperatur habe ich ein HM Wandthermostat. Wenn ich jetzt dort die Temperatur verändere wird die auch als soll Temperatur übernommen. Wie verhält sich das mit den Temprules. Sind die ganz außer Kraft? Das habe ich noch nicht verstanden wie das gehandhabt wird. Ich hoffe man versteht was ich meine.

Danke und Gruß Rolf

sledge

Hi Rolf,

wenn Du "desiredTempFrom" als Attribut gesetzt hast, wird die Solltemperatur von dort übernommen - die Temprules kommen nicht mehr zur Anwendung.

Lediglich Cosy / Frost Temp wird noch ausgewertet.

Oder habe ich die Frage nicht richtig verstanden?

Tom

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Rolfg

Hallo Tom,
perfekt. Genau das wollte ich wissen. Das habe ich irgendwie in den 49 Seiten nicht gefunden oder überlesen. Da mein Englisch auch nicht so dolle ist, hilft mir die Command Ref auch nur bedingt.

Danke und Gruß Rolf

Rolfg

Hallo,
ich bräuchte doch nochmal Hilfestellung. Ich bekomme den Aktor State nicht richtig im SVG Plot. Ich habe schon alles mögliche gesucht und auch gefunden. Bekomme es aber einfach nicht hin.
hier mal ein Auszug aus dem Log:

2019-10-13_10:06:25 PW_Wohnzimmer actorState: off
2019-10-13_10:07:25 PW_Wohnzimmer desired-temp-used: 21.0
2019-10-13_10:07:25 PW_Wohnzimmer temperature: 22.5
2019-10-13_10:07:25 PW_Wohnzimmer actorState: off
2019-10-13_10:08:25 PW_Wohnzimmer desired-temp-used: 27.0
2019-10-13_10:08:25 PW_Wohnzimmer temperature: 22.5
2019-10-13_10:08:25 PW_Wohnzimmer actorState: on
2019-10-13_10:09:25 PW_Wohnzimmer desired-temp-used: 27.0
2019-10-13_10:09:25 PW_Wohnzimmer temperature: 22.5
2019-10-13_10:10:25 PW_Wohnzimmer desired-temp-used: 21.0
2019-10-13_10:10:25 PW_Wohnzimmer temperature: 22.5
2019-10-13_10:11:25 PW_Wohnzimmer desired-temp-used: 21.0
2019-10-13_10:11:25 PW_Wohnzimmer temperature: 22.5
2019-10-13_10:11:25 PW_Wohnzimmer actorState: off
2019-10-13_10:12:25 PW_Wohnzimmer desired-temp-used: 21.0
2019-10-13_10:12:25 PW_Wohnzimmer temperature: 22.5



Und hier mein Plot:

# Created by FHEM/98_SVG.pm, 2019-10-13 12:24:29
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Wohnzimmer Heizung'
set ytics
set y2tics ("on" 1,"off" 0)
set grid ytics
set ylabel "Soll"
set y2label "Ist"
set yrange [18:28]
set y2range [-1:3]

#Log.Hz.Schalter.Wohnzimmer 4:PW_Wohnzimmer.desired-temp-used\x3a::
#Log.Hz.Schalter.Wohnzimmer 4:PW_Wohnzimmer.temperature\x3a::
#Log.Hz.Schalter.Wohnzimmer "0":PW_Wohnzimmer.actorState\x3a::

plot "<IN>" using 1:2 axes x1y1 title 'Soll' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Ist' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Schalter' ls l3 lw 1 with steps


Ich weiß nicht was ich im Editor für Actor.State machen soll. Vielleicht ist ja einer von euch so nett und zeigt mir einen Scrennshot von seinen Einstellungen im SVG Editor.

Danke und Gruß Rolf

Frank-Synology-DS215J

#733
Hallo zusammen, ich modifiziere per dummy und notify mehrere PMW Module mit attr. Dabei fasse ich mehrere Räume zusammen, damit ich mit einem Klick eine Gruppe von Räumen von 20.5 auf 18.5 Grad und umgekehrt setzen kann. Dabei hat sich bei einer gewünschten Raumtemperatur von 20.5 folgende Konfiguration bewährt:
tempCosy 20.6,tempDay 20.5,tempEnergy 20.7, tempNight 20.5 und bei einer Raumtemperatur von 18.5 folgende Werte:
tempCosy 18.6,tempDay 18.5,tempEnergy 18.7, tempNight 18.5

Das funktioniert auch ganz gut, aber nach einigen sekunden wird alles wieder auf den Ursprungswert gesetzt. Was mache ich falsch ?

define Temperatur_Setup_Daniel dummy
attr Temperatur_Setup_Daniel setList 18.5 20.5
attr Temperatur_Setup_Daniel webCmd 18.5 : 20.5
define Temperatur_Setup_Daniel_notify notify Temperatur_Setup_Daniel:18.5|20.5
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_SZ_PWM tempCosy 18.6"):fhem ("attr OG_Daniel_SZ_PWM tempCosy 20.6")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_SZ_PWM tempDay 18.5"):fhem ("attr OG_Daniel_SZ_PWM tempDay 20.5")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_SZ_PWM tempEnergy 18.7"):fhem ("attr OG_Daniel_SZ_PWM tempEnergy 20.7")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_SZ_PWM tempNight 18.5"):fhem ("attr OG_Daniel_SZ_PWM tempNight 20.5")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_WZ_PWM tempCosy 18.6"):fhem ("attr OG_Daniel_WZ_PWM tempCosy 20.6")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_WZ_PWM tempDay 18.5"):fhem ("attr OG_Daniel_WZ_PWM tempDay 20.5")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_WZ_PWM tempEnergy 18.7"):fhem ("attr OG_Daniel_WZ_PWM tempEnergy 20.7")}
{$EVENT eq "18.5"?fhem ("attr OG_Daniel_WZ_PWM tempNight 18.5"):fhem ("attr OG_Daniel_WZ_PWM tempNight 20.5")}


Wenn ich auf 18.5 Grad geklickt habe wird nach einigen Sekunden wieder die Routine für 20.5 Grad ausgelöst.
Last unsaved structural changes:
  attr OG_Daniel_SZ_PWM tempCosy 20.6
  attr OG_Daniel_SZ_PWM tempDay 20.5
  attr OG_Daniel_SZ_PWM tempEnergy 20.7
  attr OG_Daniel_SZ_PWM tempNight 20.5
  attr OG_Daniel_WZ_PWM tempCosy 20.6
  attr OG_Daniel_WZ_PWM tempDay 20.5
  attr OG_Daniel_WZ_PWM tempEnergy 20.7
  attr OG_Daniel_WZ_PWM tempNight 20.5



Frank-Synology-DS215J

#734
Auch so hat es leider nicht funktioniert, auch hier wurden die Werte wieder auf den Ursprungswert gesetzt

Zitatdefine Temperatur_Setup_Daniel_notify notify Temperatur_Setup_Daniel:18.5|20.5
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_SZ_PWM tempCosy 18.6") } else { fhem ("attr OG_Daniel_SZ_PWM tempCosy 20.6") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_SZ_PWM tempDay 18.5") } else { fhem ("attr OG_Daniel_SZ_PWM tempDay 20.5") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_SZ_PWM tempEnergy 18.7") } else { fhem ("attr OG_Daniel_SZ_PWM tempEnergy 20.7") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_SZ_PWM tempNight 18.5") } else { fhem ("attr OG_Daniel_SZ_PWM tempNight 20.5") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_WZ_PWM tempCosy 18.6") } else { fhem ("attr OG_Daniel_WZ_PWM tempCosy 20.6") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_WZ_PWM tempDay 18.5") } else { fhem ("attr OG_Daniel_WZ_PWM tempDay 20.5") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_WZ_PWM tempEnergy 18.7") } else { fhem ("attr OG_Daniel_WZ_PWM tempEnergy 20.7") } }
{ if ("$EVENT" eq "18.5" || "$EVENT" eq "20.5") { fhem ("attr OG_Daniel_WZ_PWM tempNight 18.5") } else { fhem ("attr OG_Daniel_WZ_PWM tempNight 20.5") } }