[Gelöst] ReadingsVal aus Perl geht nicht, InternalVal wohl ?

Begonnen von macfly, 30 Dezember 2017, 13:08:10

Vorheriges Thema - Nächstes Thema

macfly

Hi,

ich programmiere gerade eine Anwesenheitskontrolle (mittels DOIF wird aus den unifi-modul das last_seen ausgewertet), die Stati funktionieren alle perfekt. Die Stati werden einem Dummy zugewiesen, die als userattr noch "name" besitzen, die die Kurzform des Namens hat.
ein presence-dummy heißt z.B. Person.Friedhelm, hat als userattr noch name=Friedhelm, damit ich das später schick machen kann.



Nun möchte ich das ganze in meinen TelegramBot einbauen, dazu habe ich einen Befehl "/personen" definiert und so implementiert:

if($msgText eq "/personen"){
my @persons = devspec2array("Person.*");
my $msg = "Personen:\n";
if (@persons > 0 and defined($defs{$persons[0]})){
  foreach (@persons){
my $presence = InternalVal($_, "STATE", undef);
my $id = InternalVal($_, "NAME", undef);
my $person = ReadingsVal($_, "name", "nobody");
$msg .= "$person ($id) is $presence\n";;
}
}
fhem_bot_response("$msg\n","/hauptmenue");
}


als Antwort bekomme ich immer:

nobody (Person.Friedhelm) is present (oder absent).

wieso klappt das auslesen des userattr nicht?

hier mal ein Dump meines dummys:

defmod Person.Friedhelm dummy
attr Person.Friedhelm userattr name
attr Person.Friedhelm name Friedhelm
attr Person.Friedhelm room Personen


oder hab ich irgendwo ein Denkfehler?

vielen Dank,
Friedhelm

Otto123

Hallo Friedhelm,

wie der Name schon sagt ->
AttrVal für attr
ReadingsVal für Readings
;D
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

macfly

Kaum macht man's richtig, funktionierts ..  ;D

Ich überleg, ob ich dafür nicht einen wrapper baue, das ist ja furchtbar nervig, 3 Methoden, um "eigenschaften" von "sachen" auszulesen ..

Dank dir!

KernSani

Sind ja unterschiedliche "Sachen" ;-) Setzt du auf "gelöst"? (Subject des ersten Posts editieren und [Gelöst] vorne dran schreiben)



RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

so unterschiedlich kann man es sehen - ich finde es logisch. Und ich habe es nicht gemacht  ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz