Notify Return Value in Log

Begonnen von sylvester, 29 Oktober 2013, 19:58:52

Vorheriges Thema - Nächstes Thema

sylvester

Hallo,

ich versuche mich gerade ein wenig im Programmieren.
Nun habe ich ein return value eines notify im Log stehen, das ich eigentlich gerne unterbinden möchte.

2013.10.26 17:42:42 3: Squeezebox Mute (on)
2013.10.26 17:42:42 3: EZ_Squeezebox_MuteNotify return value: 1

Den Eintrag vom Notify habe ich nicht bestellt ...
Kann mir jemand verraten, wie ich den Eintrag verhindere?

In meiner 99_myUtils.pm findet sich jetzt folgendes:

########Squeezebox Mute ############################################
# What : Switches Squeezebox Mute on or off
# Call : { SB_Mute_switch("Server_IP","Server_Port","Squeezebox_ID","on") }
#
sub SB_Mute_switch (@) {
my ($ip,$port,$id,$cmd) = @_;
use Net::Telnet;
my $telnet = new Net::Telnet ( Timeout=>15, Errmode=>'die', Port=>$port);
$telnet->open($ip);
Log 3, "Squeezebox Mute ($cmd)";
if ($cmd =~ m"on"i) { # on or ON
$telnet->print("$id mixer muting 1\n");
# Log 3, "$id mixer muting 1";
}
if ($cmd =~ m"off"i) { # off or OFF
$telnet->print("$id mixer muting 0\n");
# Log 3, "$id mixer muting 0";
}
$telnet->print('exit');
}


Zusammen mit den folgenden Einträgen in der fhem.cfg:

# Squeezebox Esszimmer
########################
define EZ_Squeezebox_Mute dummy
attr EZ_Squeezebox_Mute devStateIcon [Oo]n:Mute.On [Oo]ff:Mute.Off
attr EZ_Squeezebox_Mute fp_Grundriss 255,386,1,Squeezebox
attr EZ_Squeezebox_Mute room R_Esszimmer
attr EZ_Squeezebox_Mute setList on off
attr EZ_Squeezebox_Mute webCmd on:off
define EZ_Squeezebox_MuteNotify notify EZ_Squeezebox_Mute { if (Value("EZ_Squeezebox_Mute") =~ /[Oo]n/) {SB_Mute_switch("192.168.178.21","9090","00:04:20:22:7b:91","on") } else {SB_Mute_switch("192.168.178.21","9090","00:04:20:22:7b:91","off") }}
attr EZ_Squeezebox_MuteNotify room hidden

# CallMonitor
##############
define FritzboxAnrufe FB_CALLMONITOR 192.168.178.1:1012
define CallMonitorRing_notify notify FritzboxAnrufe:event.*ring set EZ_Squeezebox_Mute on
define CallMonitorDisconnect_notify notify FritzboxAnrufe:event.*disconnect set EZ_Squeezebox_Mute off


Vielen Dank für eure Hilfe

Stephan

betateilchen

du hast in Deiner Funktion (in der 99_myUtils) das return vergessen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

leachim200

Hallo
Ich verwende folgenden Befehl im notify um mein Wintergartenlicht ein zu schalten wenn die Sonne unter gegangen ist und ich nach hause komme

Home:home { fhem('set WintergartenLicht on') unless isday() }

Seit neuesten habe ich leider folgende Fehlermeldung im Logfile
2017.08.02 07:52:52 2: RESIDENTS set Home home
2017.08.02 07:52:52 3: Lichtan return value: 1

Hat wer eine Idee woran das liegt?


dev0

Am Ende des {...} Ausdrucks fehlt ein return. Vor knapp 4 Jahren war das auch nicht anders. ;)

leachim200

#4
Ok danke so weit verstanden
das einzige was ich jetzt nicht verstehe ist was heißt das sry bin kein perl genie. :/

würde das bedeuten Home:home { fhem('set WintergartenLicht on') unless isday() return}

CoolTux

Schalte das Licht an, es sei denn es ist Tag
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

leachim200

Danke xD
Ich formuliere die Frage anders
wie muss ich den programmcode dafür anpassen?

CoolTux

Also wenn Du nach Hause kommst soll das Licht angehen wenn kein Tag ist?
Dann sollte es genau so gehen. Das mit dem return kann ich mir selber nicht erklären, normalerweise brauch man da kein return.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

leachim200

Es hat bis jetzt auch funktioniert
nur seit ein 2 tagen geht es nicht mehr  :o

dev0

Zitat von: leachim200 am 02 August 2017, 09:00:35
Home:home { fhem('set WintergartenLicht on') unless isday() return}
Nach dem isday() fehlt ein Semikolon.

Zitat von: CoolTux am 02 August 2017, 10:21:46
Also wenn Du nach Hause kommst soll das Licht angehen wenn kein Tag ist?
Dann sollte es genau so gehen. Das mit dem return kann ich mir selber nicht erklären, normalerweise brauch man da kein return.
perlsub: If no return is found and if the last statement is an expression, its value is returned.

Zitat von: leachim200 am 02 August 2017, 10:39:59
Es hat bis jetzt auch funktioniert
Kann ich mir nicht vorstellen. global verbose verstellt?

CoolTux

Zitat von: dev0 am 02 August 2017, 10:49:27
perlsub: If no return is found and if the last statement is an expression, its value is returned.

Die Info hatte mir gefehlt. Vielen Dank. Wieder was dazu gelernt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dev0

Habe ich auch gerade erst durch's Nachschlagen exakt verstanden ;)

CoolTux

Weist ja, man lernt nieeeee aus  ;) ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

leachim200

Ok anscheinend bin ich einfach zu doof :(

Home:home { fhem('set WintergartenLicht on') unless isday();}

2017.08.02 12:55:17 2: RESIDENTS set Home home
2017.08.02 12:55:17 3: Lichtan return value: 1

Immer noch wenn ich unless isday wegnehme gehts -.-

frank

Zitat von: leachim200 am 02 August 2017, 10:39:59
Es hat bis jetzt auch funktioniert
nur seit ein 2 tagen geht es nicht mehr  :o
dann solltest du wissen, was du verändert hast.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html