FHEM Forum

FHEM => Automatisierung => Thema gestartet von: rz259 am 11 September 2015, 23:47:50

Titel: Gelöst:Erkennen, ob AT-Kommando bereits definiert ist
Beitrag von: rz259 am 11 September 2015, 23:47:50
Gibt es eigentlich die Möglichkeit festzustellen, ob ein bestimmtes Kommando bereits definiert ist?

Ich frage deswegen, weil ich eine Fehlermeldung erhalte, wenn das Kommando bereits vorhanden ist - das würde ich gerne programmatisch verhindern.

Ich stelle mir sowas wie if defined(...) vor  - geht sowas?


Danke

Rudi
Titel: Antw:Erkennen, ob AT-Kommando bereits definiert ist
Beitrag von: mi.ke am 12 September 2015, 00:26:03
Genau . . .

Mach, wenn TEST definiert ist:
if (defined($defs{TEST})) {fhem (".....


Mach, wenn TEST nicht definiert ist:
if (!defined($defs{TEST})) {fhem (".....
Titel: Antw:Erkennen, ob AT-Kommando bereits definiert ist
Beitrag von: justme1968 am 12 September 2015, 09:04:12
schau dir mal das defmod kommando an.

gruss
  andre
Titel: Antw:Erkennen, ob AT-Kommando bereits definiert ist
Beitrag von: rz259 am 12 September 2015, 10:57:53
Vielen Dank euch beiden!

Ich habe die Variante mit defined benutzt, funktioniert prima!
Mein Problem ist somit schon gelöst!

Die zweite Variante mit defmod habe ich auch mal versucht, aber ich vermute mal, dass meine FHEM-Version das noch nicht unterstützt. Meine Version ist noch vom November 2014, defmod wurde aber erst 2015 eingeführt.

Vielleicht sollte ich mal updaten, defmod ist noch deutlich eleganter...

Auf alle vielen Dank, dank euch konnte ich mein Problem sehr schnell lösen.


Rudi


EDIT: Ich habe die Gelegenheit genutzt, um FHEM mal wieder upzudaten und dabei gleich auf defmod umgestellt - gefällt mir sehr gut, das ist eine elegante Lösung