Autor Thema: Fussbodenheizung mit PWM steuern  (Gelesen 104977 mal)

Offline Morgennebel

  • Hero Member
  • *****
  • Beiträge: 1445
  • Proud systemd-free zone
Antw:Fussbodenheizung mit PWM steuern
« Antwort #765 am: 04 Februar 2020, 07:21:45 »
Moin Moin,


kann es sein, daß PWM/PWMR nicht mit ConfigDB zusammenläuft?

Ich habe reproduzierbar nach jedem "update" gefolgt von "shutdown restart" das Problem, daß alle PWRs nicht mehr arbeiten. Die Aktoren sind im unknown-State und verbleiben in dem Schaltzustand vor dem restart Befehl, die Zimmer werden kalt - oder sehr warm.

Lösung ist, in jedem PWMR auf das "DEF"-Icon zu klicken und die Definition unverändert abzuspeichern. Danach geht der Raum auf Initialized und fängt an zu arbeiten.

Im Anhang die PWM/PMR heute Morgen sowie ein List eines PWMRs, sowie ein List nach dem Neuabspeichern der unveränderten DEF.

Nicht arbeitender PWMR:

Internals:
   ACTOR      S_FussbodenLennart
   DEF        PWM.FussbodenHeizung 1,0 HM_OG.LENNART_Wandthermostat_Climate:measured-temp S_FussbodenLennart dummy 1:0.8:0.3,5:0.5,10
   FUUID      5c5aa285-f33f-4ba1-72c2-699dc09be67020d4
   FVERSION   93_PWMR.pm:0.210300/2020-01-21
   INTERVAL   300
   IODev     
   NAME       PW_RoomLennart
   NR         338
   STATE      From HM_OG.LENNART_Wandthermostat_Climate
   TEMPSENSOR HM_OG.LENNART_Wandthermostat_Climate:measured-temp
   TYPE       PWMR
   WINDOW     
   a_regexp_on on
   actor      S_FussbodenLennart
   c_PID_DFactor 0.5
   c_PID_DLookBackCnt 10
   c_PID_IFactor 0.3
   c_PID_ILookBackCnt 5
   c_PID_PFactor 0.8
   c_PID_useit 1
   c_autoCalcTemp 1
   c_desiredTempFrom HM_OG.LENNART_Wandthermostat_Climate:desired-temp
   c_frostProtect 0
   c_tempC    22
   c_tempD    20
   c_tempE    19
   c_tempFrostProtect 6
   c_tempN    16
   c_tempRule1 1-5 0600,D 2200,N
   c_tempRule2 6-0 0800,D 2200,N
   c_tempRule3
   c_tempRule4
   c_tempRule5
   c_tempRuleS D
   d_name     HM_OG.LENNART_Wandthermostat_Climate
   d_reading  desired-temp
   d_regexpTemp (\d[\d\.]+)
   h_deltaTemp 0
   h_deltaTemp_D 0
   p_actor    S_FussbodenLennart
   p_factor   1,0
   p_pid      1:0.8:0.3,5:0.5,10
   p_tsensor  HM_OG.LENNART_Wandthermostat_Climate:measured-temp
   p_window   dummy
   t_reading  measured-temp
   t_regexp   ([\d\.]+)
   t_sensor   HM_OG.LENNART_Wandthermostat_Climate
   w_regexp   .*[Oo]pen.*
   windows    dummy
   READINGS:
     2020-02-03 09:26:02   PID_DVal        0.00
     2020-02-03 09:26:02   PID_IVal        -0.15
     2020-02-03 09:26:02   PID_PVal        0.00
     2020-02-03 09:26:02   PID_PWMOnTime   00:00
     2020-02-03 09:26:02   PID_PWMPulse    0
     2020-02-03 09:27:01   actorState      unknown
     2020-02-04 07:10:54   desired-temp    21.0
     2019-09-26 18:45:58   desired-temp-until no
     2020-02-03 09:26:02   desired-temp-used 20.0
     2020-02-03 09:26:02   energyused      000000000000000000000000000000
     2020-02-03 09:26:02   energyusedp     0.0
     2020-02-03 08:39:01   lastswitch      1580715541.85429
     2019-04-13 07:57:42   manualTempDuration 0
     2020-02-03 09:26:02   oldpulse        0.0001
     2020-02-04 07:10:54   state           From HM_OG.LENNART_Wandthermostat_Climate
     2020-02-03 09:26:02   temperature     20.1
   helper:
     PID_D_previousTemps:
     PID_I_previousTemps:
Attributes:
   desiredTempFrom HM_OG.LENNART_Wandthermostat_Climate:desired-temp
   frostProtect 0
   room       R_HWR

Nach Neuabspeichern der Definition:

