Probleme mit at if

Begonnen von cdn, 27 Mai 2017, 11:06:06

Vorheriges Thema - Nächstes Thema

cdn

Hallo zusammen,

wo es jetzt so warm draußen wird habe ich meine Steuerung etwas verferinert. Morgens sollte ein Teil der Rollladen nur hochgehen, wenn es nicht wärmer als 24 Grad ist.

#Rolladen morgens hoch
define Rollladen_Morgens at *{twilight("LichtWetter","sr_civil","07:00","09:00")} set R_Scheibe,R_Tuer on {\
  if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {\
        fhem "set R_Wohnzimmer,R_Kueche on"}}


Nur leider passiert hierbei nichts. Im Log steht: Rollladen_Morgens: on requires no parameters on requires no parameters

Jemand einen Tipp? :-)

Beta-User

Hallo cdn,

da die if-Anweisung Teil der auszuführenden Kommandos sein soll: es dürften ";;" fehlen und die Leerzeichen zu viel sein.

BTW: Das sieht nach einem fhem.cfg-Auszug aus. Dir ist schon klar, das das direkte Editieren der cfg - freundlich gesagt - nicht (mehr) so optimal ist und Du besser ein list oder einen raw-code zeigen solltest?

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cdn

Wo fehlen denn die ;; und sind die Leerzeichen zu viel ? Sorry aber genau deswegen habe ich mich hier gemeldet. Ich sehe dort keinen Fehler.

Nicht mehr? Also als ich mit fhem angefangen hatte, schrieb man noch munter alles per Hand in die fhem.cfg rein. :-)

Beta-User

Zitat von: cdn am 27 Mai 2017, 11:59:45
Also als ich mit fhem angefangen hatte, schrieb man noch munter alles per Hand in die fhem.cfg rein. :-)
Ging mir genauso, steht auch nach wie vor im Einsteiger-pdf; ist aber eben veraltet...

Sorry für die Kurzform, aber ich dachte, "Ausführungsteil" wäre klar ::) . Dort dürfen die Befehle nicht getrennt werden, sonst sieht es für das at nach einem weiteren Parameter aus ;) .

Also m.E. sollte folgender code für die DEF passen (Detailansicht des devices, da kannst Du auch Umbrüche rein machen):

*{twilight("LichtWetter","sr_civil","07:00","09:00")} set R_Scheibe,R_Tuer on;{ if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) { fhem "set R_Wohnzimmer,R_Kueche on"}}

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cdn

Ach perfekt danke. Werde morgen dann ja sehen ob es klappt ;-)

Na mit dem list muss ich mich mal einlesen. Warum das Ganze überhaupt besser ist...

cdn

Aber das scheint es nicht zu sein. Bekomme jetzt noch die Meldung beim Neustart:
configfile: Please define R_Wohnzimmer,R_Kueche first

Beta-User

...wir kommen der Sache näher. Es fehlt wohl noch eine Klammer:
*{twilight("LichtWetter","sr_civil","07:00","09:00")} set R_Scheibe,R_Tuer on;{ if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) { fhem ("set R_Wohnzimmer,R_Kueche on")}}
Zitat von: cdn am 27 Mai 2017, 17:21:17
Na mit dem list muss ich mich mal einlesen. Warum das Ganze überhaupt besser ist...
list ist für die Helfenden besser, weil man mehr Infos direkt mit ablesen kann.

Was die Frage nach dem fhem.cfg-Editieren angeht, brauchst Du nur eine Weile hier im forum mitlesen; viele Anfänger stolpern erfahrungsgemäß darüber, dass sie irgendwas an ihrer cfg "verbessern" wollen, haben aber dann das Ergebnis, dass fhem nicht mehr startet, seltsame Fehlermeldungen auswirft usw., usf...
Hatte selbst früher einige includes, um das übersichtlich zu halten, kann aber mittlerweile klar sagen: das braucht man alles nicht! Lieber eine saubere Raum-Struktur und etwas Übung mit list+FILTER=. Mit configDB geht das editieren eh' nicht mehr, dafür "verliert" man keine Geräte, die gerade nicht verfügbar sind (ist mir hin und wieder mit 1wire-Devices passiert).

Und für das Anlegen/Ändern der Devices ggf. den raw-Import/Export...

Gruß und schönes WE
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cdn

Besten Dank für die Erklärung.
Die Klammer hat leider auch nicht geholfen. Hätte mich auch gewundert, da ich noch andere Anweisungen in dem Format habe die ebenfalls keine Klammer haben.

Beta-User

Zitat von: cdn am 27 Mai 2017, 17:29:32
Aber das scheint es nicht zu sein. Bekomme jetzt noch die Meldung beim Neustart:
configfile: Please define R_Wohnzimmer,R_Kueche first
.... das at steht in der config vor der Definition dieser beiden zu schaltenden Devices, oder?

Das könnte einer der fhem.cfg-Editier-Effekte sein, über die ich vorher geschrieben habe ;) . Sonst ist vermutlich alles ok...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cdn

Ich denke hier musste noch ein ; mehr hin, da das eine ja durchs interpretieren ja verschwindet. Habe es jetzt etwas aners geöst. Hoffe es klappt so:

#Rolladen morgens hoch
define Rollladen_Morgens at *{twilight("LichtWetter","sr_civil","07:00","09:00")} {\
  fhem "set R_Scheibe,R_Tuer on;;"}{\
  if(ReadingsVal('Wetter', 'fc1_high_c', 0) < 24) {\
        fhem ("set R_Wohnzimmer,R_Kueche on")}}

Beta-User

Keine Ahnung, ob die Klammersetzung so paßt wie in der vermeintlichen "Lösung", mir kommt das komisch bzw. unnötig vor und behebt ziemlich sicher nicht das Problem, das dem "please define... first" zugrunde liegt.

Dass in der fhem.cfg im Ergebnis 2 ";" sein sollten ist schon klar, das hatte ich ja bereits im ersten Beitrag geschrieben ;) .

Die Fehlermeldung könnte - außer dem Reihenfolgethema - auch daher kommen, dass Du versuchst, einen Alias zu schalten und nicht das Device direkt. Dafür würde man aber ein "list" der drei Devices brauchen.

Da Du aber weiterhin der Ansicht zu sein scheinst, dass cfg-Editieren und das Posten der Auszüge daraus clever ist, bin ich spätestens beim nächsten Mal raus aus diesem thread :( . In aller Deutlichkeit: Das ist nicht mehr Stand der Technik! Auch andere werden Dir nicht helfen wollen.

Viel Erfolg noch, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cdn

Ja ich muss sagen, habe bis dato noch keinen Nerv gehabt mich damit zu beschäftigen. Werde beim nächsten Post jedoch darauf achten ;-)