Notify triggert obwohl state inactive - shutdown restart

Begonnen von riker1, 15 Oktober 2018, 07:36:48

Vorheriges Thema - Nächstes Thema

riker1

Hallo
kennt jemand die Ursache.
habe inactive trigger devices.
Trotzdem triggern diese ???

dies ist auch im device so ablesbar?

inactive gesetzt, trotzdem getriggert??


setstate N_KH_HZ_Temp 2018-10-15 07:18:18
setstate N_KH_HZ_Temp 06:10:23 state inactive



Was schieht genau wenn man shutdown restart macht mit den device states?
Hatte dies nach 6:10 gemacht.
state ist ja immer noch inactive, aber triggert.
wird die fhem.save nicht richtig gespeichert verarbeitet?

Danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

list vom Device bitte machen oder warten bis mein Kaffeesatz fertig ist.
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

riker1

Hallo Cooltux,

danke fürs Schauen:


Internals:
   DEF        Heizung_KH_Temp_Master.temperature:.*|KH_Desired.*|DEBUG_TR.*
{
#randwerte von start end sind jeweils inbegriffen:
#also absenk start 12 ist ab 12
#----------!WE  - Wochentags
#------------------------------------------------------
my $debug = Value("DEBUG_TR_GLOBAL");
#1;
#------------------------------------
if ($debug >= 1)
{$hour = Value("DEBUG_TR_KH_Test_hors")
};
Log 1,"DEBUGGING -TRIGGER  MODE:--SELF>$SELF<";
Log 1,"DEBUGGING -TRIGGER  NAME:--SELF>$NAME<<--Event>$EVENT<";

if ( #Nachts  Variable !!
       (    $hour >= Value("KH_Desired_Nacht_Start")
         || $hour <= Value("KH_Desired_Nacht_End")
       )
    ) {fhem("set KH_HZ_Mode_TagNachtAbsenk 1Nachts-NachtAbsenkung")}
   
      elsif ( #Tag-Morgens   zwischen
                  $hour >  Value("KH_Desired_Nacht_End")
             &&   $hour < Value("KH_Desired_Tag_Absenkung_Start")
            )  {fhem("set KH_HZ_Mode_TagNachtAbsenk 2Morgens_vor_Absenkung")}
 
     elsif (   #Absenkung!
                  $hour >= Value("KH_Desired_Tag_Absenkung_Start")
             &&   $hour <= Value("KH_Desired_Tag_Absenkung_End")
            ) {fhem("set KH_HZ_Mode_TagNachtAbsenk 3Absenkung-Mittags")}

     elsif (   #Tag-MittagAbend
                  $hour > Value("KH_Desired_Tag_Absenkung_End")
             &&   $hour < Value("KH_Desired_Nacht_Start")
            ) {fhem("set KH_HZ_Mode_TagNachtAbsenk 4Tag-MittagAbend")}
           
    else
            {fhem("set KH_HZ_Mode_TagNachtAbsenk 5else")}
            }
   NAME       N_KH_HZ_Mode_create_status_ok_Sicherung_vor_integration_WE_20181011_1327
   NR         2243
   NTFY_ORDER 50-N_KH_HZ_Mode_create_status_ok_Sicherung_vor_integration_WE_20181011_1327
   REGEXP     Heizung_KH_Temp_Master.temperature:.*|KH_Desired.*|DEBUG_TR.*
   STATE      2018-10-15 07:18:18
   TRIGGERTIME 1539580698.50159
   TYPE       notify
   READINGS:
     2018-10-15 06:10:23   state           inactive
Attributes:
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

@Cooltux,

gibt es inkonsistenzen zwischen fhem.save und den state der Devices eventuell?

wegen shutdown and restart?



es ist ja ein simples notify...

Danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Also es steht definitiv auf inaktiv und sollte demzufolge nicht anspringen.
Und er scheint aber getriggert zu haben. Hat er denn auch Deine Schaltung im Notify ausgeführt, also steht was im Log von Deinem "Log 1,"DEBUGGING -TRIGGER  MODE:--SELF>$SELF<"; "
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

riker1

Hallo CoollTux,

ja er hat definitiv getriggert und noch 2 andere die auch inactive sind.

2018.10.15 07:18:18.502 1: DEBUGGING -TRIGGER  MODE:--SELF>N_KH_HZ_Mode_create_status_ok_Sicherung_vor_integration_WE_20181011_1327<
2018.10.15 07:18:18.527 1: DEBUGGING -TRIGGER  MODE:--SELF>N_KH_HZ_Mode_create_status_umbau_else<
2018.10.15 07:32:06.503 1: DEBUGGING -TRIGGER  MODE:--SELF>$SELF<
2018.10.15 07:43:30.366 1: DEBUGGING -TRIGGER  MODE:--SELF>$SELF<


was sagst du zu meiner Vermutung fhem.save und fhem.cfg , also devices sind mgl. nkonsistent?

was könnte sonst noch inactive devices triggern?

Danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

also eigentlich steht ja in Dein Notify inactive, er hat es also korrekt aus dem statefile gelesen.
Ich müsste das auch erstmal genau testen.

Was ist wenn Du in jetzt auf active und wieder auf inactive stellst, geht es dann?
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

CoolTux

Ich habe eben mal geschaut. Wenn state inactive steht dann sollte er auch nicht anspringen
fhem.pl

return 1 if($attr{$devname}{disable});
  return 3 if($defs{$devname} && $defs{$devname}{STATE} &&
              $defs{$devname}{STATE} eq "inactive");
  return 3 if(ReadingsVal($devname, "state", "") eq "inactive");


Der Teil ist aus der IsDisabled Funktion welche ja im Notify Modul aufgerufen wird.

Notify.pm

return "" if(IsDisabled($ln));



Bist Du denn mit Deinem FHEM aktuell? Wenn nicht mache bitte ein Update
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

riker1

Hallo,

hatte es manuel auf inactive gesetzt. dann geht es.

nach einem shutdown + restart sind sie vom state her immer noch inactive


triggern aber!!!

u.a. Problem ist manchmal.

wenn man per devedit ein device mit state inactive editiert, wird es automatisch activ. vielleicht sollte man den state da nicht ändern.
wenn ich es per raw editiere bleibt der state.
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

Zitat von: CoolTux am 15 Oktober 2018, 10:10:23
Ich habe eben mal geschaut. Wenn state inactive steht dann sollte er auch nicht anspringen
fhem.pl

