[gelöst] Unknown command bei at

Begonnen von Cruiser79, 09 Dezember 2016, 23:30:15

Vorheriges Thema - Nächstes Thema

Cruiser79

Da meine IT Steckdosenschalter nicht so zuverlässig schalten, wollte ich analog zu dem Wiki EIntrag http://www.fhemwiki.de/wiki/Zeitschaltuhr#L.C3.B6sungsansatz_1 eine fünfmalige Schaltung realisieren. Ich änderte also meine vorherigen Aufruf des AT Commandos

DEF: *23:00 set Wohnzimmer_Fenster off;;set Wohnzimmer_Dekolicht off

in DEF:

{
{ fhem("define wz_DekoFensterAusTimer at +*{5}00:01:00 set Wohnzimmer_Fenster off;;set Wohnzimmer_Dekolicht off") }
}

um. Jetzt bekomme ich leider aber ein

wz_DekoFensterAus: Unknown command {
{, try help.

Die Lösung ist doch sicher sehr einfach, aber ich komme nicht drauf. Ein ändern der Klammern in nur eine am Anfang, ein weglassen der {5} oder ein maskieren mit \{ von diesem half nichts.
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

igami

Bitte Code-Tags verwenden (das # Zeichen).

Warum wechselst du erst in perl um dann einen fhem Befehl zu senden?
Ich weiß nicht wo dein Fehler liegt, aber einfacher wird es dadurch schon mal ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

marvin78

Wie igami schon sagt, ist es unnötig hier Perl zu verwenden. Es handelt sich ja um reine FHEM Befehle. Außerdem setzt du viel zu viele Klammern. Bitte ein wenig mit Perl beschäftigen.

Das hier im DEF, reicht:

define wz_DekoFensterAusTimer at +*{5}00:01:00 set Wohnzimmer_Fenster off;set Wohnzimmer_Dekolicht off

rudolfkoenig

Oder
Zitatdefine wz_DekoFensterAusTimer at +*{5}00:01 set Wohnzimmer_Fenster,Wohnzimmer_Dekolicht off
um das allzeit verwirrende ; zu sparen.
Was vmtl. die Ursache des urspuenglichen Problems war

Cruiser79

Danke für eure Erläuterungen. Eure Frage, wieso ich das so kompliziert mache, liegt daran, dass ich mich einfach an das Wiki Beispiel gehalten habe und es nur mit meinen Geräten und Zeiten geändert habe. Ist also das Wiki Beispiel auch viel zu kompliziert, oder gibt es dafür eine Erklärung, wieso das dort mit dem extra FHEM BLock so gemacht werden "muss"?
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

igami

Zitat von: Cruiser79 am 10 Dezember 2016, 08:27:00
Ist also das Wiki Beispiel auch viel zu kompliziert, oder gibt es dafür eine Erklärung, wieso das dort mit dem extra FHEM BLock so gemacht werden "muss"?
Teilweise

define PumpeAbendsStart at *17:00:00 {
{ fhem("define PumpeAbends at +*{24}00:15:00 set Umwaelzpumpe on-for-timer 300") }
}

Ist zu kompliziert

define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we && $hour>=7 && $hour<9) }

nicht
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Cruiser79

Zitat von: igami am 10 Dezember 2016, 08:36:49
Teilweise

define PumpeAbendsStart at *17:00:00 {
{ fhem("define PumpeAbends at +*{24}00:15:00 set Umwaelzpumpe on-for-timer 300") }
}

Ist zu kompliziert

define pumpe_wd78 at +*00:15 { fhem("set Umwaelzpumpe on-for-timer 300") if(!$we && $hour>=7 && $hour<9) }

nicht

Und wenn ich eure Bemerkung der zu vielen Klammern auch richtig sehe, müsste es beim ersten Beispiel ja auch nur wie folgt aussehen

define PumpeAbendsStart at *17:00:00 {fhem("define PumpeAbends at +*{24}00:15:00 set Umwaelzpumpe on-for-timer 300") }


Aber eben auch unsinnig, weil ich mit {} Perl Code ausführe, um in diesem mit fhem() wieder ein FHEM Kommando abzusetzen. So korrekt interpretiert?
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Cruiser79

Zitat von: rudolfkoenig am 10 Dezember 2016, 07:14:49
Oderum das allzeit verwirrende ; zu sparen.
Was vmtl. die Ursache des urspuenglichen Problems war

Wenn ich die Semikolons durch ein Komma ersetze
*08:13:10 define wz_DekoFensterAusTimer at +*{5}00:01 set Wohnzimmer_Fenster,Wohnzimmer_Dekolicht off
bekomme ich nur ein
2016.12.10 23:01:00 3: wz_DekoFensterAusTimer: Unknown argument off
, choose one of off:noArg on:noArg  on-for-timer on-till off-for-timer on-till-overnight blink toggle off-till-overnight intervals off-till
Unknown argument off
, choose one of off:noArg on:noArg  on-for-timer on-till off-for-timer on-till-overnight blink toggle off-till-overnight intervals off-till

In dem angelegtem Kommando wz_DekoFensterAusTime steht dann nur
+*{5}00:01 set Wohnzimmer_Fenster

Wenn ich hingegen das AT Kommando wie folgt definiere, geht es

*08:13:10 define wz_DekoFensterAusTimer at +*{5}00:01 set Wohnzimmer_Fenster off;;set Wohnzimmer_Dekolicht off

Kann mir das nochmal wer erklären?


FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

rudolfkoenig

Habs versucht nachzustellen. Mit
define mat at *13:41 define wz_DekoFensterAusTimer at +*{5}00:01 set Wohnzimmer_Fenster,Wohnzimmer_Dekolicht off
und zwei dummies (Wohnzimmer_Fenster,Wohnzimmer_Dekolicht)
sehe ich aber keine Fehler.

Cruiser79

Zitat von: rudolfkoenig am 11 Dezember 2016, 13:46:42
Habs versucht nachzustellen. Mit
define mat at *13:41 define wz_DekoFensterAusTimer at +*{5}00:01 set Wohnzimmer_Fenster,Wohnzimmer_Dekolicht off
und zwei dummies (Wohnzimmer_Fenster,Wohnzimmer_Dekolicht)
sehe ich aber keine Fehler.

Mh, komisch, ich lasse es jetzt einfach mit den zwei Semikolons. Auch wenns nicht optimal ist, funktioniert es doch wenigstens bei mir  ;)
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000