FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Vorhand am 07 Januar 2014, 19:01:22

Titel: at Befehl mit dummy
Beitrag von: Vorhand am 07 Januar 2014, 19:01:22
Hallo,

wie kann man eine at Definition mit einem dummy kombinieren.
Beispiel:
definde Einschaltzeit dummy
set Einschaltzeit 2
define a7 at +*{3}00:00:05 set FS20_St02BueroSteckdose on-for-timer {Value ("Einschaltzeit")}
Das funktioniert nicht.
Akzeptiert der at Befehl überhaupt eine variable Zeitvorgabe?
Wie müsste die lauten?
Danke

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: BeamterAD am 07 Januar 2014, 19:10:10
Was hast du vor,einen Timer basteln?
Also Über Web eine Laufzeit auswählen das Gerät bestimmen und fertig?
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 07 Januar 2014, 19:15:59
Kannst du etwas konkreter werden?
Meine fhem-Kenntnisse reichen offensichtlich nicht aus um deinen Hinweis umzusetzen.

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: BeamterAD am 07 Januar 2014, 19:36:51
Nein,ich versuche gerade zu verstehen was du realisieren willst,aus dem Code rauszulesen istmir einfach zu viel,bin ja selbst neu im thema,aber so versteht man das ganze einfacher wenn du genau sagst was du willst.
Titel: Antw:at Befehl mit dummy
Beitrag von: Puschel74 am 07 Januar 2014, 19:41:01
Hallo,

ZitatDas funktioniert nicht.

Und mal wieder ... von vorne an.

Was steht den im Logfile?
Dort müsste sich doch eine Fehlermeldung finden lassen.

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 07 Januar 2014, 19:51:47
also im Log steht:
2014.01.07 18:35:17 3: a7: Bad time spec

Was ich bauen will:
Ein Blinker mit fester Taktzeit dessen Einschaltzeit ich variieren kann - abhängig von einer Variablen.

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: Puschel74 am 07 Januar 2014, 19:54:47
Hallo,

"Bad Time Spec" liefert mir mit diesem 4 Beiträge.

Hast du die schon durchgeschaut?

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: BeamterAD am 07 Januar 2014, 20:19:11
"set FS20_St02BueroSteckdose blink 3 3" funktioniert wohl nicht ?
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 07 Januar 2014, 21:01:10
in den 4 Beiträgen habe ich keine geeignete Antwort gefunden.

Nochmal meine Frage: Kann die Zeit bei "on-for-Timer" durch eine Variable gesetzt werden und wie?

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: ChrisD am 07 Januar 2014, 21:12:51
Hallo,

So könnte es gehen:

define a7 at +*{3}00:00:05 {fhem("set FS20_St02BueroSteckdose on-for-timer ".Value ("Einschaltzeit"))}

Grüße,

ChrisD
Titel: Antw:at Befehl mit dummy
Beitrag von: BeamterAD am 07 Januar 2014, 21:53:18
das *, bedeutet das {3}x5sec eingeschaltet wird oder das solange wiederholt wird bis die eingestellte zeit abgelaufen ist?
schaffen das die Aktoren überhaupt,wenn ich sehe mit welcher Zeitverzögerung meine schalten,besonders wenn mehrer Aktionen laufen ... Befehl,Rückmeldung und das in so kurzer Zeit?
Titel: Antw:at Befehl mit dummy
Beitrag von: ChrisD am 07 Januar 2014, 22:01:08
Hallo,

Es wird 3x eingeschaltet und zwar nach 5, 10 und 15s. Wenn 'Einschaltzeit' wie am Anfang geschrieben 2 beträgt wird die Steckdose 3x für 2s eingeschaltet. Ob die Steckdose dabei wirklich schaltet kann FHEM bei FS20 nicht wissen, es gibt nämlich keine Rückmeldung.

Ich glaube es geht hier auch eher allgemein um die Frage wie eine Variable eingebaut werden kann, der Code ähnelt stark dem aus der Commandref.

Grüße,

ChrisD
Titel: Antw:at Befehl mit dummy
Beitrag von: BeamterAD am 07 Januar 2014, 23:15:20
Kann ich mit notify und define Flurlicht  at +{$Anzahl_Tast}00:00:10 set lamp on eine Treppenhausschaltung realisieren?
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 09 Januar 2014, 10:42:22
Hallo ChrisD,

dein Vorschlag : define a7 at +*{3}00:00:05 {fhem("set FS20_St02BueroSteckdose on-for-timer ".Value ("Einschaltzeit"))}

