Micropelt iRTV Kleinstellantrieb: Unterschied zwischen den Versionen

Aus FHEMWiki
KKeine Bearbeitungszusammenfassung
(Korrektur Anlernvorgang, Tabelle Readings, Tabelle Attribute, Hinzufügen Tabelle Setter)
Zeile 15: Zeile 15:
|HWManufacturer=Micropelt GmbH
|HWManufacturer=Micropelt GmbH
}}
}}
{{Baustelle}}


'''EnOcean-Micropelt-iRTV-Kleinstellantrieb''' ist ein batterieloser Kleinstellantrieb für Raumtemperaturregelung
'''EnOcean-Micropelt-iRTV-Kleinstellantrieb''' ist ein batterieloser Kleinstellantrieb für Raumtemperaturregelung
Zeile 30: Zeile 28:
#falls vorhanden, alle bisherigen Fhem Devices des Aktors löschen und nach Speichern der geänderten Konfiguration Fhem neu starten
#falls vorhanden, alle bisherigen Fhem Devices des Aktors löschen und nach Speichern der geänderten Konfiguration Fhem neu starten
#Fhem in Lernmodus versetzen: <code><nowiki>set <IODev> teach <time/s></nowiki></code>
#Fhem in Lernmodus versetzen: <code><nowiki>set <IODev> teach <time/s></nowiki></code>
#Taster am iTRV einmal drücken. Der erfolgreiche Anlernvorgang wird durch Aufleuchten der Status-LED quittiert. (Fehlanzeige: 6mal Blinken)
#Taster am iTRV zweimal drücken (Montageposition = 0%). Der erfolgreiche Anlernvorgang wird durch einmaliges Aufleuchten der Status-LED quittiert. (Fehlanzeige: 6mal Blinken)
#Nach Montage Taster einmal drücken - das Ventil fährt die von FHEM gewünschte Position an.
#Aktor-Device wird in Fhem automatisch mit allen notwendigen Parametern angelegt.
#Aktor-Device wird in Fhem automatisch mit allen notwendigen Parametern angelegt.


Standardmäßig nutzt Fhem den eigenen PID-Regler des Moduls, der auf die Eingabe einer Temperaturvorgabe wartet:
Standardmäßig nutzt Fhem den eigenen PID-Regler des Moduls, der auf die Eingabe einer Temperaturvorgabe wartet:
<code><nowiki>set <IODev> desired-temp <°C></nowiki></code>
<code><nowiki>set <name> desired-temp <wert°C></nowiki></code>
 
Solange kein Referenz-Device mit <code><nowiki>set <name> temperatureRefDev <Temperaturdevice mit einem Reading temperature></nowiki></code> angegeben wurde, benutzt das Gerät einen internen Temperaturfühler, der bauartbedingt nicht geeignet für eine Raumregelung ist.
 
Zur Sicherheit des Heizkörperventils gegen Festsetzen durch Rost oder Kalk, wird im Sommermodus pro Tag eine Servicefahrt – einmal auf und zu – des Ventils durchgeführt. Zusätzlich wird dreimal am Tag die Verbindung mit FHEM aufgerufen. Das dient zur Kontrolle, dass alle bislang verbundenen Devices noch vorhanden sind und ordnungsgemäß miteinander kommunizieren.


Solange kein Referenz-Device mit <code><nowiki>set <IODev> temperatureRefDev <Temperaturdevice mit einem Reading temperature></nowiki></code> angegeben wurde, benutzt das Gerät einen internen Temperaturfühler, der bauartbedingt nicht geeignet für eine Raumregelung ist.
Wenn mehr als dreimal hintereinander die Funkkommunikation mit FHEM fehlschlug (was mehr als 30 Minuten im Normalbetrieb bedeutet), sendet der Aktor nur noch alle Stunde und - falls das Ventil zu weniger als 50 Prozent geöffent ist, wird es auf 50% aufgefahren.


