Autor Thema: structure Problem  (Gelesen 3176 mal)

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 555
structure Problem
« am: 17 August 2013, 22:15:36 »
Ich habe ein Problem mit der Structure Funktion.
Die Definition ist folgende:
  define TV PRESENCE lan-ping Samsung-LED 60
  attr TV eventMap on:present off:absent
  attr TV room Conditions
  attr TV group Available_Devices
und
  define WZ_Tuner dummy
  attr WZ_Tuner setList on off
  attr WZ_Tuner room Wohnzimmer

Die Structure ist wie folgt definiert
  define Wohnzimmer structure Zimmer TV WZ_Tuner
  attr Wohnzimmer clientstate_behavior absolute
  attr Wohnzimmer room Wohnzimmer
  attr TV Zimmer_map on:present off:absent

Wenn die Structure nur mit einem der beiden Geräte (TV oder WZ_Tuner) definiert ist funktioniert alles einwandrei.
Wenn aber beide definiert sind nicht mehr.
Fehler zeigt sich wie folgt:
1) Structure auf on stellen. --> alle Geräte und die Structwerden auf on geschalten
2) WZ_Tuner danach auf off stellen --> Structure wird undefined
3) WZ_Tuner wieder auf on stellen --> Structure beleibt undefined

Kann mir wer erklären an was das liegt...ich komme einfach nicht dahinter!
FHEM auf Beaglebone Black mit Debian.
1x Jeenode (433MHz): IR send/receive; Baumarkt Funksteckdosen HX2262 send/receive; LEDs
1x Jeenode (868MHz): FS20 send/receive; 2x Heizungsthermostate ETH200 comfort; 2x LaCrosse Temperatursensoren (send)/receive; Piezo Summer für akustische Rückmeldung

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20677
Aw: structure Problem
« Antwort #1 am: 18 August 2013, 09:57:15 »

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 555
Aw: structure Problem
« Antwort #2 am: 18 August 2013, 10:37:28 »
Habe ich schon. .. habe es auf absolut Gesetz da ich ein on der structure brauche wenn alle Elemente on sind
FHEM auf Beaglebone Black mit Debian.
1x Jeenode (433MHz): IR send/receive; Baumarkt Funksteckdosen HX2262 send/receive; LEDs
1x Jeenode (868MHz): FS20 send/receive; 2x Heizungsthermostate ETH200 comfort; 2x LaCrosse Temperatursensoren (send)/receive; Piezo Summer für akustische Rückmeldung

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20677
Aw: structure Problem
« Antwort #3 am: 18 August 2013, 11:42:08 »
Kannst Du dein Problem auch ohne PRESENCE (mit 2 dummys) nachstellen? Wenn ja, bitte nochmal alle betroffenen Elemente samt Handlungsanweisung mir zeigen, dann stelle ich sie nach.

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 555
Aw: structure Problem
« Antwort #4 am: 20 August 2013, 19:00:12 »
Hallo,

ich habe das Problem weiter eingrenzen können.
Mit zwei Dummys funktionert es auch.
Es liegt an meiner Konfiguration. Ich setzte den Dummy manchmal mit "setstate" und das führt zu keiner Änderung der structure. Dies ist scheinbar nicht vorgesehen.

Ist das ein Bug oder nicht anders realisierbar?

Folgende Situation:
Ich habe einen Radio der nur ein IR Signal versendet egal ob "on" oder "off" --> trigger Signal.
Jetzt habe ich einen Dummy erstellt Namens "WZ_Tuner", welchen ich über eine notify Function bei erhalten des Kommandos (WZ_IR_TV_Tuner:press) setzte wie folgt:

   define WZ_IR_Tuner_OnOff notify WZ_IR_Tuner_Power:press {\
      if(Value("WZ_Tuner") eq "on") {\
         fhem("setstate WZ_Tuner off");;\
      } else {\
         fhem("setstate WZ_Tuner on");;\
      }\
   }

Um über das Webinterface den Radio zu steuern habe ich folgendes define:
   define WZ_TunerOnOff notify WZ_Tuner {\
      if( OldValue("WZ_Tuner") ne "%" && length(OldValue("WZ_Tuner")) > 0 ) {\
         fhem("set WZ_IR_Tuner_Power send");;\
      }\
   }

Wenn ich nun die WZ_Tuner in eine Structure einfüge funktioniert diese vermutlich aufgrund der "setstate" kommandos nicht.
Kennt ihr eine andere Möglichkeit? Wäre sehr froh um einen Tip.

FHEM auf Beaglebone Black mit Debian.
1x Jeenode (433MHz): IR send/receive; Baumarkt Funksteckdosen HX2262 send/receive; LEDs
1x Jeenode (868MHz): FS20 send/receive; 2x Heizungsthermostate ETH200 comfort; 2x LaCrosse Temperatursensoren (send)/receive; Piezo Summer für akustische Rückmeldung

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19266
Aw: structure Problem
« Antwort #5 am: 20 August 2013, 20:31:50 »
setstate triggert keine events und damit wird niemand (auch die structure) nicht per notify über änderungen informiert.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 555
Aw: structure Problem
« Antwort #6 am: 20 August 2013, 20:47:18 »
gibt es eine möglichkeit die structure dann eben zu triggern?
habe schon anstatt setstate setReadingVal getestet, funktioniert aber auch nicht...

Hat keiner eine Idee?
FHEM auf Beaglebone Black mit Debian.
1x Jeenode (433MHz): IR send/receive; Baumarkt Funksteckdosen HX2262 send/receive; LEDs
1x Jeenode (868MHz): FS20 send/receive; 2x Heizungsthermostate ETH200 comfort; 2x LaCrosse Temperatursensoren (send)/receive; Piezo Summer für akustische Rückmeldung

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19266
Aw: structure Problem
« Antwort #7 am: 20 August 2013, 20:58:51 »
du kannst entweder set verwenden statt setstate oder von nach dem setstate selber trigger aufrufen.

fhem( "trigger WZ_Tuner on")

oder readingsSingleUpdate verwenden. auch wenn rudi das nicht so gerne mag.

readingsSingleUpdate($defs{WZ_Tuner},"on", 11, 1)

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 555
Aw: structure Problem
« Antwort #8 am: 20 August 2013, 21:24:13 »
Das Problem ist ich will die Funktion nicht doppelt Triggern
"define WZ_IR_Tuner_OnOff notify WZ_IR_Tuner_Power:press"
wird ausgeführt wenn das Signal der Fernbedinung eingeht. d.h. der Radio ist dann an geschaltet worden.
--> kein nochmaliges triggern nur den Status und Structure entsprechend aktualisieren

"define WZ_TunerOnOff notify WZ_Tuner" ist zur Steuerung über das Webinterface.
FHEM auf Beaglebone Black mit Debian.
1x Jeenode (433MHz): IR send/receive; Baumarkt Funksteckdosen HX2262 send/receive; LEDs
1x Jeenode (868MHz): FS20 send/receive; 2x Heizungsthermostate ETH200 comfort; 2x LaCrosse Temperatursensoren (send)/receive; Piezo Summer für akustische Rückmeldung

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19266
Aw: structure Problem
« Antwort #9 am: 20 August 2013, 21:43:43 »
dir structure geht nicht ohne trigger.

also muss etwas prinzipielles geändert werden.

ich verstehe auch nicht genau wo das problem bei mehrfach triggert ist.

beschreib dich mal genau was alles zusammen bewirken soll.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal