AT spring immer in inactive, Notify geht

Begonnen von Moli, 01 Oktober 2026, 07:08:44

Vorheriges Thema - Nächstes Thema

Moli

Guten Morgen,

ich schreibe das mal kurz hier rein, finde nichts besseres.

Ich habe seit Jahren einen AT-Befehl, um ein schönes externes Diagramm anzuzeigen.
Plötzlich funktioniert er nicht mehr, er ist auf ,,inaktiv" umgeschaltet. Wenn ich ihn auf ,,aktiv" setze, wechselt er sofort wieder auf ,,inaktiv".
Ich habe ihn gelöscht, gespeichert, das System neu gestartet und ein Update durchgeführt – nichts hilft.
Aus Verzweiflung habe ich ihn in ein Notify umgewandelt, und sofort funktionierte er wieder.

Ist das schon jemandem anderem passiert, oder hat jemand eine Idee?


Danke!

defmod ATGraphLog at +*00:05:00 {\
  my $power         = ReadingsNum("Einspeisung","power","0");;\
  my $TotalAkkuPower = ReadingsNum("Einspeisung","TotalAkkuPower","0");;\
  my $SolarAll      = ReadingsNum("Einspeisung","SolarAll","0");;\
  my $Ost           = ReadingsNum("piko70","generator.1.Power","0");;\
  my $Sued          = ReadingsNum("SunnyBoy30","Power2","0") + ReadingsNum("piko70","generator.2.Power","0");;\
  my $West          = ReadingsNum("SunnyBoy30","Power1","0");;\
\
  my $write_fast = sub {\
    my ($file, $value) = @_;;\
    if (open(my $fh, '>', $file)) {\
      print $fh "$value\n";;\
      close($fh);;\
    } else {\
      Log 1, "ATGraphLog Fehler: Konnte $file nicht schreiben: $!";;\
    }\
  };;\
\
  $write_fast->('/run/StromVerbrauch',  $power);;\
  $write_fast->('/run/SolarAll',        $SolarAll);;\
  $write_fast->('/run/SolarOst',        $Ost);;\
  $write_fast->('/run/SolarSued',       $Sued);;\
  $write_fast->('/run/SolarWest',       $West);;\
  $write_fast->('/run/TotalAkkuPower',  $TotalAkkuPower);;\
}
attr ATGraphLog group Graph
attr ATGraphLog room System

setstate ATGraphLog inactive
setstate ATGraphLog 2026-10-01 07:08:10 state inactive

betateilchen

Zitat von: Moli am 01 Oktober 2026, 07:08:44ich schreibe das mal kurz hier rein, finde nichts besseres.

"help at" in der FHEM Befehlszeile liefert

ZitatModule: 90_at.pm Maintainer: rudolfkoenig Forum: Automatisierung

Den Button zum Verschieben findest Du unten links auf der Seite.
-----------------------
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: Moli am 01 Oktober 2026, 07:08:44hat jemand eine Idee?

Kannst Du das at-device bitte unter einem anderen Namen anlegen und schauen, ob der Effekt dann auch auftritt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

binford6000

ZitatAus Verzweiflung habe ich ihn in ein Notify umgewandelt, und sofort funktionierte er wieder.
Hmm das kommt mir spanisch vor... Das Eine (at, Zeit-gesteuert) hat mit dem Anderen (notify, Event-gesteuert) ziemlich wenig am Hut.

Allerdings könnte ein notify wie zB.
ATGraphLog:Next:.*:.*:.* {fhem("set $NAME inactive"}

genau diesen Effekt auslösen. Jedenfalls kann ich beides in einem leeren Test-FHEM nachstellen:

  • Ohne das besagte notify bleibt das at immer aktiv. Kann es nur manuell inaktiv setzen.
  • Mit dem notify^^ habe ich genau den von Dir beschriebenen Effekt.

Kannst ja mal in der Detail-Ansicht von ATGraphLog schauen ob das was bei "Probably associated with" auftaucht...
Oder im Event-Monitor schauen was da sonst noch so passiert wenn das at inaktiv wird.

VG Sebastian

TomLee

Hallo,

wenn:
ZitatKannst ja mal in der Detail-Ansicht von ATGraphLog schauen ob das was bei "Probably associated with" auftaucht...
nichts bringt, dann mal mit:
"grep -rn "inactive" /opt/fhem/FHEM/99_*.pm"oben in der Befehlszeile versuchen und ins Log schauen.

Gruß Thomas