Ver código fonte

- new version v0.9.1
- wato config for HomeMatic reading 'activity'
- support for Luxtronik 2.0 (incl. readings, wato and pnp4nagios)
- add CHANGELOG.md

erdoking 7 anos atrás
pai
commit
54702873e8

+ 20 - 0
CHANGELOG.md

@@ -0,0 +1,20 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+## [Unreleased]
+ - new agent with supprt for empty readings
+
+## [0.9.1] - 2018-06-25
+### Added
+ - wato config for HomeMatic reading 'activity' [thanks to MarkusN]
+ - support for Luxtronik 2.0 (incl. readings, wato and pnp4nagios) [thanks to mab]
+
+## [0.9.0] - 2018-06-20
+### Added
+ - mkp erstellt
+ - first release version
+
+### Changed
+ - Complete rewrite of the WATO configuration page. Now there are categories for better sorting.
+ - Extensive rewrite of the FHEM-plugin was necessary.

BIN
fhem-0.9.1.mkp


+ 43 - 2
local/share/check_mk/checks/fhem

@@ -113,8 +113,8 @@ def check_fhem(item, params, info):
         ## show         => print if no error
         ## perfd        => print perfdata
         for key, title, unit, channel, show, perfd in [
-             ##  key                    title                   unit                channel            show        perfd
-             ##  -------                -------                 -------             -------            ----        -----
+             ##  key                            title                   unit                channel            show        perfd
+             ##  -------                        -------                 -------             -------            ----        -----
                 ('temperature',         'temperature',          u'°C',              '',                1,          1),
                 ('desired-temp',        'desiredtemp',          u'°C',              '',                1,          1),
                 ('humidity',            'humidity',             u'%',               '',                1,          1),
@@ -161,6 +161,29 @@ def check_fhem(item, params, info):
                 ('duration_in_traffic', 'duration_in_traffic',  'mins',             '',                1,          1),
                 ## ESPEasy
                 ('presence',            'presence',             '',                 '',                1,          1),
+             ##  key                            title                           unit                channel            show        perfd
+             ##  -------                        -------                         -------             -------            ----        -----
+                ## LUXTRONIK2
+                ('ambientTemperature',          'ambientTemperature',           u'°C',              '',                1,          1),
+                ('averageAmbientTemperature',   'averageAmbientTemperature',    u'°C',              '',                0,          1),
+                ('hotWaterTemperature',         'hotWaterTemperature',          u'°C',              '',                1,          1),
+                ('hotWaterTemperatureTarget',   'hotWaterTemperatureTarget',    u'°C',              '',                0,          1),
+                ('heatingSystemCircPump',       'heatingSystemCircPump',        '',                 '',                0,          1),
+                ('opModeHeating',               'opModeHeating',                '',                 '',                0,          0),
+                ('opModeHotWater',              'opModeHotWater',               '',                 '',                0,          0),
+                ('opStateHeatPump1',            'opStateHeatPump1',             '',                 '',                0,          0),
+                ('hotGasTemperature',           'hotGasTemperature',            u'°C',              '',                1,          1),
+                ('flowTemperature',             'flowTemperature',              u'°C',              '',                1,          1),
+                ('returnTemperature',           'returnTemperature',            u'°C',              '',                1,          1),
+                ('returnTemperatureTarget',     'returnTemperatureTarget',      u'°C',              '',                0,          1),
+#                ('counterHours2ndHeatSource1',  'counterHours2ndHeatSource1',   '',                 '',                0,          0),
+#                ('counterHours2ndHeatSource2',  'counterHours2ndHeatSource2',   '',                 '',                0,          0),
+#                ('counterHoursHeatPump',        'counterHoursHeatPump',         '',                 '',                0,          0),
+#                ('counterHoursHeating',         'counterHoursHeating',          '',                 '',                0,          0),
+#                ('counterHoursHotWater',        'counterHoursHotWater',         '',                 '',                0,          0),
+
+
+
 
 
         ]:
@@ -369,6 +392,24 @@ factory_settings["fhem_default_params"] = {
         "var_RGB_color"                : ("ignore"),       # RGB color hexcode
         "var_brightness"               : ("ignore"),       # color brightness
         "var_state"                    : ("ignore"),       # reading state
+        ## LUXTRONIK2
+        "level_ambientTemperature_max"          : (26, 30),         # warn/crit for max. ambientTemperature
+        "level_ambientTemperature_min"          : (15, 12),         # warn/crit for min. ambientTemperature
+        "level_averageAmbientTemperature_max"   : (26, 30),         # warn/crit for max. averageAmbientTemperature
+        "level_averageAmbientTemperature_min"   : (15, 12),         # warn/crit for min. averageAmbientTemperature
+        "level_hotWaterTemperature_max"         : (60, 65),         # warn/crit for max hotWaterTemperature
+        "level_hotWaterTemperature_min"         : (40, 37),         # warn/crit for min hotWaterTemperature
+#        "level_hotGasTemperature_max"           : (26, 30),         # warn/crit for max hotWaterTemperature
+#        "level_hotGasTemperature_min"           : (15, 12),         # warn/crit for min hotWaterTemperature
+#        "level_returnTemperature_max"           : (35, 38),         # warn/crit for max hotWaterTemperature
+#        "level_returnTemperature_min"           : (25, 23),         # warn/crit for min hotWaterTemperature
+#        "level_flowTemperature_max"             : (35, 38),         # warn/crit for max hotWaterTemperature
+#        "level_flowTemperature_min"             : (25, 23),         # warn/crit for min hotWaterTemperatur
+        "var_heatingSystemCircPump"             : ("ignore"),       # default for heatingSystemCircPump
+        "var_opStateHeatPump1"                  : ("ignore"),       # default for opStateHeatPump1
+        "var_opModeHeating"                     : ("Automatik"),    # default for opModeHeating 
+        "var_opModeHotWater"                    : ("Automatik"),    # default for opModeHotWater
+        
 }
 
 check_info['fhem'] = {

+ 36 - 0
local/share/check_mk/pnp-templates/check_mk-fhem.php

@@ -165,4 +165,40 @@ if (isset($fhem_defines['presence']) ) {
         ;
 }
 
+
+
+# 10. LUXTRONIK2 (ambientTemperature)
+if (isset($fhem_defines['ambientTemperature']) ) {
+   $ds_name[] = 'ambientTemperature';
+   $opt[] = $defopt . "--title \"Ambient temperature\"";
+   $def[] = ""
+        . fhem_area("ambientTemperature",      "80ff40", "ambientTemperature",    "°C",  FALSE)
+        . fhem_curve("LINE2", "averageAmbientTemperature",      "408f20", "averageAmbientTemperature",   "°C",  FALSE)
+        ;
+}
+
+
+# 11. LUXTRONIK2 (hotWaterTemperature)
+if (isset($fhem_defines['hotWaterTemperature']) ) {
+   $ds_name[] = 'hotWaterTemperature';
+   $opt[] = $defopt . "--title \"hot wasser temperature\"";
+   $def[] = ""
+        . fhem_area("hotWaterTemperature",      "00bfff", "hotWaterTemperature",         "°C",  FALSE)
+        . fhem_curve("LINE2", "hotWaterTemperatureTarget","00008B", "hotWaterTemperatureTarget",   "°C",  FALSE)
+        ;
+}
+
+
+# 12. LUXTRONIK2 (returnTemperature)
+if (isset($fhem_defines['returnTemperature']) ) {
+   $ds_name[] = 'returnTemperature';
+   $opt[] = $defopt . "--title \"return temperature + flow temperature\"";
+   $def[] = ""
+        . fhem_area("returnTemperature", "ffd700", "returnTemperature", "°C",  FALSE)
+        . fhem_curve("LINE2", "flowTemperature", "00bfff", "flowTemperature", "°C",  FALSE)
+        . fhem_curve("LINE2", "returnTemperatureTarget","ee0000", "returnTemperatureTarget",   "°C",  FALSE)
+        ;
+}
+
+
 ?>

+ 177 - 0
local/share/check_mk/web/plugins/wato/fhem.py

@@ -549,6 +549,183 @@ register_check_parameters(
 
                ]
               )),
+              ## ----------------------------------------------------
+              ## Sub-category Luxtronik
+              ## ----------------------------------------------------
+              ('luxtronik2_params', Dictionary(
+               title = "Luxtronik",
+               help = _("Luxtronik specific parameter"),
+               allow_empty = False,
+               elements = [
+                       ## ambientTemperature upper level
+                       ( "level_ambientTemperature_max",
+                          Tuple(
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to 1000 to disable."),
+                              title = _("Ambient temperature upper Levels (r: ambientTemperature)"),
+                              elements = [
+                                  Integer(title = _("Warning at"), unit = u"°C", default_value = 26),
+                                  Integer(title = _("Critical at"), unit = u"°C", default_value = 30),
+                              ]
+                        )),
+                        ## ambientTemperature lower level
+                        ( "level_ambientTemperature_min",
+                          Tuple(
+                              title = _("Ambient temperature lower Levels (r: ambientTemperature)"),
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to -1000 to disable."),
+                              elements = [
+                                  Integer(title = _("Warning below"), unit = u"°C", default_value = 15),
+                                  Integer(title = _("Critical below"), unit = u"°C", default_value = 12),
+                              ]
+                        )),
+                       ## hotWaterTemperature upper level
+                       ( "level_hotWaterTemperature_max",
+                          Tuple(
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to 1000 to disable."),
+                              title = _("Water temperature upper Levels (r: hotWaterTemperature)"),
+                              elements = [
+                                  Integer(title = _("Warning at"), unit = u"°C", default_value = 60),
+                                  Integer(title = _("Critical at"), unit = u"°C", default_value = 65),
+                              ]
+                        )),
+                        ## hotWaterTemperature lower level
+                        ( "level_hotWaterTemperature_min",
+                          Tuple(
+                              title = _("Water temperature lower Levels (r: hotWaterTemperature)"),
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to -1000 to disable."),
+                              elements = [
+                                  Integer(title = _("Warning below"), unit = u"°C", default_value = 40),
+                                  Integer(title = _("Critical below"), unit = u"°C", default_value = 37),
+                              ]
+                        )),
+                       ## hotGasTemperature upper level
+                       ( "level_hotGasTemperature_max",
+                          Tuple(
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to 1000 to disable."),
+                              title = _("Gas temperature upper Levels (r: hotGasTemperature)"),
+                              elements = [
+                                  Integer(title = _("Warning at"), unit = u"°C", default_value = 0),
+                                  Integer(title = _("Critical at"), unit = u"°C", default_value = 0),
+                              ]
+                        )),
+                        ## hotGasTemperature lower level
+                        ( "level_hotGasTemperature_min",
+                          Tuple(
+                              title = _("Gas temperature lower Levels (r: hotGasTemperature)"),
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to -1000 to disable."),
+                              elements = [
+                                  Integer(title = _("Warning below"), unit = u"°C", default_value = 0),
+                                  Integer(title = _("Critical below"), unit = u"°C", default_value = 0),
+                              ]
+                        )),
+                       ## returnTemperature upper level
+                       ( "level_returnTemperature_max",
+                          Tuple(
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to 1000 to disable."),
+                              title = _("Return temperature upper Levels (r: returnTemperature)"),
+                              elements = [
+                                  Integer(title = _("Warning at"), unit = u"°C", default_value = 0),
+                                  Integer(title = _("Critical at"), unit = u"°C", default_value = 0),
+                              ]
+                        )),
+                        ## returnTemperature lower level
+                        ( "level_returnTemperature_min",
+                          Tuple(
+                              title = _("Return temperature lower Levels (r: returnTemperature)"),
+                              help = _("You can adjust the levels before this service goes into warning/critical. Set to -1000 to disable."),
+                              elements = [
+                                  Integer(title = _("Warning below"), unit = u"°C", default_value = 0),
+                                  Integer(title = _("Critical below"), unit = u"°C", default_value = 0),
+                              ]
+                        )),
+                        ## opModeHeating
+                        ("var_opModeHeating",
+                         Alternative(
+                            title = _('Operation mode heating (r: opModeHeating)'),
+                            style = "dropdown",
+                            allow_empty = False,
+                            help = _("opModeHeating (default: Automatik)"),
+                            elements = [
+                                FixedValue(
+                                    'Automatik',
+                                    totext = "Automatik",
+                                    title = _("Automatik"),
+                                ),
+                                TextAscii(
+                                    title = _("custom"),
+                                    label = _("custom:"),
+                                    size = 50,
+                                ),
+                           ]
+                        )),
+                        ## opModeHotWater
+                        ("var_opModeHotWater",
+                         Alternative(
+                            title = _('Operation mode heating (r: opModeHotWater)'),
+                            style = "dropdown",
+                            allow_empty = False,
+                            help = _("opModeHotWater (default: Automatik)"),
+                            elements = [ 
+                                FixedValue(
+                                    'Automatik',
+                                    totext = "Automatik",
+                                    title = _("Automatik"),
+                                ),
+                                TextAscii(
+                                    title = _("custom"),
+                                    label = _("custom:"),
+                                    size = 50,
+                                ),
+                           ]
+                        )),
+                        ## heatingSystemCircPump
+                        ("var_heatingSystemCircPump",
+                         Alternative(
+                            title = _('Heating system cirle pump (r: heatingSystemCircPump)'),
+                            style = "dropdown",
+                            allow_empty = False,
+                            help = _("heatingSystemCircPump (default: ignore)"),
+                            elements = [  
+                                FixedValue(
+                                    'on',
+                                    totext = "on",
+                                    title = _("on"),
+                                ),
+                                FixedValue(
+                                    'off',
+                                    totext = "off",
+                                    title = _("off"),
+                                ),
+                                TextAscii(
+                                    title = _("custom"),
+                                    label = _("custom:"),
+                                    size = 50,
+                                ),
+                           ]
+                        )),
+                        ## opStateHeatPump1
+                        ("var_opStateHeatPump1",
+                         Alternative(
+                            title = _('Operation mode heating (r: opStateHeatPump1)'),
+                            style = "dropdown",
+                            allow_empty = False,
+                            help = _("opStateHeatPump1 (default: ignore)"),
+                            elements = [  
+                                TextAscii(
+                                    title = _("custom"),
+                                    label = _("custom:"),
+                                    size = 50,
+                                ),
+                           ]
+                        )),
+
+
+
+
+               ]
+              )),
+
+
+
 
              ],
             )),