[gelöst] PERL WARNING: Argument isn't numeric in division (/) at ./FHEM/99_SUN

Begonnen von Mihca, 16 September 2020, 12:27:34

Vorheriges Thema - Nächstes Thema

Mihca

Seit dem heutigen (16.09.2020) Update kommt bei mir folgende Fehlermeldung bei allenDoIf's, die mit sunrise arbeiten:

2020.09.16 08:18:25 1: PERL WARNING: Argument "07:14" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 106.
2020.09.16 08:18:25 3: eval: {sunrise(2790,"07:14","09:00")}


Vielen Dank vorab für Hilfe!
VG Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Damian

Zitat von: Mihca am 16 September 2020, 12:27:34
Seit dem heutigen (16.09.2020) Update kommt bei mir folgende Fehlermeldung bei allenDoIf's, die mit sunrise arbeiten:

2020.09.16 08:18:25 1: PERL WARNING: Argument "07:14" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 106.
2020.09.16 08:18:25 3: eval: {sunrise(2790,"07:14","09:00")}


Vielen Dank vorab für Hilfe!
VG Achim

Poste mal ein list von so einem DOIF.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

yersinia

Hast du heute morgen ein Update gemacht? Wenn ja, könnte das hiermit zu tun haben:
Zitat von: rudolfkoenigIch habe die beiden optionalen Parameter $lat,$long zu sr_alt hinzugefuegt. Wenn gesetzt, dann werden nicht die globalen Attribute abgefragt.

Weiterhin einen Fehler gefixt: falls man fuer altitude keinen gueltigen Wert spezifiziert hat, dann wurden die weiteren Parameter (offset, min, max) eins versetzt ausgewertet.
(Revision 22774)

Aber ein List des DOIFs sollte auch kommen.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

CoolTux

Rude hat die Tage was an dem Modul gemacht. Ich gehe davon aus das es etwas damit zu tun hat.

Hast Du in global Latitude und Longitude gesetzt?
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

Mihca

Zitat von: Damian am 16 September 2020, 12:50:48
Poste mal ein list von so einem DOIF.

Hier das List:

Internals:
   DEF        (([{sunrise(2790,"07:14","09:00")}]) and ([Heiss] ne "on") and ([Sonne] ne "on") and ([Frost] ne "on"))
(
set OG.Buero.Rollo_2 on, set OG.Buero.Rollo_3 on
)
DOELSEIF (([12:00-22:30]) and [Frost] eq "on" and ([Rollo.OG.Buero] ne "off"))
(
set Rollo.OG.Buero off
)
   FUUID      5c42e919-f33f-9d8a-7761-dedac98ea38ac6f8
   MODEL      FHEM
   NAME       RolloOGBueroTimer
   NOTIFYDEV  Heiss,Rollo.OG.Buero,global,Sonne,Frost
   NR         375
   NTFY_ORDER 50-RolloOGBueroTimer
   STATE      initialized
   TYPE       DOIF
   VERSION    22764 2020-09-12 20:06:36
   READINGS:
     2020-09-16 07:20:00   Device          Sonne
     2020-09-16 08:41:57   cmd             0
     2020-09-10 07:14:00   cmd_event       timer_1
     2020-09-16 08:41:57   cmd_nr          0
     2020-09-11 00:40:00   e_Heiss_STATE   on
     2020-09-15 19:32:12   e_Rollo.OG.Buero_STATE off
     2020-09-16 07:20:00   e_Sonne_STATE   on
     2020-07-14 12:18:07   mode            enabled
     2020-09-16 08:41:57   state           initialized
     2020-09-16 08:41:57   timer_01_c01    17.09.2020 07:22:43
     2020-09-16 08:41:57   timer_02_c02    16.09.2020 12:00:00
     2020-09-16 08:41:57   timer_03_c02    16.09.2020 22:30:00
   Regex:
     accu:
     cond:
       Frost:
         0:
           &STATE     ^Frost$
         1:
           &STATE     ^Frost$
       Heiss:
         0:
           &STATE     ^Heiss$
       Rollo.OG.Buero:
         1:
           &STATE     ^Rollo.OG.Buero$
       Sonne:
         0:
           &STATE     ^Sonne$
   condition:
     0          (::DOIF_time_once($hash,0,$wday)) and (::InternalDoIf($hash,'Heiss','STATE') ne "on") and (::InternalDoIf($hash,'Sonne','STATE') ne "on") and (::InternalDoIf($hash,'Frost','STATE') ne "on")
     1          (::DOIF_time($hash,1,2,$wday,$hms)) and ::InternalDoIf($hash,'Frost','STATE') eq "on" and (::InternalDoIf($hash,'Rollo.OG.Buero','STATE') ne "off")
   days:
   do:
     0:
       0            set OG.Buero.Rollo_2 on, set OG.Buero.Rollo_3 on
     1:
       0            set Rollo.OG.Buero off
     2:
   helper:
     DEVFILTER  ^global$|^Frost$|^Rollo.OG.Buero$|^Heiss$|^Sonne$
     NOTIFYDEV  global|Frost|Rollo.OG.Buero|Heiss|Sonne
     event      timer_2
     globalinit 1
     last_timer 3
     sleeptimer -1
     triggerDev
     triggerEvents:
       timer_2
     triggerEventsState:
       timer_2
   internals:
     all         Heiss:STATE Sonne:STATE Frost:STATE Rollo.OG.Buero:STATE
   interval:
     1          -1
     2          1
   intervalfunc:
   intervaltimer:
   localtime:
     0          1600320163
     1          1600250400
     2          1600288200
   perlblock:
   realtime:
     0          07:22:43
     1          12:00:00
     2          22:30:00
   time:
     0          {sunrise(2790,"07:14","09:00")}
     1          12:00:00
     2          22:30:00
   timeCond:
     0          0
     1          1
     2          1
   timer:
     0          0
     1          0
     2          0
   timers:
     0           0
     1           1  2
   triggertime:
     1600288200:
       localtime  1600288200
       hash:
     1600320163:
       localtime  1600320163
       hash:
   uiTable:
Attributes:
   devStateIcon cmd_1:EG.Bad.Rollo.Nord.on cmd_2:EG.Bad.Rollo.Nord.off
   do         always
   icon       fts_shutter
   initialize initialized
   room       OG_Buero,z.at
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Mihca

Zitat von: CoolTux am 16 September 2020, 13:00:09
Rude hat die Tage was an dem Modul gemacht. Ich gehe davon aus das es etwas damit zu tun hat.

Hast Du in global Latitude und Longitude gesetzt?

Ja, Latitude und Longitude sind beide gesetzt.
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

yersinia

Sieht so aus, als wäre der fix (rev 22778) schon da (thx @rudi) und steht spätestens morgen früh mit dem regulären Update zur Verfügung.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Damian

Zitat von: Mihca am 16 September 2020, 12:27:34
Seit dem heutigen (16.09.2020) Update kommt bei mir folgende Fehlermeldung bei allenDoIf's, die mit sunrise arbeiten:

Dann benutzt du wohl keinen at-Befehl, denn da müsste es auch Probleme geben ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rudolfkoenig

Sorry, mein Fehler.

Ich habe damals den altit-Patch uebernommen, ohne die "Filosofie" zu verinnerlichen, und deswegen gestern beim Umbau das "optionale" ausser gefecht gesetzt.

Sollte jetzt gefixt sein.

Mihca

Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

d.zoellner

Hallo,
ich habe den Eindruck, dass der Fehler im Sunrise noch nicht 100%ig gelöst wurde.
In meinen DIOFs und WeekdayTimers habe ich seit Jahren diese Anweisung:
{sunrise_abs(+3500,"05:26","08:29")}
Seit den letzten Updates im August/September liefert dieser Befehlt immer nur noch die Zeit des Sonnenaufgangs. Der Offset (hier von +3500) wird nicht mehr berücksichtigt.

Bei der Anweisung {sunset_abs(-2800,"16:00","21:55")} musste ich jetzt (seit Semptemberupdate) "CIVIL" davor schreiben, damit der Offset (hier von -2800) wieder berücksichtigt wird.
So funktioniert der Sunset Befehlt bei mir wieder: {sunset_abs("CIVIL",-2800,"16:00","21:55")} - ich musste halt in allen meinen DOIFs das "CIVIL" davorsetzen.

Kleiner Nachtrag zur initialen Meldung von Mihca: wenn ich den Befehl {sunrise(2790,"07:14","09:00")} ausführe, dann meldet er die Uhrzeit von 31:14:00 (Stand heute 18.9.2020) zurück. Ist das so korrekt?

Könnt ihr (Herr König) hier bitte noch mal nachbessern? oder verwende ich die Befehle falsch?

Vielen Dank und Viele Grüße

Übrigens super Arbeit und großes "Daumen hoch" an das FHEM Team.

Auszug aus meinen WeekdayTimer:
Licht_Wohnzimmer 0123456|{sunset_abs("CIVIL",-2800,"16:00","21:55")}|on 12345|22:20|off 06|22:29|off 12345|05:25|on 12345|{sunrise_abs(+3500,"05:26","08:29")}|off {
  if ( Value("sw_Licht_Wohnzimmer_Automatik") eq "on") {
    if (($EVENT eq "off") and (Value("sw_Fernsehabend") eq "on")) {
      Log(3,"Licht_Wohnzimmer bleibt an, da Fernsehabend aktiv");
    } else {
      fhem("set $NAME $EVENT");
      Log(3,"Licht_Wohnzimmer $EVENT");
    }
  }
}

Mihca

Zitat von: d.zoellner am 18 September 2020, 07:48:58

ich habe den Eindruck, dass der Fehler im Sunrise noch nicht 100%ig gelöst wurde. ....


Ja, da stimmt auch meiner Meinung nach immer noch etwas nicht. Bei mir tritt Ähnliches auf, siehe hier: https://forum.fhem.de/index.php/topic,114306.0.html#new
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

rudolfkoenig


d.zoellner

Hallo Hr. König,
aus meiner Sicht verlief der Test positiv:
{sunrise_abs(+3600,"05:27","08:30")} liefert korrekten Wert
{sunset_abs(-2700,"16:00","21:31")} liefert korrekten Wert

Die Anweisungen {sunset_abs(-2700,"16:00","21:31")} und {sunset(-2700,"16:00","21:31")} liefern beide den gleichen Wert (19:17:24). Was aus meiner Sicht OK  ist.

Vielen Dank für die schnelle Korrektur