FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Hackstall am 27 Februar 2019, 20:52:14

Titel: dummy via set (nach Update) funktioniert nicht mehr
Beitrag von: Hackstall am 27 Februar 2019, 20:52:14
Hallo ich habe den Eindruck dass nach einem FHEM Update meine Sequenz nicht mehr funktioniert.

Ich habe ein dummy Device erweitert um ein paar Readings:

define EG_Wz_Fernseher dummy
attr EG_Wz_Fernseher DbLogExclude .*
attr EG_Wz_Fernseher DbLogInclude fernseherStatus:600,power:600
attr EG_Wz_Fernseher group Grp-System-Dummy
attr EG_Wz_Fernseher readingList fernseherStatus,count,tmpTimeOff,power
attr EG_Wz_Fernseher room 9.6_System
attr EG_Wz_Fernseher userReadings power { ReadingsVal("Plug_Wo_Multimedia_Wall","power","0.0");; }


welchen ich dann in der folgenden Routine manipuliere:

define ntfy_EG_Wz_Fernseher_start notify Plug_Wo_Multimedia_Wall:power:.* {\
     if ($EVTPART1 > 80.0) \
    {fhem("set EG_Wz_Fernseher count 0");;\
fhem("set EG_Wz_Fernseher fernseherStatus on");;\
if (ReadingsVal("EG_Wz_Fernseher", "fernseherStatus", "off") eq "off") \
    {\
     fhem("set teleBotAK msg \@Andreas_Krause Fernseher Wohnzimmer AN");;\
    }\
        }\
     elsif (($EVTPART1 < 60.0) && (ReadingsVal("EG_Wz_Fernseher", "fernseherStatus", "off") eq "on"))\
    {\
   {if (ReadingsVal("EG_Wz_Fernseher", "count", "0") > 2)\
       {\
    my $lasttrigger = ReadingsVal("EG_Wz_Fernseher", "tmpTimeOff","");;\
my $timenow = time();;\
my $difference = $timenow - $lasttrigger;;\
if ($difference >= 900)\
   {\
            fhem("set EG_Wz_Fernseher count 0");;\
            fhem("set EG_Wz_Fernseher fernseherStatus off");;\
            fhem("set teleBotAK msg \@Andreas_Krause Fernseher Wohnzimmer AUS");;\
   }\
        }\
    else\
    {\
my $my_count=ReadingsVal("EG_Wz_Fernseher", "count", "0");;\
     $my_count=$my_count+1;;\
     fhem("set EG_Wz_Fernseher count $my_count");;\
         if (ReadingsVal("EG_Wz_Fernseher", "count", "0") == 1)\
    {\
  my $timenow =  time();;\
  fhem("set EG_Wz_Fernseher tmpTimeOff $timenow");;\
}\
}\
   }\
        }\
}


Früher wurde der fernseherStatus immer auf on oder off geschaltet.

Jetzt wird der state des Dummys wie folgt gesetzt:

state fernseherStatus on


Was ich gerne hätte: Ich hätte gerne das reading fernseherStatus auf off oder on setzen wollen.

Habe ich hier einen Denkfehler?

Danke Andreas
Titel: Antw:dummy via set (nach Update) funktioniert nicht mehr
Beitrag von: amenomade am 28 Februar 2019, 18:02:23
"set <device> <value>" setzt den Zustand des Devices.
Um ein Reading zu setzen heisst es "setreading <device> <reading> <value>"
Titel: Antw:dummy via set (nach Update) funktioniert nicht mehr
Beitrag von: KernSani am 28 Februar 2019, 18:43:29
Schau dir auch mal die Attribute readinglist und ggf. setlist an


Kurz, weil mobil
Titel: Antw:dummy via set (nach Update) funktioniert nicht mehr
Beitrag von: Otto123 am 01 März 2019, 18:16:41
Zitat von: amenomade am 28 Februar 2019, 18:02:23
"set <device> <value>" setzt den Zustand des Devices.
Um ein Reading zu setzen heisst es "setreading <device> <reading> <value>"
Naja nicht mit readingList  ;) da geht dann auch set Device Reading Value
ZitatreadingList
Space separated list of readings, which will be set, if the first argument of the set command matches one of them.

Gruß Otto
Titel: Antw:dummy via set (nach Update) funktioniert nicht mehr
Beitrag von: amenomade am 01 März 2019, 18:18:48
Zitat von: Otto123 am 01 März 2019, 18:16:41
Naja nicht mit readingList  ;) da geht dann auch set Device Reading Value
Gruß Otto
Wieder was gelernt ;)
Titel: Antw:dummy via set (nach Update) funktioniert nicht mehr
Beitrag von: Jamo am 01 März 2019, 21:04:55
readingList:  Space separated list of readings

Andreas, Du hast "," separated list of readings