(Gelöst) In einem AT : Unknown command }, try help.

Begonnen von pnewman, 09 Januar 2023, 13:29:29

Vorheriges Thema - Nächstes Thema

pnewman

Hallo zusammen,

ich wollte folgendes at definieren:

define PCA301_Reset_at at *00:00:01 { sysResetPCA301(); }

Bekomme aber folgenden Fehler:

Missing right curly or square bracket at (eval 4703273) line 1, at end of line
syntax error at (eval 4703273) line 1, at EOF

Unknown command }, try help.


Wo liegt mein Fehler?
Ich sehe da nichts.

Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

Otto123

#1
Hi,

das Semikolon ist an der Stelle unnütz. Ich würde es weglassen.
Wenn Du es wirklich haben willst musst Du zwei daraus machen. So interpretiert der Parser das einzelne Semikolon als Befehlstrenner

Warum das so ist?
ZitatMehrere FHEM-Kommandos hintereinander werden mittels Semikolon (;) getrennt. Weil Semikola auch in perl-Code oder Shell-Programmen benutzt werden, müssen sie mittels doppelten Semikola geschützt werden. Lesen Sie sich bitte die Bemerkungen des notify-Abschnittes zu Kommandoparametern und Regeln durch.
https://fhem.de/commandref_modular_DE.html#perl
https://fhem.de/commandref_DE.html#command

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

pnewman

Hallo Otto,

vielen Dank für deine Antwort!

Mit :define PCA301_Reset_at at *00:00:01 { sysResetPCA301() } hat es geklappt!

Und Danke für die weiteren Informationen.


Gruß
Ralf
Raspberry Pi3B+ / Nano-Cul 868 - MAX!=Heizung, HM-Lan - Rollo+Licht, JeeLink-Clone 868 - LaCrosse, JeeLink-Clone 868 - PCA301, CUL 434 - IT-Steckdosen+Fernbedienung

eckhard scholz

Ich versuchs doch mal hier, trotz das es schon als gelöst markiert ist.

Ich habe das gleiche Problem aber eben mit zwei Semikolon

define Slider_notify notify Slider {\fhem "set an_315 ".ReadingsVal("Slider","state","0");;\}

Die Fehlermeldung dazu
Slider_notify return value: syntax error at (eval 1950) line 1, at EOF

Wo liegt hier der Fehler
Ich habe mich an das Beispiel im Fhem WiKi (https://wiki.fhem.de/wiki/S7) gehalten
Da sieht es auch so aus

define Temperaturkorrektur_315_Knob_notify notify Temperaturkorrektur_315_Knob {\
fhem "set Temperaturkorrektur_315 ".ReadingsVal("Temperaturkorrektur_315_Knob","state","0");;\
}

Gruß
Eckhard

F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

Otto123

Hallo Eckhard,

ich würde es so machen:
define Slider_notify notify Slider {fhem "set an_315 ".ReadingsVal("Slider","state","0")}oder so:
define Slider_notify notify Slider set an_315 [Slider:state]Die Zeichen \ wirken bei Dir wie escape Zeichen, stehen im Original aber anstelle Zeilenfortsetzung in der Config. Die zwei Semikolon am Ende braucht man nur wenn es weiter geht mit Perl Code.

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

Wernieman

Da Du hinter \ kein "Return" hast, lass den mal weg.

Wo trägst DU es eigentlich ein? In der Config direkt oder Editierst Du in FHEM?

Edit:
@Otto war schneller und hat die \ Problematik besser erklärt ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

eckhard scholz

Danke Euch beiden,

ist das den überholt mit den doppelten Semikolons?

Und

Ja ich benutze beides, Otto hat auch schon geraten ich soll es nicht direkt in der fhem.cfg editieren.
Aber erstens habe ich gern Ordnung in der Datei für eine bessere Übersicht und
zweiten geht es manchmal schneller mit kopieren und ändern.

Jedenfalls klappt es so wie Otto es beschrieben hat.

Was mir jetzt noch vor dem Ändern aufgefallen ist zeigen die Codes hier:
So stand es in der Fhem.cfg
define Slider_notify notify Slider {\fhem "set an_315 ".ReadingsVal("Slider","state","0");;\}
und so liest man es in den Internals von dem Notify
DEF Slider {\fhem "set an_315 ".ReadingsVal("Slider","state","0");\}
da fehlt dann ein Semikolon.
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

Otto123

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

MadMax-FHEM

#8
Zitat von: eckhard scholz am 27 August 2023, 22:02:46Aber erstens habe ich gern Ordnung in der Datei für eine bessere Übersicht und
zweiten geht es manchmal schneller mit kopieren und ändern.

Hör besser auf den Rat von Otto und Wernieman und lass das direkte editieren der fhem.cfg!
Und ich schließe mich mal an... 8)

Das mit Ordnung" dachte ich früher auch mal...
...schon lange nicht mehr: wozu?

Und schneller: schau dir mal "RawDef" an...

Ansonsten landest du verm. wieder im Forum, mit "eigentümlichen" Problemen und Hilfe wird schwer (oder verweigert), weil du manuell editierst (und es dauert bis man darauf als Fehlerursache kommt)...

Manche Module haben Probleme mit fhem.cfg Editierern: alexa-fhem, gassistant, ...

Tendenz steigend...

EDIT: eine Suche im Forum müsste dich zu einigen dieser "Problemfälle" führen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

Und gerade die "Maskieren Fälle" werden von FHEM intern super sauber gelöst ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html