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

Offline sash.sc

  • Hero Member
  • *****
  • Beiträge: 1752
Antw:Fussbodenheizung mit PWM steuern
« Antwort #735 am: 14 November 2019, 06:24:39 »
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
Ist es das es du suchst?

(https://uploads.tapatalk-cdn.com/20191114/e13805a4e1108359481fa807a5d9a4a2.jpg)

Gesendet von meinem MI 9 mit Tapatalk

Raspi 2 Buster Lite; LaCrosse; HomeMatic; ESP8622 ;nanoCUL a-fw (433 & 868 MHz); MapleCUL; ZigBee
WLANduino 433&868 ; Shellys; MQTT2

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 434
Antw:Fussbodenheizung mit PWM steuern
« Antwort #736 am: 14 November 2019, 07:03:10 »
Hallo Rolf,

im GUI hab ich noch unter funktion "$fld[3]=~"on"?1:0". Das sehe ich im svg auf den ersten Blick nicht.
Hast du das?

Grüße Andy

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 434
Antw:Fussbodenheizung mit PWM steuern
« Antwort #737 am: 14 November 2019, 07:15:13 »
Hallo,
ich würde vermuten, dass du auch ein Event für 18.6 bekommst.
Bau doch mal ein log ein.
Grüße
Andy

Offline gadget

  • Full Member
  • ***
  • Beiträge: 164
Antw:Fussbodenheizung mit PWM steuern
« Antwort #738 am: 14 November 2019, 09:40:05 »
Auch so hat es leider nicht funktioniert, auch hier wurden die Werte wieder auf den Ursprungswert gesetzt

Attribute zur Laufzeit zu ändern ist IMHO ganz allgemein schlechter Stil.
Um die Solltemperatur mehrerer Heizkreise zu ändern, würde ich eine structure verwenden und die Zeitprofile bei PWMR ignorieren (state -> Manual).
Ich habe bei mir

defmod HK_WZ structure structHKWZ PWMR_HK05 PWMR_HK06 PWMR_HK07
attr HK_WZ alias SollTemperatur WZ
attr HK_WZ clientstate_behavior absolute
attr HK_WZ evaluateSetResult 1
attr HK_WZ group Heizung
attr HK_WZ icon hm-tc-it-wm-w-eu
attr HK_WZ propagateAttr ^$
attr HK_WZ Wohnzimmer
attr HK_WZ webCmd desired-temp


um die solltemperatur von  PWMR_HK05  PWMR_HK06 und  PWMR_HK07 gleichzeitig zu setzen.


diese haben dann jeweils noch

attr PWMR_HK05 userattr structHKWZ structHKWZ_map structexclude
attr PWMR_HK05 structHKWZ_map desired-temp
attr PWMR_HK05 webCmd desired-temp
attr PWMR_HK05 stateFormat state\
actorState\
<br>\
P: PID_PVal I: PID_IVal D: PID_DVal Pulse: PID_PWMPulse \
<br>\
Ist: temperature °C Soll: desired-temp-used °C
attr PWMR_HK05 devStateIcon FrostProtect:secur_frost_protection:frostProtect+off Manual:time_manual_mode Calculating:robot on:sani_floor_heating@red off:sani_floor_heating_off@blue


Wenn Du die Solltemperatur dann zu verschiedenen Zeiten anders haben will würde ich dann per DOIF die ganze structure umschalten.

Grüße,

gadget
« Letzte Änderung: 14 November 2019, 09:42:11 von gadget »

Offline wowogiengen

  • Full Member
  • ***
  • Beiträge: 255
Antw:Fussbodenheizung mit PWM steuern
« Antwort #739 am: 14 November 2019, 17:11:54 »
Hallo gadget, du hast geschrieben:

defmod HK_WZ structure structHKWZ PWMR_HK05 PWMR_HK06 PWMR_HK07
...
attr HK_WZ propagateAttr ^$
...

Das Attribut propagateAttr nimmt er bei mir nicht an, wenn ich dein defmod 1:1 übernehme...

Viele Grüße
Wolfgang



Edith sagt, dass ich ein FHEM-Update machen sollte... :-)
« Letzte Änderung: 14 November 2019, 17:32:10 von wowogiengen »

Offline MrBoe

  • New Member
  • *
  • Beiträge: 3
Antw:Fussbodenheizung mit PWM steuern
« Antwort #740 am: 27 Dezember 2019, 15:04:33 »
Hi!