Internals:
   ACTOR      S_FussbodenLennart
   DEF        PWM.FussbodenHeizung 1,0 HM_OG.LENNART_Wandthermostat_Climate:measured-temp S_FussbodenLennart dummy 1:0.8:0.3,5:0.5,10
   FUUID      5c5aa285-f33f-4ba1-72c2-699dc09be67020d4
   FVERSION   93_PWMR.pm:0.210300/2020-01-21
   INTERVAL   300
   IODev      PWM.FussbodenHeizung
   NAME       PW_RoomLennart
   NR         338
   STATE      From HM_OG.LENNART_Wandthermostat_Climate
   TEMPSENSOR HM_OG.LENNART_Wandthermostat_Climate:measured-temp
   TYPE       PWMR
   WINDOW     
   a_regexp_on on
   actor      S_FussbodenLennart
   c_PID_DFactor 0.5
   c_PID_DLookBackCnt 10
   c_PID_IFactor 0.3
   c_PID_ILookBackCnt 5
   c_PID_PFactor 0.8
   c_PID_useit 1
   c_autoCalcTemp 1
   c_desiredTempFrom HM_OG.LENNART_Wandthermostat_Climate:desired-temp
   c_frostProtect 0
   c_tempC    22
   c_tempD    20
   c_tempE    19
   c_tempFrostProtect 6
   c_tempN    16
   c_tempRule1 1-5 0600,D 2200,N
   c_tempRule2 6-0 0800,D 2200,N
   c_tempRule3
   c_tempRule4
   c_tempRule5
   c_tempRuleS D
   d_name     HM_OG.LENNART_Wandthermostat_Climate
   d_reading  desired-temp
   d_regexpTemp (\d[\d\.]+)
   h_deltaTemp -3.0
   h_deltaTemp_D -3.0
   p_actor    S_FussbodenLennart
   p_factor   1,0
   p_pid      1:0.8:0.3,5:0.5,10
   p_tsensor  HM_OG.LENNART_Wandthermostat_Climate:measured-temp
   p_window   dummy
   t_reading  measured-temp
   t_regexp   ([\d\.]+)
   t_sensor   HM_OG.LENNART_Wandthermostat_Climate
   w_regexp   .*[Oo]pen.*
   windows    dummy
   READINGS:
     2020-02-04 07:16:57   PID_DVal        0.00
     2020-02-04 07:16:57   PID_IVal        1
     2020-02-04 07:16:57   PID_PVal        1
     2020-02-04 07:16:57   PID_PWMOnTime   15:00
     2020-02-04 07:16:57   PID_PWMPulse    100
     2020-02-04 07:15:57   actorState      on
     2020-02-04 07:15:54   desired-temp    21.0
     2019-09-26 18:45:58   desired-temp-until no
     2020-02-04 07:16:57   desired-temp-used 21.0
     2020-02-04 07:16:57   energyused      000000000000000000000000000011
     2020-02-04 07:16:57   energyusedp     6.7
     2020-02-04 07:15:57   lastswitch      1580796957.69834
     2019-04-13 07:57:42   manualTempDuration 0
     2020-02-04 07:16:57   oldpulse        1
     2020-02-04 07:15:54   state           From HM_OG.LENNART_Wandthermostat_Climate
     2020-02-04 07:16:57   temperature     18.0
   helper:
     PID_D_previousTemps:
       18.0
       18.0
     PID_I_previousTemps:
       18.0
       18.0
Attributes:
   desiredTempFrom HM_OG.LENNART_Wandthermostat_Climate:desired-temp
   frostProtect 0
   room       R_HWR

Danke, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 433
Antw:Fussbodenheizung mit PWM steuern
« Antwort #766 am: 04 Februar 2020, 19:35:44 »
Hallo Morgennebel,

gibt es bei der configDB eine (definierbare) Reihenfolge in der die Konfiguration eingelesen wird?

Für mich sieht es so aus als ob die PWM definition erst nach dem PWMR entsteht (fehlender IODev Bezug).

Kannst du mal das Loglevel auf 5 setzen, einen shutdown/restart durchführen und dann das fhem log posten?

Grüße
Andy

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 433
Antw:Fussbodenheizung mit PWM steuern
« Antwort #767 am: 10 Februar 2020, 18:10:57 »
Hallo Skusi,

ich hab mir das jetzt angeschaut. Die "maxOffTimeProtection" hat aktuell keinen Einfluss auf die Berechnung des Wärmebedarfs und damit auch nicht auf pulseAvg3 - ich klassifiziere das als Fehler.

D.h. erst wird der Puls für den Raum berechnet (und auch and die PWM logik zurückgemeldet) und dann wird "maxOffTimeProtection" behandelt - ohne den Puls zu korrigieren.

Werde das fixen.

Grüße
Andy
Stimmt nicht ganz. Die "maxOffTimeProtection" wird im PWMR Modul komplett separat behandelt, d.h. es wird kein dummy Heizbedarf ermittelt.
Im PWM Modul hingegen wird die normale Logik durchlaufen welche steuert wieviele Räume gleichzeitig schalten, gleichzeitig an usw ...
Als notwendiger Puls wird hier das Reading "MaxPulse" (bei mir 1) verwendet und damit gibt es eine Auswirkung auf z.B. pulseAvg3.

Damit gibt es keine Notwendigkeit eines Bugfix :-)

