Hallo,
ich bekomme nach Umzug von Raspi 2 (Wheezy) auf Raspi 3 (Stretch) jede Sekunde diesen Fehler:
2018.01.02 21:53:07.183 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 2952) line 1.
2018.01.02 21:53:07.183 3: eval: di_EG_KU_Jal_Fen: warning in condition c02
Das DOIF ist
([?du_Rollo_Master] ne "aus" and [HauptStr:state] ne "home" and [du_Tageslicht] eq "dunkel" and [?Jal_KU_Fenster_03:level] > 20 and ([16:00-23:00])) (set Jal_KU_Fenster_03 level 20) ##1 Jalousie schliessen wenn Dunkel UND niemand Zuhause UND nicht ganz zu
DOELSEIF ([?du_Rollo_Master] ne "aus" and [HauptStr:state] eq "home" and [du_Tageslicht] eq "dunkel" and ([?Wetter_Pro:fc1tempMax] > 23 or [?Wetter_Pro:fc1weatherDay] eq "sonnig") and [18:00-22:00] and [?Jal_KU_Fenster_03:level] != 100) (set Jal_KU_Fenster_03 level 100) ##2 Öffnen, wenn Dunkel UND jemand nach Hause gekommen ist, aber nicht nach 22:00 Uhr und nicht wenn Wetterbericht für nächsten Tag Sonne oder über 23 Grad vorhergesagt hat
DOELSEIF ([?du_Rollo_Master] ne "aus" and [Jal_KU_Fenster_03:level] == 20) (set Jal_KU_Fenster winkel 50) ##3 Lamellen stellen wenn Beschattung oder Jalousie zu
DOELSEIF ([?du_Rollo_Master] ne "aus" and [du_Beschattung_Haus] eq "ja" and [?Jal_KU_Fenster_03:level] >20 and ([du_Tageslicht] eq "hell" and (([07:03-14:00|1234] and !$we) or [09:03-14:00|57]))) (set Jal_KU_Fenster_03 level 20) ##4 Jalousie auf Beschattungslevel setzen
DOELSEIF ([Ga_UmweltSen:windSpeed] > 35) (set Jal_KU_Fenster_03 level 100) ##5 Öffnen, wenn Windgeschwindigkeit zu hoch
DOELSEIF ([23:59]) ## andere commands wieder freimachen
List des Wetter_Pro ist:
2018-01-02 21:15:05 fc1_temp21 4
2018-01-02 21:15:05 fc1_tempMax 10
2018-01-02 21:15:05 fc1_tempMin 3
2018-01-02 21:15:05 fc1_uv 2
2018-01-02 21:15:05 fc1_weatherDay Regenschauer
2018-01-02 21:15:05 fc1_weatherDayIcon https://www.proplanta.de/wetterdaten/images/symbole/t6.gif
Da der Fehler aus der 2.ten Condition herrührt dachte ich an die Abfrage des Wetter_Pro (Proplanta-Modul). Aber, soweit ich das sehe, ist der Code korrekt. fc1_tempMax ist eine Zahl, fc1_weatherDay ist ein String. So frage ich doch auch ab.
Kann jemand erkennen, wo der Fehler liegt?
Gruß Jürgen
Mach doch mal zur Sicherheit ein list von Jal_KU_Fenster_03
Anbei das list:
Internals:
DEF 00010A77_03
IODev
MODEL HMW_LC_Bl1_DR
NAME Jal_KU_Fenster_03
NR 206
PeerList Jal_KU_Fenster_01 Jal_KU_Fenster_02
STATE 100
TYPE HM485
chanNo 03
device Jal_KU_Fenster_00
READINGS:
2018-01-03 20:20:10 R-change_over_delay 0.50
2018-01-03 20:20:10 R-logging on
2018-01-03 20:20:10 R-reference_run_counter 0
2018-01-03 20:20:10 R-reference_running_time_bottom_top 40.00
2018-01-03 20:20:10 R-reference_running_time_top_bottom 39.00
2018-01-03 20:20:29 direction none
2018-01-03 20:20:29 level 100
2018-01-03 20:20:29 state level_100
2017-12-31 22:49:10 winkel 45
2018-01-03 20:20:29 working off
devHash:
DEF 00010A77
FW_VERSION 3.06
IODev HM485_LAN
MODEL HMW_LC_Bl1_DR
NAME Jal_KU_Fenster_00
NR 204
STATE ACK
TYPE HM485
channel_01 Jal_KU_Fenster_01
channel_02 Jal_KU_Fenster_02
channel_03 Jal_KU_Fenster_03
peer_act_0 channel_01 → Jal_KU_Fenster_03
peer_act_1 channel_02 → Jal_KU_Fenster_03
peer_sen_0 channel_03 ← Jal_KU_Fenster_01
peer_sen_1 channel_03 ← Jal_KU_Fenster_02
READINGS:
2018-01-03 20:20:10 R-central_address 00000001
2018-01-03 20:20:10 R-logging_time 2.00
2018-01-03 20:20:29 configStatus OK
2018-01-03 20:20:29 state ACK
cache:
linkParams:
es kommen noch viele Zeilen im list, aber ich denke die werden nicht benötigt. Wenn doch, reiche ich sie nach.
Auch hier kann ich nicht erkennen, was falsch ist. Ich habe auch noch einige weitere Jalousien, die ich so abfrage und von keiner kommt eine Fehlermeldung.
2018.01.02 21:53:07.183 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 2952) line 1.
2018.01.02 21:53:07.183 3: eval: di_EG_KU_Jal_Fen: warning in condition c02
ist doch ziemlich eindeutig:
[?Wetter_Pro:fc1tempMax] > 23
D.h. in fc1tempMax hast du nicht numerische Werte drin.
Wenn du die Ursache nicht beheben kannst, dann kannst du auch definieren:
[?Wetter_Pro:fc1tempMax:d,0] > 23
Ich glaube beim 10. Lesen habe ich es gesehen:
das reading heisst: fc1_tempMax und im DOIF steht fc1tempMax
Habe durch Versuche herausgefunden (bevor ich Eure posts gelesen hatte), dass wirklich das Wetter_Pro-Modul verantwortlich ist. Dass ein fehlendes "_" die Ursache ist hat habe ich, trotz zig-fachem Lesen und vergleichen, total übersehen.
Danke Euch beiden. Jetzt geht es.
@Damian: Dabei habe ich aber im log (verbose 4) folgende Zeile gefunden, die regelmäßig auftaucht. das DOIF-Modul habe ich heute upgedated:
2018.01.03 20:56:51.562 4: Looking for SVN Id in module 98_DOIF.pm
Ist das ein Fehler in meinem Programm, der diesen Eintrag verursacht oder nur ein Hinweis, der für mich nichts zu bedeuten hat?
Gruß Jürgen
Zitat von: bmwfan am 03 Januar 2018, 21:02:39
Habe durch Versuche herausgefunden (bevor ich Eure posts gelesen hatte), dass wirklich das Wetter_Pro-Modul verantwortlich ist. Dass ein fehlendes "_" die Ursache ist hat habe ich, trotz zig-fachem Lesen und vergleichen, total übersehen.
Danke Euch beiden. Jetzt geht es.
@Damian: Dabei habe ich aber im log (verbose 4) folgende Zeile gefunden, die regelmäßig auftaucht. das DOIF-Modul habe ich heute upgedated:
2018.01.03 20:56:51.562 4: Looking for SVN Id in module 98_DOIF.pm
Ist das ein Fehler in meinem Programm, der diesen Eintrag verursacht oder nur ein Hinweis, der für mich nichts zu bedeuten hat?
Gruß Jürgen
Das Modul hat eine normale SVN-Id. Woher die Meldung kommt, kann ich dir nicht sagen.
Die Meldung kommt vermutlich aus 98_version - ist aber wohl keine Fehlermeldung und bei verbose 4 würde ich auch solche "normalen" Meldungen erwarten