Vor einigen Tagen habe ich damit angefangen und mehrere Dummys angelegt (Temperatursensoren + Relais) womit ich einfach das Schaltverhalten des PWM/PWMR Moduls überwachen wollte. Das alles sah auf den ersten Blick ganz gut aus. Die Dummy-Relais haben wie erwartet geschaltet, wenn ich an den Dummy-Temperatursensoren rumgespielt habe.
Ich habe die Feiertage genutzt und mit einem Pi Zero + Relais und MQTT einen Testaufbau auf meinem Schreibtisch ans laufen gebracht. Manuelles schalten funktioniert wie erwartet fehlerlos und ich bin meinem Ziel, die Fußbodenheizung über FHEM zu steuern gefühlt relativ nah. :) Auf dem ersten Blick sah das auch ganz gut aus - ich habe an den Dummy-Temperatursensoren eine niedrige Temperatur eingestellt und die entsprechenden Relais haben geschaltet. Doch sobald die Zieltemperatur erreicht oder sogar überschritten wird, schalten die Relais nicht mehr aus. Das PWM Modul meldet zwar, (mittels roomsOn / roomsOff) dass alle Räume ausgeschaltet sind, jedoch scheint es ein Problem bei der Übergabe vom PWMR Modul an das richtige Relais zu geben. Zu Testzwecken habe ich alles wieder auf Dummys umgestellt, welche korrekt geschaltet haben.
Lange Geschichte, gar kein Sinn: mit Dummys funktioniert alles, doch mit richtigen Relais leider nicht. Ich vermute also, dass irgendeine Konfiguration an den Relais nicht korrekt ist, obwohl ich diese mittels 'set relaisName on' und 'set relaisName off' in FHEM einwandfrei schalten kann.
Meine Konfiguration sieht derzeit sehr simpel aus. Ich nutze die PWM bzw PWMR Beispiele aus der Commandref:
define fh PWM 60 900 120 1 99,99 0,0,0define roomKitchen PWMR fh 1,0.11 tempKitchen relaisKitchenBeides funktioniert mit Dummys. Sobald ich aber einen Dummy durch mein MQTT Relais ersetze, schalten diese nicht mehr aus. Hier die Konfiguration eines Relais:
defmod FloorHeating_Kitchen MQTT2_DEVICE
attr FloorHeating_Kitchen IODev FhemMqttBroker
attr FloorHeating_Kitchen devStateIcon ON:sani_floor_heating@lightblue\
OFF:sani_floor_heating_off@lightblue
attr FloorHeating_Kitchen getList Temperature Temperature Server/Radiator/get
attr FloorHeating_Kitchen icon sani_floor_heating_neutral@lightblue
attr FloorHeating_Kitchen readingList Server/Radiator/flow/temperature:.* Flow\
Server/Radiator/return/temperature:.* Return\
Server/Radiator/state:.* Availability\
Kitchen/Radiator/state:.* state
attr FloorHeating_Kitchen room Küche,Server
attr FloorHeating_Kitchen setList on Kitchen/Radiator/set ON\
off Kitchen/Radiator/set OFF
attr FloorHeating_Kitchen userReadings FlowDegrees {int(100 * ReadingsVal("FloorHeating_Kitchen","Flow",0) + 0.5) / 100 ." °C"},\
ReturnDegrees {int(100 * ReadingsVal("FloorHeating_Kitchen","Return",0) + 0.5) / 100 ." °C"},\
AmbientTemperature {ReadingsVal("TempSensor_Kueche01","temperature",30.0)}
Die setList enthält, wie auch der Dummy, on und off. Leider komme ich an dieser Stelle nicht wirklich weiter. Was mache ich falsch? Sachdienliche Hinweise werden gerne entgegengenommen :)