geht leider nicht. Im Log steht Syntaxfehler.

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: betateilchen am 09 Januar 2014, 10:53:25
Zitat von: Vorhand am 09 Januar 2014, 10:42:22dein Vorschlag : define a7 at +*{3}00:00:05 {fhem("set FS20_St02BueroSteckdose on-for-timer ".Value ("Einschaltzeit"))}

geht leider nicht. Im Log steht Syntaxfehler.

Doch, das funktioniert. Ich habe das define jetzt einfach mit copy&paste hier raus und in mein fhem reinkopiert und das tut exakt das, was es soll.
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 09 Januar 2014, 10:58:32
Hallo BeamterAD,

deine Frage: Kann ich mit notify und define Flurlicht  at +{$Anzahl_Tast}00:00:10 set lamp on eine Treppenhausschaltung realisieren?

Du solltest bedenken, dass dein at Befehl erst nach 10 sec anfängt, das Licht einzuschalten - und dann bleibt es eingeschaltet. Die Zahl in der Schweifklammer steht für die Anzahl von Wiederholungen, wenn du einen * davor schreibst.

Mein Vorschlag:
define Flurlicht notify "Taster" set lamp on-for-time 120 (in sec), dann brennt das Licht nach Betätigung eines Tasters 2 min.

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 09 Januar 2014, 11:04:08
Hallo betateilchen,

wie hast du dabei die Einschaltzeit als Variable definiert?
Ich versuchte es mit
define Einschaltzeit dummy
set Einschaltzeit 2
und das hat irgendwie nicht geklappt.

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: betateilchen am 09 Januar 2014, 11:11:51
Habe ich ganz genau so nachgebaut wie von Dir beschrieben:

(http://up.picr.de/17000237go.png)

(http://up.picr.de/17000238rj.png)

(http://up.picr.de/17000239bz.png)
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 09 Januar 2014, 11:24:47
Hallo betateilchen, hallo ChrisD,

Asche über mein Haupt! - funktioniert natürlich super.
Durch die vielen tests hab ich einen dummy mit dem Text "Stellwert" definiert und nicht "Einschaltzeit".

Danke für den Antwort

Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: Puschel74 am 09 Januar 2014, 11:37:50
Hallo,

bei einem Device unter den Readings wird angezeigt bei welchen anderen Geräten, notifys, at usw. das Device noch abgefragt
bzw. verwendet wird.
Wenn dort kein Gerät auftaucht mit dem definierten Namen ist was faul  ;)

Grüße

Edith: Grad kontrolliert - klappt auch bei dummys.
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 28 Januar 2014, 09:38:37
Hallo betateilchen, hallo ChrisD,

ihr habt mir bei meiner letzten dummy-Frage gut geholfen. Leider kann ich bei meiner jetzigen Anwendung "on-for timer" nicht verwenden. Hab's umgestellt, wie nachstehend beschrieben - und schon geht nichts mehr.

define Taktzeit dummy
define Einschaltzeit dummy

set Taktzeit 00:00:20
set Einschaltzeit 00:00:05
delete PWMon
delete PWNoff
define PWMon at +*{Value("Taktzeit")}\
{\
{fhem("set S1 PIO on")}\
{fhem("define PWMoff at +{Value("Einschaltzeit")} set S1 PIO off")} \
}
...geht nicht! Hab schon alle möglichen Varianten versucht - vergebens!

Anmerkung: Mein 1wire Schalter ist ein DS2405. Der wird in OWSwitch nicht mehr erkannt, da Auslaufmodell. Deshalb arbeite ich mit OWDevice, was allerdings kein "on-for-timer" kennt.
Wenn ich statt {Value("Taktzeit")} eine Zeit eingebe 00:00:10 dann geht's.

Was mache ich da falsch?

Danke und Grüße
Titel: Antw:at Befehl mit dummy
Beitrag von: ChrisD am 29 Januar 2014, 17:53:23
Hallo,

So sollte es gehen:

define PWMon at +*{Value("Taktzeit")} {\
{fhem("set S1 PIO on")}\
{fhem("define PWMoff at +{Value(\"Einschaltzeit\")} set S1 PIO off")} \
}


Vor die " um Einschaltzeit musst du ein \ setzen damit sie mit ins at übernommen werden und nicht als Ende der Zeichenkette interpretiert werden.

Grüße,

ChrisD
Titel: Antw:at Befehl mit dummy
Beitrag von: Vorhand am 29 Januar 2014, 20:19:54
Super - geht!

Auf den \ vor dem "  wäre ich durch "nur probieren" nicht gekommen.
Besten Dank.

Grüße
Vorhand