42_SYSMON - keys on reference is experimental at ./FHEM/42_SYSMON.pm

Begonnen von rapster, 03 Oktober 2015, 16:15:27

Vorheriges Thema - Nächstes Thema

rapster

Hallo Hexenmeister,

das SYSMON Modul bringt beim starten i.M. immer folgende 2 Meldungen im Log:
keys on reference is experimental at ./FHEM/42_SYSMON.pm line 4600.
keys on reference is experimental at ./FHEM/42_SYSMON.pm line 4322.

Desweiteren wird das so auch in < Perl 5.14 nicht funktionieren.

Hier ein Patch welcher das korrigiert:
Index: FHEM/42_SYSMON.pm
===================================================================
--- FHEM/42_SYSMON.pm (Revision 9357)
+++ FHEM/42_SYSMON.pm (Arbeitskopie)
@@ -4319,7 +4319,7 @@
   my $sysmon = {};
   my $html='';
   if(defined($main::defs{$dev}{READINGS})) {
-    foreach my $r (keys($main::defs{$dev}{READINGS})){
+    foreach my $r (keys %{$main::defs{$dev}->{READINGS}}){
       $sysmon->{$r} = $main::defs{$dev}{READINGS}{$r}{VAL};
     }
   } else {
@@ -4597,7 +4597,7 @@
   # access sysmon data..
   #my $sysmon = SYSMON_getValues($dev);
   my $sysmon = {}; 
-  foreach my $r (keys($main::defs{$dev}{READINGS})){
+  foreach my $r (keys %{$main::defs{$dev}->{READINGS}}){
     $sysmon->{$r} = $main::defs{$dev}{READINGS}{$r}{VAL};
   }


Gruß
  Claudiu

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy