notify welches wieder über Dummy das gleich Notify triggert

Begonnen von Hackstall, 14 Mai 2019, 07:53:41

Vorheriges Thema - Nächstes Thema

Hackstall

Hallo ich habe folgendes Problem:

Ich habe ein Notify welches als Aktion eine Prozedur aufruft. Das funktioniert auch ganz gut.

Nun habe ich aber in diesem Notify per If eine Sequenz (Haus.Mode) welche wiederum verschiedene Dummy triggert die wiederum
das gleiche Notify (aber hier die Einzelaktivitäten x.y_ModeControl)  ausführen sollen. Nach meinem bisherigen Erkenntnissen werden die
Dummy auch entsprechend in FHEM gesetzt. jedoch wird keine Aktivität per Notify getigert.
Kann man aus einem Notify über ein Setzen eines Dummy keine weiteren Notifiys triggern?

Das ganze sieht so aus:
Notify:

define ntfy_Haus_Mode notify Haus_Mode_Select:.* {\
   my @myModeEvent = split(":",$EVENT);;\
   my $myModeName = $myModeEvent[0];;\
   my $myModePrevName = $myModeEvent[0]."Prev";;\
   my $myMode = ReadingsVal("Haus_Mode_Select",$myModeName,"Norm");;\
   my $myPrevMode = ReadingsVal("Haus_Mode_Select",$myModeName."Prev","Norm");;\
\
       if ($myModeName eq "Haus.Mode") \
          { \
            fhem ("setreading Haus_Mode_Select EG.Wz.Mode $myMode");;\
fhem ("setreading Haus_Mode_Select EG.Ez.Mode $myMode");;\
fhem ("setreading Haus_Mode_Select EG.Wz.Mode $myMode");;\
fhem ("setreading Haus_Mode_Select EG.Ku.Mode $myMode");;\
fhem ("setreading Haus_Mode_Select EG.WC.Mode $myMode");;\
fhem ("setreading Haus_Mode_Select OG.KiA.Mode $myMode");;\
                      ...............
          } \
       if ($myModeName eq "EG.Wz.Mode") \
          { \
            EG_Wz_ModeControl($myPrevMode,$myMode);;\
          } \
       if ($myModeName eq "EG.Ez.Mode") \
          { \
            EG_Ez_ModeControl($myPrevMode,$myMode);;\
          } \
       if ($myModeName eq "EG.Ku.Mode") \
          { \
            EG_Ku_ModeControl($myPrevMode,$myMode);;\
          } \

         usw



define Haus_Mode_Select dummy
setuuid Haus_Mode_Select 5cd34c13-f33f-b8ba-06af-8428753732208f16
attr Haus_Mode_Select DbLogExclude .*
attr Haus_Mode_Select group Grp-System-Dummy
attr Haus_Mode_Select icon black_Steckdose.off
attr Haus_Mode_Select readingList EG.Wz.Mode EG.Ez.Mode EG.Ku.Mode EG.Fl.Mode EG.WC.Mode OG.KiA.Mode OG.KiM.Mode OG.AzA.Mode OG.AzS.Mode OG.Bad.Mode DG.Sz.Mode DG.Bad.Mode Haus.Mode EG.Wz.prevMode EG.Ez.ModePrev EG.Ku.ModePrev EG.Fl.ModePrev EG.WC.ModePrev OG.KiA.ModePrev OG.KiM.ModePrev OG.AzA.ModePrev OG.AzS.ModePrev OG.Bad.ModePrev DG.Sz.ModePrev DG.Bad.ModePrev Haus.ModePrev
attr Haus_Mode_Select room 9.6_System

Beta-User

Zitat von: Hackstall am 14 Mai 2019, 07:53:41
Kann man aus einem Notify über ein Setzen eines Dummy keine weiteren Notifiys triggern?
Nicht via setreading, siehe (einschl. Lösungsansatz) https://fhem.de/commandref.html#setreading
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Hackstall

Danke für die Antwort

ich habe gemäss der Beschreibung ein sleep eingefügt aber es hilft nicht:

define ntfy_Haus_Mode notify Haus_Mode_Select:.* {\
   my @myModeEvent = split(":",$EVENT);;\
   my $myModeName = $myModeEvent[0];;\
   my $myModePrevName = $myModeEvent[0]."Prev";;\
   my $myMode = ReadingsVal("Haus_Mode_Select",$myModeName,"Norm");;\
   my $myPrevMode = ReadingsVal("Haus_Mode_Select",$myModeName."Prev","Norm");;\
\
       if ($myModeName eq "Haus.Mode") \
          { \
    sleep 0.1;;\
                   fhem ("setreading Haus_Mode_Select EG.Wz.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select EG.Ez.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select EG.Ku.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select EG.Fl.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select EG.WC.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select OG.KiA.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select OG.KiM.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select OG.AzA.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select OG.AzS.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select OG.Bad.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select DG.Sz.Mode $myMode");;\
    sleep 0.1;;\
fhem ("setreading Haus_Mode_Select DG.Bad.Mode $myMode");;\
          } \


noch irgendeine Idee.

Danke Andreas

betateilchen

Zitat von: Hackstall am 15 Mai 2019, 20:26:57
noch irgendeine Idee.

Das sleep so verwenden, wie es in der angegeben Anleitung steht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Hackstall

Oh Mann ich denke ich stehe auf dem Schlauch. Wie oder was meinst Du das.
In der ref steht

sleep 0.1; setreading x y z

Das habe ich doch gemacht oder wie meinst Du das?

Danke Andreas

betateilchen

Zitat von: Hackstall am 15 Mai 2019, 22:22:21
sleep 0.1; setreading x y z

Das habe ich doch gemacht

Nein, das hast Du nicht gemacht.


Das sind zwei FHEM Befehle:

sleep 0.1; setreading x y z


Das sind zwei perl Funktionsaufrufe:


fhem ("setreading Haus_Mode_Select EG.Wz.Mode $myMode");
sleep 0.1;




Das sind zwei komplett unterschiedliche Dinge.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DasQ

Zitat von: Beta-User am 14 Mai 2019, 13:53:15
Nicht via setreading, siehe (einschl. Lösungsansatz) https://fhem.de/commandref.html#setreading


Setreading ist ja genau dazu da, um nicht zu Triggern. Versuchs mal mit set
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Hackstall

Hallo betateilchen.
Ich bewundere Deine Erklärungen warum etwas ist oder nicht.
Mir geht es um die Lösung.
Wenn Du es weißt dann schreib mir doch wie es sein muss.
Damit ist uns allen mehr geholfen.
Gruß Andreas

Beta-User

Zitat von: DasQ am 16 Mai 2019, 07:04:17

Setreading ist ja genau dazu da, um nicht zu Triggern. Versuchs mal mit set
Warum sollte er es anders machen, als es in der Anleitung/cref steht? Da steht die Lösung, er sollte verstehen lernen, was er anders machen sollte.

Das sleep-Beispiel in der cref geht davon aus, dass es als fhem-Befehl verwendet wird. Hier wird es aber als Perl-sleep aufgerufen ;) .

Fällt jetzt der Groschen?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

betateilchen

Zitat von: Hackstall am 16 Mai 2019, 07:09:57
Wenn Du es weißt dann schreib mir doch wie es sein muss.

Das steht doch in der commandref? Du brauchst es nur abzuschreiben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Hackstall

Hallo,

ich moechte mich nochmals bei Eurer Art zu antworten bedanken.
Natuerlich habt Ihr Recht mit Euren Zitaten aber meint
Ihr nicht auch dass Ihr hier in dem Anfaengerforum auch mit direkten
Lösungen besser helfen könntet als mit irgendwelchen Referenzen oder Querverweisen.

ich komme aus der Informatikbranche muss aber gestehen dass auch die CommanReference für Anfaenger absolut das Minimum darstellt manchmal eine Herausforderung ist.

Gruss Andreas




DasQ

#11
Wie wärs eingentlich damit, mal einfach das zu machen was man dir jetzt schon mehrfach gesagt hat (siehe Bild)
Zitat von: Beta-User am 16 Mai 2019, 07:30:22
Das sleep-Beispiel in der cref geht davon aus, dass es als fhem-Befehl verwendet wird. Hier wird es aber als Perl-sleep aufgerufen ;) .

Fällt jetzt der Groschen?

... alternativ

...mein Lösungsvorschlag (damit wären es dann schon zwei tips)
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org