FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: juemuc am 30 September 2017, 20:17:17

Titel: If-Abfrage im notify
Beitrag von: juemuc am 30 September 2017, 20:17:17
Hallo,

es wird der eine If-Abfrage mehrfach ausgeführt, obwohl dies nicht sein dürfte. Wo liegt der Fehler?
Am Anfang hat Test den Wert 0. Am Ende den Wert 2. Warum?
defmod FB_SIP_notify notify FB_SIP.* \
{my $val1 = ReadingsVal('FB_SIP','call_state','error');;\
my $val2 = ReadingsVal('Hilfe_Juergen','state','error');;\
my $val3 = ReadingsVal('Hilfe_ANZ','state','0');;\
fhem("set FB_SIP_Status $val1");;\
if ($val1 eq "ok" and $val2 eq "an")\
   {fhem("set Hilfe_Juergen aus");;\
    fhem("set Hilfe_ANZ 0");;\
    $val2 = ReadingsVal('TEST','state','0');;\
    $val2 = $val2 + 1;;\
    my $s_m = ReadingsVal("Sonos","MasterPlayer","");;\
    $s_m =~ s/['[\]]+//g;;\
    fhem("set TEST $val2");;\
    fhem("set Sonos_Buero:FILTER=presence=appeared Speak 20 de |Der_Hilferuf_war_erfolgreich.mp3|")}}


Viele Grüße

Jürgen
Titel: Antw:If-Abfrage im notify
Beitrag von: CoolTux am 30 September 2017, 21:11:45
Die Bedingungsabfrage wird mehrfach ausgeführt weil Dein notify mehrfach getriggert wird.
Titel: Antw:If-Abfrage im notify
Beitrag von: juemuc am 30 September 2017, 21:34:01
Das mag ja sein, aber die IF-Bedingung sollte dann nicht mehr gültig sein. Ich setze ja dort die Werte neu. Habe ich hier etwas übersehen?

Viele Grüße
Jürgen
Titel: Antw:If-Abfrage im notify
Beitrag von: CoolTux am 30 September 2017, 21:41:35
Keine Ahnung. So sehe ich nichts. Mach mal bitte ein list vom notify und den involvierten Devices
Titel: Antw:If-Abfrage im notify
Beitrag von: juemuc am 30 September 2017, 22:31:22
Anbei die gewünschte Info.

Sollte noch etwas fehlen, bitte melden. Einige Daten haben ich durch x ersetzt. Auch habe ich die Test-Dummys wieder gelöscht. Coding kann gerne übernommen werden.

Ziel ist es über Alexa einen Hilferuf abzusetzen, der dann über die Sonos-Box bestätigt wird (oder auch nicht).

Internals:
   DEF        FB_SIP.*
{my $val1 = ReadingsVal('FB_SIP','call_state','error');
my $val2 = ReadingsVal('Hilfe_Juergen','state','error');
my $val3 = ReadingsVal('Hilfe_ANZ','state','0');
fhem("set FB_SIP_Status $val1");
if ($val1 eq "ok" and $val2 eq "an")
   {fhem("set Hilfe_Juergen aus");
    fhem("set Hilfe_ANZ 0");
    my $s_m = ReadingsVal("Sonos","MasterPlayer","");;
    $s_m =~ s/['[\]]+//g;;
    fhem("set Sonos_Buero:FILTER=presence=appeared Speak 20 de |Der_Hilferuf_war_erfolgreich.mp3|")}
elsif ($val1 eq "canceled" and $val2 eq "an" and $val3 < 6)
   {$val3 = $val3 + 1;
    fhem("set Hilfe_ANZ $val3");
    fhem("set Hilfe_Juergen an")}
elsif ($val1 eq "declined" and $val2 eq "an" and $val3 < 6)
   {$val3 = $val3 + 1;
    fhem("set Hilfe_ANZ $val3");
    fhem("set Hilfe_Juergen an")}
elsif ($val3 > 5)
   {fhem("set Hilfe_Juergen fail");
    fhem("set Hilfe_ANZ 0");
    my $s_m = ReadingsVal("Sonos","MasterPlayer","");;
    $s_m =~ s/['[\]]+//g;;
    fhem("set Sonos_Buero:FILTER=presence=appeared Speak 20 de |Der_Hilferuf_ist_fehlgeschlagen.mp3| ")}}
   NAME       FB_SIP_notify
   NOTIFYDEV  FB_SIP.*
   NR         164
   NTFY_ORDER 50-FB_SIP_notify
   REGEXP     FB_SIP.*
   STATE      2017-09-30 22:20:53
   TYPE       notify
   READINGS:
     2017-09-30 22:20:50   state           active
Attributes:
   room       Hilferufe


Internals:
   NAME       Hilfe_Juergen
   NR         156
   STATE      aus
   TYPE       dummy
   READINGS:
     2017-09-30 20:12:04   state           aus
Attributes:
   alexaName  Jürgen
   devStateIcon an:Sirene_2:aus aus:remotecontrol/black_btn_GREEN:an fail::aus
   devStateStyle style="text-align:right"
   genericDeviceType switch
   group      Hilferufe
   room       Alexa,Hilferufe,Statuszentrale
   setList    an aus fail
   webCmd     :

Internals:
   AC         /usr/bin/sox
   NAME       FB_SIP
   NOTIFYDEV  FhemT2S
   NR         46
   NTFY_ORDER 50-FB_SIP
   STATE      initialized
   TYPE       SIP
   VERSION    V1.54 / 07.04.17
   READINGS:
     2017-09-30 20:12:03   call            done
     2017-09-30 20:12:03   call_state      ok
     2017-09-30 20:12:03   call_success    1
     2017-09-30 20:12:03   call_time       13
     2017-09-30 22:20:53   state           initialized
Attributes:
   T2S_Device FhemT2S
   audio_converter sox
   devStateIcon initialized:it_telephone@black calling:phone_ring_out@black
   devStateStyle style="text-align:right"
   group      SIP
   icon       it_telephone@black
   room       SIP
   sip_dtmf_loop once
   sip_dtmf_send audio
   sip_dtmf_size 2
   sip_elbc   no
   sip_from   sip:123@fritz.box
   sip_ip     1xx.xxx.xx.xx
   sip_listen none
   sip_port   xxxx
   sip_registrar fritz.box
   sip_ringtime 10
   sip_user   123

Internals:
   NAME       FB_SIP_Status
   NR         152
   STATE      ok
   TYPE       dummy
   READINGS:
     2017-09-30 22:20:53   state           ok
Attributes:
   devStateStyle style="text-align:right"
   room       Hilferufe

Internals:
   NAME       Hilfe_ANZ
   NR         155
   STATE      0
   TYPE       dummy
   READINGS:
     2017-09-30 20:12:04   state           0
Attributes:
   devStateStyle style="text-align:right"
   room       Hilferufe


Viele Grüße
Jürgen