Neues Modul: 70_Jabber.pm

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

Vorheriges Thema - Nächstes Thema

Ralf W.

Hallo BioS,

bin nach Deiner Anleitung im Wiki vorgegangen. Ich habe Ubuntu 16.04.1-Server. Ein Unterschied zu Deiner Beschreibung:
dpkg -i libotr2-dev_3.2.1-1+deb7u2_amd64.deb
brachte einen Abhängigkeitsfehler. Dieser wurde aufgelöst mit
wget http://ftp.de.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11-dev_1.5.0-5+deb7u4_amd64.deb
apt-get install libgpg-error-dev
dpkg -i libgcrypt11-dev_1.5.0-5+deb7u4_amd64.deb

Danach
dpkg -i libotr2-dev_3.2.1-1+deb7u2_amd64.deb
cpan
cpan> notest install Crypt::OTR
apt-get install haveged


Attribut OTREnable auf 1 gesetzt und Status sprang sofort auf
OTR enabled and active


Rennt. Danke!

MfG
http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

BioS

Hi Ralf,

danke für das ausprobieren und den fix.
Ich hab im Wiki deinen Eintrag "apt-get install libgpg-error-dev" einfach mal hinzugefügt, das tut auf einem 16.04.02 bestimmt auch nicht weh :)

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

ThomasMagnum

Hallo liebe Jabber Fans,

ich bräuchte mal wieder einen kleine Hinweis.

Folgendes Vorhaben:
Ich sende mir bei bestimmten Events Nachrichten per Jabber zu. Das klappt wunderbar. Nun möchte ich diese Nachrichten ein wenig formatieren, sprich ich möchte beispielsweise Leerzeilen einfügen. Nur weiß ich leider nicht wie.

Meine Suche im Forum und im I-Net haben mir bisher auch nicht wirklich helfen können. Evtl. hat ja hier jemand einen Tipp für mich.
Versucht habe ich schon \n in allen erdenklichen Formen, hat nur nie etwas gebracht.

Vielen Dank schon mal für einen Hinweis.

Gruß, Thomas

ThomasMagnum

#243
Hallo,

hat hier keiner eine Idee? Die Tipps in folgenden Thread (https://forum.fhem.de/index.php/topic,69630.0.html) habe ich schon versucht, führen aber leider nicht zum Erfolg.
Hier mal der Aufbau meiner Nachricht (aus einem funktionierenden DOIF):
(set FHEM_Schichtel msg emfänger@domain.de Jabber-Nachricht-> Hier steht die Nachricht und soll zwischendurch mal einen Zeilenumbruch erhalten[Device:Reading])

Gewünscht wäre die folgende Nachricht:

Jabber-Nachricht->
Hier steht die Nachricht und soll zwischendurch mal einen Zeilenumbruch erhalten
Readingwert

Ein einfaches einfügen von \n erzeugt leider keinen Zeilenumbruch, obwohl das FHEM und Prosody auf einem Linux (Rasbian) laufen.

Thomas

BioS

Hi ThomasMagnum,
ich denke das kommt daher, dass dein DOIF das \n nicht als newline interpretiert, und die Zeichenfolge "\" und "n" mitgibt.

Du kannst mal in deinem DOIF Befehl folgendes probieren:
anstatt ein direktes
set jabberdevice empfänger@domain.de message1\nmessage2
probier mal dashier:
{ fhem("set jabberdevice empfänger@domain.de message1\nmessage2") }

damit wird der Befehl als Perl Code ausgeführt und damit auch das \n richtig interpretiert - so funktioniert das in den Tests bei mir ganz gut.

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

ThomasMagnum

Hallo BioS,

vielen Dank für den Tipp, das Gute liegt manchmal so nah :-[!

Gruß, Thomas

econ_sl83

Zitat von: joshi am 21 Januar 2017, 23:14:47
Ich möchte dir davon abraten:


  • Die CPAN crypt:otr ist seit langer Zeit nicht mehr geupdatet worden. Unter anderem aus diesem Grund brauchst du die alte libotr2. Diese ist selbst in Debian (das für seine alten Packete bekannt ist) nicht mehr enthalten.
  • Mit einer alten library zerschiesst du die möglicherweise das System
  • OTR ist für mobile Kommunikation nicht geeignet

Wenn du es dennoch installieren möchtest:

wget http://http.debian.net/debian/pool/main/libo/libotr/libotr_3.2.1.orig.tar.gz #runterladen
tar xfvz libotr_3.2.1.orig.tar.gz #entpacken


Anschließend in das Verzeichnis wechseln und ./configure ausführen und alle fehlenden Abhängigkeiten beheben (ich musste libgcrypt20-dev nachinstallieren) und "make" sowie "sudo make install" ausführen.

Hallo liebes Forum,

ich möchte diesen Teil der Diskussion nochmal aufgreifen: OTR klappt bei mir - auf einem RPi3 mit Jessie - auch nicht, was mir bisher egal war, weil der jabber-Server nur cm daneben lokal auf einem separaten Pi lief. Nun möchte ich Prosody auf einen öffentlichen Server, als private Installation auf meinem uberspace, umziehen.

Verständnisfrage an die Jabber-Experten ist nun: Wie schlimm wäre dann der Verzicht auf OTR hinsichtlich der Sicherheit? Nach meinem laienhaften Verständnis wäre ja die Verbindung fhem_Pi --> (Jabber_Server auf meinem uberspace) dennoch TLS/SSL verschlüsselt.

Ein Problem gäbe es also "nur" gegenüber dem Betreiber des Servers, der ich selbst bin. Oder?


Habt vielen Dank!  :)


ThomasMagnum

Hallo econ_sl83,

deine Annahme ist korrekt, sofern du Prosody entsprechend konfiguriert hast (http://prosody.im/doc/security).
Somit wäre die Verbindung bzw. Übertragung der Daten TSL verschlüsselt.

OTR hat im praktischen Einsatz eh so seine Probleme, da dies nur funktioniert wenn beide Partner online sind, dann ist es aber nicht mehr möglich nachzuweisen wer, wann mit wem gesprochen hat.

Viel besser wäre der Eiinsatz von OMEMO, da kann auch einer der Gesprächspartner offline sein. Leider gibt es aber keine Unterstützung hierfür.

Gruß, Thomas

drdownload

OMEMO wäre zwar cool, aber ist kein Killerkriterium ;)

Was schon viel interessanter wäre: Bilder verschicken zB über http_upload
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

ThomasMagnum

drdownload,

da gebe ich dir natürlich Recht, würde ich ebenfalls begrüßen.  ;)

borsti67

Hallo BioS,

kann es sein, dass unter bestimmten Voraussetzungen die Kommunikation mit dem Server einseitig abbricht? Seitdem ich FHEM auf einem Pi Zero betreibe habe ich ca. alle 2 Tage einen FHEM-Absturz, und die größte Auffälligkeit sind große Mengen CLOSE_WAIT - Meldungen bei lsof (und das auch wenn gar keine Messages per Jabber geschickt wurden).

Ich habe das Problem ursprünglich hier beschrieben.
Meine Definition sieht so aus:
defmod IM Jabber <server> 5222 <jabberid> <passwort> 1 0
attr IM OnlineStatus available
attr IM PollTimer 4
attr IM RecvWhitelist .*
attr IM ResourceName FHEM
attr IM icon ring


Liegt es tatsächlich an diesem Modul? Wenn nicht, wo kann ich dann suchen - und wenn ja, was kann ich tun?
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)

BioS

Hi Borsti,
ich hab nichts vergleichbares von anderen gehört, noch haben meine Systeme, auf denen ich das betreibe, in irgendeiner Art dasselbe Problem..
Aber warum nicht? Ich hab wirklich schlechte Erfahrung mit den Perl Modulen gemacht, wenn sich da bei den updates was ändert kann es sein dass ein sub-modul plötzlich rumspinnt.

