(gelöst) Gute Nacht

Begonnen von Claus, 13 März 2015, 13:16:52

Vorheriges Thema - Nächstes Thema

Claus

Hallo zusammen,
ich habe einen Dummy mit dem Namen Gute_N8 und zwei webcmd's, on:off. (Da kann ich mir das off auch schenken !)
Der schubst ein notify mit dem Namen Gute_N8_notify an, dass dann eine Lampe an der Schalt-Steckdose für 3 Minuten anmacht und alles andere ausschaltet.
Die DEF des notify:

Gute_N8.* {
if ( Value("Gute_N8") eq "on")  {
   fhem ("set SD2 on-for-timer 180");
   fhem ("set SDD1 off");
   fhem ("set SD3 off");
   fhem ("set TV off");
   [b] fhem ("define Gute_N8_off at +00:03 set Gute_N8 off") [/b]
  }
}


Brauche ich die fette Zeile oder habe ich mir hier einen Doppelgemoppelt?
Im Log steht dazu:

2015.03.12 21:51:30 3: CUL_HM set SDD1 off
2015.03.12 21:51:30 3: CUL_HM set SD3 off
2015.03.12 21:51:30 3: VIERA: Set off
2015.03.12 21:51:30 3: CUL_HM set SD2 on-for-timer 180
2015.03.12 21:51:30 3: CUL_HM set SDD1 off
2015.03.12 21:51:30 3: CUL_HM set SD3 off
2015.03.12 21:51:30 3: VIERA: Set off
2015.03.12 21:51:31 3: CUL_HM set SD2 on-for-timer 180
2015.03.12 21:51:31 3: define Gute_N8_off at +00:03 set Gute_N8 off : Gute_N8_off already defined, delete it first
2015.03.12 21:51:31 3: Gute_N8_notify return value: Gute_N8_off already defined, delete it first
2015.03.12 21:51:31 3: Gute_N8_off: unknown attribute SDD1. Type 'attr Gute_N8_off ?' for a detailed list.
2015.03.12 21:51:31 3: Gute_N8_off: unknown attribute sdd1. Type 'attr Gute_N8_off ?' for a detailed list.


Bitte nicht hauen, ich habe doch keinen Plan von Perl ...

VG
Claus
FHEM 5.6 auf RPI B+ / HMLAN (FW 0.961)  / HM-LC-Sw1-Pl / HM-SEC-WDS / HM-SEC-SCo / HM-SEC-RHS / HM-OU-CFM-Pl / HM-ES-PMSw1-Pl / HM-LC-Dim1L-Pl-2 / HM-LC-Sw2-FM / HM-TC-IT-WM-W-EU / HM-CC-RT-DN / HM-PB-6-WM55 / ... mehr kommt noch /

betateilchen

Lass die Zeile weg.

Vor allem hast Du im Moment das Problem, dass das notify sowohl bei on als auch bei off ausgeführt wird - wie Du Deinem Log eindeutig entnehmen kannst.

Und das hat überhautp nix mit "kein Plan von perl" zu tun, sondern mit "kein Plan von fhem". Denn perl brauchst Du überhaupt nicht...


Gute_N8.*on.* set SD2 on-for-timer 180;; set SDD1 off;; set SD3 off;; set TV off
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Claus

#2
Hallo betateilchen,
wie muss die DEF des notify dann genau lauten?
Wenn ich meinen Code mit Deiner Zeile:
Gute_N8.*on.* set SD2 on-for-timer 180;; set SDD1 off;; set SD3 off;; set TV off
ersetze geht die Steckdose nicht an, die anderen Geräte nicht aus und das Icon ändert sich auch nicht.
VG
Claus

Edit: OK, nur ein Semikolon. Aber das Icon zeigt immer off !
FHEM 5.6 auf RPI B+ / HMLAN (FW 0.961)  / HM-LC-Sw1-Pl / HM-SEC-WDS / HM-SEC-SCo / HM-SEC-RHS / HM-OU-CFM-Pl / HM-ES-PMSw1-Pl / HM-LC-Dim1L-Pl-2 / HM-LC-Sw2-FM / HM-TC-IT-WM-W-EU / HM-CC-RT-DN / HM-PB-6-WM55 / ... mehr kommt noch /

Claus

Zitat von: betateilchen am 13 März 2015, 13:22:09
Lass die Zeile weg.

Vor allem hast Du im Moment das Problem, dass das notify sowohl bei on als auch bei off ausgeführt wird - wie Du Deinem Log eindeutig entnehmen kannst.

Und das hat überhautp nix mit "kein Plan von perl" zu tun, sondern mit "kein Plan von fhem". Denn perl brauchst Du überhaupt nicht...


Gute_N8.*on.* set SD2 on-for-timer 180;; set SDD1 off;; set SD3 off;; set TV off


Damit das mit dem "kein Plan" besser wird brauche ich Unterstützung ...

Ich verstehe nicht wo das Log sagt, dass mein notify auch bei off ausgeführt wird !?
Ich verstehe das Log so, dass das Gute_N8_off bereits definiert ist. Stimmt das?

Ich weiß aber nicht wie ich das update des Dummy-Icon anders realisieren kann. Dafür brauche ich mal einen guten Rat...

Peace
Claus


FHEM 5.6 auf RPI B+ / HMLAN (FW 0.961)  / HM-LC-Sw1-Pl / HM-SEC-WDS / HM-SEC-SCo / HM-SEC-RHS / HM-OU-CFM-Pl / HM-ES-PMSw1-Pl / HM-LC-Dim1L-Pl-2 / HM-LC-Sw2-FM / HM-TC-IT-WM-W-EU / HM-CC-RT-DN / HM-PB-6-WM55 / ... mehr kommt noch /

betateilchen

Zitat von: Claus am 13 März 2015, 16:19:18
Ich verstehe nicht wo das Log sagt, dass mein notify auch bei off ausgeführt wird !?

Dein Log sagt nur, dass das notify ZWEIMAL ausgeführt wird:


2015.03.12 21:51:30 3: CUL_HM set SD2 on-for-timer 180
2015.03.12 21:51:31 3: CUL_HM set SD2 on-for-timer 180


Warum das so ist, ergibt sich aus der Logik Deines notify:

Gute_N8.*

mit .* triggerst Du auf JEDEN Event, der Gute_N8 enthält. Also nicht nur auf Gute_N8:on sondern auch auf Gute_N8:off

Und da Du im Ausführungsteil Deines notify das auslösende device selbst (Gute_N8) versuchst auszuschalten, wird genau in dem Moment das notify wieder getriggert.

Es gibt eine einfache Regel: Verändere im Ausführungsteil eines notify niemals den Zustand des device, welches das notify ausgelöst hat
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Claus

Ahhh, jezet ... vielen Dank!

Hab ich in meinem Code angepasst und keine Meldung mehr im Log !  :)

Gute_N8.*on.* {
if ( Value("Gute_N8") eq "on") {
   fhem ("set KUE_SD_Wasser on-for-timer 10");
   fhem ("set SDD1 off");
   fhem ("set SD3 off");
   fhem ("set TV off");
   fhem ("define Gute_N8_off at +00:01 set Gute_N8 off")
   }
}


Aber das Icon des dummy bleibt immernoch dunkel obwohl der STATE sich ja ändert ? :(
attr devStateIcon .*:FS20.off:on

VG
Claus

FHEM 5.6 auf RPI B+ / HMLAN (FW 0.961)  / HM-LC-Sw1-Pl / HM-SEC-WDS / HM-SEC-SCo / HM-SEC-RHS / HM-OU-CFM-Pl / HM-ES-PMSw1-Pl / HM-LC-Dim1L-Pl-2 / HM-LC-Sw2-FM / HM-TC-IT-WM-W-EU / HM-CC-RT-DN / HM-PB-6-WM55 / ... mehr kommt noch /

betateilchen

irgendwas sagt mir, dass Du das Attribut falsch setzt.

Was passiert denn, wenn Du das Attribut komplett wegläßt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Claus

... dann ändert sich das Icon zwar, ist aber nicht mehr anclickbar, ich kann nicht mehr über das Icon schalten.
FHEM 5.6 auf RPI B+ / HMLAN (FW 0.961)  / HM-LC-Sw1-Pl / HM-SEC-WDS / HM-SEC-SCo / HM-SEC-RHS / HM-OU-CFM-Pl / HM-ES-PMSw1-Pl / HM-LC-Dim1L-Pl-2 / HM-LC-Sw2-FM / HM-TC-IT-WM-W-EU / HM-CC-RT-DN / HM-PB-6-WM55 / ... mehr kommt noch /

betateilchen

Zitat von: Claus am 13 März 2015, 13:16:52
ich habe einen Dummy mit dem Namen Gute_N8 und zwei webcmd's, on:off. (Da kann ich mir das off auch schenken !)

Definiere den Dummy doch einfach als FS20-Dummy, dann kriegst Du das klickbare Icon und die webcmds automatisch mit.


define Gute_N8 FS20 1234 56
attr Gute_N8 dummy 1
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Claus

Bin nun erleichtert...
Es geht mit folgendem Wert/Code für das devStateIcon:
off:time_timer@green:on on:time_timer@red .*:time_timer
Icon (hier eine Stoppuhr)
- ist anklickbar,
- ist grün wenn inaktiv,
- ist rot wenn aktiv,
- ist wieder grün wenn der Timer abgelaufen ist.
:)
Danke noch einmal!
VG
Claus
FHEM 5.6 auf RPI B+ / HMLAN (FW 0.961)  / HM-LC-Sw1-Pl / HM-SEC-WDS / HM-SEC-SCo / HM-SEC-RHS / HM-OU-CFM-Pl / HM-ES-PMSw1-Pl / HM-LC-Dim1L-Pl-2 / HM-LC-Sw2-FM / HM-TC-IT-WM-W-EU / HM-CC-RT-DN / HM-PB-6-WM55 / ... mehr kommt noch /