MQtt Installation klappt nicht auf Raspbian Stretch 9

Begonnen von michisa86888, 19 November 2018, 20:00:17

Vorheriges Thema - Nächstes Thema

michisa86888

Hallo zusammen,
bei mir klappt die Installation des Mqtt-Brokers Mosquitto nicht. Bin zunächst nach folgendem Video vorgegangen. Ging aber nicht installieren.
Dann hab ich herausgefunden das ich bei der Stretch Version nur installieren sollte:
Also folgedenden Befehl eingegeben:
pi@raspberrypi:~ $ sudo apt-get install mosquitto mosquitto-clients

Aber es kam folgenden Meldung:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
mosquitto : Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
             Depends: libwebsockets3 (>= 1.2) but it is not installable
mosquitto-clients : Depends: libmosquitto1 (= 1.5.4-0mosquitto2~jessie1) but it is not going to be installed
N: Ignoring file 'mosquitto-jessie.list.2' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
N: Ignoring file 'mosquitto-jessie.list.1' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
E: Unable to correct problems, you have held broken packages.


Was meint Ihr woran liegt der Fehler. Muss denke ich was mit den fehlenden Paketen libsll1.0.0 und libwebsockets3 zu tun haben.
Nur wie bekomme ich die?

Noch meine Version/Release:

pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"


Vielen Dank

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

michisa86888


pi@raspberrypi:~ $ cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free   

rudolfkoenig

fhem> update
fhem> define m2s MQTT2_SERVER 1883 global
fhem> attr m2s autocreate
:)

michisa86888

Okay hab ich mal so ausgeführt.
Und wie bekomme ich jetzt mit diesem Modul z.B. meine Sonoff Tasmota S20 in FHEM eingebunden?

rudolfkoenig

- Im Sonoff Menu MQTT aktivieren, und den MQTT-Host auf dem FHEM-Server setzen, Port 1883.
- Wg. autocreate wird automatisch ein MQTT2_DEVICE angelegt, und die Readings werden automatisch gefuellt.
- Nach dem update morgen (sorry, das habe ich erst heute frueh eingebaut) kann man in der FHEMWEB-Detailansicht dieses Geraetes "set NAME attrTemplate sonoff_tasmota_1ch" ausfuehren, was die Attribute stateFormat und setList setzt, damit kann man das Geraet schalten, und Status (ON/OFF) wird als Icon sichtbar. Achtung fuer voreilige SVN-Updater: es wurden mehrere Dateien angepasst.

Beta-User

Ergänzend solltest du die sources wieder bereinigen.
Die jessie-Quellen haben da nichts verloren... Am einfachsten "mc" auf dem Pi installieren und mal nachsehen, welche Dateien im sources.d-Verzeichnis drin sind (oder dieser veralteten Anleitung "rückwärts" folgen...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

michisa86888

Zitat von: rudolfkoenig am 19 November 2018, 21:09:01
- Im Sonoff Menu MQTT aktivieren, und den MQTT-Host auf dem FHEM-Server setzen, Port 1883.
- Wg. autocreate wird automatisch ein MQTT2_DEVICE angelegt, und die Readings werden automatisch gefuellt.
- Nach dem update morgen (sorry, das habe ich erst heute frueh eingebaut) kann man in der FHEMWEB-Detailansicht dieses Geraetes "set NAME attrTemplate sonoff_tasmota_1ch" ausfuehren, was die Attribute stateFormat und setList setzt, damit kann man das Geraet schalten, und Status (ON/OFF) wird als Icon sichtbar. Achtung fuer voreilige SVN-Updater: es wurden mehrere Dateien angepasst.
Okay nachdem ich gestern die S20 setlist erfolglos versucht habe einzurichten, heute das selbe nach dem update.
Habe das tasmota_1ch template hinzugefügt. Alle Attribute wurden gesetzt. Aber wenn ich z.B. auf Off klicke passiert nichts. Im Log des Sonoff passiert auch nichts.

IODev m2s

readingList
DVES_375D29:/SmartHome/Esszimmer/Stehlampe/tele/LWT:.* LWT
DVES_375D29:/SmartHome/Esszimmer/Stehlampe/cmnd/POWER:.* POWER
DVES_375D29:/SmartHome/Esszimmer/Stehlampe/stat/RESULT:.* { json2nameValue($EVENT) }
DVES_375D29:/SmartHome/Esszimmer/Stehlampe/stat/POWER:.* POWER
DVES_375D29:/SmartHome/Esszimmer/Stehlampe/tele/UPTIME:.* { json2nameValue($EVENT) }
DVES_375D29:/SmartHome/Esszimmer/Stehlampe/tele/STATE:.* { json2nameValue($EVENT) }

room
MQTT2_DEVICE

setList
off:noArg    cmnd//SmartHome/Esszimmer/Stehlampe/POWER1 0
on:noArg     cmnd//SmartHome/Esszimmer/Stehlampe/POWER1 1
toggle:noArg cmnd//SmartHome/Esszimmer/Stehlampe/POWER1 2

stateFormat
POWER1

rudolfkoenig

Du hast dein MQTT Geraet anders konfiguriert, als ich bzw. als ich das fuer moeglich gehalten habe, und deswegen hat die automatische Topic-Erkennung nicht funktioniert.

Kannst Du bitte
- von deiner Tasmota-MQTT Konfigurationsseite hier ein Screenshot einhaengen?
- die Ausgabe des FHEM-Befehls "list TYPE=MQTT2_SERVER subscriptions" hier anhaengen.

michisa86888

Okay,
hier die Ausgabe des FHEM- Befehles:

m2s_192.168.188.162_25837     /SmartHome/Esszimmer/Stehlampe/cmnd/#=1542818836.94175 /SmartHome/Esszimmer/sonoffs/cmnd/#=1542818836.94534 cmnd/DVES_375D29/#=1542818836.98703

Und im Anhang ein Screeshot meiner Mqtt - Configseite

rudolfkoenig

Danke.

Die korrekte Version von setList ist in deinem Fall
off:noArg    /SmartHome/Esszimmer/Stehlampe/cmnd/POWER1 0
on:noArg     /SmartHome/Esszimmer/Stehlampe/cmnd/POWER1 1
toggle:noArg /SmartHome/Esszimmer/Stehlampe/cmnd/POWER1 2
Ich habe jetzt mqtt2.template angepasst, damit dieser Fall auch behandelt wird, der update ist wie ueblich morgen ab 8 verfuegbar.

Nur interessenhalber: hast Du in %fulltopic% die Reihenfolge von %topic% und %prefix% verstellt, oder war das die Voreinstellung?

DasQ

#11
Is andersrum voreingestellt
https://github.com/arendst/Sonoff-Tasmota/wiki/MQTT-Overview


BTW. Hier ein List von mein sonoff tasmota Touch t1 2kanal
Und ich bekomm das mit den Buttons auch noch nicht wirklich gebacken
Internals:
   CID        SonOff_Wz
   DEF        SonOff_Wz
   DEVICETOPIC MQTT2_SonOff_Wz
   IODev      MQTT2_Broker
   LASTInputDev MQTT2_Broker
   MQTT2_Broker_MSGCNT 119
   MQTT2_Broker_TIME 2018-11-22 18:56:43
   MSGCNT     119
   NAME       MQTT2_SonOff_Wz
   NR         125
   STATE      off2
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       LWT:
         DBLogging:
           TIME       1542886076.00191
           VALUE      online
       POWER1:
         DBLogging:
           TIME       1542909403.46024
           VALUE      ON
       POWER2:
         DBLogging:
           TIME       1542909403.46024
           VALUE      OFF
       Time:
         DBLogging:
           TIME       1542909403.46024
           VALUE      2018-11-22T18:56:43
       Uptime:
         DBLogging:
           TIME       1542909403.46024
           VALUE      13T08:49:57
       Vcc:
         DBLogging:
           TIME       1542909403.46024
           VALUE      3.170
       Wifi_AP:
         DBLogging:
           TIME       1542909403.46024
           VALUE      1
       Wifi_BSSId:
         DBLogging:
           TIME       1542909403.46024
           VALUE      7C:FF:4D:EC:69:23
       Wifi_Channel:
         DBLogging:
           TIME       1542909403.46024
           VALUE      6
       Wifi_RSSI:
         DBLogging:
           TIME       1542909403.46024
           VALUE      90
       Wifi_SSId:
         DBLogging:
           TIME       1542909403.46024
           VALUE      1
       state:
         DBLogging:
           TIME       1542888524.23105
           VALUE      off2
   READINGS:
     2018-11-22 12:27:55   LWT             online
     2018-11-22 12:27:56   POWER           
     2018-11-22 18:56:43   POWER1          ON
     2018-11-22 18:56:43   POWER2          OFF
     2018-11-22 18:56:43   Time            2018-11-22T18:56:43
     2018-11-22 18:56:43   Uptime          13T08:49:57
     2018-11-22 18:56:43   Vcc             3.170
     2018-11-22 18:56:43   Wifi_AP         1
     2018-11-22 18:56:43   Wifi_BSSId      7C:FF:4D:EC:69:23
     2018-11-22 18:56:43   Wifi_Channel    6
     2018-11-22 18:56:43   Wifi_RSSI       90
     2018-11-22 18:56:43   Wifi_SSId       1
     2018-11-22 13:08:44   state           off2
Attributes:
   IODev      MQTT2_Broker
   devStateIcon on:off
   group      Licht
   readingList SonOff_Wz:tele/sonoff_Wz/LWT:.* LWT
SonOff_Wz:cmnd/sonoff_Wz/POWER:.* POWER
SonOff_Wz:tele/sonoff_Wz/INFO1:.* { json2nameValue($EVENT) }
SonOff_Wz:tele/sonoff_Wz/INFO2:.* { json2nameValue($EVENT) }
SonOff_Wz:tele/sonoff_Wz/INFO3:.* { json2nameValue($EVENT) }
SonOff_Wz:stat/sonoff_Wz/RESULT:.* { json2nameValue($EVENT) }
SonOff_Wz:stat/sonoff_Wz/POWER1:.* POWER1
SonOff_Wz:stat/sonoff_Wz/RESULT:.* { json2nameValue($EVENT) }
SonOff_Wz:stat/sonoff_Wz/POWER2:.* POWER2
SonOff_Wz:tele/sonoff_Wz/STATE:.* { json2nameValue($EVENT) }
SonOff_Wz:tele/sonoff_Wz/UPTIME:.* { json2nameValue($EVENT) }
   room       Wohnzimmer
   setList    on1 cmnd/sonoff_Wz/POWER1 on
off1 cmnd/sonoff_Wz/POWER1 off
on2 cmnd/sonoff_Wz/POWER2 on
off2 cmnd/sonoff_Wz/POWER2 off
reboot cmnd/sonoff_Wz/Restart 1
   webCmd     on1:off1:on2:off2:reboot
   webCmdLabel on1:off1
on2:off2
:reboot
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

rudolfkoenig

ZitatUnd ich bekomm das mit den Buttons auch noch nicht wirklich gebacken
Vorschlag: Du entfernst MQTT2_SonOff_Wz, laesst es neu anlegen, und setzt attrTemplate auf sonoff_tasmota_2ch. Dabei wird setList und stateFormat fuer das Original gesetzt und eine zweite Instanz fuer die Bedienung von Kanal 2 erstellt.

Du kannst es auch ohne Entfernen versuchen, aber ich weiss nicht, ob es mit den bereit gesetzten webCmd, devStateIcon, etc richtig funktioniert, da ungetestet. Achtung: fuer die "verdrehte" Fulltopic Variante muss man mqtt.template aus dem SVN holen, oder morgen ein update machen.

DasQ

gesagt getan

ein zwei sachen die mich jetzt etwas stören sind, das ich nun 2 instanzen hab. Ok damit kann ich leben, wobei es in einem schöner wär.
Dann die namensvergabe
-MQTT2_SonOff_Wz
-MQTT2_SonOff_Wz_CH2
find ich suboptimal da eindeutig zweideutig

ein kleinen schönheitsfehler (kann aber auch so gewollt sein, die einrückung)
off:noArg    cmnd/sonoff_Wz/POWER2 0
  on:noArg     cmnd/sonoff_Wz/POWER2 1
  toggle:noArg cmnd/sonoff_Wz/POWER2 2


beim klick auf das lampensymbol geht der nur ON und nicht OFF

p.s. Wunsch fürs template noch ein device "ALL" also beide kanäle

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

rudolfkoenig

Zitatein zwei sachen die mich jetzt etwas stören sind, das ich nun 2 instanzen hab. Ok damit kann ich leben, wobei es in einem schöner wär.
Zwei Schalter in einer FHEM-Geraet verursacht eine Menge von Probleme, angefangen von der Darstellung ueber Schalten bis zur Auswertung der Events. Du kannst es gerne selber bauen, aber ohne Support :)

Wg Name: Es steht es dir frei sie umzubenennen.

Die Einrueckung ist etwas haesslicher in der FHEMWEB-Anzeige, dafuer etwas schoener im Template. Bin noch unsicher, was mir wichtiger ist.

Zitatbeim klick auf das lampensymbol geht der nur ON und nicht OFF
Ich meine, das laesst sich mit
attr DEVICE eventMap { dev=>{ON=>'on',OFF=>'off'} }reparieren. Ich habe das ins template aufgenommen.


ZitatWunsch fürs template noch ein device "ALL" also beide kanäle
Siehe oben.
Mit structure oder devSpec kann man es auch loesen.