Gelöst:Erkennen, ob AT-Kommando bereits definiert ist

Begonnen von rz259, 11 September 2015, 23:47:50

Vorheriges Thema - Nächstes Thema

rz259

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

mi.ke

Genau . . .

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


Mach, wenn TEST nicht definiert ist:
if (!defined($defs{TEST})) {fhem (".....
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

justme1968

schau dir mal das defmod kommando an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rz259

#3
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