{{Hinweis|Zum Energiesparen verarbeitet der Aktor nur alle 586 oder 587 Sekunden (Sommermodus: alle 8 Stunden) Telegramme von Fhem. Darum zeigen Fhem-Befehle keine sofortige Aktorreaktion, sondern erst nach der genannten Zeitspanne. Die Rückmeldung des Aktors an Fhem über die erfolgte Befehlsausführung erfolgt wiederum erst nach erneutem Ablauf der Zeitspanne.
{{Hinweis|Zum Energiesparen verarbeitet der Aktor nur alle 586 oder 587 Sekunden (Sommermodus: alle 8 Stunden) Telegramme von Fhem. Darum zeigen Fhem-Befehle keine sofortige Aktorreaktion, sondern erst nach der genannten Zeitspanne. Die Rückmeldung des Aktors an Fhem über die erfolgte Befehlsausführung erfolgt wiederum erst nach erneutem Ablauf der Zeitspanne.
Falls keine Temperaturdaten geliefert werden, geht das Device in einen Stromsparmodus und fragt nur noch alle 2 Stunden an.
Falls keine Temperaturdaten geliefert werden, geht das Device in einen Stromsparmodus und fragt nur noch alle 2 Stunden an.
Zur Vermeidung dieses Stromsparmodus, in dem eben auch nicht nachgeregelt wird, sollte bei Referenzgeräte wie einem  Raumthermometer das attr event-on-update '''nicht''' benutzt werden. Falls die Temperatur sich 1 Stunde lang nicht ändert, würde entsprechend auch eine Stunde lang kein Referenzwert gesendet, der Stelltrieb in den Sparmodus gehen und für die nächsten 2 Stunden nun kommende Änderungen nicht verarbeiten.}}
Zur Vermeidung dieses Stromsparmodus, in dem eben auch nicht nachgeregelt wird, sollte bei Referenzgeräte wie einem  Raumthermometer das attr event-on-update '''nicht''' benutzt werden. Falls die Temperatur sich 1 Stunde lang nicht ändert, würde entsprechend auch eine Stunde lang kein Referenzwert gesendet, der Stelltrieb in den Sparmodus gehen und für die nächsten 2 Stunden nun kommende Änderungen nicht verarbeiten.}}
=== set <name> <setter> <wert> ===
{| class="wikitable sortable"
|-
! set !! Wertebereich/Default !! Beschreibung
|-
|desired-temp||10...30||Soll-Temperatur für den FHEM-PID-Controler, der PID-Controler des FHEM-Moduls wird '''ein'''geschaltet
|-
|liftSet||||??
|-
|runInit||||beim nächsten Funkkontakt wird ein Kalibrierungslauf angestoßen
|-
|setpoint||0...100||Setze Aktorposition auf X%; der PID-Controler des FHEM-Moduls wird '''aus'''geschaltet
|-
|setpointTemp||10...30||Soll-Temperatur für den FHEM-PID-Controler, der PID-Controler des FHEM-Moduls wird '''ein'''geschaltet; ein runInit wird ausgelöst
|-
|ValveCloses||||Ventil auf 0% setzen; der PID-Controler des FHEM-Moduls wird '''aus'''geschaltet
|-
|ValveOpens||||Ventil auf 100% setzen; der PID-Controler des FHEM-Moduls wird '''aus'''geschaltet
|-
|}


=== Readings ===
=== Readings ===
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Zeile 50: Zeile 73:
|actuatorState||ok||||
|actuatorState||ok||||
|-
|-
|alarm||no_response_from_actuator||||nur fallweise
|alarm||no_response_from_actuator||||nur fallweise: wenn Kommunikation ausgefallen; Aktor blinkt dreimal
|-
|-
|battery||ok||||
|battery||ok||||wird vom iTRV nicht gesendet
|-
|-
|cover||closed||||
|cover||closed||||wird vom iTRV nicht gesendet
|-
|-
|delta||-9.75||||
|delta||-9.75||||
|-
|-
|energyInput||disabled||||
|energyInput||disabled||||wird vom iTRV nicht gesendet
|-
|-
|energyStorage||charged||||
|energyStorage||charged||||
|-
|-
|maintenanceMode||off||||
|maintenanceMode||off||'''off''' / runinit||
|-
|-
|operationMode||setpointTemp||'''setpointTemp''' / summerMode / setpointSet||
|operationMode||setpointTemp||'''setpointTemp''' / summerMode / setpointSet||Betrieb mit Stellwert-Vorgabe / mit Temperatursollwert-Vorgabe / Ruhebetrieb im Sommer
|-
|-
|operationModeRestore||setpointTemp||||nur fallweise: Modus, der beim Beenden des summermode gesetzt wird
|operationModeRestore||setpointTemp||||nur fallweise: Modus, der beim Beenden des summermode gesetzt wird
|-
|-
|pidAlarm||dead_sensor||||
|pidAlarm||||actuator_in_errorPos / dead_sensor / no_temperature_value / setpoint_device_missing||
|-
|-
|pidState||alarm||||
|pidState||||processing|alarm / idle / '''processing''' / start / stop||
|-
|-
|p_d||0||||
|p_d||0||||
Zeile 78: Zeile 101:
|p_p||-487.5||||
|p_p||-487.5||||
|-
|-
|pidState||processing||||
|roomTemp||22.0||||interne iRTV-Temperatur (wenn attr setpointRefDev nicht gesetzt wird diese Temperatur benutzt - ist für Regelung nicht brauchbar wegen Verfälschung durch Vorlauftemperatur, höhere Temperaturen sind Indiz für Wärmeangebot vom Vorlauf, das den Energiespeicher lädt)
|-
|-
|roomTemp||22.0||||vom iRTV gemessene Temperatur (wenn attr setpointRefDev nicht gesetzt; diese Temperatur ist für Regelung nicht brauchbar wegen Verfälschung durch Vorlauftemperatur)
|selfCtrl||off||||iTRV hat keinen eigenen PID-Controler
|-
|-
|selfCtrl||off||||
|setpoint||0||||beim letzten Funkkontakt gemeldete Ist-Position vom Aktuator in %
|-
|-
|setpoint||0||||Aktuatorstellung in % beim letzten Aufwachen gemeldet
|setpointSet||15||||beim nächsten Funkkontakt gesendete Aktuatorstellung in %
|-
|-
|setpointSet||15||||zur Verarbeitung anstehende nächste Aktuatorstellung in %
|setpointTemp||15.0||||Soll-Temperatur. Kann gesetzt werden über <code><nowiki>set <IODev> desired-temp <°C></nowiki></code> oder auch durch MOdule wieHeating_Control oder WeekdayTimer
|-
|setpointTemp||15.0||||zur Verarbeitung anstehende nächste Soll-Temperatur. Kann gesetzt werden über <code><nowiki>set <IODev> desired-temp <°C></nowiki></code> oder auch durch MOdule wieHeating_Control oder WeekdayTimer
|-
|-
|setpointTempRestore||16.0 ||||nur fallweise: setpointTemp, die bei Beenden des summermode gesetzt wird
|setpointTempRestore||16.0 ||||nur fallweise: setpointTemp, die bei Beenden des summermode gesetzt wird
Zeile 96: Zeile 117:
|teach||4BS teach-in accepted EEP A5-20-01 Manufacturer: Micropelt GmbH||||
|teach||4BS teach-in accepted EEP A5-20-01 Manufacturer: Micropelt GmbH||||
|-
|-
|temperature||24.75||||beim letzten Aufwachen gemeldete Raumtemperatur vom Referenz-Sensor (siehe Attribut temperatureRefDev)
|temperature||24.75||||zuletzt gemeldete Raumtemperatur vom Referenz-Sensor (siehe Attribut temperatureRefDev)
|-
|-
|waitingCmds||runInit||||
|waitingCmds||runInit||||
Zeile 102: Zeile 123:
|wakeUpCycle||240||||
|wakeUpCycle||240||||
|-
|-
|window||closed||open / '''closed'''||wird vom iTRV nicht unterstützt
|window||closed||open / '''closed'''||wird vom iTRV nicht gesendet
|-
|-
|}
|}


=== Attribute ===
=== Attribute ===
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Zeile 120: Zeile 140:
|manufID||049||||
|manufID||049||||
|-
|-
|pidActorErrorPos||20||||
|pidActorErrorPos||20||||iTRV ignoriert diesen Wert und benutzt '''50%''' oder den zuvor gesendeten höheren Stellwert
|-
|-
|pidActorLimitLower||1||||bei 0% Öffnung wird eine Initialisierung ausgelöst?
|pidActorLimitLower||1||||bei 0% Öffnung wird eine Initialisierung ausgelöst?
Zeile 128: Zeile 148:
|pidFactor_P||50||||
|pidFactor_P||50||||
|-
|-
|setpointRefDev||||||Das Device, das die Ventilöffnung (Aktuator) vorgibt, z.B. ein Raumregler, FHEM-PID20. Typischerweise nicht gesetzt, dann wird der modul-eigene PID-Controler benutzt
|setpointRefDev||||||Das Device, das die Ventilöffnung (Aktuator) vorgibt, z.B. ein Raumregler, FHEM-PID20. Typischerweise '''nicht gesetzt, es wird der modul-eigene PID-Controler benutzt'''
|-
|-
|setpointTempRefDev||T.Kueche||||Ein Device (neben EnOcean durchaus auch 1-Wire, Homematic oder DOIF, Heating_Control), das die Solltemperatur vorgibt
|setpointTempRefDev||CC.Kueche||||Ein Device, das die Solltemperatur vorgibt. Z.B.: Heating_Control
|-
|-
|subDef||********||||
|subDef||********||||Sender-ID
|-
|-
|subType||hvac.01||||
|subType||hvac.01||||
Zeile 140: Zeile 160:
|teachMethod||4BS||||
|teachMethod||4BS||||
|-
|-
|temperatureRefDev||T.Kueche||||Das Device, das die Ist-Temperatur meldet
|temperatureRefDev||T.Kueche||||Das Device, das fortlaufend die Ist-Temperatur meldet
|-
|wakeUpCycle||270||||
|-
|-
|webCmd||setpointTemp||||
|webCmd||setpointTemp||||
Zeile 150: Zeile 168:
== ToDos ==
== ToDos ==
Timing der Sensordaten (Sensor dead) und no_response_from_actuator,Auswirkung von event-on-NN beim Sensor, wakeupCycle
Timing der Sensordaten (Sensor dead) und no_response_from_actuator,Auswirkung von event-on-NN beim Sensor, wakeupCycle
Sorgt Setpoint 0 für eine Initialisierung?
Sorgt Setpoint 0 für eine Initialisierung?
Optimierung von p_i,p_d,p_p in der Praxis
Optimierung von p_i,p_d,p_p in der Praxis
Bedeutung von set <name> liftSet


== Links ==
== Links ==

Version vom 23. Oktober 2016, 10:51 Uhr

Micropelt iRTV Kleinstellantrieb
Batterieloser Heizungssteller
Allgemein
Protokoll EnOcean
Typ Aktor
Kategorie EnOcean
Technische Details
Kommunikation EnOcean Funk, 868Mhz
Kanäle 1 (bidirektional)
Betriebsspannung 3.7 V, LiOn-Akku
Leistungsaufnahme
Versorgung TEG (Thermoelektrischer Generator;autark)
Abmessungen 59 × 64 × 59 [mm] (Breite × Höhe × Tiefe), Gewicht 260 g
Sonstiges
Modulname EnOcean
Hersteller Micropelt GmbH


EnOcean-Micropelt-iRTV-Kleinstellantrieb ist ein batterieloser Kleinstellantrieb für Raumtemperaturregelung

Features

Kleinstellantrieb, der ohne Batterien auskommt, da er über einen thermolektrischen Generator seine Energie aus der Temperaturdifferenz des Heizungsvorlaufes und der Raumtemperatur bezieht.

Hinweise zum Betrieb mit Fhem

Definition/Anlernvorgang

4BS-Bidirektionales-Teach-In:

  1. falls vorhanden, alle bisherigen Fhem Devices des Aktors löschen und nach Speichern der geänderten Konfiguration Fhem neu starten
  2. Fhem in Lernmodus versetzen: set <IODev> teach <time/s>
  3. Taster am iTRV zweimal drücken (Montageposition = 0%). Der erfolgreiche Anlernvorgang wird durch einmaliges Aufleuchten der Status-LED quittiert. (Fehlanzeige: 6mal Blinken)
  4. Nach Montage Taster einmal drücken - das Ventil fährt die von FHEM gewünschte Position an.
  5. Aktor-Device wird in Fhem automatisch mit allen notwendigen Parametern angelegt.

Standardmäßig nutzt Fhem den eigenen PID-Regler des Moduls, der auf die Eingabe einer Temperaturvorgabe wartet: set <name> desired-temp <wert°C>

Solange kein Referenz-Device mit set <name> temperatureRefDev <Temperaturdevice mit einem Reading temperature> angegeben wurde, benutzt das Gerät einen internen Temperaturfühler, der bauartbedingt nicht geeignet für eine Raumregelung ist.

Zur Sicherheit des Heizkörperventils gegen Festsetzen durch Rost oder Kalk, wird im Sommermodus pro Tag eine Servicefahrt – einmal auf und zu – des Ventils durchgeführt. Zusätzlich wird dreimal am Tag die Verbindung mit FHEM aufgerufen. Das dient zur Kontrolle, dass alle bislang verbundenen Devices noch vorhanden sind und ordnungsgemäß miteinander kommunizieren.

Wenn mehr als dreimal hintereinander die Funkkommunikation mit FHEM fehlschlug (was mehr als 30 Minuten im Normalbetrieb bedeutet), sendet der Aktor nur noch alle Stunde und - falls das Ventil zu weniger als 50 Prozent geöffent ist, wird es auf 50% aufgefahren.


Info blue.png
Zum Energiesparen verarbeitet der Aktor nur alle 586 oder 587 Sekunden (Sommermodus: alle 8 Stunden) Telegramme von Fhem. Darum zeigen Fhem-Befehle keine sofortige Aktorreaktion, sondern erst nach der genannten Zeitspanne. Die Rückmeldung des Aktors an Fhem über die erfolgte Befehlsausführung erfolgt wiederum erst nach erneutem Ablauf der Zeitspanne.

Falls keine Temperaturdaten geliefert werden, geht das Device in einen Stromsparmodus und fragt nur noch alle 2 Stunden an.

Zur Vermeidung dieses Stromsparmodus, in dem eben auch nicht nachgeregelt wird, sollte bei Referenzgeräte wie einem Raumthermometer das attr event-on-update nicht benutzt werden. Falls die Temperatur sich 1 Stunde lang nicht ändert, würde entsprechend auch eine Stunde lang kein Referenzwert gesendet, der Stelltrieb in den Sparmodus gehen und für die nächsten 2 Stunden nun kommende Änderungen nicht verarbeiten.


set <name> <setter> <wert>

set Wertebereich/Default Beschreibung
desired-temp 10...30 Soll-Temperatur für den FHEM-PID-Controler, der PID-Controler des FHEM-Moduls wird eingeschaltet
liftSet ??
runInit beim nächsten Funkkontakt wird ein Kalibrierungslauf angestoßen
setpoint 0...100 Setze Aktorposition auf X%; der PID-Controler des FHEM-Moduls wird ausgeschaltet
setpointTemp 10...30 Soll-Temperatur für den FHEM-PID-Controler, der PID-Controler des FHEM-Moduls wird eingeschaltet; ein runInit wird ausgelöst
ValveCloses Ventil auf 0% setzen; der PID-Controler des FHEM-Moduls wird ausgeschaltet
ValveOpens Ventil auf 100% setzen; der PID-Controler des FHEM-Moduls wird ausgeschaltet

Readings

Reading Beispiel Wertebereich/Default Beschreibung
actuatorState ok
alarm no_response_from_actuator nur fallweise: wenn Kommunikation ausgefallen; Aktor blinkt dreimal
battery ok wird vom iTRV nicht gesendet
cover closed wird vom iTRV nicht gesendet
delta -9.75
energyInput disabled wird vom iTRV nicht gesendet
energyStorage charged
maintenanceMode off off / runinit
operationMode setpointTemp setpointTemp / summerMode / setpointSet Betrieb mit Stellwert-Vorgabe / mit Temperatursollwert-Vorgabe / Ruhebetrieb im Sommer
operationModeRestore setpointTemp nur fallweise: Modus, der beim Beenden des summermode gesetzt wird
pidAlarm actuator_in_errorPos / dead_sensor / no_temperature_value / setpoint_device_missing
pidState alarm / idle / processing / start / stop
p_d 0
p_i 100
p_p -487.5
roomTemp 22.0 interne iRTV-Temperatur (wenn attr setpointRefDev nicht gesetzt wird diese Temperatur benutzt - ist für Regelung nicht brauchbar wegen Verfälschung durch Vorlauftemperatur, höhere Temperaturen sind Indiz für Wärmeangebot vom Vorlauf, das den Energiespeicher lädt)
selfCtrl off iTRV hat keinen eigenen PID-Controler
setpoint 0 beim letzten Funkkontakt gemeldete Ist-Position vom Aktuator in %
setpointSet 15 beim nächsten Funkkontakt gesendete Aktuatorstellung in %
setpointTemp 15.0 Soll-Temperatur. Kann gesetzt werden über set <IODev> desired-temp <°C> oder auch durch MOdule wieHeating_Control oder WeekdayTimer
setpointTempRestore 16.0 nur fallweise: setpointTemp, die bei Beenden des summermode gesetzt wird
state T: 23.4 SPT: 15.0 SP: 0 T:=Raumtemperatur vom Referenzsensor, SPT = setpointTemp, SP=setpoint
teach 4BS teach-in accepted EEP A5-20-01 Manufacturer: Micropelt GmbH
temperature 24.75 zuletzt gemeldete Raumtemperatur vom Referenz-Sensor (siehe Attribut temperatureRefDev)
waitingCmds runInit
wakeUpCycle 240
window closed open / closed wird vom iTRV nicht gesendet

Attribute

Attribut Beispiel Wertebereich/Default Beschreibung
comMode biDir
destinationID unicast
eep A5-20-01
manufID 049
pidActorErrorPos 20 iTRV ignoriert diesen Wert und benutzt 50% oder den zuvor gesendeten höheren Stellwert
pidActorLimitLower 1 bei 0% Öffnung wird eine Initialisierung ausgelöst?
pidFactor_I 0.2
pidFactor_P 50
setpointRefDev Das Device, das die Ventilöffnung (Aktuator) vorgibt, z.B. ein Raumregler, FHEM-PID20. Typischerweise nicht gesetzt, es wird der modul-eigene PID-Controler benutzt
setpointTempRefDev CC.Kueche Ein Device, das die Solltemperatur vorgibt. Z.B.: Heating_Control
subDef ******** Sender-ID
subType hvac.01
summerMode off
teachMethod 4BS
temperatureRefDev T.Kueche Das Device, das fortlaufend die Ist-Temperatur meldet
webCmd setpointTemp

ToDos

Timing der Sensordaten (Sensor dead) und no_response_from_actuator,Auswirkung von event-on-NN beim Sensor, wakeupCycle

Sorgt Setpoint 0 für eine Initialisierung?

Optimierung von p_i,p_d,p_p in der Praxis

Bedeutung von set <name> liftSet

Links