[gelöst] Verständisproblem oder Bug

Begonnen von sven.scherf, 25 Februar 2018, 14:06:25

Vorheriges Thema - Nächstes Thema

sven.scherf

Hallo,

ich habe mal eine Verständnisfrage.

Es geht hier um die folgende Zeile die ein Auszug aus einem notify ist.

fhem ("set Schalter_2 on;set Schalter_3 on")

Wenn ich diese Zeile in Fhem direkt so
{ fhem ("set Schalter_2 on;set Schalter_3 on") }
eingebe erhalte ich die Fehlermeldung
Unknown command {, try help.

Wenn ich genau die gleiche Zeile ohne die {} in ein notify eingebe funktioniert es so wie es soll.

Hier frage ich mich warum ?

Die { am Anfang bedeutet doch das ich mich auf die Perl Ebene begebe und der Ausdruck fhem teilt Perl doch mit das es sich hier um ein Fhem Command handelt.

Soweit so gut. Wenn ich nun das Command in Fhem so absetze

{ fhem ("set Schalter_2 on;;set Schalter_3 on") }
bekomme ich keine Fehlermeldung und es funkioniert auf der Fhem command Ebene.

Das verwirrt mich komplett, vielleicht kein jemand mir hier mal ein Licht anmachen :)

Viele Grüße

Sven
Raspi 3 mit CUL Stick 433/868MHZ, Homematic

Otto123

#1
Hi Sven,

in der FHEM Kommanozeile musst Du die ; "schützen" d.h. Du musst zwei ;; schreiben.
auch innerhalb bei einem define ....
Wenn Du in einem notify mit dem DEF Editor arbeitest brauchst Du nur ein ;

;D

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

sven.scherf

Hallo Otto,

obwohl ich mich mit {} auf der Perl Ebene befinde ?


Leicht verwirrend wenn man was austesten will und man dann den Code unterschiedlich schreiben muss.

Naja, wenn man es weis geht es man sollte es dann nur nicht vergessen.

Viele Dank und Grüße

Sven
Raspi 3 mit CUL Stick 433/868MHZ, Homematic

Otto123

#3
Ja weil Du machst es von FHEM aus, die Kommandozeile von FHEM ist ja quasi schon einmal Perl  (jetzt haut mich bestimmt einer). ;)
Du sagst ja mit den {} in der FHEM Kommandozeile FHEM nur das Du jetzt Perl machen willst, der FHEM "Interpreter" gibt es dann weiter als Perl Code.

Es ist so: in der FHEM Kommandozeile musst Du die ;; verdoppeln.
Wenn Du direkt Perl Code im DEF Editor schreibst brauchst Du es nicht.

Hier steht es "offiziell" in der Doku 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

sven.scherf

Hallo Otto,

vielen Dank du hast mir Licht ins Dunkel gebracht.

Viele Grüße

Sven
Raspi 3 mit CUL Stick 433/868MHZ, Homematic

Otto123

Dann schreib in den Betreff des ersten Beitrag bitte noch ein [gelöst] davor :)
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