Syntaxerror nach update auf 6.0

Begonnen von Stromschiene, 08 April 2020, 13:57:31

Vorheriges Thema - Nächstes Thema

Stromschiene

Hallo lb. Gemeinde:

Nach dem Übersiedeln der alten 5.8 *.cfg und anderen Files auf einen Raspi mit FHEM 6.0 erhalte ich den immer gleichen Syntaxerror.
    syntax error at (eval 80970) line 1, near "30.625)"
Wobei sich die Zeilennummer und der Wert immer ändert.

Die genaue Anweisung lautet:

define T_diff DOIF
attr T_diff group R_Bedienung,temp
attr T_diff sortby 3
attr T_diff state {([T_Sonne:temperature:d])-([T_Schatten:temperature:d])}

Die 1Wire Temperaturwerte werden fehlerlos vom Raspi geliefert.
Ist da wirklich plötzlich ein Syntaxerror oder liegt der Hund woanders begraben?

mfg.
Stefan

CoolTux

Zitat von: Stromschiene am 08 April 2020, 13:57:31
Hallo lb. Gemeinde:

Nach dem Übersiedeln der alten 5.8 *.cfg und anderen Files auf einen Raspi mit FHEM 6.0 erhalte ich den immer gleichen Syntaxerror.
    syntax error at (eval 80970) line 1, near "30.625)"
Wobei sich die Zeilennummer und der Wert immer ändert.

Die genaue Anweisung lautet:

define T_diff DOIF
attr T_diff group R_Bedienung,temp
attr T_diff sortby 3
attr T_diff state {([T_Sonne:temperature:d])-([T_Schatten:temperature:d])}

Die 1Wire Temperaturwerte werden fehlerlos vom Raspi geliefert.
Ist da wirklich plötzlich ein Syntaxerror oder liegt der Hund woanders begraben?

mfg.
Stefan

Das ist ein absolutes Syntaxerror. Da passt ja gar nichts. Schau mal wie so ein DOIF aifgebaut sein muss.
define <name> DOIF (<Bedingung>) (<Befehle>) DOELSEIF (<Bedingung>) (<Befehle>) DOELSEIF ... DOELSE (<Befehle>)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Stromschiene

Danke!

Habe ich irgendwo abgeschrieben und hat auch so funktioniert.

Aber wie gehörts richtig?

mfg.
Stefan

CoolTux

Zitat von: Stromschiene am 08 April 2020, 15:09:15
Danke!

Habe ich irgendwo abgeschrieben und hat auch so funktioniert.

Aber wie gehörts richtig?

mfg.
Stefan

Hallo Stefan,

Die Syntax habe ich Dir doch gezeigt. Nun musste das ganze noch entsprechend Deinem Wunsch anpassen. Bei Dir in der DEF fehlt einfach alles.
Bitte schaue Dir die Commandref zu DOIF an, da wird alles super erklärt. Sehr sehr ausführlich.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Hallo Marko,

bei DOIF ist alles möglich.
https://forum.fhem.de/index.php?topic=71072.0

Scheinbar kann man das so machen... leeres DOELSE oder gleich leere DEF  :o :o :o nichts ist unmöööglich.

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

CoolTux

Zitat von: Otto123 am 08 April 2020, 15:40:29
Hallo Marko,

bei DOIF ist alles möglich.
https://forum.fhem.de/index.php?topic=71072.0

Scheinbar kann man das so machen... leeres DOELSE oder gleich leere DEF  :o :o :o nichts ist unmöööglich.

Gruß Otto

Hallo Otto,

Vielen Dank für den Hinweis. Ich finde das persönlich dennoch höchst un-erstrebenswert (was für ein Wort).


Aber anscheinend geht es ja nun doch nicht mehr wenn jetzt solche Meldungen kommen. Oder es ist was anderes.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Damian

attr T_diff state {([T_Sonne:temperature:d]-[T_Schatten:temperature:d])}


sollte funktionieren
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Prof. Dr. Peter Henning

Können wir in das DOIF-Modul irgendwie einbauen, dass es nur von Leuten verwendet werden darf, die mindestens 100 eigene Posts hier im Forum haben?

Das ist doch verderblich für die Jugend, wenn man so etwas irgendwo abschreibt, es nicht der Syntax enspricht und trotzdem läuft...

LG

pah

Frank_Huber

Zitat von: Prof. Dr. Peter Henning am 08 April 2020, 16:48:09
Können wir in das DOIF-Modul irgendwie einbauen, dass es nur von Leuten verwendet werden darf, die mindestens 100 eigene Posts hier im Forum haben?

Das ist doch verderblich für die Jugend, wenn man so etwas irgendwo abschreibt, es nicht der Syntax enspricht und trotzdem läuft...

LG

