Hallo Leute,
Eigentlich sollte ich in Developer posten, aber das hier ist mir entweder zu doof oder zu peinlich ;D
SUB_NAME ( $hash ) if( ReadingsVal( $name, "deviceState", "online" ) eq "online" && $hash->{STATE} ne "Initialized" && $hash->{STATE} ne "disabled" );
Rufe Sub mit Namen SUB_NAME auf wenn Reading deviceState online und STATE Initialized und STATE nicht disabled ist.
Eigentlich geht es nicht einfacher. Doch irgendwie will er meine ReadingsVal Bedingung nicht akzeptieren. Obwohl wenn ich deviceState auslese es auch brav mit online angezeigt wird.
Nehme ich die ReadingsVal Bedingung raus geht es, er ruft dann brav die Sub auf.
Kann mir einer verraten wo mein Denkfehler liegt.
Danke schon mal im voraus.
Grüße
Kann es sein das ich innerhalb eines Modules kein ReadingsVal nachen kann oder das ich da Bedingungen zu gibt?
Ich bin verwirrt
Fehler gefunden. Das ist soooooo schmerzbefreit das muß ich Euch erzählen.
Auflösung kommt gleich
;D ;D ;D ;D ;D ;D ;D ;D
if( ReadingsVal( $name, "deviceState", "online" ) eq "online" && $hash->{STATE} ne "Initialized" && $hash->{STATE} ne "disabled" );
geht natürlich, warum sollte es auch nicht gehen.
Wenn man aber beim define ein
readingsSingleUpdate ( $hash, "deviceState", " online", 0 );
beim Aufräumen schreibt. Man beachte das Leerzeichen bei "deviceState", " online" dann kann es nach einem Neustart auch nicht gehen und auch nicht bei gefühlten 100 Tests.
So das waren jetzt mal eben 10 Stunden für Dummheit. Ich muß noch sooo viel lernen :-[
Ein gutes hatte es aber, auf der Suche nach einer Lösung habe ich mir sehr viele Module und deren Code angeschaut und ein paar Ideen mitgenommen.