Grüße
Andy

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 248
Antw:Fussbodenheizung mit PWM steuern
« Antwort #768 am: 13 Februar 2020, 18:05:31 »
Hallo,
ich habe mich am letzten Wochenende mal dran gemacht mein System auf einen zweiten Pi mit aktuellem Buster neu aufzusetzen, um dann sauber umzusziehen.

Also einen Pi3 mit boot von SSD und Buster als Image susammengebastelt. Lief dann auch erst alles sehr schon.
Am Montag Morgen hing der ganze kram dann und nix war wie immer. Genau das was man am Montag zum aufstehen braucht ;-)

Also schnell den alten Pi2 wieder dran, und alles war erstmal wieder gut. Nun habe ich seit Tagen bei laufen um den neuen zu beobachten.
Am Neuen hängt ausser der SSD keine weiter Hardware. Dadurch der der am LAN hängt gibt es eben alles was Befehle über Wlan bekommt doppelt. Das ist aber meisten Licht und mein Heitkessel.

So das aber nur Vorgeshichte.

Nun hat sich der Neue heute endlich mal verabschiedet. Nach Untersuchung stelt sich heraus das Fhem in dauer Boot Schleife häng und immer mit folgender Meldung abschmiert:

Illegal division by zero at ./FHEM/94_PWM.pm line 454.
Ich hab mir die Zeile im Modul mal angesehen, kann aber nicht viel damit anfangen.

Hat jemand einen Tipp zur Erklärung des Absturzes ?
Ist das womöglich ein Bug ?
Was kann ich tun ?
Oder liegt das an dem provisorischen Betrieb ohne Sensoren und Aktoren ?

Ich hab dann die def in der config auskommentiert, und dann startet Fhem. Natürlich ohne alle PWMR module.

Gruß Skusi
RPI2, NanoCul433 (a-culfw), NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 433
Antw:Fussbodenheizung mit PWM steuern
« Antwort #769 am: 14 Februar 2020, 07:40:38 »
Hallo Skusi,

die Zeile 454 ist folgendes
  my $minRoomsOn = $hash->{NoRoomsToStayOn}

  if ($minRoomsOn > 0) {
...
    if ($roomsActive == 0 or $hash->{NoRoomsToStayOnThreshold} == 0 or $pulseSum/$roomsCounted < $hash->{NoRoomsToStayOnThreshold})
...
  }

$roomsCounted zählt die Räume die nicht auf "disabled" stehen. Den division durch 0 könnte man natürlich abfangen.
Wenn es keine Räume gibt kommt halt immer 0 raus. Du kannst aber "NoRoomsToStayOn" auf 0 setzen dann kommst du auch nicht an die Stelle.

Ich hab noch nie ein Linux System gesehen dass in einer boot Schleife hängt weil eine Anwendung beim starten abstürzt! Das kann nicht die Ursache sein.

Hast du einen USB/ttl Adapter? Dann könntest du dich mit dem "alten system" auf die serielle Konsole des "neuen" hängen. Da sollte das System noch Meldungen ausgeben bevor  es neu startet.

Steht denn nichts brauchbares in den /var/log/syslog* logfiles?

Grüße
Andy


Offline Skusi

  • Full Member
  • ***
  • Beiträge: 248
Antw:Fussbodenheizung mit PWM steuern
« Antwort #770 am: 14 Februar 2020, 08:05:27 »
Nicht der raspberry bootet immer neu, nur Fhem startet an dieser Stelle neu durch.
Sorry, falsch ausgedrückt.
RPI2, NanoCul433 (a-culfw), NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 433
Antw:Fussbodenheizung mit PWM steuern
« Antwort #771 am: 14 Februar 2020, 08:31:48 »
ok, dann sollte NoRoomsToStayOn eine kurzfristige Lösung sein

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 248
Antw:Fussbodenheizung mit PWM steuern
« Antwort #772 am: 14 Februar 2020, 16:28:31 »
Ich habe nun in der config Datei die def für PWM entsprechend geändert :

define FBH_Regler PWM 600 3600 300 0.95 2,1 0,4,0.6 Waermebedarf,0.6,300,,180
Also NoRoomsToStayOn auf 0

Leider funktioniert das nicht. Auch mit der geänderten Def startet Fhem nicht durch und stürzt bei
Illegal division by zero at ./FHEM/94_PWM.pm line 454.ab.

Noch ne Idee ?

Ich frag mich auch warum diese Meldung und der Absturz gott sei dank bei meinem Life System nicht passiert.
RPI2, NanoCul433 (a-culfw), NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 248
Antw:Fussbodenheizung mit PWM steuern
« Antwort #773 am: 15 Februar 2020, 13:18:24 »
Also ich hab es jetzt so zum laufen gebracht:

-Die gesamte PWM Definition im Config File gelöscht.
-Fhem gestartet
-PWM neu definiert und mit den selben Attributen versehen wie vorher.

-Läuft ! Keine Fehlermeldungen beim restart im Log !???
RPI2, NanoCul433 (a-culfw), NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

 

decade-submarginal