Ich antworte dir auch mal in dem anderen Thread, aber deine beste Möglichkeit, das zu testen, ist mein Modul zu deaktivieren und dass ganze dann vorallem auch mal länger laufen zu lassen.

Wenn du ein Speicherleck hast und du mein Modul deaktivierst, jedoch das Problem an sich noch besteht, wird es länger dauern bis der Fehler wieder auftaucht.

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

Pyromane

Guten Abend,

ich habe vor ca zwei Jahren mal das Jabber Modul ausprobiert, musste es jedoch wieder raus nehmen da ich Probleme mit volllaufenden RAM(Raspi der ersten Generation mit Arch) hatte.
Inzwischen habe ich die Hardware gewechselt und die Chance genutzt das ganze FHEM zu virtualisieren, sowie auf Ubuntu gewechselt. Interessanterweise habe ich ein Problem vom damals immer noch, Jabber geht immer wieder kurz offline:
  19:11:29: FHEM ist nun offline (war Online)
  19:11:30: FHEM ist nun online (war Online)
  19:17:02: FHEM ist nun offline (war Online)
  19:17:04: FHEM ist nun online (war Online)

Damals führte damals dazu dass ich das System alle zwei drei Tage rebooten musste um es ansprechbar zu halten, heute habe ich deutlich mehr RAM(24 fache) und kann das nicht mehr nachvollziehen.

Was könnte dir Ursache sein das FHEM scheinbar ständig die Verbindung zum Jabber Server verliert?
Verbose 5 scheint keinerlei Auswirkungen auf die Anzahl der Log Einträge zu haben.


Internals:
   CONNINFO   Connected to jabber.at with username fhem
   DEF        jabber.at 5222 fhem XXXX 1 0
   NAME       myJabber
   NR         15
   STATE      Connected
   TYPE       Jabber
   helper:
     otractive  0
     password   XXX
     port       5222
     server     jabber.at
     ssl        0
     tls        1
     username   fhem
     otrJIDs:
Attributes:
   OnlineStatus available
   PollTimer  1
   RecvWhitelist XXX@jabber.fsinf.at
   ResourceName FHEM
   verbose    5


Danke!
Wünsche noch einen schönen restlichen Sonntagabend.
Pyromane

BioS

Ahoi Pyromane,

aus dem stehgreif hab ich keine Antwort was das soll, aber check auf jeden Fall mal deine Perl-Modul versionen.
Ein paar posts weiter hinten hab ich da ziemlich ausführliche Anleitungen dazu geschrieben.

Dann versuch mal das debugging im Modul zu aktivieren:
Öffne die 70_Jabber.pm und setze die Variable $debug in Zeile 69 auf 1

Restarte dann FHEM und du solltest ausführliche Informationen im FHEM log in extra viel Informationen in der Datei /tmp/jabberdebug.log finden.

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

Pyromane

#254
Hallo BioS,

danke für die Hinweise, ich habe mal deine Anleitung soweit ich gekommen bin abgearbeitet, leider kann er den letzten dpkg Befehl nicht ausführen:
dpkg -i libotr2-dev_3.2.1-1+deb7u2_amd64.deb
Selecting previously unselected package libotr2-dev.
(Reading database ... 30001 files and directories currently installed.)
Preparing to unpack libotr2-dev_3.2.1-1+deb7u2_amd64.deb ...
Unpacking libotr2-dev (3.2.1-1+deb7u2) ...
dpkg: dependency problems prevent configuration of libotr2-dev:
libotr2-dev depends on libgcrypt11-dev; however:
  Package libgcrypt11-dev is not installed.

dpkg: error processing package libotr2-dev (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libotr2-dev


Gruß
Pyromane

Tante EDIT sagt:
eine Bitte hätte ich noch, wenn möglich bitte jede Zeile vom jabberdebug.log mit einer Zeitangabe versehen. Danke!