Fehler beim Starten von 99_myUtils

Begonnen von Thoffi1978, 02 Juli 2015, 12:27:54

Vorheriges Thema - Nächstes Thema

Thoffi1978

Hallo.

Ich bekomme beim starten der 99_mytils folgende Fehlermeldung:
set myUtilsDebug false : Please define myUtilsDebug first
Hier meine 99_myUtils:
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}
use FritzBoxUtils;
# #########################################################################
#  Global Variables and Defines
# #########################################################################
use constant { true => 1, false => 0 };
use constant { TRUE => 1, FALSE => 0 };
use constant { on => 1, off => 0 };
use constant { ON => 1, OFF => 0 };

my $myUtils_debug = false;


# #########################################################################
#  Init routine
# #########################################################################


{
    my ($hash) = @_;
   
    if( $myUtils_debug eq true ) {
fhem( "set myUtilsDebug true" );
    } else {
fhem( "set myUtilsDebug false" );
    }
}


# ------------------------------------------------------------------------
#  Function to turn the Debug on or off
#  Usage: ($success) = myUtils_Set_Debug( );
# ------------------------------------------------------------------------
sub myUtils_Set_Debug( ) {
    my $tmp_state = "";

    $tmp_state = $value{myUtilsDebug};

    Log 1, "myUtils_Set_Debug: Debug : .." . $tmp_state . "..";

    if( $tmp_state eq "true" ) {
$myUtils_debug = true;
Log 1, "myUtils_Set_Debug: Debugging eingeschaltet.";
    } else {
$myUtils_debug = false;
Log 1, "myUtils_Set_Debug: Debugging ausgeschaltet.";
    }

    return( true );
}


# #########################################################################
#  Wetterdatenauswertung
# #########################################################################

# **********************************************************************
#  Details aus Yahoo Wetter extrahieren
# **********************************************************************
sub Extract_Weather( ) {
    my $buf = ReadingsVal( "OD_Wetter", "temp_c", 20 );
    fhem( "set Aussentemperatur $buf" );

    $buf = ReadingsVal( "OD_Wetter", "humidity", 20 );
    fhem( "set Luftfeuchtigkeit $buf" );

    $buf = ReadingsVal( "OD_Wetter", "wind_speed", 20 );
    fhem( "set Windgeschwindigkeit $buf" );

    $buf = ReadingsVal( "Od_Wetter", "visibility", 20 );
    fhem( "set Sicht $buf" );

    $buf = ReadingsVal( "OD_Wetter", "wind_direction", 20 );
    fhem( "set Windrichtung $buf" );

    $buf = ReadingsVal( "OD_Wetter", "wind_chill", 20 );
    fhem( "set Windchill $buf" );

    $buf = ReadingsVal( "OD_Wetter", "pressure", 20 );
    fhem( "set Luftdruck $buf" );

    $buf = ReadingsVal( "OD_Wetter", "fc1_high_c", 20 );
    fhem( "set Tageshoechsttemperatur $buf" );

    $buf = ReadingsVal( "OD_Wetter", "fc1_low_c", 20 );
    fhem( "set Tagestiefsttemperatur $buf" );

    return;
}

# **********************************************************************
#  Entscheidung treffen, ob Sonnenschutz aktiv sein soll
# **********************************************************************
sub Decide_Sonnenschutz( ) {
    my $maxtemp = ReadingsVal( "Tageshoechsttemperatur", "State", 20 );
    my $curtemp = ReadingsVal( "Temperatur", "State", 20 );
   
    if( ( $maxtemp ge "28" ) || ( $curtemp ge "21" ) ) {
if( $myUtils_debug == true ) {
    Log 1, "Decide_Sonnenschutz: Max: $maxtemp C, Cur: $curtemp C";
}
# here we need to set the respective timers
# Beispielzimmer Rolladen auf 40% setzen
fhem( "define Jalousien_Seite_sun_auto at 11:52:03 set Jalousien_Seite 65" );
fhem( "attr Jalousien_Seite_sun_auto room _Zeit" );
fhem( "attr Jalousien_Seite_sun_auto group Jalousien_Seite,Sonnenschutz" );
# Beispielzimmer Rolladen wieder �ffnen
fhem( "define Jalousien_Seite_sun_auto at 17:30:03 set Jalousien_Seite on" );
fhem( "attr Jalousien_Seite_sun_auto room _Zeit" );
fhem( "attr Jalousien_Seite_sun_auto group Jalousien_Seite,Aufmachen" );

    }
}

1;


Was muss ich /wie definieren damit diese Meldung nicht mehr erscheint?

Vielen Dank
Hoffi

marvin78

Gibt es in deiner FHEM-Konfiguration denn das Device myUtilsDebug?

Thoffi1978

Ganz ging ja schon zügig.
Vielen Dank für die Antwort.

Nein, finde ich nicht.

Das muss wohl angelegt werden.
Mache ich das mit define 99_myUtils myUtils?

Hoffi

marvin78

Weißt du denn was du da tust? Woher hast du das, was du in die myUtils eingetragen hast?

Thoffi1978

Einiges habe ich von hier:
http://forum.fhem.de/index.php?topic=13586.0

der Eintrag
use FritzBoxUtils;
ist wohl ein Copy&PAste Fehler?.

Hoffi

marvin78

Ich weiß nicht, wie ich dir helfen soll. Du musst dich beim Zusammenkopieren mit den Dingen beschäftigen. Einfach nur Kopieren macht wenig Sinn. Unter deinem Link habe ich nun nicht konkret weiter gelesen. Zu deinem Problem solltest du konkret dort nachfragen und die Grundlagen lernen. Die myUtils funktioniert so, wie sie da ist nur im Zusammenhang mit einigen Einträgen in der Config.

Thoffi1978

Vielen Dank.

beschäftigt habe ich mit damit schon.
Ich weiß nun auch wieso die
use FritzBoxUtils; drinnen steht. Das ganze läuft ja auf einer Fritzbox, Ist bestimmt eingefügt um die Funktionen der FB zu nutzen.

Der Sonnenschutz hatte letztes Jahr funktioniert, doch nun gerade nicht. Deshalb bin ich jetzt auf diese Fehlermeldung gekommen.
Wenn die MyUtils so aber funktioniert muss das ja mit den Einträgen aus dem Sonnenschutz sein.

LG
Hoffi