add internal
This commit is contained in:
		@@ -69,6 +69,7 @@ sub Initialize {
 | 
				
			|||||||
    $hash->{AttrFn}     = 'FHEM::Hailo::Libero::Attr';
 | 
					    $hash->{AttrFn}     = 'FHEM::Hailo::Libero::Attr';
 | 
				
			||||||
    $hash->{AttrList} =
 | 
					    $hash->{AttrList} =
 | 
				
			||||||
       'disable:1 '
 | 
					       'disable:1 '
 | 
				
			||||||
 | 
					      . 'interval '
 | 
				
			||||||
      . 'LiberoIP '
 | 
					      . 'LiberoIP '
 | 
				
			||||||
      . $readingFnAttributes;
 | 
					      . $readingFnAttributes;
 | 
				
			||||||
    $hash->{parseParams} = 1;
 | 
					    $hash->{parseParams} = 1;
 | 
				
			||||||
@@ -123,6 +124,7 @@ sub Initialize {
 | 
				
			|||||||
  <b>Attributes</b>
 | 
					  <b>Attributes</b>
 | 
				
			||||||
  <ul>
 | 
					  <ul>
 | 
				
			||||||
    <li>LiberoIP - IP e.g. 192.168.1.200</li>
 | 
					    <li>LiberoIP - IP e.g. 192.168.1.200</li>
 | 
				
			||||||
 | 
					    <li>interval - eat cookie interval in seconds | default: 60</li>
 | 
				
			||||||
  </ul>
 | 
					  </ul>
 | 
				
			||||||
</ul>
 | 
					</ul>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -167,6 +169,7 @@ sub Initialize {
 | 
				
			|||||||
  <b>Attributes</b>
 | 
					  <b>Attributes</b>
 | 
				
			||||||
  <ul>
 | 
					  <ul>
 | 
				
			||||||
    <li>LiberoIP - IP e.g. 192.168.1.200</li>
 | 
					    <li>LiberoIP - IP e.g. 192.168.1.200</li>
 | 
				
			||||||
 | 
					    <li>interval - eat cookie interval in sekunden | standard: 60</li>
 | 
				
			||||||
  </ul>
 | 
					  </ul>
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
</ul>
 | 
					</ul>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,2 +1,2 @@
 | 
				
			|||||||
UPD 2021-06-06_19:47:44 5194 FHEM/73_HailoLibero.pm
 | 
					UPD 2021-06-09_08:34:36 5354 FHEM/73_HailoLibero.pm
 | 
				
			||||||
UPD 2021-06-06_19:50:09 12904 lib/FHEM/Hailo/Libero.pm
 | 
					UPD 2021-06-09_08:40:28 13545 lib/FHEM/Hailo/Libero.pm
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,7 +86,7 @@ sub Define {
 | 
				
			|||||||
    my $name = shift @$aArg;
 | 
					    my $name = shift @$aArg;
 | 
				
			||||||
    $hash->{URL} =
 | 
					    $hash->{URL} =
 | 
				
			||||||
      AttrVal( $name, 'LiberoIP', 'http://192.168.0.1:81');
 | 
					      AttrVal( $name, 'LiberoIP', 'http://192.168.0.1:81');
 | 
				
			||||||
 | 
					    $hash->{INTERVAL}  = 60;
 | 
				
			||||||
    $hash->{NOTIFYDEV} = "global,$name";
 | 
					    $hash->{NOTIFYDEV} = "global,$name";
 | 
				
			||||||
    $hash->{VERSION}    = version->parse($VERSION)->normal;
 | 
					    $hash->{VERSION}    = version->parse($VERSION)->normal;
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
@@ -110,7 +110,8 @@ sub Undef {
 | 
				
			|||||||
    my $name = shift;
 | 
					    my $name = shift;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $hash->{helper}->{passObj}->setDeletePassword($name);
 | 
					    $hash->{helper}->{passObj}->setDeletePassword($name);
 | 
				
			||||||
    
 | 
					    RemoveInternalTimer($hash);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -129,6 +130,22 @@ sub Attr {
 | 
				
			|||||||
            Log3($name, 3, qq{HailoLibero ($name) - enabled});
 | 
					            Log3($name, 3, qq{HailoLibero ($name) - enabled});
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    elsif ( $attrName eq 'interval' ) {
 | 
				
			||||||
 | 
					        if ( $cmd eq 'set' ) {
 | 
				
			||||||
 | 
					            return 'Interval must be greater than 0'
 | 
				
			||||||
 | 
					              if ( $attrVal == 0 );
 | 
				
			||||||
 | 
					            RemoveInternalTimer($hash);
 | 
				
			||||||
 | 
					            $hash->{INTERVAL} = $attrVal;
 | 
				
			||||||
 | 
					            Log3 $name, 3,
 | 
				
			||||||
 | 
					              qq{HailoLibero ($name) - set interval: $attrVal};
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        elsif ( $cmd eq 'del' ) {
 | 
				
			||||||
 | 
					            RemoveInternalTimer($hash);
 | 
				
			||||||
 | 
					            $hash->{INTERVAL} = 60;
 | 
				
			||||||
 | 
					            Log3 $name, 3,
 | 
				
			||||||
 | 
					            qq{HailoLibero ($name) - delete User interval and set default: 60};
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    elsif ( $attrName eq 'LiberoIP') {
 | 
					    elsif ( $attrName eq 'LiberoIP') {
 | 
				
			||||||
      if ( $cmd eq 'set' ) {
 | 
					      if ( $cmd eq 'set' ) {
 | 
				
			||||||
        $hash->{URL} = "http://$attrVal:81";
 | 
					        $hash->{URL} = "http://$attrVal:81";
 | 
				
			||||||
@@ -183,7 +200,7 @@ sub Notify {
 | 
				
			|||||||
    if (
 | 
					    if (
 | 
				
			||||||
        $devtype eq 'HailoLibero'
 | 
					        $devtype eq 'HailoLibero'
 | 
				
			||||||
        && (
 | 
					        && (
 | 
				
			||||||
            grep /^cookie:.*$/,
 | 
					            grep /^state:.connected$/,
 | 
				
			||||||
            @{$events}
 | 
					            @{$events}
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        && (
 | 
					        && (
 | 
				
			||||||
@@ -191,11 +208,11 @@ sub Notify {
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        getSettings($hash);
 | 
					        getCookie($hash);
 | 
				
			||||||
        #InternalTimer( gettimeofday() + $hash->{INTERVAL},
 | 
					        InternalTimer( gettimeofday() + $hash->{INTERVAL},
 | 
				
			||||||
         #   "FHEM::HailoLibero::getSettings", $hash );
 | 
					            "FHEM::HailoLibero::getCookie", $hash );
 | 
				
			||||||
        Log3 $name, 4,
 | 
					        Log3 $name, 4,
 | 
				
			||||||
"HailoLibero ($name) - set internal timer function for recall getSettings sub";
 | 
					          "HailoLibero ($name) - set internal timer function for recall getCookie sub";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user