Frage zu MQTT und MQTT2

Begonnen von moonsorrox, 12 November 2018, 15:00:24

Vorheriges Thema - Nächstes Thema

moonsorrox

da ich einige Sonoff Schalter verwende hatte ich die bisher als MQTT_Device eingerichtet, dass funktioniert auf meinem Neu eingerichtetem Fhem gar nicht
Es kommt folgender Fehler
Cannot load module MQTT_DEVICE
Das Modul 10_MQTT_DEVICE.pm ist aber vorhanden in meiner Fhem Installation
wenn ich das mit MQTT2_DEVICE mache erstellt er das Gerät, aber dann funktioniert es nicht.

Was kann das sein, habe ich etwas vergessen..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

dev0

Zitathabe ich etwas vergessen..?
Ins Log zu gucken...!

moonsorrox

Das hatte ich getan und verglichen mit meinem alten Fhem
hier die Logeinträge:
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_PINGREQ redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_UNSUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_PUBREC redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_CONNACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_CONNECT_ACCEPTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_PUBLISH redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2018.11.12 14:56:00 1: PERL WARNING: Constant subroutine MQTT::DEVICE::MQTT_CONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44


Mir ist so als wenn ich ich auf Perl Ebene etwas nachinstallieren muss..!
Aber ich weiß grad nicht was  :-\

Hatte schon im Forum gesucht bisher aber noch nichts brauchbares gefunden bei der Suche nach mqtt
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Beta-User

Nimm doch einfach mqtt2_client statt mqtt2 als io-Device.
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

moonsorrox

mein IODev ist der "mqttiobroker" und das gesamte Device läßt sich auch anlegen als MQTT2_DEVICE nur kann ich es nicht schalten

Ich weiß da grad nicht weiter ein MQTT_DEVICE kann ich immer noch nicht anlegen da kommt immer ein Fehler, wenn ich in der Befehlszeile eingebe
define AU_Landroid MQTT_DEVICE kommt folgendes
client device hash no IODev provided
das muss ich aber doch erst danach als attr eingeben.
Ich verstehe grad gar nichts mehr  :-\

Das kann ich nicht schalten, aber eben anlegen
mein List vom Gerät
Internals:
   DEVICETOPIC AU_Landroid
   IODev      mqttiobroker
   NAME       AU_Landroid
   NR         1951
   STATE      ???
   TYPE       MQTT2_DEVICE
Attributes:
   IODev      mqttiobroker
   alias      Ladestation Landy
   devStateIcon Ein:scene_robo_lawnmower@crimson Aus:scene_robo_lawnmower@lightgreen
   event-on-change-reading state,status
   eventMap   ON:Ein OFF:Aus
   group      Rasenmäher - Landy
   icon       scene_robo_lawnmower@blue
   room       Draußen,HWR,MQTT
   sortby     02
   stateFormat state
   subscribeReading_state stat/AU_Landroid/POWER
   subscribeReading_status tele/AU_Landroid/STATUS
   userattr   subscribeReading_POWER subscribeReading_state subscribeReading_status
   webCmd     Ein:Aus
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Beta-User

Sorry, wenn ich da evtl. unpräzise war, aber es ging um den TYPE deines IODev, nicht um den Namen.
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

moonsorrox

Das habe ich jetzt mal gemacht, leider habe ich noch nicht verstanden warum. (habe schon in der commanref gelesen) aber verstehe nur Bahnhof :-\
Aber Ein/Aus schalten kann ich das Gerät immer noch nicht.

Hier mal ein list:
Internals:
   BUF       
   DEF        10.0.0.31:1883
   DeviceName 10.0.0.31:1883
   FD         5
   NAME       AU_Landroid
   NR         1968
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   mqttiobroker
   connecting 3
   lastMsgTime 1542037791.04809
   nextOpenDelay 5
   READINGS:
     2018-11-12 16:47:21   state           opened
