[PATCH] Vereinheitlichung von rf_mode

Begonnen von Matthias Gehre, 23 Februar 2013, 23:31:25

Vorheriges Thema - Nächstes Thema

Matthias Gehre

Hallo,

Folgendes Problem: Ich bin gerade im rfmode X, möchte kurz etwas auf rfmode Y senden, und dann wieder zurück in den alten rfmode X.
Im Moment ist das für verschiede Kombinationen von X und Y in riesigen 'if's' gelöst.
Angehängter Patch vereinheitlicht alle asksin_on/moritz_on/cc_on/fastrf_on etc in ein cc_rf_mode

typedef enum {
  RF_OFF = 0,
  RF_SLOWRF,
  RF_FASTRF,
  RF_INTERTECHNO,
  RF_ASKSIN,
  RF_MORITZ,
  RF_RWE,
} cc_rf_mode_t;
extern cc_rf_mode_t cc_rf_mode;

Insbesondere ist die Funktion
void ccSetRfMode(cc_rf_mode_t mode);
hinzugekommen. Wenn dieser Patch auf Gegenliebe stößt, dann
wird der nächste Patch das ganze
if(X_on) {
  restore_x = 1;
  x_on = 0;
}
if(Z_on) {
  ...
}
activate_Y()
send_something_on_Y()
if(restore_x) {
  x_init()
  x_on = 1;
} ...

durch

cc_rf_mode_t oldmode = cc_rf_mode;
activate_Y()
send_something_on_Y()
ccSetRfMode(oldmode);

ersetzten.

Da das alle Funkmodule betrifft, würde ich gerne eure Meinung hören.

rudolfkoenig

Hallo Matthias,

ich finde dein Patch gut, das Umschalten wird dadurch "ordentlicher". Ich bin aber prinzipiell gegen "kurz auf rfmode Y senden", mAn ist der Support-Aufwand unverhaeltnismaessig, und es kann auch die Maintainer der anderen Protokolle betreffen. Dein Patch sollte (falls es getestet ist :) eingecheckt werden, ob man das Feature in fhem oder in der Doku aktiv bewirbt, ist eine andere Baustelle.

Gruss,
  Rudi

tostmann

Gibt es was Neues zu dieser Idee? Da nunmehr SOMFY und M-Bus hinzugekommen sind wird es immer dringender ...

Matthias Gehre

Gibt nichts Neues. Hab seit über einem Jahr wieder angefangen, mich etwas mit meiner FHEM Installation zu beschäftigen.
Wenn wir die Idee umsetzen wollen, dann können wir den Patch wie im ersten Beitrag einchecken
(und SOMFY und M-BUS hinzufügen)

thdankert

Ich finde den Patch ebenfalls klasse - das spart diese leidigen if(rfmode_xyz) im Code.
RPI mit FHEM, 2x Stackable CC (868 und 433MHz)

Kakaomonster

Hallo zusammen,

auch wenn dasThemaschon älter ist, würde mich interessieren, wo an den patch rein legt?
Ich hoffe hier ist noch jemand aktiv, der mir das beantworten kann,

Grüße, Ralf
FHEM auf Raspi m.12cm Antenne, BBB als Server für Zusatz (apache,php,sql)
1 USB CUL/RAW (ReadAnswer):  V 1.61
2 MAX Thermostate, 1 MAX Wanthermostast
1 FHT8V Thermostat, Schaltaktoren,Bewegungsmelder, Wandtatser Elro & IT
1 HMT 360, 4 7"Tablets, FB 7490