PRESENCE

Begonnen von kostra, 02 Februar 2013, 22:18:00

Vorheriges Thema - Nächstes Thema

klaus.schauer

Ich habe zwei fast identische Fhem-Installationen auf zwei FRITZ!Boxen 7390 mit der Firmware 5.50.

- Auf der einen FRITZ!Box ist Fhem 5.3 als "Update" des 5.2-Paketes installiert. Hier funktioniert Option lan-Ping und fritzbox.
- Auf der zweiten FRITZ!box habe ich das Fhem als 5.3-Paket installiert und aktualisiert. Hier kommt die Fehlermeldung beim Fhem-Start: icmp ping requires root privilege at ./FHEM/73_PRESENCE.pm line 359

Welche Parameter sind zwischen den beiden Grundpaketen verschieden? Was muss ich anpassen, damit PRESENCE auf beiden Systemen lauffähig ist?

Markus Bloch

Hallo Klaus,

das Problem ist, dass FHEM 5.3 über das FritzBox Image nicht mit root-Rechten läuft (Administrator-Privilegien). Dadurch funktioniert PRESENCE nicht.

Im FHEM-Wiki ist unter http://www.fhemwiki.de/wiki/FritzBox:_fhem_unter_root_starten beschrieben, wie man FHEM auf der FritzBox mit root-Rechten starten kann.

Probier es mal aus.

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)

Steffen

Zitat von: Markus Bloch schrieb am Mo, 04 Februar 2013 13:17Hi 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


Hallo!

Danke für die schnelle Antwort, aber telnet habe ich schon in meiner cfg, hier mal ein Auszug:
define telnetPort telnet 7072 global
attr telnetPort globalpassword xxxx
attr telnetPort password xxxxx

aber kann es sein das es an dem Password schutz liegt???
Ich nutze aber kein telnet auf der Fritzbox oder hat es nichts damit zu tun oder sollte ich den port in fritzbox von telnet an qnap weitereliten??

Mfg Steffen

kostra

Hallo,
ich möchte einfach mal positive Rückmeldung geben: es läuft jetzt bei mir.
Meine Änderungen:
- FHEM mit root Rechten gestartet
- telnet VOR Aufruf des Moduls freigegeben

...kaum macht man es richtig, geht es :-)

Vielen Dank für das Modul!
kostra
FHEM version Fhem 5.8
auf einer RasPi
via CUL868 V1.55

klaus.schauer

Das Module PRESENCE läuft jetzt. Die Umstellung auf root war die Lösung. Jetzt sehe ich, dass PRESENCE merklich Prozessorleistung auf der FRITZ!Box 7390 zieht. Es kommt periodisch zu Belastungsspitzen von teilweise mehr als 60 %. Gibt es dazu Erfahrungen?

Markus Bloch

Du nutzt bestimmt den Mode fritzbox. Da werde ich nochmal eine Entschärfung einbauen.

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)

det.

Zitat von: klaus.schauer schrieb am Di, 05 Februar 2013 14:57Das Module PRESENCE läuft jetzt. Die Umstellung auf root war die Lösung. Jetzt sehe ich, dass PRESENCE merklich Prozessorleistung auf der FRITZ!Box 7390 zieht. Es kommt periodisch zu Belastungsspitzen von teilweise mehr als 60 %. Gibt es dazu Erfahrungen?

Habe es nicht gemessen, aber ...gefühlt reagiert die weboberfläche auf dem iPad seit Sonnabend nach der Umstellung auf das PRESENCE Modul langsamer - dafür funktioniert es schneller als die bisherige Lösung aus dem WIKI. Das wird der Autor aber sicher noch optimieren.
LG
det.

Markus Bloch

Hi,

ich hab gegen die hohe Belastung auf der FritzBox einen Fix im SVN eingebracht. Probiert bitte morgen mal via update und Neustart aus, wie sich die Leistung dann so verhält.

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)

Roger

Hi,
auf meiner Fritzbox 7390 (FHEM unter root) läuft PRESENCE ohne Probleme (mit define <name> PRESENCE fritzbox <gname>).

Aber auf meinem RaspberryPI meldet er:
icmp ping requires root privilege at ./FHEM/73_PRESENCE.pm line 359

Auf dem RPi läuft FHEM unter user 'fhem'.

Ich habe mal Zeile 359 in 73_PRESENCE.pm wie folgt geändert:
my $pingtool = Net::Ping->new("tcp");

Dann geht es.

Also entweder man läßt fhem als root laufen (weiß aber nicht wie), oder man verwendet einen tcp statt icmp ping.
Oder weiß jemand eine bessere Lösung?
Zotac, BBB, RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly

Reinerlein

Hi Roger,

ich persönlich verwende gerne "syn" an dieser Stelle.
Wenn man dort "tcp" einstellt, wird eine Verbindung zum Echo-Port des Ziels aufgemacht. Leider waren bei meinen Tests mit verschiedenen Geräten die Antwortzeiten wohl teilweise etwas zu hoch, sodass ich öfter mal ein fehlerhaftes "false" bei dieser Abfrage hatte...

Bei "syn" wird nur ein Teil des Verbindungsaufbaus durchgeführt, und dann bereits der Versuch als erfolgreich beendet (das gute alte Flood-Ping halt). Das bedeutet im großen und ganzen, das eine ARP-Auflösung erfolgt und der Verbindungsaufbau initiiert ist, aber der Client nicht unbedingt mit Betriebssystemressourcen antworten muss.

Aber vielleicht läuft das bei dir auch sauber :-)

Grüße Reinerlein

justme1968

es kommt stark auf den server und das abzufragende gerät an welche der unterschiedlichen möglichkeiten funktioniert. vielleicht ist es sinnvoll das konfigurierbar zu machen?

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

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

Markus Bloch

Hallo zusammen,

die richtige Ping-Methode für das richtige Device und den richtigen Server zu finden ist durchaus ein Problem. Ich würde daher anbieten die Ping-Art optional über ein Attribut konfigurierbar zu machen.

Standardmäßig würde ich aber "icmp" verwenden wollen, da das eben der ursprüngliche Ping ist.

Damit sollte jedem geholfen sein, der das ändern möchte. Auf einer FritzBox z.B. ist es nicht möglich ein Ping mit "tcp" oder "syn" durchzuführen (noch ein Grund auf icmp zu bleiben").

Alternativ könnte man es so machen, das generell syn verwendet bist und auf der FritzBox immer icmp. Währe gut wenn ihr das mal testen könntet, ob das auch auf euren Umgebungen passen würde.

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)

kostra

Hallo zusammen,
nachdem das Modul bei mir macht, was es soll, könnte es evtl. noch ein wenig mehr tun :-)
Nun ja, das "Problem" ist, das ich zwei FB7390 nutze: Die eine ist mit dem i-net verbunden und dient als Basis, die andere als Repeater (OS 05.50 => kein WDS, Sicherheit hoch(?), Qualität runter *seufz*). FHEM läuft aus funktechnischen Gründen auf der Repeater-Box.

Auf jeden Fall bin ich laut PRESENCE absent, wenn sich mein Handy an der Basis anmeldet und nicht am Repeater.

Ich bin hoffentlich nicht der Einzige mit dieser Konstellation, und evtl. kann es dafür auch eine Lösung geben?

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

Markus Bloch

Hallo Kostra,

in welchem Modus verwendest du presence denn?

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)

kostra

Hallo,
im Modus "fritzbox". Wie gesagt, wenn sich das Handy an der "fhem" FB anmeldet, funktioniert es wunderbar.
Ich denke fast, das ist eher ein Firmware Problem von AVM, die Version 05.50 ist eher Labor als final...

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