pah
Ein DOIF Führerschein.
[emoji1787][emoji23]

Nach 3 Jahren darf man dann mit DOIF Perl beginnen...

Gesendet von meinem S68Pro mit Tapatalk


Damian

Zitat von: Frank_Huber am 08 April 2020, 18:44:06
Ein DOIF Führerschein.
[emoji1787][emoji23]

Nach 3 Jahren darf man dann mit DOIF Perl beginnen...

Gesendet von meinem S68Pro mit Tapatalk

Und nach weiteren drei Jahren kannst du dann mit DOIF-Web anfangen :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Prof. Dr. Peter Henning

Kann ich kontern. Wollen wir mal wetten, aus welcher Darstellung (vom Plot abgesehen) man mehr lernen kann?

LG




Stromschiene

Danke, an alle!!  Funktioniert wieder!
Ob das nun "elegant" gelöst ist, ist eine andere Diskussion und für mich zweitrangig.
THX!

mfg.
Stefan

Frank_Huber



Zitat von: Damian am 08 April 2020, 19:32:26
Und nach weiteren drei Jahren kannst du dann mit DOIF-Web anfangen :)

Das sind diese UI Tabels oder?

Gesendet von meinem S68Pro mit Tapatalk


Damian

ja, es wird einige neue uiTable-Funktionen geben, die auf skalierbaren SVG basieren.

Die nächste Funktion entsteht schon.






Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Frank_Huber

Zitat von: Damian am 08 April 2020, 20:32:46
ja, es wird einige neue uiTable-Funktionen geben, die auf skalierbaren SVG basieren.

Die nächste Funktion entsteht schon.
Daher letztens die fhemweb svg Verwechslung. [emoji56][emoji850]

Mit den UI Tables muss ich mich auch mal auseinander setzen. [emoji6]

Gesendet von meinem S68Pro mit Tapatalk

Otto123

Anstatt sich mit Grafiken zu beweihräuchern hätte man dem armen Fragesteller noch in einem Satz erklären können

was der Fehler war?

Und vielleicht mal ne Mutmaßung warum es früher ging und jetzt nicht mehr. Ich vermute wie so oft: Es besteht kein Anspruch auf die Beibehaltung von Fehlern.

Die doppelten Klammern um die Readings [] war für mich irgendwie witzlos, die runde Klammer um den Ausdruck kenne ich aus set magic.
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

Damian

Zitat von: Otto123 am 08 April 2020, 20:50:18
Anstatt sich mit Grafiken zu beweihräuchern hätte man dem armen Fragesteller noch in einem Satz erklären können

was der Fehler war?

Und vielleicht mal ne Mutmaßung warum es früher ging und jetzt nicht mehr. Ich vermute wie so oft: Es besteht kein Anspruch auf die Beibehaltung von Fehlern.

Die doppelten Klammern um die Readings [] war für mich irgendwie witzlos, die runde Klammer um den Ausdruck kenne ich aus set magic.

Um es zum Abschluss zu bringen, es kann sein, dass es im DOIF früher mal ging. Set magic kann es wohl nicht und DOIF in der aktuellen Version offenbar auch nicht. Besonders sinnvoll war die ursprüngliche Definition allerdings nicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Prof. Dr. Peter Henning

@Damian: Und wie weicht das z.B. von dem hier publizierten Code ab?
Siehe Anhang.

LG

pah

Otto123

Sag ich doch:
Es besteht kein Anspruch auf die Beibehaltung von Fehlern. :o
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

Damian

#19
Nachdem wir das Problem hier gelöst haben, können wir ruhig OT werden - das wird uns Stromschiene sicherlich verzeihen.

Die Inspiration kam tatsächlich von diesem Post https://forum.fhem.de/index.php/topic,109553.msg1035520.html#msg1035520.

Was mir nicht gefallen hat, war, dass eine Aktualisierung des SVG-Plots  zum Neuaufbau der Grafik führt mit einem Flimmer-Effekt.

DOIF-uiTable-Funktionen sind im DOIF-Modul programmierte Perlfunktionen, die eine eigene Schnittstelle zum FHEM-WEB nutzen.

Die Anwendung besteht im wesentlichen aus dem Aufruf einer Perlfunktion mit einem Trigger in gewohnter DOIF-Syntax. Der Anwender braucht also keinen Code irgendwo hinzufügen oder anpassen und auch keine besonderen HTML-Kenntnisse haben.

z. B.

temp_bar([vaillant:Aussentemp],-15,40)

stellt die Aussentemperatur in meiner ersten Abbildung dar.

Zu der bisherigen uiTable-Funktionalität habe ich eine umfangreiche Wiki-Seite erstellt:  https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg

Die neuen SVG-Funktionen sind aber noch nicht veröffentlicht, da sie noch in der Entstehung sind.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF