[gelöst] Define -temporary first

Begonnen von Joker, 24 Januar 2022, 18:04:20

Vorheriges Thema - Nächstes Thema

Joker

Ich weiß nicht so recht wo hin mit meinem Problem, daher poste ich es mal in den Anfängerbereicht...

Ich habe sporadisch folgende Logausgaben im Logfile:
2022.01.24 04:05:19 3:  defmod -temporary at_mqtt_espeasy_dht_attic.connected at +00:00:04 { sendDeviceToSleep('mqtt_espeasy_dht_attic') } : Define -temporary first

So recht kann ich mir nicht erklären warum das auftritt, ausgelöst wird es von folgendem Perl Code:
sub onMqttEspEasyDhtConnected($)
{
my($device) = @_;

fhem("defmod -temporary at_$device.connected at +00:00:04 { sendDeviceToSleep('$device') }");
}

sub sendDeviceToSleep($)
{
my($device) = @_;

my $deepSleepDuration = AttrVal($device, "deepsleep-duration", 0);

if($deepSleepDuration gt "0")
{
fhem("set $device event,deepsleep=$deepSleepDuration");
}
}


Ausgeführt wird das etwa alle 5min, immer wenn ein ESPEasy Device aufwacht. Mit dem Code soll das Device eine vordefinierte Zeit in DeepSleep geschickt werden. Das funktioniert generell auch, aber ein paar mal am Tag habe ich die die o.g. LogMeldung.
Woran könnte das liegen?

betateilchen

Lass den Parameter -temporary in Deinem Code einfach weg.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Joker

Zitat von: betateilchen am 24 Januar 2022, 18:58:28
Lass den Parameter -temporary in Deinem Code einfach weg.
Thx. Löst das Problem erstmal. Hat sich da irgendwas geändert? Soweit ich mich erinnern kann hatte ich das eingefügt, weil ich nicht ständig das Symbol für ungesicherte Konfiguration haben wollte. Scheint jetzt hier aber nicht mehr aufzutauchen. Oder bring ich da was durcheinander?

DeeSPe

Zitat von: Joker am 25 Januar 2022, 08:39:05
Thx. Löst das Problem erstmal. Hat sich da irgendwas geändert? Soweit ich mich erinnern kann hatte ich das eingefügt, weil ich nicht ständig das Symbol für ungesicherte Konfiguration haben wollte. Scheint jetzt hier aber nicht mehr aufzutauchen. Oder bring ich da was durcheinander?

Ein sich nicht wiederholendes "at" zeigt generell nie das Symbol für ungesicherte Konfiguration an.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

mi.ke

FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

betateilchen

Zitat von: mi.ke am 25 Januar 2022, 09:14:49
-temporary durch -silent ersetzen

sorry, aber das ist Quatsch.

Bei einem einmaligen at, das ohnehin in 4 Sekunden (durch seine Ausführung) verschwindet, ist jeder zusätzliche Parameter überflüssig.


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

Joker

Alles klar, danke für die Antworten!
Ohne Parameter funktioniert alles wie gewünscht.