sleep - bin am verzweifeln

Begonnen von Smallfeuer, 04 März 2017, 11:24:05

Vorheriges Thema - Nächstes Thema

Smallfeuer

Also ich möchte den Schaltzustand der Lampe nach einen Anruf wieder herstellen.
Dazu habe ich jetzt folgenyes gebastelt. Leider kommen die Befehle alle auf einmal:

   
Telefon:event:.ring
{
if ("Licht01" eq "off") {
{fhem("set Licht01 blink 2 3")}}
else
{
  {fhem("set Licht01 off")}
  {fhem("sleep 3 quiet")}
  {fhem("set Licht01 on")}
  {fhem("sleep 3 quiet")}
  {fhem("set Licht01 off")}
  {fhem("sleep 3 quiet")}
  {fhem("set Licht01 on")}
  }
}
 


HILFE !!!

DeeSPe

Du musst die Befehle hintereinander in einen fhem Aufruf schreiben!

Gruß
Dan

EDIT: Auch ein paar {} zu viel.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

CoolTux


else
{
  fhem("set Licht01 off; sleep 3; set Licht01 on; sleep 3; set Licht01 off; sleep 3; set Licht01 on");
  }
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

DeeSPe

#3
Zitat von: CoolTux am 04 März 2017, 11:35:25

else
{
  fhem("set Licht01 off; sleep 3; set Licht01 on; sleep 3; set Licht01 off; sleep 3; set Licht01 on");
  }


Jetzt hast Du ihm den Spaß am Verstehen und Umsetzen genommen... :(

Gruß
Dan

EDIT: Bin ja manchmal selber so... 8)
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

CoolTux

Zitat von: DeeSPe am 04 März 2017, 11:37:13
Jetzt hast Du ihm den Spaß am Verstehen und Umsetzen genommen... :(

Gruß
Dan

EDIT: Bin ja manchmal selber so... 8)

Nicht unbedingt. Beim ersten Mal biete ich gerne ein Beispiel zum besseren verstehen. Schauen wir mal was er im Laufe seiner FHEM und Forumszeit daraus macht  ;)


Grüße
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

DeeSPe

Zitat von: CoolTux am 04 März 2017, 11:41:08
Nicht unbedingt. Beim ersten Mal biete ich gerne ein Beispiel zum besseren verstehen. Schauen wir mal was er im Laufe seiner FHEM und Forumszeit daraus macht  ;)


Grüße

Ja hast Recht!
Anhand von Beispielen verstehen die meisten Menschen eben doch am Besten.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Smallfeuer

Hallo, danke erstmal... leider hatte ich auch diese Variante schon... mittlerweile bin ich 50 Versionen durch und komme immer nen step weiter. Jetzt kommt als Fehler : Can't find string terminator '"' anywhere before EOF at (eval 49826) line 7.

OK


Was fehlt da?

CoolTux

Gib mal die komplette Funktion noch mal.
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

Smallfeuer

   
Telefon:event:.ring
{
if ("Licht01" eq "off") {
{fhem("set Licht01 blink 2 3")}}
else
{
  fhem("set Licht01 off; sleep 3; set Licht01 on; sleep 3; set Licht01 off; sleep 3; set Licht01 on");
  }
}



so nimmt er ihn nicht.

CoolTux

Schau dir mal deine fhem Zeile an und meine aus der else Bedingung. Und dann passt Du an.

Ähm also Deins anpassen.
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

Smallfeuer

Also ich seh da nix. Hab die grad da rein kopiert. Oder suche ich nach ner leertaste???

CoolTux

Vorne Klammer weg hinten Klammer weg. Die geschweiften bitte und dann gaaaanz ans Ende ein Semikolon. Und dann schauen wir mal.
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

Smallfeuer

Also dann so...nimmt er erstmal... test nachher:


Telefon:event:.ring

if ("Licht01" eq "off") {
{fhem("set Licht01 blink 2 3")}}
else
{
  fhem"(set Licht01 off; sleep 3; set Licht01 on; sleep 3; set Licht01 off; sleep 3; set Licht01 on");
  }



Smallfeuer

2017.03.04 16:59:25 3: FBDECT set Licht01 on
2017.03.04 16:59:40 3: TelefonLichtAn return value: Unknown command if, try help.
2017.03.04 16:59:43 3: FBDECT set Licht01 on
2017.03.04 16:59:46 3: FBDECT set Licht01 off
2017.03.04 16:59:49 2: After sleep: Unknown argument on"), choose one of off:noArg on:noArg toggle:noArg on-till off-for-timer off-till-overnight on-till-overnight off-till on-for-timer intervals blink
Unknown command

Jetzt hab ich wieder das im LogFile und Licht ist aus... oder die ";"hinter der Klammer?

Smallfeuer

Dann sind wir auch wieder beim großen IF ELSE oder? ohne die Klammer ist das ja nicht komplett Perl.
das ist zu viel für die erste Woche  ::)