Viele Grüße
Jan

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1364
Antw:Fussbodenheizung mit PWM steuern
« Antwort #741 am: 27 Dezember 2019, 15:56:06 »
Hallo,
Kann es sein, das deine Relais den Status als "ON" / "OFF" melden und nicht "on" / "off".Wenn der Status groß geschrieben ist, musst du am der Definition für den Actor noch anpassen.
FHEM 5.9(SVN) auf cubietruck mit HMUSB
FHEM 5.9(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.9(SVN) virtuell mit HMLAN | CUL

Offline MrBoe

  • New Member
  • *
  • Beiträge: 3
Antw:Fussbodenheizung mit PWM steuern
« Antwort #742 am: 27 Dezember 2019, 17:03:15 »
Klasse, ich glaub das war's! :) Habe nicht gedacht, dass die Groß- und Kleinschreibung einen Einfluss darauf hat, aber das werd ich mir für die Zukunft merken. Danke!

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1364
Antw:Fussbodenheizung mit PWM steuern
« Antwort #743 am: 27 Dezember 2019, 17:54:11 »
Hallo,

habe die Funktion in Betrieb nehmen wollen, aber deine Änderung vom 5.3. haut nicht richtig hin.

In Zeile 904 ReadingsVal($hash, "maxOffTimeCalculation", "off")muss $hash  durch $name ersetzt werden.

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.
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.Ä.

Guten Rutsch wünscht
stromer

FHEM 5.9(SVN) auf cubietruck mit HMUSB
FHEM 5.9(SVN) auf RPi1B mit HMser | CUNO
FHEM 5.9(SVN) virtuell mit HMLAN | CUL

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 434
Antw:Fussbodenheizung mit PWM steuern
« Antwort #744 am: 27 Dezember 2019, 18:18:20 »
Hallo Stromer,
danke für den Hinweis. Ich werde es mir anschauen.

Grüße Andy

Gesendet von meinem BTV-DL09 mit Tapatalk


Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 434
Antw:Fussbodenheizung mit PWM steuern
« Antwort #745 am: 30 Dezember 2019, 12:17:27 »
Fix ist nun im svn.

Grüße
Andy
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Skusi

  • Full Member
  • ***
  • Beiträge: 249
Antw:Fussbodenheizung mit PWM steuern
« Antwort #746 am: 01 Januar 2020, 11:54:50 »
Hallo, und ein gesundes Neues Jahr.

Auch ich habe mit der maxOffTime Funktion experimentiert, und mich gewundert das es nicht tut was ich erwartet hätte. Daruf das es an einem Fehler im Modul liegt, wäre ich nicht gekommen.
Umso Besser das es nun nach dem Update funktioniert.
Danke jamesgo !

Ein Frage habe ich aber noch:

Wann beginnt das Zeitfenster für die Taktung der Ventile. Wenn ich also alle 2 Stunden einen 20 min Takt einstelle, wann beginnen die 2 Std ?
Hintergrund: ich möchte vermeiden das die Heizkreise alle zur selben Zeit Ihren "Warmhalte Takt" fahren und es dadurch unnötige Leistungsspitzen für den Heizkessel gibt.
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 killah78

  • Full Member
  • ***
  • Beiträge: 140
Antw:Fussbodenheizung mit PWM steuern
« Antwort #747 am: 02 Januar 2020, 13:39:07 »
Hi, ich verwende auch zum Test mal diese PWM Steuerung für meine Fussbodenheizung.
Ich bin da noch etwas verwirrt, weil ich in die Errechnung der Pulswerter noch nicht so durchsteige.
Bräuchte da mal etwas Hilfe.
Wie wird dieser errechnet?
Habe auf den ersten Seiten dieses Beispiel gefunden:
(pulse = 900 * ( (delta-temp * factor) ** 2) + offset)
(324 = 900 * ((0.5 * 1) **2 + 0.11))

Also Pulslänge 324 Sekunden von 900 Sekunden. Ist dieses doppelte Malzeichen irgendwas mathematisch Spezielles? Warum wird es als geteilt gerechnet?
Ich habe mit dieser Vorlage jetzt versucht meinen Puls zu errechnen:
Solltemp: 21,5
Ist-Temp: 20,6
Delta-Temp also 0,9
(((0,9 * 1,2) ** 2) + 0.11) = 0,65
Ich habe allerdings einen PWMPulse = 100. Warum?
Oder ist diese doppelte Multiplikation doch irgendwas anderes?

Danke und Gruss
killah78

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 434
Antw:Fussbodenheizung mit PWM steuern
« Antwort #748 am: 02 Januar 2020, 14:24:16 »

Ein Frage habe ich aber noch:

Wann beginnt das Zeitfenster für die Taktung der Ventile. Wenn ich also alle 2 Stunden einen 20 min Takt einstelle, wann beginnen die 2 Std ?
Hintergrund: ich möchte vermeiden das die Heizkreise alle zur selben Zeit Ihren "Warmhalte Takt" fahren und es dadurch unnötige Leistungsspitzen für den Heizkessel gibt.

Hallo Skusi,
ebenfalls ein gutes neues Jahr.

Ich habe das so implementiert dass ein Raum der die volle Wartezeit (also 2:00) hinter sich hat, einen Raum der die halbe Wartezeit (also 1:00) überschritten hat "mitzieht". Z.B. der erste Raum war 2:00 Stunden aus, der zweite 1:50,  der dritte 1:01, der vierte 0:30 führt dazu dass Raum eins, zwei und drei eingeschalten werden. Vier aber nicht.

Diese Implementierung hab bei mir zufriedenstellend funktioniert.

Grüße
Andy

Offline jamesgo

  • Full Member
  • ***
  • Beiträge: 434
Antw:Fussbodenheizung mit PWM steuern
« Antwort #749 am: 02 Januar 2020, 14:29:29 »

Also Pulslänge 324 Sekunden von 900 Sekunden. Ist dieses doppelte Malzeichen irgendwas mathematisch Spezielles? Warum wird es als geteilt gerechnet?
Ich habe mit dieser Vorlage jetzt versucht meinen Puls zu errechnen:
Solltemp: 21,5
Ist-Temp: 20,6
Delta-Temp also 0,9
(((0,9 * 1,2) ** 2) + 0.11) = 0,65
Ich habe allerdings einen PWMPulse = 100. Warum?
Oder ist diese doppelte Multiplikation doch irgendwas anderes?

Hallo Killah78,

das "**" wird as "hoch 2" ausgewertet nicht als division.

(((0,9 * 1,2) ** 2) + 0.11) = (1.08 ** 2) +0.11 = (1.08 * 1.08) + 0.11 = 1.1664 + 0.11 = 1.2764 ... ist größer als 1 also 100%

Ich kann dir aber nur empfehlen den PID Regler zu verwenden und nicht den einfachen P-Regler.

Grüße
Andy

 

decade-submarginal