FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Mitch am 12 Januar 2016, 13:31:12

Titel: Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: Mitch am 12 Januar 2016, 13:31:12
Hallo Zusammen,

ich kämpfe seit Stunden mit einer RegExp und bekomme es nicht hin.

Ich habe ein Device, das bekommt einReading im Format: Druck 2.595;ok
Darstellen im STATE will ich schlußendlich: 2.595 bar - was ich auch ohne Probleme hinbekommen habe

NUR kommt im Log immer der Fehler: PERL WARNING: Argument "2.595 bar" isn't numeric in numeric lt (<) at (eval 621230) line 1.

im Attribut stateFormat habe ich schon alles mögliche ausprobiert und bin jetzt hierbei "stehen geblieben" und mit meinen Ideen/Versuchen am Ende: {no warnings 'numeric';ReadingsNum("Druck","state",0)." bar"}

Vielen Dank für eure Unterstützung!
Titel: Antw:Kämpfe seit Stundnemit einer RegExp- Bitte Hilfe!
Beitrag von: frank am 12 Januar 2016, 13:38:32
die fehlermeldung muss von wo anders herkommen, da auf einen vergleich lower then (lt) hingewiesen wird.
Titel: Antw:Kämpfe seit Stundnemit einer RegExp- Bitte Hilfe!
Beitrag von: Mitch am 12 Januar 2016, 13:49:37
Ah, okay, dann kann es nur an der cfg Datei liegen, wobei ich da auch schon alles (mir bekannte) ausprobiert habe.

Stand aktuell:
# Anlagendruck
get Druck cmd {"r -f Waterpressure\n"}
get Druck expect "\d+\.\d+\;.*\n\n"
get Druck postproc { no warnings 'numeric'; sprintf ( $_ ) }


Der übergebene Wert lautet: 2.595;ok
Titel: Antw:Kämpfe seit Stundnemit einer RegExp- Bitte Hilfe!
Beitrag von: justme1968 am 12 Januar 2016, 13:57:38
stacktrace einschalten und schauen woher die meldung genau kommt.

gruss
  andre
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: Mitch am 12 Januar 2016, 14:19:02
Oh Mann, Danke.

Mit stacktrace habe ich rausgefunden, dass es ein zugehöriger DOIF war  :-[


EDIT: zu früh gefreut:

2016.01.12 14:21:44 3:     main::CallFn                        called by fhem.pl (661)
2016.01.12 14:21:44 3:     main::FW_Read                       called by fhem.pl (3201)
2016.01.12 14:21:44 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (444)
2016.01.12 14:21:44 3:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (890)
2016.01.12 14:21:44 3:     main::FileLog_fhemwebFn             called by ./FHEM/01_FHEMWEB.pm (1177)
2016.01.12 14:21:44 3:     main::__ANON__                      called by ./FHEM/92_FileLog.pm (407)
2016.01.12 14:21:44 3: stacktrace:
2016.01.12 14:21:44 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/92_FileLog.pm line 407.
2016.01.12 14:21:23 3:     main::CallFn                        called by fhem.pl (661)
2016.01.12 14:21:23 3:     main::FW_Read                       called by fhem.pl (3201)
2016.01.12 14:21:23 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (444)
2016.01.12 14:21:23 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (889)
2016.01.12 14:21:23 3:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1531)
2016.01.12 14:21:23 3:     main::FW_dev2image                  called by ./FHEM/01_FHEMWEB.pm (2645)
2016.01.12 14:21:23 3:     main::__ANON__                      called by ./FHEM/01_FHEMWEB.pm (2366)
2016.01.12 14:21:23 3: stacktrace:
2016.01.12 14:21:23 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE $/ at ./FHEM/01_FHEMWEB.pm line 2366.
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: justme1968 am 12 Januar 2016, 15:41:44
das ist aber der stacktrace für eine andere meldung. ganz unten. da fängt irgendeine regex mit einem * an. das ist sinnlos.

vermutlich in einem devStateIcon.

gruss
  andre
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: Puschel74 am 12 Januar 2016, 15:55:38
Seit wann gehören get-Aufrufe in die Konfig  ???
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: betateilchen am 12 Januar 2016, 16:00:49
@Puschel: Die angegebenen Konstrukte kommen normalerweise in ECMD classdef Dateien vor. Vielleicht ist das mit "cfg" gemeint ;)
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: franky08 am 12 Januar 2016, 16:01:05
Das sieht nach Code aus einer ECMD Device classdef aus, nicht nach fhem.cfg  ;)

Und betateilchen war schneller

VG
Frank
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: Puschel74 am 12 Januar 2016, 16:04:14
@betateilchen
Kann sein das das mit "cfg" gemeint ist - dann kann man es aber auch schreiben  8)

@franky08
Sieht mir nicht unbedingt zwingend nach einer classdef aus.
So kann man das auch in die fhem.cfg "prügeln" - wenn man will  ;D

Aber nun BTT - dann kommt der Code eben aus der classdef.
Aber sicher ist sicher daher frag ich lieber mal nach  ;)
Titel: Antw:Kämpfe seit Stunden mit einer RegExp- Bitte Hilfe!
Beitrag von: Mitch am 12 Januar 2016, 16:29:49
@all:  vielen Dank, ja es war wohl ein Tippfehler bei devStateIcon.


Die cfg ist wikrlich eine classdef. Sorry, hätte ich genauer schreiben können  :-[