[gelöst] Cast Fehler mit Notify - Wie löse ich das?

Begonnen von pandabear_de, 15 Januar 2017, 21:21:01

Vorheriges Thema - Nächstes Thema

pandabear_de

Hi,
ich habe leider über Google nicht eine Lösung gefunden, die ich umsetzten konnte. Dies liegt aber auch bestimmt, an meiner Unwissenheit. - Bin noch anfänger in Bezug auf Perl Programmierung.

Über ein Wettermodul bekomme ich die Luftfeuchtigkeit und schreibe sie mit einem Notify auf eine KNX Adresse.

Konkret
Ich bekomme den Wert über ein 'JSONREADINGS' Interface zu 'http://api.wunderground.com'
Reading: current_observation_relative_humidity  83%

Über ein Notify übertrage ich den Wert auf eine KNX-Adresse
wu_xxx:current_observation_relative_humidity:.* set KNX_8052 value $EVTPART1

Die KNX Adresse ist wie folgt definiert:
8/0/82:dpt5.001

Die regelmäßige Fehlermeldung/Hinweis aus dem Log ist (natürlich mit sich veränderten Zahlen):
check value: input-value 83% was casted to 83


Danke für Eure Unterstütung

Gruß
Jakob

DeeSPe

#1
Zitat von: pandabear_de am 15 Januar 2017, 21:21:01
Hi,
ich habe leider über Google nicht eine Lösung gefunden, die ich umsetzten konnte. Dies liegt aber auch bestimmt, an meiner Unwissenheit. - Bin noch anfänger in Bezug auf Perl Programmierung.

Über ein Wettermodul bekomme ich die Luftfeuchtigkeit und schreibe sie mit einem Notify auf eine KNX Adresse.

Konkret
Ich bekomme den Wert über ein 'JSONREADINGS' Interface zu 'http://api.wunderground.com'
Reading: current_observation_relative_humidity  83%

Über ein Notify übertrage ich den Wert auf eine KNX-Adresse
wu_xxx:current_observation_relative_humidity:.* set KNX_8052 value $EVTPART1

Die KNX Adresse ist wie folgt definiert:
8/0/82:dpt5.001

Die regelmäßige Fehlermeldung/Hinweis aus dem Log ist (natürlich mit sich veränderten Zahlen):
check value: input-value 83% was casted to 83


Danke für Eure Unterstütung

Gruß
Jakob

Probier mal so:
wu_xxx:current_observation_relative_humidity:.* {fhem "set KNX_8052 value ".ReadingsNum($NAME,"current_observation_relative_humidity",80)}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe


DeeSPe

Klappt das etwa?
Habe gerade gesehen dass ich die schließende geschweifte Klammer unterschlagen hatte.
Hab's noch ergänzt!

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

pandabear_de

Die geschwungene Klammer hatte ich auch entdeckt...

Ja es funktioniert. Die Funktion ist ja perfekt.

Danke

Gruß
Jakob

pandabear_de

Hi
seit dem Update gestern Abend taucht dieses Problem jetzt wieder auf, diesmal aber wg der kalten Witterung

check value: input-value -2.5 was casted to .5

Die Löung vom letzten Mal hilft fier nicht, da ich das "-" benötige.

Danke

Gruß
Jakob

DeeSPe

Das ist merkwürdig, denn ein:
{return ReadingsNum("bz_Sensor1","temperature",10)}
in der Eingabezeile ergibt bei mir gerade "-3.8".

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

pandabear_de

Ich war gerade bereit Fehler 40 zu akzeptieren (40cm vor dem Bildschirm  ;) )

Ich habe eben versucht mein KNX Device mit set zu aktualisieren und habe den Hinweis bekommen, dass -2 ein ungültiger Wert sei.

1/0/1:dpt9.001

Der Wert ist allgemein mit folgender Range definiert
9.001. DPT_Value_Temp.  -273 °C ... 670 760 °C

set knx_0001 value 2.0
Über die set Optionen beim Device eingegeben

Log Eintrag

check value: input-value 2.0 was casted to .0


Problem scheint irgendwie bei der KNX Definition zu liegen und nicht beim Notify


Bis gestern hatten negative Werte funktioniert.



DeeSPe

Zitat von: pandabear_de am 17 Januar 2017, 09:21:16
Ich war gerade bereit Fehler 40 zu akzeptieren (40cm vor dem Bildschirm  ;) )

Ich habe eben versucht mein KNX Device mit set zu aktualisieren und habe den Hinweis bekommen, dass -2 ein ungültiger Wert sei.

1/0/1:dpt9.001

Der Wert ist allgemein mit folgender Range definiert
9.001. DPT_Value_Temp.  -273 °C ... 670 760 °C

set knx_0001 value 2.0
Über die set Optionen beim Device eingegeben

Log Eintrag

check value: input-value 2.0 was casted to .0


Problem scheint irgendwie bei der KNX Definition zu liegen und nicht beim Notify


Bis gestern hatten negative Werte funktioniert.

Was passiert bei ganzen negativen Zahlen?
Wird die akzeptiert?
set knx_0001 value -2

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

pandabear_de

Bei der Ziffer 2 erhalte ich direkt die Antwort ,invalid value: 2,

Bei 2.1 wird auf 0.1 gecastet...

Aufgemerkt: Das war eine 2 ohne "-"

Bei negativen Zahlen habe ich das gleiche verhalten
-2.2 --> 0.2

DeeSPe

Zitat von: pandabear_de am 17 Januar 2017, 11:50:25
Bei der Ziffer 2 erhalte ich direkt die Antwort ,invalid value: 2,

Bei 2.1 wird auf 0.1 gecastet...

Aufgemerkt: Das war eine 2 ohne "-"

Bei negativen Zahlen habe ich das gleiche verhalten
-2.2 --> 0.2

Ist dann aber wirklich kein Problem von notify.
Evtl. solltest Du die Frage dann in einem KNX nahen Thema nochmal stellen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

pandabear_de

Das Problem ist mit einem Update und Restart von heute gelöst.

Weitere Infos hier:
https://forum.fhem.de/index.php/topic,64957.0.html