FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Helmi55 am 18 Juni 2017, 11:37:04

Titel: [gelöst]Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 18 Juni 2017, 11:37:04
Hallo
habe meine Poolsteuerung nun von 5.7 auf 5.8 gehoben. (Image mit wheezy und 5.7 gezogen auf neue Karte und RPi3 gespielt und auf 5.8 upgedated
Wheezy ist nach wie vor das OS - )
Nun bekomme ich bei der SolarDiff bei state folgende FehlerMeldung
syntax error at (eval 987) line 1, near "29.3125)"
Das stateFormat lautet: {sprintf("%.1f",ReadingsVal("SolarDiff","state",0))}
State = {([SolarSensor:state:d])-([PoolSensor:state:d])}

hat in der alten Version tadellos funktioniert
Wer kann mir da bitte weiterhelfen - Danke
Helmut

PS
das ist das DOIF
## Pumpensteuerung ##
define SolarDiff DOIF
attr SolarDiff room Poolsteuerung
attr SolarDiff state {([SolarSensor:state:d])-([PoolSensor:state:d])}
attr SolarDiff stateFormat {sprintf("%.1f",ReadingsVal("SolarDiff","state",0))}


und hier ein List vom PoolSensor
Internals:
   DEF        28.FF3B80711404 60
   IODev      myOWServer
   LAST_READ_FAILED 0
   NAME       PoolSensor
   NOTIFYDEV  global
   NR         98
   NTFY_ORDER 50b-PoolSensor
   STATE      27.1 °C
   TYPE       OWDevice
   Readings:
     2017-06-18 12:00:25   alarm           0
     2016-10-03 17:35:32   humidity        0
     2017-06-18 12:00:25   state           temperature: 27.0625  alarm: 0
     2017-06-18 12:00:25   temperature     27.0625
   Fhem:
     address    28.FF3B80711404
     alerting   1
     bus        bus.0
     interfaces temperature
     interval   60
     getters:
       address
       crc8
       family
       fasttemp
       id
       locator
       r_address
       r_id
       r_locator
       temperature
       temperature10
       temperature11
       temperature12
       temperature9
       temphigh
       templow
       type
     polls:
       temperature
     setters:
       temphigh
       templow
     state:
       temperature
Attributes:
   IODev      myOWServer
   event-min-interval temperature:60
   group      Temperatur
   model      DS18B20
   room       Poolsteuerung,Favourites
   stateFormat {sprintf("%.1f",ReadingsVal("PoolSensor","temperature",0))." °C"}
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 18 Juni 2017, 12:28:52
So, da jetzt die Sonne rauskommt, bin ich wieder auf die alte Version zurück
Hier funktioniert es ohne Probleme - ich kenn mich nicht aus

Gruß
Helmut
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 18 Juni 2017, 15:40:19
Kann es sein dass das mit der Umstellung von RPi2 auf 3 zu tun hat?
Habe nun nur das Image auf eine andere Karte geschrieben, das OS unverändert gelassen und nur FHEM upgedated.
Selber Fehler - alte Karte rein wieder gut-
So komm ich nie auf 5.8 - ok never change a running system - aber es sollte doch aktuell sein...........
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Otto123 am 18 Juni 2017, 16:02:55
Hi,

ich würde vermuten, dass liegt an der Syntaxprüfung von 5.8

Muss das nicht so heißen? -> {([SolarSensor:temperature]-[PoolSensor:temperature])}

Gruß Otto
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 18 Juni 2017, 16:33:32
Servus Otto,
ja das hatte ich auch vermutet - funktioniert leider auch nicht?
Gruß
Helmut
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: betateilchen am 18 Juni 2017, 16:40:36
ich würde einfach die beiden Werte numerisch so subtrahieren, wie es ein normal denkender (und programmierender) Mensch tun würde.


{ReadingsNum('SolarSensor','temperature',0)-ReadingsNum('PoolSensor'.'temperature',0)}
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: igami am 18 Juni 2017, 16:44:54
im state von deinem PoolSensor steht "temperature: 27.0625  alarm: 0"
betateilchen hat das schon auf das richtige Reading (temperature) geändert.
Die DOIF version mit [device:reading:d] sollte aber auch funktionieren.
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Otto123 am 18 Juni 2017, 17:42:12
normal oder nicht, es steht immerhin so in der Doku vom DOIF. Und attr state verstehe ich doch als eine "Sonderlocke" vom DOIF - oder?
Und die set magic Ersetzung  (https://fhem.de/commandref_DE.html#readingFnAttributes)ist ja nicht mehr alleiniges Feature vom DOIF.

Was ich überhaupt nicht an der Aussage verstehe: Kommt der Fehler jetzt bei dem state oder stateFormat Konstrukt? Ich habe das Gefühl der Titel der Frage sagt etwas anderes als der Inhalt.

Vielleicht ist ja auch nur die Syntaxprüfung von 5.8 unvollkommen?

Ich hoffe, ich bin jetzt nicht in zu viele Fettnäpfchen getreten. ;)

Gruß Otto
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: betateilchen am 18 Juni 2017, 18:23:15
Zitat von: Otto123 am 18 Juni 2017, 17:42:12
normal oder nicht, es steht immerhin so in der Doku vom DOIF.

na und... in der BILD steht auch viel (Fußball, Titten, Wetterbericht)
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 18 Juni 2017, 18:28:26
Hallo Otto du gehörst ja schon zu meinen treuesten Rettern  :) :) :)
Ja vielleicht habe ich die falsche Überschrift gewählt und auch den Fehler falsch eingegrenzt.
Der syntax error dürfte vom state des Sensors (1wire 18B20) kommen - near Temperatur. Denn da dahinter steht
ja noch alarm:0. !!??

Und ja vielleicht zum Glück habe ich keine BILD
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 18 Juni 2017, 18:40:50
Ich habe jetzt nochmals, so wie von Otto beschrieben, in die alte 5.7 eingebaut und hier funktioniert es
Mal sehen wenn ich es morgen auf die 5.8 kopiere
Nice eve
Helmut
Titel: Antw:Problem mit Sprint nach upgrade von 5.7 auf 5.8
Beitrag von: Helmi55 am 19 Juni 2017, 15:54:10
Hallo und Danke an die Helfer
so funktioniert es auch auf der 5.8. Als OS dient nach wie vor Wheezy.
{([SolarSensor:temperature]-[PoolSensor:temperature])}
Gruß Helmut