FHEM Forum

FHEM - Hausautomations-Systeme => KNX/EIB => Thema gestartet von: elektro_rainer am 03 Januar 2018, 16:32:31

Titel: KNX Device Status nach reboot
Beitrag von: elektro_rainer am 03 Januar 2018, 16:32:31
servus zusammen,
nach einem reboot sind alle meine KNX geräte auf ??? status.
ein "get" bei dem jeweiligem gerät meldet dann den richtigen zustand und zeigt dann auch das passende symbol.

--> kann ich bei fhem start (oder auch sonst zyklisch) ein "get status" für alle bekannten knx geräte machen?
wenn ja,.. wie??

danke und grüße
Titel: Antw:KNX Device Status nach reboot
Beitrag von: Beta-User am 03 Januar 2018, 17:29:20
Hallo elektro_rainer,

beim Starten wirft das Device global einen Event INITIALIZED (gibt es auch für REREADCFG etc).
Darauf ein notify sollte den Job erledigen können.

Mit einem FILTER auf TYPE <was auch immer für KNX steht> sollten sich dann alle KNX-Devices auf einen Rutsch abfragen lassen (bitte vorher testen und ggf. etwas verzögern, nicht dass FHEM beim Starten hängt).

Gruß, Beta-User

Titel: Antw:KNX Device Status nach reboot
Beitrag von: Andi291 am 03 Januar 2018, 18:30:49
Quasi so (erprobt :-):

define Notify_get_values_at_startup notify global:INITIALIZED { \
fhem("sleep 0.02 quiet;; get datum");; \
fhem("sleep 0.02 quiet;; get uhrzeit");; \
}


Grüße, Andi
Titel: Antw:KNX Device Status nach reboot
Beitrag von: elektro_rainer am 04 Januar 2018, 08:54:45
muss ich da wirklich JEDES device EINZELN eintragen?
gibt's da kein *.* oder all???

danke und grüße,
rainer
Titel: Antw:KNX Device Status nach reboot
Beitrag von: Beta-User am 04 Januar 2018, 10:22:33
Zitat von: elektro_rainer am 04 Januar 2018, 08:54:45
muss ich da wirklich JEDES device EINZELN eintragen?
Na ja, entweder man kann den Befehl gleichzeitig an alle senden (mit devspec und FILTER, wie bereits angemerkt), oder es ist besser, das bei KNX einzeln mit einem sleep zu machen. Dann wäre eine Schleife mit devspec2array sinnvoller. (Geht auch innerhalb des notify, ich würde das aber eher in eine myUtils-Funktion auslagern; frage mich aber, ob es nicht sinnvoll wäre, sowas wenigstens optional direkt ins Modul einzubauen).
Beispiel dazu (aus 10_CUL_HM, Zeile 1040ff):

sub CUL_HM_setupHMLAN(@){
foreach (devspec2array("TYPE=CUL_HM:FILTER=DEF=......:FILTER=subType!=virtual")){
  $defs{$_}{helper}{io}{newChn} = 0;
  CUL_HM_hmInitMsg($defs{$_}); #update device init msg for HMLAN
  }
}


Gruß, Beta-User