diff --git a/fhem/FHEM/00_MYSENSORS.pm b/fhem/FHEM/00_MYSENSORS.pm index 60e95032a..21fe7897b 100644 --- a/fhem/FHEM/00_MYSENSORS.pm +++ b/fhem/FHEM/00_MYSENSORS.pm @@ -214,6 +214,7 @@ sub Init($) { }); } readingsSingleUpdate($hash,"connection","connected",1); + sendMessage($hash, radioId => 0, childId => 0, cmd => C_INTERNAL, ack => 0, subType => I_VERSION, payload => ''); return undef; } @@ -349,6 +350,10 @@ sub onInternalMsg($$) { }); last; }; + $type == I_VERSION and do { + $hash->{version} = $msg->{payload}; + last; + }; $type == I_LOG_MESSAGE and do { Log3($hash->{NAME},5,"MYSENSORS gateway $hash->{NAME}: $msg->{payload}"); last; @@ -405,7 +410,7 @@ sub onAcknowledge($$) { sub sendMessage($%) { my ($hash,%msg) = @_; - $msg{ack} = $hash->{ack} unless $msg{ack}; + $msg{ack} = $hash->{ack} unless defined $msg{ack}; my $txt = createMsg(%msg); Log3 ($hash->{NAME},5,"MYSENSORS send: ".dumpMsg(\%msg)); DevIo_SimpleWrite($hash,"$txt\n",undef); diff --git a/fhem/FHEM/10_MYSENSORS_DEVICE.pm b/fhem/FHEM/10_MYSENSORS_DEVICE.pm index 73c9c6856..0ac23468e 100644 --- a/fhem/FHEM/10_MYSENSORS_DEVICE.pm +++ b/fhem/FHEM/10_MYSENSORS_DEVICE.pm @@ -515,7 +515,7 @@ sub onInternalMessage($$) { sub sendClientMessage($%) { my ($hash,%msg) = @_; $msg{radioId} = $hash->{radioId}; - $msg{ack} = 1 if $hash->{ack}; + $msg{ack} = $hash->{ack} unless defined $msg{ack}; sendMessage($hash->{IODev},%msg); } @@ -527,7 +527,7 @@ sub rawToMappedReading($$$$) { if(defined (my $val = $mapping->{val} // $hash->{typeMappings}->{$type}->{val})) { return ($mapping->{name},$val->{$value} // $value); } - die "not type-mapping for type ".variableTypeToStr($type); + die "no type-mapping for type ".variableTypeToStr($type); } die "no reading-mapping for childId $childId, type ".($hash->{typeMappings}->{$type}->{type} ? $hash->{typeMappings}->{$type}->{type} : variableTypeToStr($type)); }