Attributes:
   alias      Ladestation Landy
   clientId   mqttiobroker
   devStateIcon Ein:scene_robo_lawnmower@crimson Aus:scene_robo_lawnmower@lightgreen
   eventMap   ON:Ein OFF:Aus
   group      Rasenmäher - Landy
   icon       scene_robo_lawnmower@blue
   room       Draußen,MQTT
   sortby     02
   subscribeReading_state stat/AU_Landroid/POWER
   subscribeReading_status tele/AU_Landroid/STATUS
   userattr   subscribeReading_POWER subscribeReading_state subscribeReading_status
   webCmd     Ein:Aus
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

moonsorrox

ich hatte das noch im Wiki gefunden:

# Perl MQTT Module nachinstallieren (läuft ein paar Minuten)
sudo cpan install Net::MQTT:Simple
sudo cpan install Net::MQTT:Constants


aber nun kann ich gar kein MQTT_DEVICE mehr anlegen.

Was ist da schief gelaufen, denn auf meinem anderen System funktioniert das ja.
Habe jetzt ich Debian 9 drauf
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Beta-User

Du musst dich schon entscheiden, ob es jetzt mqtt2 oder mqtt2 sein soll, über die du die Geräte anlegen willst.
Wenn mqtt, dann: io-TYPE=MQTT, wenn mqtt2, dann (für mosquitto) io-TYPE=MQTT2_CLIENT.

Da du jetzt doch mqtt ohne die neuen Module haben willst, musst du halt die Perl-Installation erweitern.
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

moonsorrox

#9
ich wollte das ja mit MQTT_DEVICE machen genauso wie ich es schon habe, aber das funktionierte eben nicht.
Ich habe ausser dieser CPAN Installation nichts gefunden, aber da ist wohl irgend etwas schief gelaufen.

Im Moment habe ich da grad ein Brett vor dem Kopf. Den moquitto nutze ich nicht ich habe einen Broker bei ioBroker eingerichtet..

Ich habe mir glaube ich meine Fhem Installation kaputt installiert immer wenn ich MQTT_DEVICE startet mein fhem nicht mehr.
Aber hier scheint alles OK zu sein:
root@debian-vm:~# cpan -i Net::MQTT::Message
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN::SQLite not installed, trying to work without
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Mon, 12 Nov 2018 04:29:03 GMT
.............
  New CPAN.pm version (v2.16) available.
  [Currently running version is v2.1101]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.


...............................................................DONE
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Net::MQTT::Message is up to date (1.163170).
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Beta-User

Welcher externe Broker ist zweitrangig.

Aber da steht nicht, dass mit cpan alles io ist, sondern, dass du das mal updaten solltest. Vielleicht wäre es eine Idee, das zu tun?

Genau um solche Abhängigkeiten zu vermindern, würde ich nochmal einen Blick auf mqtt2-client u. Co. empfehlen ;) .
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

moonsorrox

Ja OK ich werde mir das mit mqtt2-client u. Co. anschauen, aber heute erst mal nicht weil ich da keine Ahnung davon habe was ich wo einsetzen muss.

Ich hatte damit noch gar nichts zutun, habe meine ganzen Sonoffs bisher auf meinem alten System über den auf Fhem installierten mosquitto ans laufen gebracht.
Dieser ganze MQTT2 Konstrukt sagt mir noch nichts. Da braucht es erst einmal ein Beispiel damit ich sehe was wie miteinander kommuniziert.

Ich danke erst mal für die Unterstützung.  :) 
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Beta-User

Broker (ioBroker o. mosquitto) <=> MQTT2_CLIENT <=> MQTT2_DEVICE(s)
Mehr braucht es nicht, ist nicht wesentlich anders als bisher (Broker <=> MQTT <=> MQTT_DEVICE(s))
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

betateilchen

es ist ja nicht so, dass es hier im Forum keine Rubrik für "MQTT" gäbe...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#14
OK hatte ich noch nicht gesehen, kein Problem habe ich mal hier her verschoben.

Ein wenig habe ich im Wiki gefunden und werde mich da mal etwas schlau machen
Was ich aber so richtig noch nicht gefunden habe ist ein Beschreibung über MQTT2 was ich wie anlege. Meine Versuche haben mir auch etwas automatisch angelegt aber so richtig weiß ich damit nichts anzufangen.
Für wäre wichtig zu wissen, was lege ich zuerst an und wie kann ich mein Gerät dazu bekommen das es auch schaltet.

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM