Autor Thema: PRESENCE  (Gelesen 19882 mal)

Offline kostra

  • New Member
  • *
  • Beiträge: 27
PRESENCE
« am: 02 Februar 2013, 22:18:00 »
Hallo,
erst einmal vielen Dank für das neue Modul.
Nachdem ich ein Update gemacht und den den WIKI-Artikel gelesen habe, habe ich versucht, mein Handy (Android) pingen zu lassen:

define HANDY PRESENCE lan-ping 192.168.71.22 (IP aus der FB7390 ausgelesen)

Es kommt folgende Fehlermeldung
wrong syntax: define <name> PRESENCE lan-bluetooth <bluetooth-device-address> <ip-address>[:port] [ <timeout> ]

Nein, ich möchte lan-ping, nicht lan-bluetooth :-(

Grüße
kostra
FHEM version Fhem 5.8
auf einer RasPi
via CUL868 V1.55

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21304
Aw: PRESENCE
« Antwort #1 am: 02 Februar 2013, 23:24:24 »
gib mal den timeout mit an. ich hatte beim lokalen bluetooth das gleiche problem.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3695
Aw: PRESENCE
« Antwort #2 am: 03 Februar 2013, 00:32:06 »
Hallo zusammen,

ist gefixed und ab morgen verfügbar.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline kostra

  • New Member
  • *
  • Beiträge: 27
Aw: PRESENCE
« Antwort #3 am: 03 Februar 2013, 12:42:47 »
Ja, Fehlermeldung ist weg.
Allerdings läuft das jetzt seit ca. 2 Stunden (ohne Angabe von timeout), ohne das sich state ändert =>

STATE ???

Mache ich etwas falsch, läuft das grundsätzlich auf einer FritzBox nicht, oder hat das Modul noch einen Hänger?

Grüße
kostra
FHEM version Fhem 5.8
auf einer RasPi
via CUL868 V1.55

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3695
Aw: PRESENCE
« Antwort #4 am: 03 Februar 2013, 13:36:57 »
Hi Kostra,

in der Tat funktionierte das so nicht. Das Ping-Modul auf der FritzBox arbeitet defaultmäßig ein wenig anders als das auf meinem FHEM Server.

Habe ich soeben im SVN gefixt. Kannst du dir entweder direkt aus dem SVN herunterladen, oder bis morgen warten.

Generell gibt es aber auch die Möglichkeit auf einer FritzBox den Mode "fritzbox" zu benutzen. Schau mal in die Commandref oder in das Wiki rein. Ist ganz neu seit heute verfügbar.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline det.

  • Hero Member
  • *****
  • Beiträge: 1363
Aw: PRESENCE
« Antwort #5 am: 03 Februar 2013, 14:56:53 »
Hallo Markus,

vielen Dank für das nützliche Modul. Habe  damit die Konstruktion mit Dummy etc. Entsprechend dem WIKI Artikel http://www.fhemwiki.de/wiki/FritzBox:_WhoIsAtHome ersetzt. Funktioniert prima mit zwei iPhone 4 und 4S.
LG
det.

Offline AnonymousHolger

  • Full Member
  • ***
  • Beiträge: 122
Aw: PRESENCE
« Antwort #6 am: 03 Februar 2013, 15:11:34 »
Hallo Markus,

die Idee mit dem allgemein verwendbaren PRESENCE Modul gefällt mir gut.

Jetzt will ich meine alte Routine ersetzen, habe aber Probleme.

Mein script sieht folgendermassen aus (sowohl lan-ping, als auch fritzbox (läuft auf FB7390))

#define HolgerIP PRESENCE lan-ping 192.168.0.32 60
#define MariaIP PRESENCE lan-ping 192.168.0.43 60
define HolgerIP PRESENCE fritzbox Holger-IP4 60
define MariaIP PRESENCE fritzbox Maria-IP4S 60

define testwlan at +*00:05:00 {\
    if (value(HolgerIP) eq "present") {\
        fhem "set HomeStatus ZuHause";;\
        fhem "set Holger_zu_Hause on";;\
    }\
    else {\
      fhem "set Holger_zu_Hause off";;\
      fhem "set HomeStatus NichtzuHause";;\
      if (value(MariaIP) eq "present") {\
          fhem "set HomeStatus ZuHause";;\
      }\
    }\
    if (value(MariaIP) eq "present") {\
        fhem "set HomeStatus ZuHause";;\
        fhem "set Maria_zu_Hause on";;\
    }\
    else {\
      fhem "set Maria_zu_Hause off";;\
      fhem "set HomeStatus NichtzuHause";;\
      if (value(HolgerIP) eq "present") {\
          fhem "set HomeStatus ZuHause";;\
      }\
    }\
}
attr testwlan room 5_SYSTEM


Ich bekomme folgende Fehlermeldung (auszug aus dem LOG)
2013.02.03 15:02:57 1: CallBlockingFn: No telnet port found for sending the data back.
2013.02.03 15:02:57 1: CallBlockingFn: No telnet port found for sending the data back.
Bareword "HolgerIP" not allowed while "strict subs" in use at (eval 69) line 1.
Bareword "MariaIP" not allowed while "strict subs" in use at (eval 69) line 1.
Bareword "HolgerIP" not allowed while "strict subs" in use at (eval 69) line 1.
Bareword "MariaIP" not allowed while "strict subs" in use at (eval 69) line 1.


Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3695
Aw: PRESENCE
« Antwort #7 am: 03 Februar 2013, 15:28:17 »
Hi,

das liegt daran, das du keinen Telnet-Port für FHEM definiert hast. Die Shell-Befehle werden separat von FHEM entkoppelt. Sobald die Ergebnisse vorliegen, werden diese per Telnet quasi wieder zurück an den FHEM Mutter-Prozess gegeben.

Bitte füge deiner Konfiguration folgende Zeile hinzu:


define TELNET telnet 7072 global

# Um das Telnet-Device nirgendwo anzeigen zu lassen, optional:
attr TELNET room hidden


Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline AnonymousHolger

  • Full Member
  • ***
  • Beiträge: 122
Aw: PRESENCE
« Antwort #8 am: 03 Februar 2013, 16:56:25 »
Danke für die Info.

Telnet war drin, nur in der config an der falschen Stelle.

Hab nun auch meine Routine korrigiert. Funktioniert nun einwandfrei. Der eigentliche Fehler war wohl durch meine falsche Abfrage des Parameters. Korrekt funktioniert: if ("$value{HolgerIP}" eq "present")

Gibt es eine "onChange" event, der meine Homestatus routine nur dann triggern kann, wenn sich einer der "Presence" Stati ändert ?

Dann brauche ich nicht alle "X Minuten" prüfen.

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3695
Aw: PRESENCE
« Antwort #9 am: 03 Februar 2013, 20:19:24 »
Hi,

ja das gibts. Über das Attribut "event-on-change-reading" kann man steuern, das nur bei einer Änderung der darin eingetragenen Readings ein Event generiert werden soll.

Also:

define HolgerIP PRESENCE fritzbox Holger-IP4 60
attr HolgerIP event-on-change-reading state

define MariaIP PRESENCE fritzbox Maria-IP4S 60
attr MariaIP event-on-change-reading state



Nicht wunder, das man in der GUI nur 0 und 1 auswählen kann. Keine Ahnung warum das so ist. In der Commandref ist das aber entpsrechend dokumentiert (Folge dem Link readingFnAttributes aus der Attributliste von PRESENCE)

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 851
Aw: PRESENCE
« Antwort #10 am: 04 Februar 2013, 07:04:25 »
Hallo!

Habe das modul auch mal versucht, auf mein qnap server mit fhem aber es klappt nicht.
Liegt es vielleicht daran das fhem bei mir nicht auf der Fritzbox läuft?

Mfg Steffen

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3695
Aw: PRESENCE
« Antwort #11 am: 04 Februar 2013, 10:25:12 »
Hallo Steffen,

was genau funktioniert denn bei dir nicht und was siehst du (Logeinträge, Fehlermeldungen, etc.)?

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 851
Aw: PRESENCE
« Antwort #12 am: 04 Februar 2013, 12:05:39 »
Hallo!

Also bei state habe "???", habe auch mit anderen Lan-Geräten versucht aber gleiches ergebniss!
Mein fhem läuft unter debian auf einem qnap mit HMLan adapter und als dsl zugang nutze ich eine Fritzbox(kabeldeutschland)!
Als fehler meldung habe ich das hier:
CallBlockingFn: No telnet port found for sending the data back
kann aber nicht sagen ob es damit zusamen hängt???

Danke
Mfg Steffen

Offline Reinerlein

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2134
Aw: PRESENCE
« Antwort #13 am: 04 Februar 2013, 13:08:30 »
Hi Steffen,

ich kann zwar nichts zum Modul sagen, aber das klingt so, als ob du das Modul vor der Definition des TelnetPorts definierst.
Oder ist dieser Port vielleicht gar nicht in deiner Config?

Grüße Reinerlein

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3695
Aw: PRESENCE
« Antwort #14 am: 04 Februar 2013, 13:17:08 »
Hi Steffen,

wie Reinerlein richtig vermutet hat, fehlt dir hier der Telnet Port.


define TELNET telnet 7072 global

# Um das Telnet-Device nirgendwo anzeigen zu lassen, optional:
attr TELNET room hidden



Dieser muss vor der Definition von PRESENCE stehen. Hier werde ich aber nochmal nachbessern um in einem solchen Fall das Device nicht im Regen stehen zu lassen.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

 

decade-submarginal