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!