Habe den Code im Fhem
define Temperatur readingsGroup .*:temperature
attr Temperatur group FBDECT
attr Temperatur notime 1
attr Temperatur room HWR
attr Temperatur style style=font-size:28px;;;;color:RoyalBlue
attr Temperatur valueFormat %.1f°;C
es funktioniert sehr gut.
Wenn da nicht die vielen Fehlermeldungen währen die die Log zumüllen.
Hab schon überall gelesen und probiert, finde keine Lösung
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171013) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171014) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171016) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171017) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171019) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171020) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171022) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171023) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171025) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171026) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171028) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171029) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171031) line 1.
2016.08.01 00:00:03 1: PERL WARNING: Argument "26.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171032) line 1.
2016.08.01 00:01:39 1: PERL WARNING: Argument "18.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171134) line 1.
2016.08.01 00:01:39 1: PERL WARNING: Argument "18.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171135) line 1.
2016.08.01 00:01:39 1: PERL WARNING: Argument "18.5 C (measured)" isn't numeric in numeric gt (>) at (eval 171137) line 1.
2016.08.01 00:01:39 1: PERL WARNING: Argument "18.5 C (measured)" isn't numeric in numeric lt (<) at (eval 171138) line 1.
Hi Jonny1957!
Der Fehler wird dir doch im Logfile angegeben! Das Original-Reading temperature wird als '22.5 C (measured)' ausgegeben und das ist ein String und nicht numerisch. Ich habe bei mir unter attr stateFormat angegenen und bekomme keine Fehlermeldungen.
ein attr stateFormat krieg ich in die readingsGroup nicht rein.
Kannst du mir mal dein Beispiel posten.
Hi Jonny1957!
Das Attribut stateFormat habe ich bei der DECT eingetragen siehe 1. Bild! das 2. Bild zeigt dein Beispiel in meiner fhem.cfg.
ich hab das mal so eingetragen, aber die Meldungen kommen immernoch08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39475) line 1.
2016.08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39477) line 1.
2016.08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39478) line 1.
2016.08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39480) line 1.
2016.08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39481) line 1.
2016.08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39483) line 1.
2016.08.02 20:41:40 1: PERL WARNING: Argument "12.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39484) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39486) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39487) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39489) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39490) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39492) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39493) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39495) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39496) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39498) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39499) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric gt (>) at (eval 39501) line 1.
2016.08.02 20:42:31 1: PERL WARNING: Argument "24.5 C (measured)" isn't numeric in numeric lt (<) at (eval 39502) line 1.
jump to the top
z.b. für valueFormat etwas in der art: {temperature => '$NUM'} und für valueSuffix: {temperature => '°C' }
gruss
andre
Danke erstmal,
ich hab das versucht :-\
Kein Erfolg.
Ich habe jetzt die readingsGroup deaktiviert und die Fehler kommen immer noch.
Jetzt verstehe Garnichts mehr. :(
stacktrace einschalten und schauen wo die meldung genau her kommt.
hab ich gemacht :-\
sagt mir nichts.
2016.08.04 12:43:48 1: PERL WARNING: Argument "22.0 C (measured)" isn't numeric in numeric lt (<) at (eval 20808) line 1.
2016.08.04 12:43:48 3: stacktrace:
2016.08.04 12:43:48 3: main::__ANON__ called by (eval 20808) (1)
2016.08.04 12:43:48 3: (eval) called by ./FHEM/98_DOIF.pm (928)
2016.08.04 12:43:48 3: main::DOIF_CheckCond called by ./FHEM/98_DOIF.pm (1176)
2016.08.04 12:43:48 3: main::DOIF_Trigger called by ./FHEM/98_DOIF.pm (1284)
2016.08.04 12:43:48 3: main::DOIF_Notify called by fhem.pl (3199)
2016.08.04 12:43:48 3: main::CallFn called by fhem.pl (3121)
2016.08.04 12:43:48 3: main::DoTrigger called by fhem.pl (3441)
2016.08.04 12:43:48 3: main::Dispatch called by ./FHEM/00_FBAHA.pm (344)
2016.08.04 12:43:48 3: main::FBAHA_Read called by fhem.pl (3199)
2016.08.04 12:43:48 3: main::CallFn called by fhem.pl (667)
ich hab jetzt rausgefunden, das es auch mit dieser Steuerung zusammen hängt:
define Funk_Steckdose_EINschalten DOIF ([FBDECT_Fritzbox_16:temperature] < 15.0) (set SteckdoseTruhe on)
define Funk_Steckdose_AUSschalten DOIF ([FBDECT_Fritzbox_16:temperature] > 20.0) (set SteckdoseTruhe off)
vielleicht seht ihr da ein Fehler!
Hi Jonny1957!
Es geht immernoch um den gleichen Sachverhalt wie von mir bereits in #1 beschrieben!
Ja, es geht immer noch um den gleichen Fehler und die Fehlermeldung bleiben :-\
Wenn ich die DOIF-commandref (http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen) richtig verstehe, dann bitte zum Auslesen des im Reading enthaltenen Zahlenwertes :d anhängen.
Also mal so etwas probieren (ungetestet), damit die Warnung verschwindet:
define Funk_Steckdose_EINschalten DOIF ([FBDECT_Fritzbox_16:temperature:d] < 15.0) (set SteckdoseTruhe on)
define Funk_Steckdose_AUSschalten DOIF ([FBDECT_Fritzbox_16:temperature:d] > 20.0) (set SteckdoseTruhe off)
Gruß, Christian
Vielen, vielen Dank.
Die Flut an Meldung ist weg ;D
2016.08.05 12:03:02 1: PERL WARNING: Argument "24.0 C (measured)" isn't numeric in numeric lt (<) at (eval 15536) line 1.
2016.08.05 12:03:02 1: PERL WARNING: Argument "24.0 C (measured)" isn't numeric in numeric gt (>) at (eval 15538) line 1.
2016.08.05 12:03:02 1: PERL WARNING: Argument "24.0 C (measured)" isn't numeric in numeric lt (<) at (eval 15539) line 1.
2016.08.05 12:03:02 1: PERL WARNING: Argument "24.0 C (measured)" isn't numeric in numeric gt (>) at (eval 15541) line 1.
2016.08.05 12:03:02 1: PERL WARNING: Argument "24.0 C (measured)" isn't numeric in numeric lt (<) at (eval 15542) line 1.
jetzt kommen nur wenige Meldungen, mit den kann ich leben ::)
2016.08.05 12:05:48 1: PERL WARNING: Argument "13.5 C (measured)" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 525.
2016.08.05 12:07:02 1: PERL WARNING: Argument "24.0 C (measured)" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1255.
2016.08.05 12:13:40 1: PERL WARNING: Argument "13.5 C (measured)" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 1255.
Zitat von: Jonny1957 am 05 August 2016, 12:23:49
jetzt kommen nur wenige Meldungen, mit den kann ich leben ::)
Na ja ;)
Hilft dagegen nicht der Vorschlag von Andre aus Antwort #5 (die genannten Attribute in der readingsGroup setzen)?
Hast Du das noch einmal probiert?
In der readingsGroup die Attribute bitte so setzen, damit die Warnungen verschwinden (bei valueFormat um $NUM einfache Anführungszeichen weglassen):
attr Temperatur valueFormat {temperature=>$NUM}
attr Temperatur valueSuffix {temperature=>'°C'}
Ich hab was probiert, muss aber gestehen bin absoluter Frischling was Fhem oder Perl angeht.
Vielen Dank nochmal.
die einfachen ' müssen in diesem fall da hin. die variable soll nicht ersetz werden wenn das attribut geparsed wird sondern später zur laufzeit für jedes device.
warum nimmst du es nicht 1:1 und postest was passiert?
@Andre:
Verstehe ich nicht, hatte Deine Variante mit ' getestet und Ergebnis war die Ausgabe von $NUM in der readingsGroup. Nur ohne ' kamen tatsaechlich Werte in der readingGroup zur Anzeige.. ???
edit: Noch mal getest und es funktioniert bei mir nur die Variante ohne ' um $NUM. Keine Ahnung, was ich anders mache.. Aber ich hatte oben einen Fehler im valueSuffix, den ich jetzt hoffentlich korrekt korrigert habe.
Habe gestern abend die readingsGroup des TE einmal mit ' und einmal ohne ' in Attribut valueFormat angelegt, da mir das keine Ruhe lies :) :
Mit ' wird in der readingsGroup nur der Text $NUM angezeigt. Es aendert sich daran nichts, wenn die Temperaturen sich veraendern. Es bleibt konstant $NUM.
Ohne ' wird bei Anlage des Attributs die aktuelle Temperatur angezeigt und bei jeder Veraenderung in der readingsGroup über longpoll aktualisiert.
Getestet habe ich mit einem aktuellen FHEM, bei dem readingsGroup die Version hat:
33_readingsGroup.pm 11573 2016-05-31 06:54:52Z justme1968
Also ist in meinem System die Variante ohne ' um $NUM für das gezeigte readingsGroup die funktionierende Variante und mit ' eben nicht. Sorry, ich habe keine Ahnung, was ich falsch/anders mache bzw. am Problem nicht verstehe. Es würde mich aber interessieren :)
Gruß, Christian
ich schau es mir an.
gruss
andre