return 1 if($attr{$devname}{disable});
  return 3 if($defs{$devname} && $defs{$devname}{STATE} &&
              $defs{$devname}{STATE} eq "inactive");
  return 3 if(ReadingsVal($devname, "state", "") eq "inactive");


Der Teil ist aus der IsDisabled Funktion welche ja im Notify Modul aufgerufen wird.

Notify.pm

return "" if(IsDisabled($ln));



Bist Du denn mit Deinem FHEM aktuell? Wenn nicht mache bitte ein Update

hatte gestern ein update gemacht.

update check bringt:
List of new / modified files since last update:
UPD ./fhem.pl
UPD FHEM/00_MQTT2_SERVER.pm
UPD FHEM/01_FHEMWEB.pm
UPD FHEM/10_CUL_HM.pm
UPD FHEM/10_MQTT_GENERIC_BRIDGE.pm
UPD FHEM/50_HP1000.pm
UPD FHEM/57_Calendar.pm
UPD FHEM/70_ZoneMinder.pm
UPD FHEM/98_DOIF.pm
UPD FHEM/98_telnet.pm
UPD FHEM/TcpServerUtils.pm
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Was ist denn devedit
Du kannst/sollst ausschließlich über set den state auf active/inactive setzen.
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

betateilchen

Wie setzt Du denn das device auf inactive?

Wenn Du das per Attribut disable machst, wird dieser Zustand definitiv nach einem "shutdown restart" auch wiederhergestellt. Wenn Du das mit "set ... inactive" machst, wäre ich mir da nicht sicher. Die readings werden zwar nach einem shutdown restart wieder auf den vorherigen Wert gesetzt, das hat aber nicht zwingend auch Auswirkungen auf das Verhalten selbst.

Die empfohlene Vorgehensweise ist die Verwendung des Attributes, das dieses bis zu seiner nächsten Änderung persistent ist.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

riker1

Hallo

das ist ein guter Hinweis.

mache es mal so mal so

bulk state set mit einem set per Befehl   set device.* inactive:

Individuel mit dem Attribut.

dies erklärt auch, das nach meinem Test eben, nicht alle die inactiv sind triggern, sondern nur die die ich mit dem
set befehl auf inactive gesetzt habe.

wäre hier nicht besser das unabhängig von der Ausführung der state korrekt verwendet wird., oder sehe ich das falsch?

Prüfe es nochhmal






FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

Zitat von: CoolTux am 15 Oktober 2018, 10:29:53
Was ist denn devedit
Du kannst/sollst ausschließlich über set den state auf active/inactive setzen.

ja das mache ich .
devedit ist für mich die funktion links im device, wo ich editieren kann.

meist arbeite ich aber über raw edit.

Aber warum wird der state beeinflusst, egal wie ich editiere?



FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

betateilchen

Zitat von: riker1 am 15 Oktober 2018, 10:38:52

bulk state set mit einem set per Befehl   set device.* inactive:


Das geht auch bulk per Attribut.

attr device.* disable 1
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: riker1 am 15 Oktober 2018, 10:43:20
Aber warum wird der state beeinflusst, egal wie ich editiere?

weil der state FHEM gehört und nicht dem Anwender.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Zitat von: betateilchen am 15 Oktober 2018, 10:33:29
Wie setzt Du denn das device auf inactive?

Wenn Du das per Attribut disable machst, wird dieser Zustand definitiv nach einem "shutdown restart" auch wiederhergestellt. Wenn Du das mit "set ... inactive" machst, wäre ich mir da nicht sicher. Die readings werden zwar nach einem shutdown restart wieder auf den vorherigen Wert gesetzt, das hat aber nicht zwingend auch Auswirkungen auf das Verhalten selbst.

Die empfohlene Vorgehensweise ist die Verwendung des Attributes, das dieses bis zu seiner nächsten Änderung persistent ist.

Also laut der Funktion IsDisabled im Notify und dem dazugehörigen Code der Funktion in fhem.pl wird einfach nur das state Reading ausgelesen. Und wenn da drin steht inactive das sollte das auch beachtet werden.
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

betateilchen

das reading state gehört aber FHEM und kann sich deshalb - gerade bei einem FHEM Neustart - durchaus noch ändern, nachdem es aus dem statefile verarbeitet wurde.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

riker1

Zitat von: betateilchen am 15 Oktober 2018, 11:34:11
Das geht auch bulk per Attribut.

attr device.* disable 1

ok, danke

trotzdem plädiere ich dafür, dass der state, egal wie entstanden, als state inactive / active interpretiert und behandelt wird.

Aus meiner Sicht ist das ein Bug. , oder?

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

Zitat von: betateilchen am 15 Oktober 2018, 12:04:46
das reading state gehört aber FHEM und kann sich deshalb - gerade bei einem FHEM Neustart - durchaus noch ändern, nachdem es aus dem statefile verarbeitet wurde.

wenn es FHEM gehört, dann darf man es auch nicht über das set ändern können, oder?

und state ist state aus meiner Sicht, ist ein Reading oder nicht.

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Zitat von: betateilchen am 15 Oktober 2018, 12:04:46
das reading state gehört aber FHEM und kann sich deshalb - gerade bei einem FHEM Neustart - durchaus noch ändern, nachdem es aus dem statefile verarbeitet wurde.

Aber wenn sich das Reading ändert dann sieht man die Änderung ja im state Reading. Wenn aber im state Reading inaktive steht dann sollte das auch beachtet werden. Ich schaue mir den Code noch mal genau an.
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

riker1

Zitat von: CoolTux am 15 Oktober 2018, 12:38:57
Aber wenn sich das Reading ändert dann sieht man die Änderung ja im state Reading. Wenn aber im state Reading inaktive steht dann sollte das auch beachtet werden. Ich schaue mir den Code noch mal genau an.

Ja danke,

definitiv war dar state im reading und im safe file inactive und es triggerte.

Danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Kann da jetzt so nichts weiter finden. Gib mir mal bitte eine raw definition von allen beteiligten Devices. Also die vo das NT triggern soll. Die der NT schaltet kann ich einfach so nachbilden.
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

riker1

ok
damit ich alle kriege, es gibt doch diesen devexport, hatte ich mal gelesen, weiss aber nicht wie es geht.

weisst du das?
Danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

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

riker1

Hi

danke

habe es nun nochmal eingeschränkt.

also ich setze state inactive und es triggert. nur noch ein notify aus einem dummy

