Neues Modul: 70_Jabber.pm

Begonnen von BioS, 18 Januar 2014, 11:51:20

Vorheriges Thema - Nächstes Thema

gent

Hallo zusammen,

in der Nachrichten.app auf MacOS bekomme ich immer den Status "offline" angezeigt obwohl ich Nachrichten senden und empfangen kann. Ein List liefert:
Internals:
   CONNINFO   Connected to jabber.de with username <myfhemuser>
   DEF        jabber.de 5222 <ihr wisst schon was hier steht>
   NAME       jabber
   NR         115
   STATE      Connected
   TYPE       Jabber
   Readings:
     2016-12-20 22:20:33   LastMessage     Ich maile mal zurück
     2016-12-20 22:20:33   LastSenderJID   <myuser>@jabber.de
     2016-12-20 22:20:33   Message         <myuser>@jabber.de Ich maile mal zurück
   Helper:
     otractive  0
     password   <mypassword>
     port       5222
     server     jabber.de
     ssl        0
     tls        1
     username   <myfhemuser>
     Otrjids:
Attributes:
   OnlineStatus available
   PollTimer  2
   RecvWhitelist <myuser>@jabber.de
   ResourceName FHEM
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

BioS

Hi,

du könntest mal versuchen das Attribut Onlinestatus zu ändern.
Wie sich das auswirkt hängt vom Jabber Server ab, aber ich würde es mal mit folgendem probieren:
attr JabberModul OnlineStatus Online
oder
attr JabberModul OnlineStatus availible
FHEM auf Debian in ESXi5 VM
Homematic mit HMLAN
Raspi mit Pilight für Relais der Heizung

gent

Hi BioS,

das hat leider keine Auswirkung. Vielleicht ist es nicht ganz klar, was ich gemeint habe: Es geht um den User, den ich für FHEM angelegt habe. Dessen Status steht auf Offline.

Viele Grüße
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

Devender

Mir ist es immer noch nicht klar  ???
Der User XX dessen Konto du per Jabberclient auf deinem z.b Handy eingerichtet hast?
Oder der User XX, der bei jabber.de oder bei ejabberd (auf dem PI) eingerichtet ist?

Kannst du vielleicht zum Verständnis einen Screenshot hochladen?

FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

gent

OK, ich versuch's mal.

In FHEM habe ich als Device

jabber.de 5222 <user auf jabber.de für fhem>

definiert. In FHEM sehe ich:

CONNINFO
Connected to jabber.de with username <user auf jabber.de für fhem>

STATE
Connected

Das Attribut OnlineStatus dieses Devices steht auf
available

In beigefügtem Screenshot sieht man den Status dieses Users in der Messages-App auf iOS

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

Devender

hast du in der App, dein fhem als Kontakt eingerichtet?
Die damit sozusagen verknüpft wie bei Messangern üblich?
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

gent

fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

Devender

dann bin ich jetzt auch Ratlos...   :-X
Letzter Strohalm die App bzw. Problem iOS.
Ich nutze nur Android und die Xabber ab. Dort funktioniert der Onlinestatus so wie bei dir beschrieben.

Hast du eine Möglichkeit es unter Windows (Desktop) oder Android zu testen?
Um wirklich noch Konfigurationsfehler auszuschließen
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

gent

Hi,

unter Windows evtl. muss ich morgen mal schauen, Android Geräte mit denen ich testen kann habe ich leider keine...

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

ThomasMagnum

Hallo zusammen,

ich eine Frage die nicht direkt mit dem Jabber Modul zusammenhängt, aber ich möchte meine FHEM Bedienung per Jabber weiter ausbauen.
Meine Idee ist die "einfache" Befüllung bzw. Leerung eines Einkaufszettels unter Zuhilfenahme von Jabber.

Konkret setze ich das Modul "PostMe" https://wiki.fhem.de/wiki/Modul_PostMe ein und möchte die von mir erstellte Notiz "Einkauf" per Jabber füllen bzw. leeren. Da ich und meine Familie nicht jedesmal den kompletten fhem Befehl (set Notizen add Einkauf Wurst) eingeben möchten, habe ich versucht anhand der von Hexenmeister zur Verfügung gestellten Codes für die 99_myUtils.pm dies abzukürzen - leider ohnen Erfolg.
Mein Ziel ist durch Eingabe eines Codewortes den Teil "set Notizen add Einkauf" zu ersetzen und beispielsweise nur "eink+ Wurst" einzugeben. Im Hintergrund wird dann der komplette Code (set Notizen add Einkauf Wurst) ausgeführt und mene Einkaufsliste um den Artikel Wurst befüllt.

Hat hier einer die Kenntnisse in Perl wie ich mir so etwas bauen kann?

Ich bin für jeden Ansatz dankbar, da ich auch durch Tante Google nicht wirklich weiter komme und ich nur sehr, sehr geringe Perl Kenntnisse habe.

Gruß, Thomas

BioS

Hi zusammen,

