diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index 9f2cbf611..1d28205da 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -84,7 +84,25 @@ my %zwave_class = ( ZIP_ADV_SERVER => { id => '33', }, ZIP_ADV_CLIENT => { id => '34', }, METER_PULSE => { id => '35', }, - HRV_STATUS => { id => '37', }, + HRV_STATUS => { id => '37', + get => { hrvStatus => "01%02x", + hrvStatusSupported => "03",}, + parse => { "0637020042(....)" => + 'sprintf("outdoorTemperature: %0.1f C", s2Hex($1)/100)', + "0637020142(....)" => + 'sprintf("supplyAirTemperature: %0.1f C", s2Hex($1)/100)', + "0637020242(....)" => + 'sprintf("exhaustAirTemperature: %0.1f C", s2Hex($1)/100)', + "0637020342(....)" => + 'sprintf("dischargeAirTemperature: %0.1f C",s2Hex($1)/100)', + "0637020442(....)" => + 'sprintf("indoorTemperature: %0.1f C", s2Hex($1)/100)', + "0537020501(..)" => + 'sprintf("indoorHumidity: %s %%", hex($1))', + "0537020601(..)" => + 'sprintf("remainingFilterLife: %s %%", hex($1))', + "033704(..)" => + 'sprintf("supportedStatus: %b", hex($1))', },}, THERMOSTAT_HEATING => { id => '38', }, HRV_CONTROL => { id => '39', }, METER_TBL_CONFIG => { id => '3c', }, @@ -594,6 +612,17 @@ ZWave_Undef($$) return undef; } + +##################################### +# 2-byte signed hex +sub +s2Hex($) +{ + my ($p) = @_; + $p = hex($p); + return ($p > 32767 ? -(65536-$p) : $p); +} + 1; =pod @@ -732,6 +761,14 @@ ZWave_Undef($$) device specific. +

HRV_STATUS +
  • hrvStatus
    + report the current status (temperature, etc) +
  • +
  • hrvStatusSupported
    + report the supported status fields as a bitfield. +
  • +

    Class MULTI_CHANNEL
  • mcEndpoints
    return the list of endpoints available, e.g.:
    @@ -830,6 +867,16 @@ ZWave_Undef($$)

    Class CONFIGURATION
  • config_X:Y
  • +

    Class HRV_STATUS +
  • outdoorTemperature: %0.1f C
  • +
  • supplyAirTemperature: %0.1f C
  • +
  • exhaustAirTemperature: %0.1f C
  • +
  • dischargeAirTemperature: %0.1f C
  • +
  • indoorTemperature: %0.1f C
  • +
  • indoorHumidity: %s %
  • +
  • remainingFilterLife: %s %
  • +
  • supportedStatus: %b
  • +

    Class METER
  • power:val [kWh|kVAh|W|pulseCount]
  • gas:val [m3|feet3|pulseCount]
  • @@ -847,7 +894,6 @@ ZWave_Undef($$)
  • temperature:$temp [C|F]
  • humidity:$hum %
  • -

    Class SWITCH_BINARY
  • state:on
  • state:off