define N_KH_HZ_Mode_create_status_Test_inactive notify DEBUG_TR.* \
\
{\
\
\
##################################################################################################\
#--------------------------------------------------------\
my $debug = Value("DEBUG_TR_GLOBAL");;\
#;;\
#-----------------------------------                           initiale Variablen-\
my $so_feiertag = 0;;\
my $WOEND = ($we);;\
#----------------------------------wird immer angehaengt\
my $debug_subset = ":DL$debug:$hms:WD:$wday:SD:$so_feiertag";;\
#\
my $case ="";;    # test track case , setzen je elsif und am ende ausführen!!!\
#-------------------------------------------------------------------------DEBUG SEttings\
if ($debug >= 1) \
   {$hour = Value("DEBUG_TR_KH_Test_hors");;\
    $we = Value("DEBUG_TR_WE");;\
    $WOEND = ($we);;\
    $wday = Value("DEBUG_TR_WDAY");;\
#\
   # $so_feiertag = Value("DEBUG_TR_WE");;#   ---> nun neuevariable eingebaut DEBUG_TR_WDAY\
     # 0=Sonntag -----für debug genutzt $we ( da we wday 6 und 0 !!!   ;;\
          #nur zum testen da ich aktuell nur Sonntag will und Sa noch nicht , muss noch getrennt werden\
#\
     Log 1,'DEBUGGING  im debugzweig >1: so<=debugtrwe '.Value('Value(DEBUG_TR_WE').'  so_feier>$so_feiertag <<--woend>$WOEND<';;\
     \
    if ($debug >= 3)  {$debug_subset = $debug_subset.":$hms:we:$WOEND:"};;\
    if ($debug >= 4)  {$debug_subset = $debug_subset.":E:$EVENT"};;\
    if ($debug >= 5)  {$debug_subset = $debug_subset.":N:$NAME"};;\
    if ($debug >= 6)  {$debug_subset = $debug_subset.":S:$SELF"};;\
if ($debug == 2)  {fhem("set KH_Temp_Status DEBUGGING")};;# wenn clear das feld\
   };;\
Log 1,'DEBUGGING -TRIGGER  MODE:--SELF>$SELF<';;\
Log 1,'DEBUGGING S:>$SELF<N:>$NAME:debug_subset >$debug_subset<';;\
Log 1,'DEBUGGING -TRIGGER  S:>$SELF<N:>$NAME<<--Event>$EVENT<';;\
Log 1,'DEBUGGING -TRIGGER  so_feier>$so_feiertag <<--woend>$WOEND<';;\
#\
#-------------------------------------------------------------------------DEBUG SEttings\
\
# ------so_feiertag setzen        wird dann entsprechend gesetzt wenn feiertag dazukommt ;;\
if  ($wday == 0) { $so_feiertag  =1};;    #wday 0 ist So!\
\
#--------------------------------------------------------------------start cases!!!!\
\
if   #Urlaub !!\
       (    Value("Heizung_Control") eq"Urlaub") \
       {;;\
        $case = "Urlaub";;\
  #      fhem("set KH_HZ_Mode_TagNachtAbsenk Urlaub".$debug_subset);;\
   #     fhem("setreading  KH_HZ_Mode_TagNachtAbsenk 0_$SELF Urlaub".$debug_subset);;\
      }\
\
#---------------\
    elsif  #WE-Sonntag !!\
            # tagsueber keine Absenkung -> hier geregelt da temp änderung das hier triggert\
            #  \
           (    $so_feiertag == 1   #morgens absenkung muss ueber Temp modul gesteuert werden \
              &&      $hour  <=  Value("KH_Desired_Sonntag_Absenkung_End")   #und hour variable \
            )\
              {;;\
               $case ="1Nachts-NachtAbsenkung";;\
#              fhem("set KH_HZ_Mode_TagNachtAbsenk 1Nachts-NachtAbsenkung".$debug_subset);;\
  #             \
}\
#--------------------\
\
elsif          # sonntag bis abends \
               (        $so_feiertag == 1 \
                    &&  $hour  >  Value("KH_Desired_Sonntag_Absenkung_End")\
                    &&  $hour <  Value("KH_Desired_Nacht_Start")\
               )\
               { ;;\
               $case ="SonnFeiertagKeinAbsenk";;\
#                fhem("set KH_HZ_Mode_TagNachtAbsenk SonnFeiertagKeinAbsenk".$debug_subset);;\
                  Log 1,"DEBUGGING Sonntag  so_feier>$so_feiertag <<--woend>$WOEND<";;\
               }\
#------------\
\
     elsif     ( #Nachts  Variable !!\
       (    $hour >= Value("KH_Desired_Nacht_Start")\
         || $hour <= Value("KH_Desired_Nacht_End") \
       )\
    ) {;;\
               $case ="1Nachts-NachtAbsenkung";;\
        #  fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
}\
   \
      elsif ( #Tag-Morgens   zwischen \
                  $hour >  Value("KH_Desired_Nacht_End")\
             &&   $hour < Value("KH_Desired_Tag_Absenkung_Start") \
            )  {;;\
               $case ="2Morgens_vor_Absenkung";;\
            #    fhem("set KH_HZ_Mode_TagNachtAbsenk 2Morgens_vor_Absenkung".$debug_subset);;\
               }\
  \
     elsif (   #Absenkung!\
                  $hour >= Value("KH_Desired_Tag_Absenkung_Start")\
             &&   $hour <= Value("KH_Desired_Tag_Absenkung_End") \
            ){;;\
               $case ="3Absenkung-Mittags";;\
          #     fhem("set KH_HZ_Mode_TagNachtAbsenk 3Absenkung-Mittags".$debug_subset);;\
            }\
\
     elsif (   #Tag-MittagAbend\
                  $hour > Value("KH_Desired_Tag_Absenkung_End")\
             &&   $hour < Value("KH_Desired_Nacht_Start") \
            ) {;;\
               $case ="4Tag-MittagAbend";;\
    #           fhem("set KH_HZ_Mode_TagNachtAbsenk 4Tag-MittagAbend".$debug_subset);;\
              }\
           \
    else \
            {;;\
               $case ="5else->";;\
   #            fhem("set KH_HZ_Mode_TagNachtAbsenk 5else".$debug_subset);;\
              };;\
\
fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0".$case."-".$hms);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0_CK1_prod ".$case.$debug_subset);;\
#das entspricht oben und wird oben rausgenommen\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0_CK_0 ".$case."-".$hms);;\
\
}

setstate N_KH_HZ_Mode_create_status_Test_inactive inactive
setstate N_KH_HZ_Mode_create_status_Test_inactive 2018-10-15 15:58:11 state inactive



notiify device:
defmod DEBUG_TR_GLOBAL dummy
attr DEBUG_TR_GLOBAL alias 1_DEB_TR_GLOBAL
attr DEBUG_TR_GLOBAL room 01_Stromstatus,T_Testlab,Z_Control,debug
attr DEBUG_TR_GLOBAL webCmd 0:1:2:3:4:5:6:7

setstate DEBUG_TR_GLOBAL 4
setstate DEBUG_TR_GLOBAL 2018-10-15 15:31:48 state 4



ps list -r hat nur das device geliefert nicht das trigger device


FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Zitat von: riker1 am 15 Oktober 2018, 16:05:46
Hi

danke

habe es nun nochmal eingeschränkt.

also ich setze state inactive und es triggert. nur noch ein notify aus einem dummy

define N_KH_HZ_Mode_create_status_Test_inactive notify DEBUG_TR.* \
\
{\
\
\
##################################################################################################\
#--------------------------------------------------------\
my $debug = Value("DEBUG_TR_GLOBAL");;\
#;;\
#-----------------------------------                           initiale Variablen-\
my $so_feiertag = 0;;\
my $WOEND = ($we);;\
#----------------------------------wird immer angehaengt\
my $debug_subset = ":DL$debug:$hms:WD:$wday:SD:$so_feiertag";;\
#\
my $case ="";;    # test track case , setzen je elsif und am ende ausführen!!!\
#-------------------------------------------------------------------------DEBUG SEttings\
if ($debug >= 1) \
   {$hour = Value("DEBUG_TR_KH_Test_hors");;\
    $we = Value("DEBUG_TR_WE");;\
    $WOEND = ($we);;\
    $wday = Value("DEBUG_TR_WDAY");;\
#\
   # $so_feiertag = Value("DEBUG_TR_WE");;#   ---> nun neuevariable eingebaut DEBUG_TR_WDAY\
     # 0=Sonntag -----für debug genutzt $we ( da we wday 6 und 0 !!!   ;;\
          #nur zum testen da ich aktuell nur Sonntag will und Sa noch nicht , muss noch getrennt werden\
#\
     Log 1,'DEBUGGING  im debugzweig >1: so<=debugtrwe '.Value('Value(DEBUG_TR_WE').'  so_feier>$so_feiertag <<--woend>$WOEND<';;\
     \
    if ($debug >= 3)  {$debug_subset = $debug_subset.":$hms:we:$WOEND:"};;\
    if ($debug >= 4)  {$debug_subset = $debug_subset.":E:$EVENT"};;\
    if ($debug >= 5)  {$debug_subset = $debug_subset.":N:$NAME"};;\
    if ($debug >= 6)  {$debug_subset = $debug_subset.":S:$SELF"};;\
if ($debug == 2)  {fhem("set KH_Temp_Status DEBUGGING")};;# wenn clear das feld\
   };;\
Log 1,'DEBUGGING -TRIGGER  MODE:--SELF>$SELF<';;\
Log 1,'DEBUGGING S:>$SELF<N:>$NAME:debug_subset >$debug_subset<';;\
Log 1,'DEBUGGING -TRIGGER  S:>$SELF<N:>$NAME<<--Event>$EVENT<';;\
Log 1,'DEBUGGING -TRIGGER  so_feier>$so_feiertag <<--woend>$WOEND<';;\
#\
#-------------------------------------------------------------------------DEBUG SEttings\
\
# ------so_feiertag setzen        wird dann entsprechend gesetzt wenn feiertag dazukommt ;;\
if  ($wday == 0) { $so_feiertag  =1};;    #wday 0 ist So!\
\
#--------------------------------------------------------------------start cases!!!!\
\
if   #Urlaub !!\
       (    Value("Heizung_Control") eq"Urlaub") \
       {;;\
        $case = "Urlaub";;\
  #      fhem("set KH_HZ_Mode_TagNachtAbsenk Urlaub".$debug_subset);;\
   #     fhem("setreading  KH_HZ_Mode_TagNachtAbsenk 0_$SELF Urlaub".$debug_subset);;\
      }\
\
#---------------\
    elsif  #WE-Sonntag !!\
            # tagsueber keine Absenkung -> hier geregelt da temp änderung das hier triggert\
            #  \
           (    $so_feiertag == 1   #morgens absenkung muss ueber Temp modul gesteuert werden \
              &&      $hour  <=  Value("KH_Desired_Sonntag_Absenkung_End")   #und hour variable \
            )\
              {;;\
               $case ="1Nachts-NachtAbsenkung";;\
#              fhem("set KH_HZ_Mode_TagNachtAbsenk 1Nachts-NachtAbsenkung".$debug_subset);;\
  #             \
}\
#--------------------\
\
elsif          # sonntag bis abends \
               (        $so_feiertag == 1 \
                    &&  $hour  >  Value("KH_Desired_Sonntag_Absenkung_End")\
                    &&  $hour <  Value("KH_Desired_Nacht_Start")\
               )\
               { ;;\
               $case ="SonnFeiertagKeinAbsenk";;\
#                fhem("set KH_HZ_Mode_TagNachtAbsenk SonnFeiertagKeinAbsenk".$debug_subset);;\
                  Log 1,"DEBUGGING Sonntag  so_feier>$so_feiertag <<--woend>$WOEND<";;\
               }\
#------------\
\
     elsif     ( #Nachts  Variable !!\
       (    $hour >= Value("KH_Desired_Nacht_Start")\
         || $hour <= Value("KH_Desired_Nacht_End") \
       )\
    ) {;;\
               $case ="1Nachts-NachtAbsenkung";;\
        #  fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
}\
   \
      elsif ( #Tag-Morgens   zwischen \
                  $hour >  Value("KH_Desired_Nacht_End")\
             &&   $hour < Value("KH_Desired_Tag_Absenkung_Start") \
            )  {;;\
               $case ="2Morgens_vor_Absenkung";;\
            #    fhem("set KH_HZ_Mode_TagNachtAbsenk 2Morgens_vor_Absenkung".$debug_subset);;\
               }\
  \
     elsif (   #Absenkung!\
                  $hour >= Value("KH_Desired_Tag_Absenkung_Start")\
             &&   $hour <= Value("KH_Desired_Tag_Absenkung_End") \
            ){;;\
               $case ="3Absenkung-Mittags";;\
          #     fhem("set KH_HZ_Mode_TagNachtAbsenk 3Absenkung-Mittags".$debug_subset);;\
            }\
\
     elsif (   #Tag-MittagAbend\
                  $hour > Value("KH_Desired_Tag_Absenkung_End")\
             &&   $hour < Value("KH_Desired_Nacht_Start") \
            ) {;;\
               $case ="4Tag-MittagAbend";;\
    #           fhem("set KH_HZ_Mode_TagNachtAbsenk 4Tag-MittagAbend".$debug_subset);;\
              }\
           \
    else \
            {;;\
               $case ="5else->";;\
   #            fhem("set KH_HZ_Mode_TagNachtAbsenk 5else".$debug_subset);;\
              };;\
\
fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0".$case."-".$hms);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0_CK1_prod ".$case.$debug_subset);;\
#das entspricht oben und wird oben rausgenommen\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0_CK_0 ".$case."-".$hms);;\
\
}

setstate N_KH_HZ_Mode_create_status_Test_inactive inactive
setstate N_KH_HZ_Mode_create_status_Test_inactive 2018-10-15 15:58:11 state inactive



notiify device:
defmod DEBUG_TR_GLOBAL dummy
attr DEBUG_TR_GLOBAL alias 1_DEB_TR_GLOBAL
attr DEBUG_TR_GLOBAL room 01_Stromstatus,T_Testlab,Z_Control,debug
attr DEBUG_TR_GLOBAL webCmd 0:1:2:3:4:5:6:7

setstate DEBUG_TR_GLOBAL 4
setstate DEBUG_TR_GLOBAL 2018-10-15 15:31:48 state 4



ps list -r hat nur das device geliefert nicht das trigger device

Das bringt mir nichts. Ich brauche die RAW Definition
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

riker1

Hi Cooltux,
habe versucht es nochmal nachzustellen.

schritte:
inactive mal mit set befehl mal mit dem dialog set xxxx inactive.

trigger auslösen. state bleibt bei inactive.

dann shut down +restart

trigger ausgelöst, state war immer noch inactive aber es wurde das notify getriggert.

dann das ganze nochmal über start stop des service.

gleiches resultat:

siehe eintrage am device:

setstate N_KH_HZ_Mode_create_status_Test_inactive 2018-10-15 16:19:20
setstate N_KH_HZ_Mode_create_status_Test_inactive 2018-10-15 16:17:35 state inactive


16:17 inactive, und um 16:19 wurde getriggert

Hoffe das hilft.

Danke Thomas

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Hallo Thomas,

Leider kommen wir so nicht zusammen. Bei Dir geht es nicht. Bei mir geht es. Wer macht jetzt also was falsch oder anders?
So lange ich keine das Definition von deinen Devices habe kann und werde ich da nichts machen können
Tut mir leid.


Grüße
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

riker1

Zitat von: CoolTux am 15 Oktober 2018, 16:07:40
Das bringt mir nichts. Ich brauche die RAW Definition

Hi
das sind doch die RAW Daten, oder was fehlt ?.

Ein einfaches Device und ein Dummy als Trigger.Triggere manuell mit dem webcmd des dummys
mehr ist es nicht mehr.

Habe versucht das einzuschränken und kann es bei mir damit nachstellen

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

Hi Cooltux,

kann ich noch logs aktivieren die dir helfen?
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

#31
Hi Cooltux,

Habe jetzt das auch nochmal auf einer anderen Umgebung importiert.

und habe das gleiche falsche Verhalten.

1xdummy als trigger manuel via webcmd
1xnotify
1x dummy als ziel.

Und du sagst bei dir geht es dann? kein Trigger?