@gent: du könntest eine Authorisation probieren:
set Jabbermodulname subscribe deinuser@jabber.de

@ThomasMagnum:
Ich hab mal versucht das umzusetzen in perl-code über ein Notify.
Ersetze "JabberModulName" und "PostMeName" mit dem entsprechenden Namen den du im FHEM definiert hast:

define EinkaufZettelNotify Jabbermodulname:eink.* {}
Dann da draufklicken und die zwei klammern "{}" gegen folgendes ersetzen:

{
  if ($EVENT =~ /eink\+ (?<einktxt>.+)/i) {
    fhem("set PostMeName add Einkauf ".$+{'einktxt'});
  } elsif ($EVENT =~ /eink\- (?<einktxt>.+)/i) {
    fhem("set PostMeName del Einkauf ".$+{'einktxt'});
  }
}


Obiges ist aber ungetestet..

Grüße,
BioS
FHEM auf Debian in ESXi5 VM
Homematic mit HMLAN
Raspi mit Pilight für Relais der Heizung

gent

Hi BioS,

das subscribe führt bei mir zum gnadenlosen Absturz des fhem prozesses. ImLogfile sehe ich anschließend:

Not a CODE reference at /usr/local/share/perl/5.20.2/Net/XMPP/Protocol.pm line 3537.

und im Terminal:

pi@fhem-pi3:~ $ service fhem status
● fhem.service - LSB: FHEM server
   Loaded: loaded (/etc/init.d/fhem)
   Active: active (exited) since Tue 2017-01-03 21:45:58 CET; 3min 34s ago
  Process: 3321 ExecStop=/etc/init.d/fhem stop (code=exited, status=0/SUCCESS)
  Process: 3330 ExecStart=/etc/init.d/fhem start (code=exited, status=0/SUCCESS)
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

BioS

Hi gent,


Das ganze reduziert sich darauf dass man die richtigen Perl-modulversionen installiert (ist ganz schön bescheuert, ich weis..).
Versuch erstmal ein update über cpan, das hilft bei den meisten:

Modul Version checken:
sudo cpan -D XML::Stream
sudo cpan -D Net::XMPP


neueste installieren:
sudo cpan -I XML::Stream
sudo cpan -I Net::XMPP

FHEM auf Debian in ESXi5 VM
Homematic mit HMLAN
Raspi mit Pilight für Relais der Heizung

gent

Hi BioS,

hier mal ein Mittschnitt im Terminal:


pi@fhem-pi3:~ $ sudo cpan -D XML::Stream
CPAN: Storable loaded ok (v2.51)
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 02 Jan 2017 20:17:02 GMT
CPAN: LWP::UserAgent loaded ok (v6.15)
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
CPAN: YAML loaded ok (v1.21)
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
CPAN: Compress::Zlib loaded ok (v2.07)
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Tue, 03 Jan 2017 20:53:42 GMT
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
XML::Stream
-------------------------------------------------------------------------
CPAN: Module::CoreList loaded ok (v5.20161220)
(no description)
D/DA/DAPATRICK/XML-Stream-1.24.tar.gz
/usr/local/share/perl/5.20.2/XML/Stream.pm
Installed: 1.24
CPAN:      1.24  up to date
Darian Anthony Patrick (DAPATRICK)
dapatrick@cpan.org

pi@fhem-pi3:~ $ sudo cpan -D Net::XMPP
CPAN: Storable loaded ok (v2.51)
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 03 Jan 2017 20:53:42 GMT
Net::XMPP
-------------------------------------------------------------------------
CPAN: Module::CoreList loaded ok (v5.20161220)
(no description)
D/DA/DAPATRICK/Net-XMPP-1.05.tar.gz
/usr/local/share/perl/5.20.2/Net/XMPP.pm
Installed: 1.05
CPAN:      1.05  up to date
Darian Anthony Patrick (DAPATRICK)
dapatrick@cpan.org

pi@fhem-pi3:~ $ sudo cpan -I XML::Stream
Can't locate object method "die" via package "Log::Log4perl::Logger" at /usr/local/share/perl/5.20.2/App/Cpan.pm line 1025.
pi@fhem-pi3:~ $ sudo cpan -I Net::XMPP
Can't locate object method "die" via package "Log::Log4perl::Logger" at /usr/local/share/perl/5.20.2/App/Cpan.pm line 1025.


Sieht für mich irgendwie nicht so OK aus...
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

gent

Hier noch eine Info:

Wie gesagt habe ich zwei jabber user:

"fhemgent" für FHEM und "gent" um mit FHEM zu kommunizieren

FHEM stürzt dann nachvollziehbar ab, wenn ich den Status des users "gent" in der Nachrichten app ändere. Setze ich den auf "offline", wird auch der Status von "fhemgent" auf offline gesetzt. Das ist schon mal merkwürdig. Setze ich den Status von "gent" wieder auf "Anwesend" (oder irgendeinen anderen Status), dann stürzt der FHEM Prozess unmittelbar ab.

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto