at bei zwei eingehaltenen Bedingungen ausführen

Begonnen von Ranseyer, 02 Juni 2018, 13:12:02

Vorheriges Thema - Nächstes Thema

Ranseyer

Hi,

dumme Frage, aber ich komme trotzdem gerade nicht weiter...

Das funktioniert:

Funktion: Wenn Brightness über 100 wird die percentage2 auf 100 gesetzt und somit die Markise ausgefahren.
Internals:
   CFGFN     
   COMMAND    {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100) {fhem("set WG_Steuerung percentage2 100")} }
   DEF        +*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100) {fhem("set WG_Steuerung percentage2 100")} }
   NAME       Markise_runter_bei_Sonne
   NR         691
   NTM        13:27:57
   PERIODIC   yes
   RELATIVE   yes
   REP        -1
   STATE      Next: 13:27:57
   TIMESPEC   00:30:00
   TRIGGERTIME 1527938877.67079
   TRIGGERTIME_FMT 2018-06-02 13:27:57
   TYPE       at
   READINGS:
     2018-06-02 12:57:57   state           Next: 13:27:57
Attributes:
   DbLogExclude .*
   room       0.03_Wintergarten



Nun möchte ich aber dass das percentage2 nur auf 100 gesetzt wird wenn percentage 2 gerade <100 ist.
Das funktioniert nicht (syntax Error):
Zitat+*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100) {{if(ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  fhem("set WG_Steuerung percentage2 100")} } }


Würde mich über einen Tipp dazu freuen.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

CoolTux


{fhem("set WG_Steuerung:FILTER=percentage2<100 percentage2 100")} }
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

Ranseyer

Danke, das funktioniert.

Denke ich werde mir mal doif genauer ansehen ob ich damit auch zyklisch alle 30 Minuten dieses Thema testen kann.
Bei etwas Langeweile würde ich mal vergleichen was besser für mich geeignet ist. Denke das wäre eher mein Niveau...
(und ich könnte leichter weitere Bedingungen hinzufügen wie die Außentemperatur muss größer 20 Grad sein, ...)

Danke dass es schon mal funktioniert!
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Byte09

Zitat von: Ranseyer am 02 Juni 2018, 14:03:41
Danke, das funktioniert.

Denke ich werde mir mal doif genauer ansehen ob ich damit auch zyklisch alle 30 Minuten dieses Thema testen kann.
Bei etwas Langeweile würde ich mal vergleichen was besser für mich geeignet ist. Denke das wäre eher mein Niveau...
(und ich könnte leichter weitere Bedingungen hinzufügen wie die Außentemperatur muss größer 20 Grad sein, ...)

Danke dass es schon mal funktioniert!


hast du dir mal MSwitch angeschaut ?

Zitat(und ich könnte leichter weitere Bedingungen hinzufügen wie die Außentemperatur muss größer 20 Grad sein, ...)

Könnte genau das richtige sein .

gruss Byte09

Ranseyer

Danke MSwitch hab ich mir angeschaut und kann mir vorstellen (es vermutlich für anderes als die Markise) einzusetzen. Ich antworte dazu mal im MSwitch-Thread den ich sicher gleich finde.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Beta-User

Warum nicht über ein simples "and" im "at"?
+*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100 and ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  fhem("set WG_Steuerung percentage2 100")}}Kann man ebenfalls ausweiten. Bei Verwendung eines "or" (was genauso funktioniert) bitte Klammersetzung beachten.

Aber eigentlich sollte es auch so ähnlich gehen, wie du das hattest (für den Fall, dass da oder woanders mal noch ein "else" dazukommen soll):+*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100) {if(ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  fhem("set WG_Steuerung percentage2 100")}}
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

Ranseyer

#6
ZitatWarum nicht über ein simples "and" im "at"?
+*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100 and ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  fhem("set WG_Steuerung percentage2 100")}}
Das gefällt mir bisher am besten (lesbar und einfach)

:+*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100) {if(ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  fhem("set WG_Steuerung percentage2 100")}}
[/quote]
Leider nicht:
Zitatsyntax error at (eval 29211) line 1, near ")  fhem "

Danke!
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Ranseyer

Das ober geht auchg nicht:
Ich hab mal ne Klammer weggelassen und somit nur noch einen statt zwei Fehler:
+*00:30:00 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100 and ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  fhem("set WG_Steuerung percentage2 100")}

Trotzdem noch:
Zitatsyntax error at (eval 29345) line 1, near ")  fhem"
Obwohl für mich die Klammern passen...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Beta-User

Habe eben mal folgendes in meinem FHEM definiert, da hatte wohl noch eine Klammer an der richtigen Stelle gefehlt (zur Umklammerung des auszuführenden Codeblocks nach dem if):
define test at +00:01 {if(ReadingsVal('WG_Steuerung', 'brightness', 0) > 100 and ReadingsVal('WG_Steuerung', 'percentage2', 0) < 100)  {fhem("set WG_Steuerung percentage2 100")}}Kam jedenfalls keine Fehlermeldung, aber ich habe kein passendes WG_Steuerung-Device, um das abschließend testen zu können...
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

Ranseyer

...das ist zwar scheinbar einfach, aber...

Danke.
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!