{\
\
\
##################################################################################################\
#--------------------------------------------------------\
my $debug = Value("DEBUG_TR_GLOBAL");;\
#;;\
#-----------------------------------                           initiale Variablen-\
my $so_feiertag = 0;;\
my $WOEND = ($we);;\
#----------------------------------wird immer angehaengt\
my $debug_subset = ":DL$debug:$hms:WD:$wday:SD:$so_feiertag";;\
#\
my $case ="";;    # test track case , setzen je elsif und am ende ausführen!!!\
#-------------------------------------------------------------------------DEBUG SEttings\
if ($debug >= 1) \
   {$hour = Value("DEBUG_TR_KH_Test_hors");;\
    $we = Value("DEBUG_TR_WE");;\
    $WOEND = ($we);;\
    $wday = Value("DEBUG_TR_WDAY");;\
#\
   # $so_feiertag = Value("DEBUG_TR_WE");;#   ---> nun neuevariable eingebaut DEBUG_TR_WDAY\
     # 0=Sonntag -----für debug genutzt $we ( da we wday 6 und 0 !!!   ;;\
          #nur zum testen da ich aktuell nur Sonntag will und Sa noch nicht , muss noch getrennt werden\
#\
     Log 1,'DEBUGGING  im debugzweig >1: so<=debugtrwe '.Value('Value(DEBUG_TR_WE').'  so_feier>$so_feiertag <<--woend>$WOEND<';;\
     \
    if ($debug >= 3)  {$debug_subset = $debug_subset.":$hms:we:$WOEND:"};;\
    if ($debug >= 4)  {$debug_subset = $debug_subset.":E:$EVENT"};;\
    if ($debug >= 5)  {$debug_subset = $debug_subset.":N:$NAME"};;\
    if ($debug >= 6)  {$debug_subset = $debug_subset.":S:$SELF"};;\
if ($debug == 2)  {fhem("set KH_Temp_Status DEBUGGING")};;# wenn clear das feld\
   };;\
Log 1,'DEBUGGING -TRIGGER  MODE:--SELF>$SELF<';;\
Log 1,'DEBUGGING S:>$SELF<N:>$NAME:debug_subset >$debug_subset<';;\
Log 1,'DEBUGGING -TRIGGER  S:>$SELF<N:>$NAME<<--Event>$EVENT<';;\
Log 1,'DEBUGGING -TRIGGER  so_feier>$so_feiertag <<--woend>$WOEND<';;\
#\
#-------------------------------------------------------------------------DEBUG SEttings\
\
# ------so_feiertag setzen        wird dann entsprechend gesetzt wenn feiertag dazukommt ;;\
if  ($wday == 0) { $so_feiertag  =1};;    #wday 0 ist So!\
\
#--------------------------------------------------------------------start cases!!!!\
\
if   #Urlaub !!\
       (    Value("Heizung_Control") eq"Urlaub") \
       {;;\
        $case = "Urlaub";;\
  #      fhem("set KH_HZ_Mode_TagNachtAbsenk Urlaub".$debug_subset);;\
   #     fhem("setreading  KH_HZ_Mode_TagNachtAbsenk 0_$SELF Urlaub".$debug_subset);;\
      }\
\
#---------------\
    elsif  #WE-Sonntag !!\
            # tagsueber keine Absenkung -> hier geregelt da temp änderung das hier triggert\
            #  \
           (    $so_feiertag == 1   #morgens absenkung muss ueber Temp modul gesteuert werden \
              &&      $hour  <=  Value("KH_Desired_Sonntag_Absenkung_End")   #und hour variable \
            )\
              {;;\
               $case ="1Nachts-NachtAbsenkung";;\
#              fhem("set KH_HZ_Mode_TagNachtAbsenk 1Nachts-NachtAbsenkung".$debug_subset);;\
  #             \
}\
#--------------------\
\
elsif          # sonntag bis abends \
               (        $so_feiertag == 1 \
                    &&  $hour  >  Value("KH_Desired_Sonntag_Absenkung_End")\
                    &&  $hour <  Value("KH_Desired_Nacht_Start")\
               )\
               { ;;\
               $case ="SonnFeiertagKeinAbsenk";;\
#                fhem("set KH_HZ_Mode_TagNachtAbsenk SonnFeiertagKeinAbsenk".$debug_subset);;\
                  Log 1,"DEBUGGING Sonntag  so_feier>$so_feiertag <<--woend>$WOEND<";;\
               }\
#------------\
\
     elsif     ( #Nachts  Variable !!\
       (    $hour >= Value("KH_Desired_Nacht_Start")\
         || $hour <= Value("KH_Desired_Nacht_End") \
       )\
    ) {;;\
               $case ="1Nachts-NachtAbsenkung";;\
        #  fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
}\
   \
      elsif ( #Tag-Morgens   zwischen \
                  $hour >  Value("KH_Desired_Nacht_End")\
             &&   $hour < Value("KH_Desired_Tag_Absenkung_Start") \
            )  {;;\
               $case ="2Morgens_vor_Absenkung";;\
            #    fhem("set KH_HZ_Mode_TagNachtAbsenk 2Morgens_vor_Absenkung".$debug_subset);;\
               }\
  \
     elsif (   #Absenkung!\
                  $hour >= Value("KH_Desired_Tag_Absenkung_Start")\
             &&   $hour <= Value("KH_Desired_Tag_Absenkung_End") \
            ){;;\
               $case ="3Absenkung-Mittags";;\
          #     fhem("set KH_HZ_Mode_TagNachtAbsenk 3Absenkung-Mittags".$debug_subset);;\
            }\
\
     elsif (   #Tag-MittagAbend\
                  $hour > Value("KH_Desired_Tag_Absenkung_End")\
             &&   $hour < Value("KH_Desired_Nacht_Start") \
            ) {;;\
               $case ="4Tag-MittagAbend";;\
    #           fhem("set KH_HZ_Mode_TagNachtAbsenk 4Tag-MittagAbend".$debug_subset);;\
              }\
           \
    else \
            {;;\
               $case ="5else->";;\
   #            fhem("set KH_HZ_Mode_TagNachtAbsenk 5else".$debug_subset);;\
              };;\
\
fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 1_inactivetest".$case.$debug_subset);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 1".$case."-".$hms);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 1_CK1_prod ".$case.$debug_subset);;\
#das entspricht oben und wird oben rausgenommen\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 1_CK_0 ".$case."-".$hms);;\
\
}
attr N_KH_HZ_Mode_create_status_Test_inactive_via_dialog disable 1
attr N_KH_HZ_Mode_create_status_Test_inactive_via_dialog room T_Testlab
define DEBUG_TR_GLOBAL dummy
attr DEBUG_TR_GLOBAL alias 1_DEB_TR_GLOBAL
attr DEBUG_TR_GLOBAL room 01_Stromstatus,T_Testlab,Z_Control,debug
attr DEBUG_TR_GLOBAL webCmd 0:1:2:3:4:5:6:7
define KH_HZ_Mode_TagNachtAbsenk dummy
attr KH_HZ_Mode_TagNachtAbsenk room T_Testlab
attr KH_HZ_Mode_TagNachtAbsenk verbose 5



Mist jetzt habe ich mir ein eigentor geschossen.
Auf der Instanz wurde es wegen Fhem2Fhem von der anderen Instanz gesetzt. Also Test war schrott!!!

muss die Sachen umbenennen

bin noch dran

Sorry
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Zitat von: riker1 am 15 Oktober 2018, 16:05:46
Hi

danke

habe es nun nochmal eingeschränkt.

also ich setze state inactive und es triggert. nur noch ein notify aus einem dummy

