Autor Thema: [gelöst] Globale Variable für PRESENCE absenceThreshold?  (Gelesen 225 mal)

Offline kroman

  • Jr. Member
  • **
  • Beiträge: 87
define d_settings dummy
setreading d_settings presence_lan-ping_absenceThreshold 2

define whatever PRESENCE lan-ping whatever 5
attr whatever absenceThreshold {ReadingsVal("d_settings","presence_lan-ping_absenceThreshold","1")}

absenceThreshold must be a valid integer number

Einzige Lösung wäre das PRESENCE Modul zu ändern, richtig?
Oder weiß jemand einen anderen Weg?

Danke und Gruß,
kroman
« Letzte Änderung: 25 Juli 2018, 09:00:05 von kroman »

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9944
    • Otto's Technik Blog
Antw:Globale Variable für PRESENCE absenceThreshold?
« Antwort #1 am: 24 Juli 2018, 22:01:13 »
Hi kroman,

abgesehen davon, dass mich der Titel deiner Frage verwirrt.  :-[
So geht es sicher nicht wie Du bemerkt hast, siehe auch, da steht nix von Perl:
Zitat
presenceThreshold
(Nicht im Modus "event" anwendbar)
Die Anzahl an Checks, welche in "present" resultieren müssen, bevor der Status der PRESENCE-Definition auf "present" wechselt. Mit dieser Funktion kann man die Anwesenheit eines Gerätes verifizieren bevor der Status final auf "present" geändert wird. Wenn dieses Attribut auf einen Wert >1 gesetzt ist, werden die Readings "state" und "presence" auf den Wert "maybe present" gesetzt, bis der Status final auf "present" wechselt.

Standardwert ist 1 (keine Anwesenheitsverifizierung)

Aber userattr sollte gehen.

Gruß Otto
« Letzte Änderung: 24 Juli 2018, 23:11:54 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,ET9200,Arduino nano,ESP8266

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 18819
Antw:Globale Variable für PRESENCE absenceThreshold?
« Antwort #2 am: 24 Juli 2018, 22:04:25 »
Es ist nicht ueblich, dass "normale" Attribute Ihren Wert als Perl-Ausdruck auswerten, und ich meine es waere auch nicht sinnvoll damit anzufangen.

Man kann leicht die gleiche Funktionalitaet durch ein notify erreichen:define n notify d_settings:presence_lan-ping_absenceThreshold.* attr whatever absenceThreshold $EVTPART1

Offline kroman

  • Jr. Member
  • **
  • Beiträge: 87
Antw:Globale Variable für PRESENCE absenceThreshold?
« Antwort #3 am: 24 Juli 2018, 23:02:41 »
@Otto,

danke, aber ich bin nicht in der Lage zu durchschauen, wie global userattr meine Aufgabenstellung lösen kann.
Der Titel passt soweit denke ich  :)

@Rudi,

danke, das funktioniert sicher. Nur bräuchte ich für jedes lan-ping device wieder ein notify (bzw. müsste man das eine notify pflegen falls Ausbau möglich).
Dann konfiguriere ich es lieber manuell in jedem device, da es kaum bis nie Änderungen geben wird.
Wobei... hast du ein notify für mehrere Geräte parat (ala list TYPE=PRESENCE)?

Zitat
Es ist nicht ueblich, dass "normale" Attribute Ihren Wert als Perl-Ausdruck auswerten, und ich meine es waere auch nicht sinnvoll damit anzufangen.

agree (in aller Bescheidenheit, da <> perl Experte)

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9944
    • Otto's Technik Blog
Antw:Globale Variable für PRESENCE absenceThreshold?
« Antwort #4 am: 24 Juli 2018, 23:11:17 »
warum verwendest Du ständig global? Unter global verstehe ich etwas anderes. Ich habe auch nix von global userattr gesagt.

Aber ich war im falschen Film und meinte userreadings - sorry.

Du kannst doch aber attr $NAME absenceThreshold $EVTPART1 verwenden und musst nur die Namen / den trigger fürs notify so machen, das er auf Deine Geräte anspricht.

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,ET9200,Arduino nano,ESP8266

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 18819
Antw:Globale Variable für PRESENCE absenceThreshold?
« Antwort #5 am: 25 Juli 2018, 07:16:17 »
Zitat
Wobei... hast du ein notify für mehrere Geräte parat (ala list TYPE=PRESENCE)?
Du meinst sowas wie define n notify d_settings:presence_lan-ping_absenceThreshold.* attr TYPE=PRESENCE absenceThreshold $EVTPART1Ja, das geht laut commandref: https://fhem.de/commandref_modular.html#attr :)

Offline kroman

  • Jr. Member
  • **
  • Beiträge: 87
Antw:Globale Variable für PRESENCE absenceThreshold?
« Antwort #6 am: 25 Juli 2018, 08:59:43 »
So werd ich's machen, danke!

Der absenceThreshold schadet auch bei lan-bluetooth und shellscript nicht.