NEWS
Mosquitto Installation schlägt fehl
-
Hallo zusammen,
Ich habe unter Proxmox eine Debian 10 (buster) in einer VM am laufen.
iobroker läuft in der VM schon. Ebenfalls habe ich Node-Red in der VM zum laufen bekommen.Ziel ist es, meine Sonoffs mittels Node-Red ebenfalls über mqtt steuern zu können (benötige ich ja für Node-Red), bzw. später einmal die Google Assistant Sprachsteuerung mittels Note-Red dann über Adapter an iobroker zu übergeben .
Google sagt dazu: Nutze Mosquitto
und genau hier beötige ich mal Euer Schwarmwissen , da ich es einfach nicht zum laufen bekomme und immer eine Fehlermeldung bei der Installation auftritt. Leider bin ich in Linux nicht so firm, als dass ich diese interpretieren könnte.
Vielen Dank für Eure Mühen schon einmal im Vorraus
Michael -
@fragmike said in Mosquitto installation schlägt fehl:
Vielen Dank für Eure Mühen schon einmal im Vorraus
Als erstes würde ich die mosquitto clients runterschmeissen. Dafür dann lieber den mqtt Adapter im iobroker nutzen. Das ist aber wahrscheinlich nicht das Problem.
Außerdem steht ja dass mosquitto schon auf der Maschine ist. Ich würde nochmal alles mit remove deinstallieren und auch schauen, dass Du unter /etc das mosquitto verzeichnis gelöscht ist.
Wenn alles weg ist - mit update und upgrade überprüfen - ggf. auch noch autoremove durchführen und dann ohne clients nur mosquitto ohne clients installieren.
-
sudo apt update sudo apt install mosquitto --reinstall
-
Hi..Danke für die schnelle Antwort.
Habe mit Purge die mosquitto und mosquitto-clients gelöscht.
Dann Autoremove.
Mosquitto Verzeichnis war keins in etc/ vorhanden
dann noch einmal apt-get mosquitto ausgeführt
Selber Fehler
-
-
@fragmike Vielleicht hast du eine korrupte Datenbank.
/etc/mosquitto $ cat mosquitto.conf # Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf.example pid_file /var/run/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log include_dir /etc/mosquitto/conf.d
Prüfe mal ob in dem Pfad persistence_location eine Datenbank liegt.
/etc/mosquitto/conf.d $ ls /var/lib/mosquitto mosquitto.db mosquitto.db.bak
Falls das Verzeichnis nicht leer ist - lösche den Inhalt des Verzeichnisses. Die Datenbanken werden dann neu angelegt.
Dann schau Dir die Datei: /var/log/mosquitto/mosquitto.log an- da steht vielleicht mehr über den Fehler.
Mit
sudo systemctl start mosquitto
prüfen ob Service startet.
-
-
Boa ey.....
Fehler gefunden.
Auf der VM läuft ja iobroker mit dem SONOFF ADAPTER auf PORT 1883
Ich wusste doch, dass mir diese Zahl bekannt vorkommt
Sobald ich den Adapter pausiere klappts...
Ich denke ich muss also noch eine VM bzw einen Container laufen lassen ....
ALSO WIE FOLGT:
VM mit Note-Red und Mosquitto
Noch eine VM mit iobrokeroder habe ich da einen Denkfehler?
-
@fragmike Nun also entweder läuft der mosquitto mehrfach oder was anderes nutzt 1883.
Du kannst ja wie folgt prüfen, ob da was läuft:
netstat -l Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:9000 0.0.0.0:* LISTEN tcp 0 0 localhost:9001 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1880 0.0.0.0:* LISTEN tcp 0 0 localhost:37467 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN
s. letzter Eintrag.
Ich bin kein Freund davon - Standardports zu verlegen aber das geht einfach.
Wechsel in das Verzeichnis
cd /etc/mosquitto/conf.d
Dort erstellst Du eine leere Textdatei z. Bsp.:
sudo nano mic_mosquitto.conf
Dort gibst Du dann anderen Port (z.Bsp.) wie folgt an:
listener 1885
Ich würde aber lieber rausfinden - was den 1883 belegt. - Hast Du ja bereits getan. - Mein Posting kam etwas zu spät-
-
@fragmike Ja das ist sehr wahrscheinlich, da diese Adapter oft selbst einen MQTT Broker darstellen. Deswegen vermeide ich es diese Adapter zu verwenden.
Ich habe Dir gerade geschrieben, wie Du den Port von Mosquitto verlegen kannst - ich würde aber lieber auf den Adapter verzichten oder Du kannst den Port von dem Adapter verlegen.Natürlich steht es Dir frei auch noch eine VM zu erstellen.
Du kannst aber auch bei den MQTT Nodes in Node-Red dann einen anderen Port eingeben - das ist auch kein Problem.
Du musst Dich dann aber sowieso entscheiden wohin Deine Sonoffs - also an welchen MQTT Broker - berichten. Beide gehen nicht und insofern ist es egal ob unterschiedlicher Port oder IP Adresse.
-
@mickym dann kann ich aber doch nicht von Node-red UND von iobroker aus meine Sonoffs schalten, da diese doch auch diesen Port verwenden.
Auf jeden Fall noch einmal vielen Dank für deine Hilfe. Fehler gefunden. Lösung wird einfach ein zusätzlicher Container sein. .... -
@fragmike Nicht über den Adapter - aber ich schalte auch meine Sonoff über iobroker.
Ein zusätzlicher Container löst Dein Problem nicht, da die Sonoffs nur an einen Broker berichten.Nimm mosquitto als Broker und installier Dir den MQTT Adapter in iobroker - als Client konfiguriert.
Dann hast Du die Möglichkeit:
- Über MQTT Nodes aus Node Red auf mosquitto zugreifen.
- In Iobroker über MQTT Adapter auf mosquitto zugreifen.
- Über Node-Red und iobroker Nodes oder über Blockly auf die Datenpunkte des MQTT Adapters zugreifen.
Wie gesagt ein zusätzlicher Container hilft Dir nicht, was willst Du dann bei Deinen Sonoff Devices als MQTT Broker angeben???
Du kannst nur 1 Ip oder 1 Port angeben:
-
@mickym
Ok.,ich glaube das habe ich verstanden.
Heute raucht mir erst Mal der Kopf. Ich Versuche mich morgen noch einmal daran. Notfalls würde ich noch einmal gerne dein Fachwissen in Anspruch nehmen