[Gelöst] Mosquitto nur mit Parameter -d nutzbar

Begonnen von Gueco315, 19 Juni 2018, 20:44:03

Vorheriges Thema - Nächstes Thema

Gueco315

Hallo,

nach stundenlangen Kampf habe ich einen Sonoff Basic in Fhem zum Laufen gebracht. Der entscheidende Hinweis kam aus dem Forum. Mit dem Aufruf mosquitto -d erst funktioniert der Broker.
Nach PI Neustart muss der Parameter erneut händisch aufgerufen werden.
Ich habe Jessi installiert.

1) Gibt es dazu eine Lösung / Workaround oder
2) wie kann ich den Aufruf in den FHEM- Start mit reinpacken

Gruß Günter
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

supernova1963

Hallo Günter,

für mich liest sich deine Problemschilderung wie eine nicht korrekt abgeschlossene Mosquitto Installation.
Der Befehl, der den "Dienst/daemon/service" Mosquitto Broker startet, sollte nach erfolgreicher Installation gemäß  dieser Anleitung nach dem Systemstart zur Verfügung stehen (Jessie-Hinweis beachten!).
Was gibt denn der beschriebene Test unmittelbar nach einem Neustart aus
sudo service mosquitto status

Ich hoffe, es hilft,

Gernot

Gueco315

Hallo Gernot,

vielen Dank für den Hinweis. Natürlich habe ich mich an die Anleitung (Jessi) gehalten.
Hier das Ergebnis nach dem Reboot:

[/pi@raspberrypi:~ $ sudo service mosquitto status
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto)
   Active: active (exited) since Wed 2018-06-20 11:12:21 CEST; 59s ago
  Process: 484 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)

Jun 20 11:12:21 raspberrypi mosquitto[484]: Starting network daemon:: mosquitto.
Jun 20 11:12:21 raspberrypi systemd[1]: Started LSB: mosquitto MQTT v3.1 mes....
Hint: Some lines were ellipsized, use -l to show in full.
code]

[code]pi@raspberrypi:~ $ mosquitto_sub -d -v -t \#
Error: Connection refused


Erst wenn ich mosquitto -d eingebe funktioniert der Broker, schon witzig ...

pi@raspberrypi:~ $ mosquitto -d
pi@raspberrypi:~ $ mosquitto_sub -d -v -t \#
Client mosqsub|1111-raspberryp sending CONNECT
Client mosqsub|1111-raspberryp received CONNACK (0)
Client mosqsub|1111-raspberryp sending SUBSCRIBE (Mid: 1, Topic: #, QoS: 0)
Client mosqsub|1111-raspberryp received SUBACK
Subscribed (mid: 1): 0
Client mosqsub|1111-raspberryp received PUBLISH (d0, q0, r1, m0, 'tele/Wegelicht/LWT', ... (6 bytes))
tele/Wegelicht/LWT online


Es hängt eindeutig an dem Port 1883, der erst mit dem Parameter -d für Mosquitto sichtbar wird.

Falls das so nicht geht, wie baue ich dann den Aufruf in die Fhem-Start-Datei ein und wird diese beim Update nicht überschrieben?

Gruß Günter

Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Gueco315

Hallo,

hier noch im Forum den richtigen Hinweis gefunden:

[/https://forum.fhem.de/index.php?topic=68171.0code]

Habe den Befehl: mosquitto -d einfach wie beschieben in die fhem Startdatei eingetragen, nun ist Mosquitto nach dem Neustart nutzbar.

Gruß Günter
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

mark79

Was hast du den für eine Debian Version? Jessy oder Stretch?
Kannst du damit nachschauen: sudo cat /etc/apt/sources.list
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Beta-User

Wer etwas über das verwendete OS wissen will: uname verwenden, siehe
https://linux.die.net/man/1/uname
Ansonsten ist es nicht linux-like, "fremde" startscripte zu verbiegen. Hier wäre ein eigener Eintrag sinnvoller (init.d oder systemd, was einem bei jessie (!) lieber ist) bzw. ggf. ein Problem report an der richtigen Stelle.
Just my2ct.
Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

mark79

Zitat von: Beta-User am 20 Juni 2018, 12:28:17
Wer etwas über das verwendete OS wissen will: uname verwenden, siehe
https://linux.die.net/man/1/uname
Ansonsten ist es nicht linux-like, "fremde" startscripte zu verbiegen. Hier wäre ein eigener Eintrag sinnvoller (init.d oder systemd, was einem bei jessie (!) lieber ist) bzw. ggf. ein Problem report an der richtigen

Mit uname kriegst du nicht raus, welche Version er installiert hat.
Es kann ja sein, das er Stretch hat und die Anleitung für Jessy verwendet hat?!

Ich habe Stretch und bei mir musste ich nur apt-get install mosquitto ausführen, ohne was an der sources.list zu verändern.
Auch wurde das direkt ins init übernommen, also so das mosquitto bei Systemstart gestartet wird.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Beta-User

Nutze auch stretch (pure i386-debian), und mosquitto läuft ootb (in den Sourcen fehlende perl-Pakete mit dh-make-perl debianisiert).
Wenn er allerdings irgend einen Hau in die Sourcenliste gebaut hat, wird er genau den nicht finden, wenn er dort sucht, daher der Hinweis.
Ansonsten hilft evtl. "cat /etc/os-release".
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors