Weekdaytimer - Perl Condition Value verknüpfen

Begonnen von Andre0909, 15 Januar 2018, 20:55:06

Vorheriges Thema - Nächstes Thema

Andre0909

hallo zusammen,

irgendwie raffe ich die Syntax nicht. Ich habe folgendes:

define Radio_An_MOFR WeekdayTimer BJobenSteuerung WeekdayTimer 8|06:35|1 {fhem("set BJobenSteuerung 1Livediggi $EVENT")} (Value("Automatikmodus") eq "Standard")

Was möchte ich? das entsprechend dem gestellten Weekdaytimer um 6:35 Uhr der Befehl "set BJobenSteuerung 1Livediggi 1" ausgefüht wird. wenn der Automatikmodus = Standard ist. Damit geht das Busch Jäger -Radio an. Das tuts aber nicht, was mache ich falsch? Irgendwas im Bereich der geschweiften Klammer ist wohl falsch bei mir

betateilchen

zum Einen würde ich sagen, die geschweiften Klammern sind falsch gesetzt und zum Zweiten würde ich sagen, da fehlt irgendwo ein if um die gewünschte Bedingung abzufragen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

amenomade

Zitat von: CommandRefdefine <name> WeekdayTimer <device> [<language>] [weekdays] <profile> <command>|<condition>

Bei Weekdaytimer, ist es ENTWEDER {command} ODER (condition). Wenn Du beides brauchst, musst Du die condition in dem Perlcode von command einbauen
{ command if (condition) }
oder
{ if (condition) {command}}
Deswegen die Antwort von betateilchen.


{fhem("set BJobenSteuerung 1Livediggi $EVENT") if (Value("Automatikmodus") eq "Standard") } solte gehen
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andre0909

Zitat von: amenomade am 16 Januar 2018, 12:42:09
Bei Weekdaytimer, ist es ENTWEDER {command} ODER (condition). Wenn Du beides brauchst, musst Du die condition in dem Perlcode von command einbauen
{ command if (condition) }
oder
{ if (condition) {command}}
Deswegen die Antwort von betateilchen.


{fhem("set BJobenSteuerung 1Livediggi $EVENT") if (Value("Automatikmodus") eq "Standard") } solte gehen
Ok probiere ich mal aus. Bei meinen anderen weekdaytimern geht die Bedingung einfach mit Klammer dahinter seit 1 Jahr problemlos ohne IF


Gesendet von iPhone mit Tapatalk

Andre0909

Zitat von: Andre0909 am 16 Januar 2018, 13:36:48
Ok probiere ich mal aus. Bei meinen anderen weekdaytimern geht die Bedingung einfach mit Klammer dahinter seit 1 Jahr problemlos ohne IF


Gesendet von iPhone mit Tapatalk
Ah entweder / oder alles klar


Gesendet von iPhone mit Tapatalk

amenomade

Zitat von: Andre0909 am 16 Januar 2018, 13:36:48
Ok probiere ich mal aus. Bei meinen anderen weekdaytimern geht die Bedingung einfach mit Klammer dahinter seit 1 Jahr problemlos ohne IF

Die Bedingung geht einfach mit Klammer ohne if solange Du kein spezielles Kommando in der DEF auch dazu nutzt.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andre0909

Zitat von: amenomade am 16 Januar 2018, 16:57:12
Die Bedingung geht einfach mit Klammer ohne if solange Du kein spezielles Kommando in der DEF auch dazu nutzt.
Danke für deine und eure Hilfe. Mal schauen ob ich morgen früh von Musik im Bad entfangen werde :)


Gesendet von iPhone mit Tapatalk

KernSani

Wenn's funktioniert bitte das Subject des ersten Posts bearbeiten und [Gelöst] davor schreiben (und bei der Gelegenheit vielleicht ein etwas aussagekräftigeres Subject wählen, Stichwort weekdaytimer o.ä. mit aufnehmen).

Danke :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Andre0909

Zitat von: KernSani am 16 Januar 2018, 23:44:48
Wenn's funktioniert bitte das Subject des ersten Posts bearbeiten und [Gelöst] davor schreiben (und bei der Gelegenheit vielleicht ein etwas aussagekräftigeres Subject wählen, Stichwort weekdaytimer o.ä. mit aufnehmen).

Danke :-)
Alles klar mache ich dann. Ging aber leider nicht. Hab den Code genau wie vorgeschlagen so kn der cfg. Denken das evtl noch Semikolons rein müssen ? Sorry mit Perl Zusammenspiel kenn ich mich leider noch nicht so aus


Gesendet von iPhone mit Tapatalk

Andre0909

Leider auch ein 2. Test ohne ERfolg. Doch nochwas falsch?

Es soll halt

set BJobenSteuerung 1Livediggi 1

um 6:35 ausgeführt werden. Der Automatikmodus steht auf Standard.

Mit der Empfehlung

define Radio_An_MOFR WeekdayTimer BJobenSteuerung WeekdayTimer 8|06:35|1 {fhem("set BJobenSteuerung 1Livediggi $EVENT") if (Value("Automatikmodus") eq "Standard") } in der DFG hat es leider nicht geklappt

amenomade

Zeig mal das Ergebnis eines "list Radio_An_MOFR" bitte
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Andre0909

Zitat von: amenomade am 18 Januar 2018, 16:20:52
Zeig mal das Ergebnis eines "list Radio_An_MOFR" bitte

Das wäre dann:

Internals:
   COMMAND    WeekdayTimer 8|06:35|1 {fhem("set BJobenSteuerung 1Livediggi $EVENT") if (Value("Automatikmodus") eq "Standard") }
   CONDITION
   DEF        BJobenSteuerung WeekdayTimer 8|06:35|1 {fhem("set BJobenSteuerung 1Livediggi $EVENT") if (Value("Automatikmodus") eq "Standard") }
   DEVICE     BJobenSteuerung
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Radio_An_MOFR
   NR         354
   STATE      ???
   STILLDONETIME 0
   TYPE       WeekdayTimer
   SWITCHINGTIMES:
   Timer:
     Radio_an_mofr_settimerofday:
       HASH       Radio_An_MOFR
       MODIFIER   SetTimerOfDay
       NAME       Radio_An_MOFR_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
   Daynumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   Helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     Switchingtime:
   Longdays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   Profil:
   Shortdays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:

Hans Franz

Du hast in der def ein WeekdayTimer zu viel.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

Andre0909

Zitat von: Hans Franz am 18 Januar 2018, 19:52:22
Du hast in der def ein WeekdayTimer zu viel.

Gruß
Hans
Wie unfassbar BLIND man sein kann. oh mann. DANKE