Autor Thema: KNX Device Status nach reboot  (Gelesen 360 mal)

Offline elektro_rainer

  • New Member
  • *
  • Beiträge: 9
KNX Device Status nach reboot
« 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

Offline Beta-User

  • Hero Member
  • *****
  • Beiträge: 2865
Antw:KNX Device Status nach reboot
« Antwort #1 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

Server: HP-T5740 mit Debian stretch (i386) | ConfigDB | VCCU mit einiger HM-Hardware | MySensors seriell (2.2.0, RS485+nRF24, div. konkrete Hardware, u.a. einige DS18B20) | Milight@ESP-GW | SIGNALduino | MapleCUN

Offline Andi291

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 981
Antw:KNX Device Status nach reboot
« Antwort #2 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

Offline elektro_rainer

  • New Member
  • *
  • Beiträge: 9
Antw:KNX Device Status nach reboot
« Antwort #3 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

Offline Beta-User

  • Hero Member
  • *****
  • Beiträge: 2865
Antw:KNX Device Status nach reboot
« Antwort #4 am: 04 Januar 2018, 10:22:33 »
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
Server: HP-T5740 mit Debian stretch (i386) | ConfigDB | VCCU mit einiger HM-Hardware | MySensors seriell (2.2.0, RS485+nRF24, div. konkrete Hardware, u.a. einige DS18B20) | Milight@ESP-GW | SIGNALduino | MapleCUN

 

decade-submarginal