FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: dominik am 07 März 2016, 18:39:21

Titel: [gelöst] DOIF akzeptiert kein Anführungszeichen
Beitrag von: dominik am 07 März 2016, 18:39:21
Hallo,
ich bin Entwickler für das BOSE SoundTouch Modul (zu finden hier: https://forum.fhem.de/index.php/topic,46838.0.html) und bin drauf gekommen, dass DOIF leider nicht mit Anführungszeichen in Argumenten umgehen kann.

Folgende DOIF Definition
define DI DOIF ([Residents] eq "gotosleep") (set BOSE speak "Gute Nacht" 35)

Gibt man
set BOSE speak "Gute Nacht" 35
in FHEM ein funktioniert es, daher sollte es eigentlich auch von DOIF unterstützt werden. Wäre super wenn das eingebaut wird :)

Wenn ich das richtig interpretiert habe, wird glaub ich das "Gute abgeschnitten und nur mehr Nacht" 35 an das Modul übergeben.
Titel: Antw:DOIF akzeptiert kein Anführungszeichen
Beitrag von: dominik am 07 März 2016, 18:44:14
Ok, habe die Lösung gerade selbst gefunden :)

define DI DOIF ([Residents] eq "gotosleep") ((set BOSE speak "Gute Nacht" 35))
=> 2 Klammern um den Ausführungsblock.
Titel: Antw:DOIF akzeptiert kein Anführungszeichen
Beitrag von: Damian am 07 März 2016, 19:26:49
Zitat von: dominik am 07 März 2016, 18:44:14
Ok, habe die Lösung gerade selbst gefunden :)

define DI DOIF ([Residents] eq "gotosleep") ((set BOSE speak "Gute Nacht" 35))
=> 2 Klammern um den Ausführungsblock.

Das wundert mich aber, denn nur das Komma ist kritisch. Ich habe bei mir den Ausdruck im DOIF ausprobiert und erhalte die Meldung:

Zitatset BOSE speak "Gute Nacht" 35: Please define BOSE first

Daran kann ich erkennen, dass der komplette Ausdruck weiter gegeben wird.

Gruß

Damian

Titel: Antw:[gelöst] DOIF akzeptiert kein Anführungszeichen
Beitrag von: dominik am 07 März 2016, 19:50:48
Probier es mal mit einem schon definierten Device, dann bekommst du wahrscheinlich auch die Fehlermeldung: Unknown argument Nacht" 35...
Titel: Antw:[gelöst] DOIF akzeptiert kein Anführungszeichen
Beitrag von: Damian am 07 März 2016, 19:56:09
Zitat von: dominik am 07 März 2016, 19:50:48
Probier es mal mit einem schon definierten Device, dann bekommst du wahrscheinlich auch die Fehlermeldung: Unknown argument Nacht" 35...

Nein.

Hast du die aktuelle Version von DOIF?

([FS] eq "on") (set test_d speak "Gute Nacht" 35)

Internals:
   NAME       test_d
   NR         470
   STATE      speak "Gute Nacht" 35
   TYPE       dummy
   Readings:
     2016-03-07 19:54:11   state           speak "Gute Nacht" 35
Attributes:


Gruß

Damian
Titel: Antw:[gelöst] DOIF akzeptiert kein Anführungszeichen
Beitrag von: dominik am 07 März 2016, 20:39:21
Du hast klarerweise Recht Damian ;)

Es war bei mir das Komma das gleich nach dem ersten Wort war, deswegen wurde es abgeschnitten. Mit der aktuellen Version wird beim Komma weiterhin getrennt, da klappt das mit den doppelten Klammern dann wunderbar.