DOIF hat funktioniert, produziert aber PERL Warning im Log

Begonnen von Jorge3711, 15 Juni 2015, 09:48:18

Vorheriges Thema - Nächstes Thema

Jorge3711

Hallo zusammen,

ich habe gestern anhand von Beispielen aus der Commandref mein erstes DOIF gebaut und es hat sogar funktioniert. Plan ist, nur bei Anwesenheit von mir oder meiner Frau am Abend die Hintergrundbeleuchtung im Wohnzimmer einzuschalten, abhängig von der Dämmerung. Umgesetzt habe ich es so:


define di_test DOIF ([({sunset("HORIZON=0",0,"16:00","22:00")})] and ([Person1:state] eq "present" or [Person2:state] eq "present")) (set wz_Hintergrundbeleuchtung on)


Zur "gewünschten" Zeit wurde das Licht der Hintergrundbeleuchtung eingeschaltet. Das ODER hat auch funktioniert, da Person1 simuliert nicht anwesend war. Allerdings ist mir aufgefallen, dass im fhemlog seither alle 30 Sekunden folgende Logzeile kommt:


2015.06.14 22:37:35 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4293.
2015.06.14 22:38:02 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4293.
2015.06.14 22:38:37 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4293.


In Zeile 4293 beginnt genau die Definition meines DOIF. Was ist falsch? Ja, ich gebe gern zu von Perl keine Ahnung zu haben. Vielleicht hat mir jemand einen Hinweis.

Danke und Grüße
Carsten

Otto123

Hallo Carsten,

ich bin auch nicht der Perl Crack aber mir fallen zwei Dinge auf:

Ein Set runde Klammer erscheint mir um die geschweiften von sunset überflüssig.
sunset liefert eine Zeit. Du nimmst diesen Wert und machst eine direkte logische Verknüpfung mit den Personenstatus. Du müsstest den Status der Personen zu dieser Zeit abfragen.

Kann aber sein, das DOIF das trotzdem versteht.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Jorge3711

Hallo,

habe mal die Klammer entfernt, FHEM meckert mal nicht deswegen und abwarten wie es heute Abend funktioniert.

Viele Grüße
Carsten

Ralli

Person1:state ist noch nicht mit einem Wert belegt?
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

Jorge3711

Test erfolgreich, keine PERL Warnings mehr im fhem.log. Es waren wohl tatsächlich die von Otto angemerkten Klammern die zuviel waren. Jetzt wird die Hintergrundbeleuchtung eingeschaltet, wenn eine der Personen anwesend ist (gelöst über das PRECENCE Modul).

Danke für den Schubser in die richtige Richtung
Carsten