define N_KH_HZ_Mode_create_status_Test_inactive notify DEBUG_TR.* \
\
{\
\
\
##################################################################################################\
#--------------------------------------------------------\
my $debug = Value("DEBUG_TR_GLOBAL");;\
#;;\
#-----------------------------------                           initiale Variablen-\
my $so_feiertag = 0;;\
my $WOEND = ($we);;\
#----------------------------------wird immer angehaengt\
my $debug_subset = ":DL$debug:$hms:WD:$wday:SD:$so_feiertag";;\
#\
my $case ="";;    # test track case , setzen je elsif und am ende ausführen!!!\
#-------------------------------------------------------------------------DEBUG SEttings\
if ($debug >= 1) \
   {$hour = Value("DEBUG_TR_KH_Test_hors");;\
    $we = Value("DEBUG_TR_WE");;\
    $WOEND = ($we);;\
    $wday = Value("DEBUG_TR_WDAY");;\
#\
   # $so_feiertag = Value("DEBUG_TR_WE");;#   ---> nun neuevariable eingebaut DEBUG_TR_WDAY\
     # 0=Sonntag -----für debug genutzt $we ( da we wday 6 und 0 !!!   ;;\
          #nur zum testen da ich aktuell nur Sonntag will und Sa noch nicht , muss noch getrennt werden\
#\
     Log 1,'DEBUGGING  im debugzweig >1: so<=debugtrwe '.Value('Value(DEBUG_TR_WE').'  so_feier>$so_feiertag <<--woend>$WOEND<';;\
     \
    if ($debug >= 3)  {$debug_subset = $debug_subset.":$hms:we:$WOEND:"};;\
    if ($debug >= 4)  {$debug_subset = $debug_subset.":E:$EVENT"};;\
    if ($debug >= 5)  {$debug_subset = $debug_subset.":N:$NAME"};;\
    if ($debug >= 6)  {$debug_subset = $debug_subset.":S:$SELF"};;\
if ($debug == 2)  {fhem("set KH_Temp_Status DEBUGGING")};;# wenn clear das feld\
   };;\
Log 1,'DEBUGGING -TRIGGER  MODE:--SELF>$SELF<';;\
Log 1,'DEBUGGING S:>$SELF<N:>$NAME:debug_subset >$debug_subset<';;\
Log 1,'DEBUGGING -TRIGGER  S:>$SELF<N:>$NAME<<--Event>$EVENT<';;\
Log 1,'DEBUGGING -TRIGGER  so_feier>$so_feiertag <<--woend>$WOEND<';;\
#\
#-------------------------------------------------------------------------DEBUG SEttings\
\
# ------so_feiertag setzen        wird dann entsprechend gesetzt wenn feiertag dazukommt ;;\
if  ($wday == 0) { $so_feiertag  =1};;    #wday 0 ist So!\
\
#--------------------------------------------------------------------start cases!!!!\
\
if   #Urlaub !!\
       (    Value("Heizung_Control") eq"Urlaub") \
       {;;\
        $case = "Urlaub";;\
  #      fhem("set KH_HZ_Mode_TagNachtAbsenk Urlaub".$debug_subset);;\
   #     fhem("setreading  KH_HZ_Mode_TagNachtAbsenk 0_$SELF Urlaub".$debug_subset);;\
      }\
\
#---------------\
    elsif  #WE-Sonntag !!\
            # tagsueber keine Absenkung -> hier geregelt da temp änderung das hier triggert\
            #  \
           (    $so_feiertag == 1   #morgens absenkung muss ueber Temp modul gesteuert werden \
              &&      $hour  <=  Value("KH_Desired_Sonntag_Absenkung_End")   #und hour variable \
            )\
              {;;\
               $case ="1Nachts-NachtAbsenkung";;\
#              fhem("set KH_HZ_Mode_TagNachtAbsenk 1Nachts-NachtAbsenkung".$debug_subset);;\
  #             \
}\
#--------------------\
\
elsif          # sonntag bis abends \
               (        $so_feiertag == 1 \
                    &&  $hour  >  Value("KH_Desired_Sonntag_Absenkung_End")\
                    &&  $hour <  Value("KH_Desired_Nacht_Start")\
               )\
               { ;;\
               $case ="SonnFeiertagKeinAbsenk";;\
#                fhem("set KH_HZ_Mode_TagNachtAbsenk SonnFeiertagKeinAbsenk".$debug_subset);;\
                  Log 1,"DEBUGGING Sonntag  so_feier>$so_feiertag <<--woend>$WOEND<";;\
               }\
#------------\
\
     elsif     ( #Nachts  Variable !!\
       (    $hour >= Value("KH_Desired_Nacht_Start")\
         || $hour <= Value("KH_Desired_Nacht_End") \
       )\
    ) {;;\
               $case ="1Nachts-NachtAbsenkung";;\
        #  fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
}\
   \
      elsif ( #Tag-Morgens   zwischen \
                  $hour >  Value("KH_Desired_Nacht_End")\
             &&   $hour < Value("KH_Desired_Tag_Absenkung_Start") \
            )  {;;\
               $case ="2Morgens_vor_Absenkung";;\
            #    fhem("set KH_HZ_Mode_TagNachtAbsenk 2Morgens_vor_Absenkung".$debug_subset);;\
               }\
  \
     elsif (   #Absenkung!\
                  $hour >= Value("KH_Desired_Tag_Absenkung_Start")\
             &&   $hour <= Value("KH_Desired_Tag_Absenkung_End") \
            ){;;\
               $case ="3Absenkung-Mittags";;\
          #     fhem("set KH_HZ_Mode_TagNachtAbsenk 3Absenkung-Mittags".$debug_subset);;\
            }\
\
     elsif (   #Tag-MittagAbend\
                  $hour > Value("KH_Desired_Tag_Absenkung_End")\
             &&   $hour < Value("KH_Desired_Nacht_Start") \
            ) {;;\
               $case ="4Tag-MittagAbend";;\
    #           fhem("set KH_HZ_Mode_TagNachtAbsenk 4Tag-MittagAbend".$debug_subset);;\
              }\
           \
    else \
            {;;\
               $case ="5else->";;\
   #            fhem("set KH_HZ_Mode_TagNachtAbsenk 5else".$debug_subset);;\
              };;\
\
fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0".$case."-".$hms);;\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0_CK1_prod ".$case.$debug_subset);;\
#das entspricht oben und wird oben rausgenommen\
fhem("setreading KH_HZ_Mode_TagNachtAbsenk 0_CK_0 ".$case."-".$hms);;\
\
}

setstate N_KH_HZ_Mode_create_status_Test_inactive inactive
setstate N_KH_HZ_Mode_create_status_Test_inactive 2018-10-15 15:58:11 state inactive


Ist das wirklich die Raw? Meine Raws fangen alle mit defmod an und nicht mit define.
Zitat
notiify device:
defmod DEBUG_TR_GLOBAL dummy
attr DEBUG_TR_GLOBAL alias 1_DEB_TR_GLOBAL
attr DEBUG_TR_GLOBAL room 01_Stromstatus,T_Testlab,Z_Control,debug
attr DEBUG_TR_GLOBAL webCmd 0:1:2:3:4:5:6:7

setstate DEBUG_TR_GLOBAL 4
setstate DEBUG_TR_GLOBAL 2018-10-15 15:31:48 state 4


ist das sicherlich das Notify? Sieht komisch aus. Kann es aber gerne heute Abend mal versuchen in meine Testumgebung ein zu spielen.

Hast du das selbe Problem mit einem nicht so umfangreichen Notify? Eines was wegen meiner nur ne Lampe umschaltet

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

CoolTux

Meine Güte Thomas, das wird ja immer mehr. Ist das alles dein Notify?

Jetzt mal ab von deinem Problem.
Bitte keine Auszüge aus deiner fhem.cfg. immer nur list vom Device oder raw Definition wenn man drum bittet.
Zweitens sollte ein notify nicht mehr wie 5 Zeilen Perl Code enthalten. Deinen Code solltest du in eine 99_myUtils auslagern.



So jetzt zum testen. Lege 2 Dummys an. Lege ein notify an welches auf on und off vom Dummy eins triggert und dann den $EVENT an Dummy 2 sendet. Hast du mit diesem einfachen notify auch das Problem?
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

riker1

Hi CoolTux,

danke fürs Helfen.

habe eigentlich immer nur list und raw geschickt . nur einmal, als ich die beiden dinge  auf meine andere Umgebung übertragen hatte. hatte ich den fhem.cfg teil kopiert. Sorry, dachte wäre einfacher.

aber man kann doch ein define auch im raw fenster eingeben, oder?

