[gelöst] Homematic Rolläden (HM-LC-Bl1PBU-FM) pct 0 Fehler: "Level not given"

Begonnen von jannes, 12 Dezember 2017, 10:31:29

Vorheriges Thema - Nächstes Thema

jannes

Hi Zusammen,

mit dem aktuellsten Update kann ich meine Homematic Rolläden (HM-LC-Bl1PBU-FM) nicht mehr schließen.

ein set *device* pct 0

bringt die Fehlermeldung "Level not given" und im Log ein:

PERL WARNING: Argument "" isn't numeric in numeric eq (==                                               ) at ./FHEM/10_CUL_HM.pm line 4676.


Alle anderen pct Werte (z.b. 1) funtkionieren.

Danke und Grüße

jannes

oelidoc

Ja genau,
und ein "Alexa setze Rolladen XY auf null Prozent" wird zwar mit einem "Okay" quittiert, der Rolladen fährt jedoch nicht. Das hatte früher problemlos funktioniert...

Gruß
oelidoc

oti

Hallo,

kann ich bestätigen, ist bei mir genauso, "level not given" kommt beim Rolladenslider auf 0, auf 1 geht.

Gruß
Olaf

Pfriemler

Neue Zeile 4676 in 10_CUL_HM.pm.
return "level not given" if($lvl == "");
Geht auf die Vorversion zurück oder kommentiert die Zeile aus.
Habe Martin gerade angeschrieben. Bin leider im Regex völlig unterbelichtet um zu verstehen, was die Zeile darüber bei "pct 0" liefert.

edit: Das Problem betrifft alle Homematic-Aktoren, die mit pct gesetzt werden (auch meine Dimmer mit Slidern).

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Pfriemler

Zitat von: Pfriemler am 12 Dezember 2017, 23:17:21
Neue Zeile 4676 in 10_CUL_HM.pm.
return "level not given" if($lvl == "");
Geht auf die Vorversion zurück oder kommentiert die Zeile aus.
Habe Martin gerade angeschrieben. Bin leider im Regex völlig unterbelichtet um zu verstehen, was die Zeile darüber bei "pct 0" liefert.

edit: Das Problem betrifft alle Homematic-Aktoren, die mit pct gesetzt werden (auch meine Dimmer mit Slidern).

edit 2: Logge ich $lvl kurz vor der Abfrage, so erhalte ich sowohl mit "set dimmer pct 0" als auch mit "set dimmer pct" beide Male eine numerische Null.
Mit einem Vergleich wie if($lvl eq "") ist der Fehler natürlich weg und es funktioniert, aber warum in diesem Fall die Abfrage erfolgt, weiß nur Martin.

habe meine Version mal angehängt (eq statt ==, sonst identisch)
in ...fhem/FHEM drüberkopieren (also da wo die .pm alle sind) und "reload 10_CUL_HM.pm" in der Kommandozeile abschicken, kein Neustart nötig.
Gehts dann wieder bei Euch?

"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Bastel-Frank


kaizo

Mit eq anstelle == geht es bei mir wieder. Rollo fährt wieder runter.

Danke für den Workaround

Gruß
Kai
FHEM 6.x  auf i3
1x Maplecun FS20, HM, 1x CUL f. WMbus
1x Arduino Nano für Lacrosse, 1x für Empfang WH1080,
1x Arduino Uno+Ethernet-Shield & Firmata für 1Wire
1x Raspberry Pi für Einbindung Junkers-Heizgerät mit HT3-Schnittstelle, div. Sonoff+EspEasy+Tasmota über MQTT

Masterfunk

Gleicher Fehler hier.
Hab die alte Version erst mal wieder genommen.

jannes


Thoffi1978

Bei mir fahren die Jalousien nur nach einem Restart von fhem nicht hoch oder runter.
SchlafZi_hinten: set Jalo_SchlafZi_hinten:FILTER=pct=100 pct 0: level not given

Ein Tag später/nach einmal hoch_runter funktioniert dann alles.

Hoffi

Pfriemler

Martin hat die 10_CUL_HM gefixt:
return "level not given" if(!defined $lvl);
Das macht Sinn!

Also ein reguläres Update und fertig.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."