[gelöst]Problem mit Sprint nach upgrade von 5.7 auf 5.8

Begonnen von Helmi55, 18 Juni 2017, 11:37:04

Vorheriges Thema - Nächstes Thema

Helmi55

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"}
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

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...........
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Helmi55

Servus Otto,
ja das hatte ich auch vermutet - funktioniert leider auch nicht?
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

betateilchen

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)}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

igami

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.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Otto123

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 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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

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)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/