so zum Testen:
mit dem einfachen notify und trigger , inactive an aus, shutdown, etc. ist alles ok

Ich werde doch noch wahnsinnig.....

Kann es durch den "vielen" Perl Code kommen?

danke
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Möglich.
Dazu müsste ich mir den Code einmal ganz genau an schauen.

Es wäre interessant. Dennoch solltest du wirklich darüber nach denken deinen Code in eine myUtils aus zu lagern. Ist auch pflegeleichter.
Melde mich nachher noch mal.
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

riker1

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Ziemlich durcheinander Dein Code.
Habe jetzt aber nichts finden können was dafür sorgen sollte.
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

CoolTux

Hier mal in hübsch. Habe aber die meisten Kommentare entfernt damit ich das wesentliche lesen kann.
Ich würde den Code einfach so in eine myUtils schreiben. Bisschen schauen ob noch was fehlt oder so bitte.


my $debug        = Value("DEBUG_TR_GLOBAL");
my $so_feiertag  = 0;
my $WOEND        = ($we);
my $debug_subset = ":DL$debug:$hms:WD:$wday:SD:$so_feiertag";
my $case = "";    # test track case , setzen je elsif und am ende ausführen!!!

if ( $debug >= 1 ) {
    $hour  = Value("DEBUG_TR_KH_Test_hors");
    $we    = Value("DEBUG_TR_WE");
    $WOEND = ($we);
    $wday  = Value("DEBUG_TR_WDAY");

    Log 1,
        'DEBUGGING  im debugzweig >1: so<=debugtrwe '
      . Value('Value(DEBUG_TR_WE')
      . '  so_feier>$so_feiertag <<--woend>$WOEND<';

    if ( $debug >= 3 ) { $debug_subset = $debug_subset . ":$hms:we:$WOEND:" }
    if ( $debug >= 4 ) { $debug_subset = $debug_subset . ":E:$EVENT" }
    if ( $debug >= 5 ) { $debug_subset = $debug_subset . ":N:$NAME" }
    if ( $debug >= 6 ) { $debug_subset = $debug_subset . ":S:$SELF" }
    if ( $debug == 2 ) { fhem("set KH_Temp_Status DEBUGGING") }
}

Log 1, 'DEBUGGING -TRIGGER  MODE:--SELF>$SELF<';
Log 1, 'DEBUGGING S:>$SELF<N:>$NAME:debug_subset >$debug_subset<';
Log 1, 'DEBUGGING -TRIGGER  S:>$SELF<N:>$NAME<<--Event>$EVENT<';
Log 1, 'DEBUGGING -TRIGGER  so_feier>$so_feiertag <<--woend>$WOEND<';

if ( $wday == 0 ) { $so_feiertag = 1 }

if ( Value("Heizung_Control") eq "Urlaub" ) {
    $case = "Urlaub";

#     fhem("set KH_HZ_Mode_TagNachtAbsenk Urlaub".$debug_subset);
#     fhem("setreading  KH_HZ_Mode_TagNachtAbsenk 0_$SELF Urlaub".$debug_subset);
}
elsif ($so_feiertag == 1
    && $hour <= Value("KH_Desired_Sonntag_Absenkung_End") )
{
    $case = "1Nachts-NachtAbsenkung";

#     fhem("set KH_HZ_Mode_TagNachtAbsenk Nachts-NachtAbsenkung".$debug_subset);
}
elsif ($so_feiertag == 1
    && $hour > Value("KH_Desired_Sonntag_Absenkung_End")
    && $hour < Value("KH_Desired_Nacht_Start") )
{
    $case = "SonnFeiertagKeinAbsenk";

#                fhem("set KH_HZ_Mode_TagNachtAbsenk SonnFeiertagKeinAbsenk".$debug_subset);
    Log 1, "DEBUGGING Sonntag  so_feier>$so_feiertag <<--woend>$WOEND<";
}
elsif ($hour >= Value("KH_Desired_Nacht_Start")
    || $hour <= Value("KH_Desired_Nacht_End") )
{
    $case = "1Nachts-NachtAbsenkung";

    #     fhem("set KH_HZ_Mode_TagNachtAbsenk ".$case.$debug_subset);
}
elsif ($hour > Value("KH_Desired_Nacht_End")
    && $hour < Value("KH_Desired_Tag_Absenkung_Start") )
{
    $case = "2Morgens_vor_Absenkung";

#     fhem("set KH_HZ_Mode_TagNachtAbsenk 2Morgens_vor_Absenkung".$debug_subset);
}
elsif ($hour >= Value("KH_Desired_Tag_Absenkung_Start")
    && $hour <= Value("KH_Desired_Tag_Absenkung_End") )
{
    $case = "3Absenkung-Mittags";

   #     fhem("set KH_HZ_Mode_TagNachtAbsenk 3Absenkung-Mittags".$debug_subset);
}
elsif ($hour > Value("KH_Desired_Tag_Absenkung_End")
    && $hour < Value("KH_Desired_Nacht_Start") )
{
    $case = "4Tag-MittagAbend";

    #     fhem("set KH_HZ_Mode_TagNachtAbsenk 4Tag-MittagAbend".$debug_subset);
}
else {
    $case = "5else->";

    #     fhem("set KH_HZ_Mode_TagNachtAbsenk 5else".$debug_subset);
}

fhem( "set KH_HZ_Mode_TagNachtAbsenk " . $case . $debug_subset );
fhem( "setreading KH_HZ_Mode_TagNachtAbsenk 0" . $case . "-" . $hms );
fhem(   "setreading KH_HZ_Mode_TagNachtAbsenk 0_CK1_prod "
      . $case
      . $debug_subset );

#das entspricht oben und wird oben rausgenommen
fhem( "setreading KH_HZ_Mode_TagNachtAbsenk 0_CK_0 " . $case . "-" . $hms );
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

riker1

#39
super
vielen Dank
muss ich probieren mal
Bin mir nicht ganz sicher wie ich die funktionen in myUtils aufrufen muss mit den Parameterübergaben und so.

wollte das eigentlich vermeiden, scheint aber nun doch die bessere Alternative zu sein:!!

bin halt autodidaktisch unterwegs:-)

danke sehr fürs Helfen.

LG Thomas
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

riker1

FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

CoolTux

Wäre ja auch nichts anderes. Entweder DOIF oder myUtils.

Die Funktion mit Parameterübergabe rufst du im Notify ganz normal auf

{ funktion('ARG1','ARG2') }


Grüße
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

riker1

super danke.

muss mich da mal einarbeiten.

VG Thomas
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF