Dimplex Wärmepumpenmanager: Unterschied zwischen den Versionen
TinoB (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
TinoB (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 15: | Zeile 15: | ||
<pre> | <pre> | ||
update all https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/mb/controls_modbus.txt | update all https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/mb/controls_modbus.txt | ||
</pre> | |||
über die FHEM Befehlszeile installiert und anschließend | |||
<pre> | |||
reload 36_ModbusTCPServer.pm | reload 36_ModbusTCPServer.pm | ||
reload 37_ModbusCoil.pm | reload 37_ModbusCoil.pm | ||
reload 37_ModbusRegister.pm | reload 37_ModbusRegister.pm | ||
</pre> | </pre> | ||
mit einem Reload geladen. | |||
== Benutzung == | == Benutzung == | ||
=== Anlegen der ModbusTCPServer Verbindung === | === Anlegen der ModbusTCPServer Verbindung === | ||
Wie | Wie im nachfolgenden angegeben muss zunächst eine ModbusTCPServer Verbindung hergestellt werden. Die angegebene IP-Adresse muss durch die IP-Adresse der Wärmepumpe ersetzt werden. | ||
<pre> | <pre> | ||
######################################################## | ######################################################## | ||
Zeile 39: | Zeile 41: | ||
## Außentemperatur | ## Außentemperatur | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_outdoor_temperature ModbusRegister 0 1 | define dim_outdoor_temperature ModbusRegister 0 1 | ||
Zeile 51: | Zeile 53: | ||
attr dim_outdoor_temperature stateAlias temperature | attr dim_outdoor_temperature stateAlias temperature | ||
attr dim_outdoor_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | attr dim_outdoor_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | ||
attr dim_outdoor_temperature updateInterval | attr dim_outdoor_temperature updateInterval 00:10:00 | ||
</pre> | </pre> | ||
Erklärung: | Erklärung: | ||
Zeile 71: | Zeile 73: | ||
| stateAlias || es wird ein zusätzliches Reading erzeugt, um zum Beispiel das Statistic-Modul nutzen zu können, stateAlias ist eine echte Kopie von "state" | | stateAlias || es wird ein zusätzliches Reading erzeugt, um zum Beispiel das Statistic-Modul nutzen zu können, stateAlias ist eine echte Kopie von "state" | ||
|- | |- | ||
| updateInterval || Intervall des Abfragezyklus (z.B. | | updateInterval || Intervall des Abfragezyklus (z.B. 00:10:00 Minuten) | ||
|- | |- | ||
|} | |} | ||
Zeile 104: | Zeile 106: | ||
## Register Warmwassertemperatur definieren | ## Register Warmwassertemperatur definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_dhw_temperature ModbusRegister 0 3 | define dim_dhw_temperature ModbusRegister 0 3 | ||
Zeile 116: | Zeile 118: | ||
attr dim_dhw_temperature stateAlias temperature | attr dim_dhw_temperature stateAlias temperature | ||
attr dim_dhw_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | attr dim_dhw_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | ||
attr dim_dhw_temperature updateInterval | attr dim_dhw_temperature updateInterval 00:01:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 122: | Zeile 124: | ||
## Register Vorlauftemperatur definieren | ## Register Vorlauftemperatur definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_flow_temperature ModbusRegister 0 5 | define dim_flow_temperature ModbusRegister 0 5 | ||
Zeile 134: | Zeile 136: | ||
attr dim_flow_temperature stateAlias temperature | attr dim_flow_temperature stateAlias temperature | ||
attr dim_flow_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | attr dim_flow_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | ||
attr dim_flow_temperature updateInterval | attr dim_flow_temperature updateInterval 00:01:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 140: | Zeile 142: | ||
## Register Rücklauftemperatur definieren | ## Register Rücklauftemperatur definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_return_temperature ModbusRegister 0 2 | define dim_return_temperature ModbusRegister 0 2 | ||
Zeile 152: | Zeile 154: | ||
attr dim_return_temperature stateAlias temperature | attr dim_return_temperature stateAlias temperature | ||
attr dim_return_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | attr dim_return_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | ||
attr dim_return_temperature updateInterval | attr dim_return_temperature updateInterval 00:01:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 158: | Zeile 160: | ||
## Register Rücklaufsolltemperatur definieren | ## Register Rücklaufsolltemperatur definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_returnset_temperature ModbusRegister 0 53 | define dim_returnset_temperature ModbusRegister 0 53 | ||
Zeile 170: | Zeile 172: | ||
attr dim_returnset_temperature stateAlias temperature | attr dim_returnset_temperature stateAlias temperature | ||
attr dim_returnset_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | attr dim_returnset_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} | ||
attr dim_returnset_temperature updateInterval | attr dim_returnset_temperature updateInterval 00:05:00 | ||
</pre> | </pre> | ||
Zeile 197: | Zeile 199: | ||
=== Zustände === | === Zustände === | ||
Vorschlag der Namensvergabe für die Zustände. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch readingsGroup. | Vorschlag der Namensvergabe für die Zustände. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch [[readingsGroup]]. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Zeile 221: | Zeile 223: | ||
## Coil Verdichter definieren | ## Coil Verdichter definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_compressor_output ModbusCoil 0 41 | define dim_compressor_output ModbusCoil 0 41 | ||
Zeile 230: | Zeile 232: | ||
attr dim_compressor_output room Dimplex | attr dim_compressor_output room Dimplex | ||
attr dim_compressor_output source Coil | attr dim_compressor_output source Coil | ||
attr dim_compressor_output updateInterval | attr dim_compressor_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 244: | Zeile 246: | ||
## Coil Ventilator definieren | ## Coil Ventilator definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_ventilator_output ModbusCoil 0 43 | define dim_ventilator_output ModbusCoil 0 43 | ||
Zeile 253: | Zeile 255: | ||
attr dim_ventilator_output room Dimplex | attr dim_ventilator_output room Dimplex | ||
attr dim_ventilator_output source Coil | attr dim_ventilator_output source Coil | ||
attr dim_ventilator_output updateInterval | attr dim_ventilator_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 267: | Zeile 269: | ||
## Coil 2.Wärmeerzeuger definieren | ## Coil 2.Wärmeerzeuger definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_2heatgenerator_output ModbusCoil 0 44 | define dim_2heatgenerator_output ModbusCoil 0 44 | ||
Zeile 276: | Zeile 278: | ||
attr dim_2heatgenerator_output room Dimplex | attr dim_2heatgenerator_output room Dimplex | ||
attr dim_2heatgenerator_output source Coil | attr dim_2heatgenerator_output source Coil | ||
attr dim_2heatgenerator_output updateInterval | attr dim_2heatgenerator_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 290: | Zeile 292: | ||
## Coil Heizungsumwälzpumpe M13 definieren | ## Coil Heizungsumwälzpumpe M13 definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_circulationpump_output ModbusCoil 0 45 | define dim_circulationpump_output ModbusCoil 0 45 | ||
Zeile 299: | Zeile 301: | ||
attr dim_circulationpump_output room Dimplex | attr dim_circulationpump_output room Dimplex | ||
attr dim_circulationpump_output source Coil | attr dim_circulationpump_output source Coil | ||
attr dim_circulationpump_output updateInterval | attr dim_circulationpump_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 313: | Zeile 315: | ||
## Coil Warmwasserpumpe M18 definieren | ## Coil Warmwasserpumpe M18 definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_dhwpump_output ModbusCoil 0 46 | define dim_dhwpump_output ModbusCoil 0 46 | ||
Zeile 322: | Zeile 324: | ||
attr dim_dhwpump_output room Dimplex | attr dim_dhwpump_output room Dimplex | ||
attr dim_dhwpump_output source Coil | attr dim_dhwpump_output source Coil | ||
attr dim_dhwpump_output updateInterval | attr dim_dhwpump_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 336: | Zeile 338: | ||
## Coil Zusatzpumpe M16 definieren | ## Coil Zusatzpumpe M16 definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_auxiliarypump_output ModbusCoil 0 49 | define dim_auxiliarypump_output ModbusCoil 0 49 | ||
Zeile 345: | Zeile 347: | ||
attr dim_auxiliarypump_output room Dimplex | attr dim_auxiliarypump_output room Dimplex | ||
attr dim_auxiliarypump_output source Coil | attr dim_auxiliarypump_output source Coil | ||
attr dim_auxiliarypump_output updateInterval | attr dim_auxiliarypump_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 359: | Zeile 361: | ||
## Coil Flanschheizung definieren | ## Coil Flanschheizung definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_flangeheater_output ModbusCoil 0 50 | define dim_flangeheater_output ModbusCoil 0 50 | ||
Zeile 368: | Zeile 370: | ||
attr dim_flangeheater_output room Dimplex | attr dim_flangeheater_output room Dimplex | ||
attr dim_flangeheater_output source Coil | attr dim_flangeheater_output source Coil | ||
attr dim_flangeheater_output updateInterval | attr dim_flangeheater_output updateInterval 00:01:00 | ||
######################################################## | ######################################################## | ||
Zeile 391: | Zeile 393: | ||
=== Historie === | === Historie === | ||
Vorschlag der Namensvergabe für die Historie. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch readingsGroup. | Vorschlag der Namensvergabe für die Historie. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch [[readingsGroup]]. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Zeile 415: | Zeile 417: | ||
## Register Historie Verdichter definieren | ## Register Historie Verdichter definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_compressor_history ModbusRegister 0 72 | define dim_compressor_history ModbusRegister 0 72 | ||
attr dim_compressor_history IODev HeatPumpServer | attr dim_compressor_history IODev HeatPumpServer | ||
attr dim_compressor_history alignUpdateInterval 00:01:00 | |||
attr dim_compressor_history event-on-change-reading .* | attr dim_compressor_history event-on-change-reading .* | ||
attr dim_compressor_history plcDataType INT | attr dim_compressor_history plcDataType INT | ||
attr dim_compressor_history registerType Holding | attr dim_compressor_history registerType Holding | ||
attr dim_compressor_history room Dimplex | attr dim_compressor_history room Dimplex | ||
attr dim_compressor_history updateInterval | attr dim_compressor_history updateInterval 01:00:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 429: | Zeile 432: | ||
## Register Historie Ventilator definieren | ## Register Historie Ventilator definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_ventilator_history ModbusRegister 0 74 | define dim_ventilator_history ModbusRegister 0 74 | ||
attr dim_ventilator_history IODev HeatPumpServer | attr dim_ventilator_history IODev HeatPumpServer | ||
attr dim_ventilator_history alignUpdateInterval 00:01:00 | |||
attr dim_ventilator_history event-on-change-reading .* | attr dim_ventilator_history event-on-change-reading .* | ||
attr dim_ventilator_history plcDataType INT | attr dim_ventilator_history plcDataType INT | ||
attr dim_ventilator_history registerType Holding | attr dim_ventilator_history registerType Holding | ||
attr dim_ventilator_history room Dimplex | attr dim_ventilator_history room Dimplex | ||
attr dim_ventilator_history updateInterval | attr dim_ventilator_history updateInterval 01:00:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 443: | Zeile 447: | ||
## Register Historie 2.Wärmeerzeuger definieren | ## Register Historie 2.Wärmeerzeuger definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_2heatgenerator_history ModbusRegister 0 75 | define dim_2heatgenerator_history ModbusRegister 0 75 | ||
attr dim_2heatgenerator_history IODev HeatPumpServer | attr dim_2heatgenerator_history IODev HeatPumpServer | ||
attr dim_2heatgenerator_history alignUpdateInterval 00:01:00 | |||
attr dim_2heatgenerator_history event-on-change-reading .* | attr dim_2heatgenerator_history event-on-change-reading .* | ||
attr dim_2heatgenerator_history plcDataType INT | attr dim_2heatgenerator_history plcDataType INT | ||
attr dim_2heatgenerator_history registerType Holding | attr dim_2heatgenerator_history registerType Holding | ||
attr dim_2heatgenerator_history room Dimplex | attr dim_2heatgenerator_history room Dimplex | ||
attr dim_2heatgenerator_history updateInterval | attr dim_2heatgenerator_history updateInterval 01:00:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 457: | Zeile 462: | ||
## Register Historie Heizungsumwälzpumpe M13 definieren | ## Register Historie Heizungsumwälzpumpe M13 definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_circulationpump_history ModbusRegister 0 76 | define dim_circulationpump_history ModbusRegister 0 76 | ||
attr dim_circulationpump_history IODev HeatPumpServer | attr dim_circulationpump_history IODev HeatPumpServer | ||
attr dim_circulationpump_history alignUpdateInterval 00:01:00 | |||
attr dim_circulationpump_history event-on-change-reading .* | attr dim_circulationpump_history event-on-change-reading .* | ||
attr dim_circulationpump_history plcDataType INT | attr dim_circulationpump_history plcDataType INT | ||
attr dim_circulationpump_history registerType Holding | attr dim_circulationpump_history registerType Holding | ||
attr dim_circulationpump_history room Dimplex | attr dim_circulationpump_history room Dimplex | ||
attr dim_circulationpump_history updateInterval | attr dim_circulationpump_history updateInterval 01:00:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 471: | Zeile 477: | ||
## Register Historie Warmwasserpumpe M18 definieren | ## Register Historie Warmwasserpumpe M18 definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_dhwpump_history ModbusRegister 0 77 | define dim_dhwpump_history ModbusRegister 0 77 | ||
attr dim_dhwpump_history IODev HeatPumpServer | attr dim_dhwpump_history IODev HeatPumpServer | ||
attr dim_dhwpump_history alignUpdateInterval 00:01:00 | |||
attr dim_dhwpump_history event-on-change-reading .* | attr dim_dhwpump_history event-on-change-reading .* | ||
attr dim_dhwpump_history plcDataType INT | attr dim_dhwpump_history plcDataType INT | ||
attr dim_dhwpump_history registerType Holding | attr dim_dhwpump_history registerType Holding | ||
attr dim_dhwpump_history room Dimplex | attr dim_dhwpump_history room Dimplex | ||
attr dim_dhwpump_history updateInterval | attr dim_dhwpump_history updateInterval 01:00:00 | ||
</pre> | </pre> | ||
<pre> | <pre> | ||
Zeile 485: | Zeile 492: | ||
## Register Historie Flanschheizung definieren | ## Register Historie Flanschheizung definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_flangeheater_history ModbusRegister 0 78 | define dim_flangeheater_history ModbusRegister 0 78 | ||
attr dim_flangeheater_history IODev HeatPumpServer | attr dim_flangeheater_history IODev HeatPumpServer | ||
attr dim_flangeheater_history alignUpdateInterval 00:01:00 | |||
attr dim_flangeheater_history event-on-change-reading .* | attr dim_flangeheater_history event-on-change-reading .* | ||
attr dim_flangeheater_history plcDataType INT | attr dim_flangeheater_history plcDataType INT | ||
attr dim_flangeheater_history registerType Holding | attr dim_flangeheater_history registerType Holding | ||
attr dim_flangeheater_history room Dimplex | attr dim_flangeheater_history room Dimplex | ||
attr dim_flangeheater_history updateInterval | attr dim_flangeheater_history updateInterval 01:00:00 | ||
</pre> | </pre> | ||
==== Logfile Historie ==== | ==== Logfile Historie ==== | ||
Zeile 512: | Zeile 520: | ||
## Wärmemenge Heizen definieren | ## Wärmemenge Heizen definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_heating1_thermalenergy ModbusRegister 0 5096 | define dim_heating1_thermalenergy ModbusRegister 0 5096 | ||
Zeile 520: | Zeile 528: | ||
attr dim_heating1_thermalenergy registerType Holding | attr dim_heating1_thermalenergy registerType Holding | ||
attr dim_heating1_thermalenergy room Dimplex | attr dim_heating1_thermalenergy room Dimplex | ||
attr dim_heating1_thermalenergy updateInterval | attr dim_heating1_thermalenergy updateInterval 00:15:00 | ||
attr dim_heating1_thermalenergy userReadings heatingthermalenergy { | attr dim_heating1_thermalenergy userReadings heatingthermalenergy { | ||
((ReadingsVal("dim_heating3_thermalenergy","state",0)*100000000)+ | ((ReadingsVal("dim_heating3_thermalenergy","state",0)*100000000)+ | ||
Zeile 532: | Zeile 540: | ||
attr dim_heating2_thermalenergy registerType Holding | attr dim_heating2_thermalenergy registerType Holding | ||
attr dim_heating2_thermalenergy room Dimplex | attr dim_heating2_thermalenergy room Dimplex | ||
attr dim_heating2_thermalenergy updateInterval | attr dim_heating2_thermalenergy updateInterval 00:15:00 | ||
define dim_heating3_thermalenergy ModbusRegister 0 5098 | define dim_heating3_thermalenergy ModbusRegister 0 5098 | ||
Zeile 540: | Zeile 548: | ||
attr dim_heating3_thermalenergy registerType Holding | attr dim_heating3_thermalenergy registerType Holding | ||
attr dim_heating3_thermalenergy room Dimplex | attr dim_heating3_thermalenergy room Dimplex | ||
attr dim_heating3_thermalenergy updateInterval | attr dim_heating3_thermalenergy updateInterval 00:15:00 | ||
</pre> | </pre> | ||
Zeile 547: | Zeile 555: | ||
## Wärmemenge Warmwasser definieren | ## Wärmemenge Warmwasser definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_dhw1_thermalenergy ModbusRegister 0 5099 | define dim_dhw1_thermalenergy ModbusRegister 0 5099 | ||
Zeile 555: | Zeile 563: | ||
attr dim_dhw1_thermalenergy registerType Holding | attr dim_dhw1_thermalenergy registerType Holding | ||
attr dim_dhw1_thermalenergy room Dimplex | attr dim_dhw1_thermalenergy room Dimplex | ||
attr dim_dhw1_thermalenergy updateInterval | attr dim_dhw1_thermalenergy updateInterval 00:15:00 | ||
attr dim_dhw1_thermalenergy userReadings dhwthermalenergy { | attr dim_dhw1_thermalenergy userReadings dhwthermalenergy { | ||
((ReadingsVal("dim_dhw3_thermalenergy","state",0)*100000000)+ | ((ReadingsVal("dim_dhw3_thermalenergy","state",0)*100000000)+ | ||
Zeile 567: | Zeile 575: | ||
attr dim_dhw2_thermalenergy registerType Holding | attr dim_dhw2_thermalenergy registerType Holding | ||
attr dim_dhw2_thermalenergy room Dimplex | attr dim_dhw2_thermalenergy room Dimplex | ||
attr dim_dhw2_thermalenergy updateInterval | attr dim_dhw2_thermalenergy updateInterval 00:15:00 | ||
define dim_dhw3_thermalenergy ModbusRegister 0 5101 | define dim_dhw3_thermalenergy ModbusRegister 0 5101 | ||
Zeile 575: | Zeile 583: | ||
attr dim_dhw3_thermalenergy registerType Holding | attr dim_dhw3_thermalenergy registerType Holding | ||
attr dim_dhw3_thermalenergy room Dimplex | attr dim_dhw3_thermalenergy room Dimplex | ||
attr dim_dhw3_thermalenergy updateInterval | attr dim_dhw3_thermalenergy updateInterval 00:15:00 | ||
</pre> | </pre> | ||
==== Umweltenergie ==== | ==== Umweltenergie ==== | ||
Zeile 583: | Zeile 591: | ||
## Umweltenergie/entzogene Kälteenergie definieren | ## Umweltenergie/entzogene Kälteenergie definieren | ||
## Erstellt........: 06.01.2015 | ## Erstellt........: 06.01.2015 | ||
## Geändert........: | ## Geändert........: 04.01.2016 | ||
######################################################## | ######################################################## | ||
define dim_environment1_energy ModbusRegister 0 5127 | define dim_environment1_energy ModbusRegister 0 5127 | ||
Zeile 591: | Zeile 599: | ||
attr dim_environment1_energy registerType Holding | attr dim_environment1_energy registerType Holding | ||
attr dim_environment1_energy room Dimplex | attr dim_environment1_energy room Dimplex | ||
attr dim_environment1_energy updateInterval | attr dim_environment1_energy updateInterval 00:15:00 | ||
attr dim_environment1_energy userReadings environmentenergy { | attr dim_environment1_energy userReadings environmentenergy { | ||
((ReadingsVal("dim_environment3_energy","state",0)*100000000)+ | ((ReadingsVal("dim_environment3_energy","state",0)*100000000)+ | ||
Zeile 603: | Zeile 611: | ||
attr dim_environment2_energy registerType Holding | attr dim_environment2_energy registerType Holding | ||
attr dim_environment2_energy room Dimplex | attr dim_environment2_energy room Dimplex | ||
attr dim_environment2_energy updateInterval | attr dim_environment2_energy updateInterval 00:15:00 | ||
define dim_environment3_energy ModbusRegister 0 5129 | define dim_environment3_energy ModbusRegister 0 5129 | ||
Zeile 611: | Zeile 619: | ||
attr dim_environment3_energy registerType Holding | attr dim_environment3_energy registerType Holding | ||
attr dim_environment3_energy room Dimplex | attr dim_environment3_energy room Dimplex | ||
attr dim_environment3_energy updateInterval | attr dim_environment3_energy updateInterval 00:15:00 | ||
</pre> | </pre> | ||
Zeile 628: | Zeile 636: | ||
</pre> | </pre> | ||
Die | === Meldungen === | ||
[[Bild:dimplex_rh_status_heatpump.jpg|thumb|right|Beispiel Meldungen]] | |||
Eine sinnvolle Anzeige sind die Meldungen (Status, Sperre, Störung) der Wärmepumpe. Im nachfolgenden Beispiel werden die Meldungen mit dem Hilfsmodul [[readingsHistory]] dargestellt. Die Definitionen der Meldungen beziehen sich auf die im [http://www.dimplex.de/wiki Dimplex-Wiki] beschriebene L-Software. Bei abweichenden Softwareständen müssen die Register sowie die Texte angepasst werden. | |||
<pre> | |||
######################################################## | |||
## Register Statusmeldung definieren | |||
## Erstellt........: 04.01.2016 | |||
## Geändert........: | |||
######################################################## | |||
define dim_status_heatpump ModbusRegister 0 103 | |||
attr dim_status_heatpump IODev HeatPumpServer | |||
attr dim_status_heatpump event-on-change-reading .* | |||
attr dim_status_heatpump plcDataType INT | |||
attr dim_status_heatpump registerType Holding | |||
attr dim_status_heatpump room Dimplex | |||
attr dim_status_heatpump updateInterval 00:00:10 | |||
attr dim_status_heatpump userReadings Status { | |||
((ReadingsVal($name,"state","") == 1) ? "Aus": | |||
(ReadingsVal($name,"state","") == 2) ? "Heizen": | |||
(ReadingsVal($name,"state","") == 4) ? "Warmwasser": | |||
(ReadingsVal($name,"state","") == 10) ? "Abtauen": | |||
(ReadingsVal($name,"state","") == 11) ? "Durchflussüberwachnung":"")} | |||
</pre> | |||
<pre> | |||
######################################################## | |||
## Register Sperrmeldunge definieren | |||
## Erstellt........: 04.01.2016 | |||
## Geändert........: | |||
######################################################## | |||
define dim_block_heatpump ModbusRegister 0 104 | |||
attr dim_block_heatpump IODev HeatPumpServer | |||
attr dim_block_heatpump event-on-change-reading .* | |||
attr dim_block_heatpump plcDataType INT | |||
attr dim_block_heatpump registerType Holding | |||
attr dim_block_heatpump room Dimplex | |||
attr dim_block_heatpump updateInterval 00:00:10 | |||
attr dim_block_heatpump userReadings Sperre { | |||
((ReadingsVal($name,"state","") == 0) ? "": | |||
(ReadingsVal($name,"state","") == 7) ? "Systemkontrolle": | |||
(ReadingsVal($name,"state","") == 9) ? "Pumpenvorlauf": | |||
(ReadingsVal($name,"state","") == 10) ? "Mindeststandzeit": | |||
(ReadingsVal($name,"state","") == 11) ? "Netzbelastung": | |||
(ReadingsVal($name,"state","") == 12) ? "Schaltspielsperre": | |||
(ReadingsVal($name,"state","") == 15) ? "EVU":"")} | |||
</pre> | |||
<pre> | |||
######################################################## | |||
## Register Störmeldungen definieren | |||
## Erstellt........: 04.01.2016 | |||
## Geändert........: | |||
######################################################## | |||
define dim_fault_heatpump ModbusRegister 0 105 | |||
attr dim_fault_heatpump IODev HeatPumpServer | |||
attr dim_fault_heatpump event-on-change-reading .* | |||
attr dim_fault_heatpump plcDataType INT | |||
attr dim_fault_heatpump registerType Holding | |||
attr dim_fault_heatpump room Dimplex | |||
attr dim_fault_heatpump updateInterval 00:01:00 | |||
attr dim_fault_heatpump userReadings Störung { | |||
((ReadingsVal($name,"state","") == 0) ? "": | |||
(ReadingsVal($name,"state","") == 6) ? "Elektronisches Ex.Ventil": | |||
(ReadingsVal($name,"state","") == 15) ? "Sensorik": | |||
(ReadingsVal($name,"state","") == 19) ? "!Primärkreis": | |||
(ReadingsVal($name,"state","") == 22) ? "!Warmwasser": | |||
(ReadingsVal($name,"state","") == 23) ? "!Last Verdichter": | |||
(ReadingsVal($name,"state","") == 24) ? "!Codierung": | |||
(ReadingsVal($name,"state","") == 25) ? "!Niederdruck": | |||
(ReadingsVal($name,"state","") == 26) ? "!Frostschutz": | |||
(ReadingsVal($name,"state","") == 27) ? "!Hochdruck": | |||
(ReadingsVal($name,"state","") == 29) ? "!Temperatur Differenz": | |||
(ReadingsVal($name,"state","") == 31) ? "!Durchfluss":"")} | |||
</pre> | |||
==== Anzeige der Meldungen ==== | |||
<pre> | |||
######################################################## | |||
## readingsHistory definieren | |||
## Erstellt........: 04.01.2016 | |||
## Geändert........: | |||
######################################################## | |||
define rh_dim_status_heatpump readingsHistory dim_status_heatpump:Status dim_block_heatpump:Sperre dim_fault_heatpump:Störung | |||
attr rh_dim_status_heatpump alias Status | |||
attr rh_dim_status_heatpump mapping {'dim_status_heatpump' => '', 'dim_block_heatpump' => '', 'dim_fault_heatpump' => ''} | |||
attr rh_dim_status_heatpump nohtml 1 | |||
attr rh_dim_status_heatpump room Dimplex | |||
attr rh_dim_status_heatpump rows 20 | |||
attr rh_dim_status_heatpump timestampFormat %b %a %R | |||
</pre> | |||
== Plotbeispiel == | == Plotbeispiel == | ||
= Temperaturen = | === Temperaturen === | ||
<pre> | <pre> | ||
# Created by FHEM/98_SVG.pm, 2015-05-11 21:40:00 | # Created by FHEM/98_SVG.pm, 2015-05-11 21:40:00 | ||
Zeile 663: | Zeile 759: | ||
</pre> | </pre> | ||
= Ausgänge = | === Ausgänge === | ||
<pre> | <pre> | ||
# Created by FHEM/98_SVG.pm, 2015-05-11 21:45:00 | # Created by FHEM/98_SVG.pm, 2015-05-11 21:45:00 | ||
Zeile 722: | Zeile 818: | ||
= Kontakt = | = Kontakt = | ||
Weitere Fragen, Wünsche und Anregungen bitte im entsprechenden {{Link2Forum|Topic=33086|LinkText=Forenthread zum Wiki-Artikel "Dimplex Wärmepumpenmanager"}} zur Diskussion stellen. | Weitere Fragen, Wünsche und Anregungen bitte im entsprechenden {{Link2Forum|Topic=33086|LinkText=Forenthread zum Wiki-Artikel "Dimplex Wärmepumpenmanager"}} zur Diskussion stellen. | ||
Offene Punkte: | |||
- Darstellung der Werte in einer readingsGroup | |||
- Zugriff auf Zeitfunktionen mit Lesen und Schreiben | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:Heizungssteuerung]] | [[Kategorie:Heizungssteuerung]] | ||
[[Kategorie:Other Components]] | [[Kategorie:Other Components]] |
Aktuelle Version vom 4. Januar 2016, 18:16 Uhr
Mit der NWPM-Erweiterung ist es möglich, den Dimplex Wärmepumpenmanager in ein Hausnetzwerk einzubinden. Durch die Einbindung der NWPM-Erweiterung ist es ebenfalls möglich, die zur Verfügung gestellten Werte vom Wärmepumpenmanager mittels ModbusTCP in FHEM zu übernehmen, anzuzeigen und grafisch darzustellen.
Voraussetzung
Die Anbindung des Dimplex Wärmepumpenmanager an FHEM erfolgt mittels NWPM-Erweiterung und der aktuellen FHEM Installation. Weiterhin werden die zur Verfügung stehenden Module:
- 36_ModbusTCPServer.pm
- 37_ModbusCoil.pm
- 37_ModbusRegister.pm
genutzt. Getestet wurde der Zugriff auf einem BeagleBone Black mit der hier beschriebenen Debian Installation.
Installation
Die oben aufgeführten Module sind notwendig und müssen nachinstalliert werden. Zum Zeitpunkt der Erstellung dieser Dokumentation (31.1.2015) sind diese noch nicht offiziell in FHEM enthalten und werden auch nicht mittels Update verteilt. Die Module werden mit dem Befehl:
update all https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/mb/controls_modbus.txt
über die FHEM Befehlszeile installiert und anschließend
reload 36_ModbusTCPServer.pm reload 37_ModbusCoil.pm reload 37_ModbusRegister.pm
mit einem Reload geladen.
Benutzung
Anlegen der ModbusTCPServer Verbindung
Wie im nachfolgenden angegeben muss zunächst eine ModbusTCPServer Verbindung hergestellt werden. Die angegebene IP-Adresse muss durch die IP-Adresse der Wärmepumpe ersetzt werden.
######################################################## ## ModbusTCPServer definieren ######################################################## define HeatPumpServer ModbusTCPServer 192.168.1.150 attr HeatPumpServer verbose 2
Ein erfolgreicher Verbindungsaufbau wird mit einem „ok“ im State gekennzeichnet.
Modbus-Register/Coil Adressen definieren
Im nachfolgendem Beispiel wird anhand der Außentemperatur die Adressdefinition erklärt.
######################################################## ## Außentemperatur ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_outdoor_temperature ModbusRegister 0 1 attr dim_outdoor_temperature IODev HeatPumpServer attr dim_outdoor_temperature conversion 0.1:0 attr dim_outdoor_temperature event-min-interval .*:900 attr dim_outdoor_temperature event-on-change-reading .* attr dim_outdoor_temperature plcDataType INT attr dim_outdoor_temperature registerType Holding attr dim_outdoor_temperature room Dimplex attr dim_outdoor_temperature stateAlias temperature attr dim_outdoor_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} attr dim_outdoor_temperature updateInterval 00:10:00
Erklärung:
Attribut | Erläuterungen |
---|---|
ModbusRegister 0 1 | 0 Device Adresse, in der Regel bei ModbusTCP immer 0 |
ModbusRegister 0 1 | 1 Register Adresse, wird unter www.dimplex.de/wiki → ModbusTCP → Spalten IP zur Verfügung gestellt |
IODev | Verwendeter und zuvor angelegter ModbusTCPServer |
conversion | eine gegebenenfalls notwendige Konvertierung des übermittelten Values |
PlcDataType | Ermögliche automatische Interpretation der ankommenden Daten |
stateAlias | es wird ein zusätzliches Reading erzeugt, um zum Beispiel das Statistic-Modul nutzen zu können, stateAlias ist eine echte Kopie von "state" |
updateInterval | Intervall des Abfragezyklus (z.B. 00:10:00 Minuten) |
Betriebsdaten
Vorschlag der Namensvergabe für die Betriebsdaten. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch readingsGroup.
dim_outdoor_temperature | Außentemperatur |
dim_flow_temperature | Vorlauftemperatur |
dim_return_temperature | Rücklauftemperatur |
dim_returnset_temperature | Rücklaufsolltemperatur |
dim_room_temperature | Raumtemperatur |
dim_dhw_temperature | Warmwassertemperatur |
dim_dhwset_temperature | Warmwassersolltemperatur |
dim_brine_temperature | Soletemperatur |
dim_high_pressure | Hochdruck |
dim_low_pressure | Niederdruck |
######################################################## ## Register Warmwassertemperatur definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_dhw_temperature ModbusRegister 0 3 attr dim_dhw_temperature IODev HeatPumpServer attr dim_dhw_temperature conversion 0.1:0 attr dim_dhw_temperature event-min-interval .*:900 attr dim_dhw_temperature event-on-change-reading .* attr dim_dhw_temperature plcDataType INT attr dim_dhw_temperature registerType Holding attr dim_dhw_temperature room Dimplex attr dim_dhw_temperature stateAlias temperature attr dim_dhw_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} attr dim_dhw_temperature updateInterval 00:01:00
######################################################## ## Register Vorlauftemperatur definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_flow_temperature ModbusRegister 0 5 attr dim_flow_temperature IODev HeatPumpServer attr dim_flow_temperature conversion 0.1:0 attr dim_flow_temperature event-min-interval .*:900 attr dim_flow_temperature event-on-change-reading .* attr dim_flow_temperature plcDataType INT attr dim_flow_temperature registerType Holding attr dim_flow_temperature room Dimplex attr dim_flow_temperature stateAlias temperature attr dim_flow_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} attr dim_flow_temperature updateInterval 00:01:00
######################################################## ## Register Rücklauftemperatur definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_return_temperature ModbusRegister 0 2 attr dim_return_temperature IODev HeatPumpServer attr dim_return_temperature conversion 0.1:0 attr dim_return_temperature event-min-interval .*:900 attr dim_return_temperature event-on-change-reading .* attr dim_return_temperature plcDataType INT attr dim_return_temperature registerType Holding attr dim_return_temperature room Dimplex attr dim_return_temperature stateAlias temperature attr dim_return_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} attr dim_return_temperature updateInterval 00:01:00
######################################################## ## Register Rücklaufsolltemperatur definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_returnset_temperature ModbusRegister 0 53 attr dim_returnset_temperature IODev HeatPumpServer attr dim_returnset_temperature conversion 0.1:0 attr dim_returnset_temperature event-min-interval .*:900 attr dim_returnset_temperature event-on-change-reading .* attr dim_returnset_temperature plcDataType INT attr dim_returnset_temperature registerType Holding attr dim_returnset_temperature room Dimplex attr dim_returnset_temperature stateAlias temperature attr dim_returnset_temperature stateFormat {sprintf("%0.1f", ReadingsVal($name,"state",0))} attr dim_returnset_temperature updateInterval 00:05:00
Logfile Betriebsdaten
Anlegen eines täglichen Logfile der Betriebsdaten.
######################################################## ## Logfile Betriebsdaten definieren ## Erstellt........: 06.01.2015 ######################################################## define filelog_dim_temperature FileLog ./log/filelog_dim_temperature-%W-%d.log dim_.*._temperature:temperature:.*|dim_.*._pressure:pressure:.* attr filelog_dim_temperature room Dimplex
Statistiken
Folgender Code legt die Statistiken der Betriebsdaten an
define dim_statistics statistics dim_.*._temperature|dim_.*._pressure attr dim_statistics dayChangeTime 1 attr dim_statistics deltaReadings temperature,pressure attr dim_statistics minAvgMaxReadings temperature,pressure attr dim_statistics room Dimplex attr dim_statistics tendencyReadings temperature,pressure
Zustände
Vorschlag der Namensvergabe für die Zustände. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch readingsGroup.
dim_compressor_output | Verdichter |
dim_ventilator_output | Ventilator |
dim_brinepump_ output | Solepumpe |
dim_circulationpump_output | Heizungsumwälzpumpe M13 |
dim_2heatgenerator_output | 2.Wärmeerzeuger |
dim_dhwpump_output | Warmwasserpumpe M18 |
dim_auxiliarypump_output | Zusatzpumpe M16 |
dim_flangeheater_output | Flanschheizung |
######################################################## ## Coil Verdichter definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_compressor_output ModbusCoil 0 41 attr dim_compressor_output IODev HeatPumpServer attr dim_compressor_output disableRegisterMapping 1 attr dim_compressor_output event-min-interval .*:900 attr dim_compressor_output event-on-change-reading .* attr dim_compressor_output room Dimplex attr dim_compressor_output source Coil attr dim_compressor_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für Verdichter definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_compressor_output HourCounter dim_compressor_output:on dim_compressor_output:off attr hourcounter_compressor_output event-min-interval tick.*:0,.*:3600 attr hourcounter_compressor_output event-on-change-reading .*
######################################################## ## Coil Ventilator definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_ventilator_output ModbusCoil 0 43 attr dim_ventilator_output IODev HeatPumpServer attr dim_ventilator_output disableRegisterMapping 1 attr dim_ventilator_output event-min-interval .*:900 attr dim_ventilator_output event-on-change-reading .* attr dim_ventilator_output room Dimplex attr dim_ventilator_output source Coil attr dim_ventilator_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für Ventilator definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_ventilator_output HourCounter dim_ventilator_output:on dim_ventilator_output:off attr hourcounter_ventilator_output event-min-interval tick.*:0,.*:3600 attr hourcounter_ventilator_output event-on-change-reading .*
######################################################## ## Coil 2.Wärmeerzeuger definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_2heatgenerator_output ModbusCoil 0 44 attr dim_2heatgenerator_output IODev HeatPumpServer attr dim_2heatgenerator_output disableRegisterMapping 1 attr dim_2heatgenerator_output event-min-interval .*:900 attr dim_2heatgenerator_output event-on-change-reading .* attr dim_2heatgenerator_output room Dimplex attr dim_2heatgenerator_output source Coil attr dim_2heatgenerator_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für 2.Wärmeerzeuger definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_2heatgenerator_output HourCounter dim_2heatgenerator_output:on dim_2heatgenerator_output:off attr hourcounter_2heatgenerator_output event-min-interval tick.*:0,.*:3600 attr hourcounter_2heatgenerator_output event-on-change-reading .*
######################################################## ## Coil Heizungsumwälzpumpe M13 definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_circulationpump_output ModbusCoil 0 45 attr dim_circulationpump_output IODev HeatPumpServer attr dim_circulationpump_output disableRegisterMapping 1 attr dim_circulationpump_output event-min-interval .*:900 attr dim_circulationpump_output event-on-change-reading .* attr dim_circulationpump_output room Dimplex attr dim_circulationpump_output source Coil attr dim_circulationpump_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für Heizungsumwälzpumpe M13 definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_circulationpump_output HourCounter dim_circulationpump_output:on dim_circulationpump_output:off attr hourcounter_circulationpump_output event-min-interval tick.*:0,.*:3600 attr hourcounter_circulationpump_output event-on-change-reading .*
######################################################## ## Coil Warmwasserpumpe M18 definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_dhwpump_output ModbusCoil 0 46 attr dim_dhwpump_output IODev HeatPumpServer attr dim_dhwpump_output disableRegisterMapping 1 attr dim_dhwpump_output event-min-interval .*:900 attr dim_dhwpump_output event-on-change-reading .* attr dim_dhwpump_output room Dimplex attr dim_dhwpump_output source Coil attr dim_dhwpump_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für Warmwasserpumpe M18 definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_dhwpump_output HourCounter dim_dhwpump_output:on dim_dhwpump_output:off attr hourcounter_dhwpump_output event-min-interval tick.*:0,.*:3600 attr hourcounter_dhwpump_output event-on-change-reading .*
######################################################## ## Coil Zusatzpumpe M16 definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_auxiliarypump_output ModbusCoil 0 49 attr dim_auxiliarypump_output IODev HeatPumpServer attr dim_auxiliarypump_output disableRegisterMapping 1 attr dim_auxiliarypump_output event-min-interval .*:900 attr dim_auxiliarypump_output event-on-change-reading .* attr dim_auxiliarypump_output room Dimplex attr dim_auxiliarypump_output source Coil attr dim_auxiliarypump_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für Zusatzpumpe M16 definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_auxiliarypump_output HourCounter dim_auxiliarypump_output:on dim_auxiliarypump_output:off attr hourcounter_auxiliarypump_output event-min-interval tick.*:0,.*:3600 attr hourcounter_auxiliarypump_output event-on-change-reading .*
######################################################## ## Coil Flanschheizung definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_flangeheater_output ModbusCoil 0 50 attr dim_flangeheater_output IODev HeatPumpServer attr dim_flangeheater_output disableRegisterMapping 1 attr dim_flangeheater_output event-min-interval .*:900 attr dim_flangeheater_output event-on-change-reading .* attr dim_flangeheater_output room Dimplex attr dim_flangeheater_output source Coil attr dim_flangeheater_output updateInterval 00:01:00 ######################################################## ## Passenden HourCounter für Flanschheizung M16 definieren ## Erstellt........: 06.01.2015 ######################################################## define hourcounter_flangeheater_output HourCounter dim_flangeheater_output:on dim_flangeheater_output:off attr hourcounter_flangeheater_output event-min-interval tick.*:0,.*:3600 attr hourcounter_flangeheater_output event-on-change-reading .*
Logfile Zustände
Anlegen eines wöchentlichen Logfile der Zustände.
######################################################## ## Logfile Ausgänge/Zustände definieren ## Erstellt........: 06.01.2015 ######################################################## define filelog_dim_output_week FileLog ./log/filelog_dim_output_week-%W.log dim_.*._output.* attr filelog_dim_output_week room Dimplex
Historie
Vorschlag der Namensvergabe für die Historie. Eine sinnvolle Namensvergabe erleichtert später das Anlegen weiterer Definitionen von zum Beispiel Logfiles, Statistiken oder auch readingsGroup.
dim_compressor_history | Verdichter |
dim_ventilator_history | Ventilator |
dim_brinepump_history | Solepumpe |
dim_circulationpump_history | Heizungsumwälzpumpe M13 |
dim_2heatgenerator_history | 2.Wärmeerzeuger |
dim_dhwpump_history | Warmwasserpumpe M18 |
dim_auxiliarypump_history | Zusatzpumpe M16 |
dim_flangeheater_history | Flanschheizung |
######################################################## ## Register Historie Verdichter definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_compressor_history ModbusRegister 0 72 attr dim_compressor_history IODev HeatPumpServer attr dim_compressor_history alignUpdateInterval 00:01:00 attr dim_compressor_history event-on-change-reading .* attr dim_compressor_history plcDataType INT attr dim_compressor_history registerType Holding attr dim_compressor_history room Dimplex attr dim_compressor_history updateInterval 01:00:00
######################################################## ## Register Historie Ventilator definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_ventilator_history ModbusRegister 0 74 attr dim_ventilator_history IODev HeatPumpServer attr dim_ventilator_history alignUpdateInterval 00:01:00 attr dim_ventilator_history event-on-change-reading .* attr dim_ventilator_history plcDataType INT attr dim_ventilator_history registerType Holding attr dim_ventilator_history room Dimplex attr dim_ventilator_history updateInterval 01:00:00
######################################################## ## Register Historie 2.Wärmeerzeuger definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_2heatgenerator_history ModbusRegister 0 75 attr dim_2heatgenerator_history IODev HeatPumpServer attr dim_2heatgenerator_history alignUpdateInterval 00:01:00 attr dim_2heatgenerator_history event-on-change-reading .* attr dim_2heatgenerator_history plcDataType INT attr dim_2heatgenerator_history registerType Holding attr dim_2heatgenerator_history room Dimplex attr dim_2heatgenerator_history updateInterval 01:00:00
######################################################## ## Register Historie Heizungsumwälzpumpe M13 definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_circulationpump_history ModbusRegister 0 76 attr dim_circulationpump_history IODev HeatPumpServer attr dim_circulationpump_history alignUpdateInterval 00:01:00 attr dim_circulationpump_history event-on-change-reading .* attr dim_circulationpump_history plcDataType INT attr dim_circulationpump_history registerType Holding attr dim_circulationpump_history room Dimplex attr dim_circulationpump_history updateInterval 01:00:00
######################################################## ## Register Historie Warmwasserpumpe M18 definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_dhwpump_history ModbusRegister 0 77 attr dim_dhwpump_history IODev HeatPumpServer attr dim_dhwpump_history alignUpdateInterval 00:01:00 attr dim_dhwpump_history event-on-change-reading .* attr dim_dhwpump_history plcDataType INT attr dim_dhwpump_history registerType Holding attr dim_dhwpump_history room Dimplex attr dim_dhwpump_history updateInterval 01:00:00
######################################################## ## Register Historie Flanschheizung definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_flangeheater_history ModbusRegister 0 78 attr dim_flangeheater_history IODev HeatPumpServer attr dim_flangeheater_history alignUpdateInterval 00:01:00 attr dim_flangeheater_history event-on-change-reading .* attr dim_flangeheater_history plcDataType INT attr dim_flangeheater_history registerType Holding attr dim_flangeheater_history room Dimplex attr dim_flangeheater_history updateInterval 01:00:00
Logfile Historie
Anlegen eines monatlichen Logfile für die Historischen Daten.
######################################################## ## Logfile Historie definieren ## Erstellt........: 06.01.2015 ######################################################## define filelog_dim_history_month FileLog ./log/filelog_dim_history_month-%m.log dim_.*._history.* attr filelog_dim_history_month room Dimplex
Wärmemengen
Laut Definition aus dem Dimplex-Wiki werden die Wärmemengen für Heizen, Warmwasser und Schwimmbad aus 3 Register-Adressen zusammengesetzt. Im Nachfolgenden Code-Beispiel wird dies entsprechend dargestellt. Dabei wird jeweils im ersten Register ein neues userReading mit der Darstellung der Gesamtwärmemenge angelegt.
######################################################## ## Wärmemenge Heizen definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_heating1_thermalenergy ModbusRegister 0 5096 attr dim_heating1_thermalenergy IODev HeatPumpServer attr dim_heating1_thermalenergy event-on-change-reading .* attr dim_heating1_thermalenergy plcDataType INT attr dim_heating1_thermalenergy registerType Holding attr dim_heating1_thermalenergy room Dimplex attr dim_heating1_thermalenergy updateInterval 00:15:00 attr dim_heating1_thermalenergy userReadings heatingthermalenergy { ((ReadingsVal("dim_heating3_thermalenergy","state",0)*100000000)+ (ReadingsVal("dim_heating2_thermalenergy","state",0)*10000)+ (ReadingsVal("dim_heating1_thermalenergy","state",0)))} define dim_heating2_thermalenergy ModbusRegister 0 5097 attr dim_heating2_thermalenergy IODev HeatPumpServer attr dim_heating2_thermalenergy event-on-change-reading .* attr dim_heating2_thermalenergy plcDataType INT attr dim_heating2_thermalenergy registerType Holding attr dim_heating2_thermalenergy room Dimplex attr dim_heating2_thermalenergy updateInterval 00:15:00 define dim_heating3_thermalenergy ModbusRegister 0 5098 attr dim_heating3_thermalenergy IODev HeatPumpServer attr dim_heating3_thermalenergy event-on-change-reading .* attr dim_heating3_thermalenergy plcDataType INT attr dim_heating3_thermalenergy registerType Holding attr dim_heating3_thermalenergy room Dimplex attr dim_heating3_thermalenergy updateInterval 00:15:00
######################################################## ## Wärmemenge Warmwasser definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_dhw1_thermalenergy ModbusRegister 0 5099 attr dim_dhw1_thermalenergy IODev HeatPumpServer attr dim_dhw1_thermalenergy event-on-change-reading .* attr dim_dhw1_thermalenergy plcDataType INT attr dim_dhw1_thermalenergy registerType Holding attr dim_dhw1_thermalenergy room Dimplex attr dim_dhw1_thermalenergy updateInterval 00:15:00 attr dim_dhw1_thermalenergy userReadings dhwthermalenergy { ((ReadingsVal("dim_dhw3_thermalenergy","state",0)*100000000)+ (ReadingsVal("dim_dhw2_thermalenergy","state",0)*10000)+ (ReadingsVal("dim_dhw1_thermalenergy","state",0)))} define dim_dhw2_thermalenergy ModbusRegister 0 5100 attr dim_dhw2_thermalenergy IODev HeatPumpServer attr dim_dhw2_thermalenergy event-on-change-reading .* attr dim_dhw2_thermalenergy plcDataType INT attr dim_dhw2_thermalenergy registerType Holding attr dim_dhw2_thermalenergy room Dimplex attr dim_dhw2_thermalenergy updateInterval 00:15:00 define dim_dhw3_thermalenergy ModbusRegister 0 5101 attr dim_dhw3_thermalenergy IODev HeatPumpServer attr dim_dhw3_thermalenergy event-on-change-reading .* attr dim_dhw3_thermalenergy plcDataType INT attr dim_dhw3_thermalenergy registerType Holding attr dim_dhw3_thermalenergy room Dimplex attr dim_dhw3_thermalenergy updateInterval 00:15:00
Umweltenergie
Als Umweltenergie wird die zugeführte Kälteenergie aus der Umwelt (Luft/Erdreich) bezeichnet. Das Auslesen dieser Werte über die Schnittstelle ist erst ab einem neueren Softwarestand möglich. Die Differenz der gesamten Wärmemenge und der Umweltenergie entspricht in etwa der Energie des Verdichters.
######################################################## ## Umweltenergie/entzogene Kälteenergie definieren ## Erstellt........: 06.01.2015 ## Geändert........: 04.01.2016 ######################################################## define dim_environment1_energy ModbusRegister 0 5127 attr dim_environment1_energy IODev HeatPumpServer attr dim_environment1_energy event-on-change-reading .* attr dim_environment1_energy plcDataType INT attr dim_environment1_energy registerType Holding attr dim_environment1_energy room Dimplex attr dim_environment1_energy updateInterval 00:15:00 attr dim_environment1_energy userReadings environmentenergy { ((ReadingsVal("dim_environment3_energy","state",0)*100000000)+ (ReadingsVal("dim_environment2_energy","state",0)*10000)+ (ReadingsVal("dim_environment1_energy","state",0)))} define dim_environment2_energy ModbusRegister 0 5128 attr dim_environment2_energy IODev HeatPumpServer attr dim_environment2_energy event-on-change-reading .* attr dim_environment2_energy plcDataType INT attr dim_environment2_energy registerType Holding attr dim_environment2_energy room Dimplex attr dim_environment2_energy updateInterval 00:15:00 define dim_environment3_energy ModbusRegister 0 5129 attr dim_environment3_energy IODev HeatPumpServer attr dim_environment3_energy event-on-change-reading .* attr dim_environment3_energy plcDataType INT attr dim_environment3_energy registerType Holding attr dim_environment3_energy room Dimplex attr dim_environment3_energy updateInterval 00:15:00
Logfile Wärmemengen
Anlegen eines jährlichen Logfile der Wärmemengen.
######################################################## ## Logfile Wärmemengen definieren ## Erstellt........: 06.01.2015 ######################################################## define filelog_dim_thermalenergy_year FileLog ./log/filelog_dim_thermalenergy_year-%y.log dim_heating1_thermalenergy:heatingthermalenergy:.*| dim_dhw1_thermalenergy:dhwthermalenergy:.*| dim_heating1_thermalenergy:heatingthermalenergy:.* attr filelog_dim_thermalenergy_year room Dimplex
Meldungen
Eine sinnvolle Anzeige sind die Meldungen (Status, Sperre, Störung) der Wärmepumpe. Im nachfolgenden Beispiel werden die Meldungen mit dem Hilfsmodul readingsHistory dargestellt. Die Definitionen der Meldungen beziehen sich auf die im Dimplex-Wiki beschriebene L-Software. Bei abweichenden Softwareständen müssen die Register sowie die Texte angepasst werden.
######################################################## ## Register Statusmeldung definieren ## Erstellt........: 04.01.2016 ## Geändert........: ######################################################## define dim_status_heatpump ModbusRegister 0 103 attr dim_status_heatpump IODev HeatPumpServer attr dim_status_heatpump event-on-change-reading .* attr dim_status_heatpump plcDataType INT attr dim_status_heatpump registerType Holding attr dim_status_heatpump room Dimplex attr dim_status_heatpump updateInterval 00:00:10 attr dim_status_heatpump userReadings Status { ((ReadingsVal($name,"state","") == 1) ? "Aus": (ReadingsVal($name,"state","") == 2) ? "Heizen": (ReadingsVal($name,"state","") == 4) ? "Warmwasser": (ReadingsVal($name,"state","") == 10) ? "Abtauen": (ReadingsVal($name,"state","") == 11) ? "Durchflussüberwachnung":"")}
######################################################## ## Register Sperrmeldunge definieren ## Erstellt........: 04.01.2016 ## Geändert........: ######################################################## define dim_block_heatpump ModbusRegister 0 104 attr dim_block_heatpump IODev HeatPumpServer attr dim_block_heatpump event-on-change-reading .* attr dim_block_heatpump plcDataType INT attr dim_block_heatpump registerType Holding attr dim_block_heatpump room Dimplex attr dim_block_heatpump updateInterval 00:00:10 attr dim_block_heatpump userReadings Sperre { ((ReadingsVal($name,"state","") == 0) ? "": (ReadingsVal($name,"state","") == 7) ? "Systemkontrolle": (ReadingsVal($name,"state","") == 9) ? "Pumpenvorlauf": (ReadingsVal($name,"state","") == 10) ? "Mindeststandzeit": (ReadingsVal($name,"state","") == 11) ? "Netzbelastung": (ReadingsVal($name,"state","") == 12) ? "Schaltspielsperre": (ReadingsVal($name,"state","") == 15) ? "EVU":"")}
######################################################## ## Register Störmeldungen definieren ## Erstellt........: 04.01.2016 ## Geändert........: ######################################################## define dim_fault_heatpump ModbusRegister 0 105 attr dim_fault_heatpump IODev HeatPumpServer attr dim_fault_heatpump event-on-change-reading .* attr dim_fault_heatpump plcDataType INT attr dim_fault_heatpump registerType Holding attr dim_fault_heatpump room Dimplex attr dim_fault_heatpump updateInterval 00:01:00 attr dim_fault_heatpump userReadings Störung { ((ReadingsVal($name,"state","") == 0) ? "": (ReadingsVal($name,"state","") == 6) ? "Elektronisches Ex.Ventil": (ReadingsVal($name,"state","") == 15) ? "Sensorik": (ReadingsVal($name,"state","") == 19) ? "!Primärkreis": (ReadingsVal($name,"state","") == 22) ? "!Warmwasser": (ReadingsVal($name,"state","") == 23) ? "!Last Verdichter": (ReadingsVal($name,"state","") == 24) ? "!Codierung": (ReadingsVal($name,"state","") == 25) ? "!Niederdruck": (ReadingsVal($name,"state","") == 26) ? "!Frostschutz": (ReadingsVal($name,"state","") == 27) ? "!Hochdruck": (ReadingsVal($name,"state","") == 29) ? "!Temperatur Differenz": (ReadingsVal($name,"state","") == 31) ? "!Durchfluss":"")}
Anzeige der Meldungen
######################################################## ## readingsHistory definieren ## Erstellt........: 04.01.2016 ## Geändert........: ######################################################## define rh_dim_status_heatpump readingsHistory dim_status_heatpump:Status dim_block_heatpump:Sperre dim_fault_heatpump:Störung attr rh_dim_status_heatpump alias Status attr rh_dim_status_heatpump mapping {'dim_status_heatpump' => '', 'dim_block_heatpump' => '', 'dim_fault_heatpump' => ''} attr rh_dim_status_heatpump nohtml 1 attr rh_dim_status_heatpump room Dimplex attr rh_dim_status_heatpump rows 20 attr rh_dim_status_heatpump timestampFormat %b %a %R
Plotbeispiel
Temperaturen
# Created by FHEM/98_SVG.pm, 2015-05-11 21:40:00 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 '<L1>' set ytics nomirror set y2tics set grid ytics y2tics set ylabel "" set y2label "Temperatur (°C)" #filelog_dim_temperature_week 4:dim_outdoor_temperature.*:: #filelog_dim_temperature_week 4:dim_room_temperature.*:: #filelog_dim_temperature_week 4:dim_return_temperature.*:: #filelog_dim_temperature_week 4:dim_returnset_temperature.*:: #filelog_dim_temperature_week 4:dim_dhw_temperature.*:: #filelog_dim_temperature_week 4:dim_flow_temperature.*:: #filelog_dim_temperature_week 4:dim_brine_temperature.*:: plot "<IN>" using 1:2 axes x1y2 title 'AT' ls l7 lw 1 with lines,\ "<IN>" using 1:2 axes x1y2 title 'RT' ls l1 lw 1 with lines,\ "<IN>" using 1:2 axes x1y2 title 'RL' ls l2 lw 1 with lines,\ "<IN>" using 1:2 axes x1y2 title 'RLS' ls l3 lw 1 with lines,\ "<IN>" using 1:2 axes x1y2 title 'WWT' ls l4 lw 1 with lines,\ "<IN>" using 1:2 axes x1y2 title 'VLT' ls l0 lw 1 with lines,\ "<IN>" using 1:2 axes x1y2 title 'SOL' ls l6 lw 1 with lines
Ausgänge
# Created by FHEM/98_SVG.pm, 2015-05-11 21:45:00 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 '' set ytics ("An" -1, "Aus" -2, "An" -5, "Aus" -6, "An" -9, "Aus" -10, "An" -13, "Aus" -14) set y2tics ("An" 1, "Aus" 0, "An" -3, "Aus" -4, "An" -7, "Aus" -8, "An" -11, "Aus" -12) set grid set ylabel "" set y2label "Digital" set yrange [-16:2] set y2range [-16:2] #FileLog 3:dim_compressor_output.*::$fld[2]=~"on"?1:0 #FileLog 3:dim_ventilator_output.*::$fld[2]=~"on"?-1:-2 #FileLog 3:dim_2heatgenerator_output.*::$fld[2]=~"on"?-3:-4 #FileLog 3:dim_circulationpump_output.*::$fld[2]=~"on"?-5:-6 #FileLog 3:dim_dhwpump_output.*::$fld[2]=~"on"?-7:-8 #FileLog 3:dim_auxiliarypump_output.*::$fld[2]=~"on"?-9:-10 #FileLog 3:dim_solarpump_output.*::$fld[2]=~"on"?-11:-12 #FileLog 3:dim_flangeheater_output.*::$fld[2]=~"on"?-13:-14 plot "<IN>" using 1:2 axes x1y2 title 'Vd' ls l7 lw 1.5 with steps,\ "<IN>" using 1:2 axes x1y2 title 'Ve' ls l6 lw 1.5 with steps,\ "<IN>" using 1:2 axes x1y2 title '2.We' ls l5 lw 1.5 with steps,\ "<IN>" using 1:2 axes x1y2 title 'Hub' ls l4 lw 1.5 with steps,\ "<IN>" using 1:2 axes x1y2 title 'Wup' ls l3 lw 1 with steps,\ "<IN>" using 1:2 axes x1y2 title 'Zup' ls l0 lw 1.5 with steps,\ "<IN>" using 1:2 axes x1y2 title 'Sol' ls l2 lw 1.5 with steps,\ "<IN>" using 1:2 axes x1y2 title 'Flh' ls l7 lw 1.5 with steps
Im nebenstehenden Plotbeispiel werde die Temperaturen (Analogwerte) sowie die Ausgänge (Digitalwerte) dargestellt. Im einzelnen sind die Kurven für die
- Aussen- (AT)
- Raum- (RT)
- Rücklauf- (RL)
- Rücklaufsoll- (RLS)
- Warmwasser- (WWT) und
- Vorlauftemperatur (VLT)
sowie die Ausgänge für
- Verdichter 1 (Vd)
- Ventilator (Ve)
- 2.Wärmeerzeuger (2We)
- Heizungsumwälzpumpe (Hup)
- Warmwasserumwälzpumpe (Wup) und
- Zusatzumwälzpumpe (Zup)
enthalten.
Kontakt
Weitere Fragen, Wünsche und Anregungen bitte im entsprechenden Forenthread zum Wiki-Artikel "Dimplex Wärmepumpenmanager" zur Diskussion stellen.
Offene Punkte: - Darstellung der Werte in einer readingsGroup - Zugriff auf Zeitfunktionen mit Lesen und Schreiben