Hallo zusammen,
ich habe heute vormittag mal versucht in die MQTT Welt einzusteigen. Mir gelingt das nur halb
Mein Plan ist es, meine 3D Drucker per Mqtt an fhem anzubinden. Dafür habe ich alles soweit vorbereitet, dass die MQTT Nachrichten im Netzwerk auffindbar sind.
Festgestellt habe ich das mit MQTT.fx. Hier sehe ich sobald ich mich mit dem FHEM Server verbinde, dass mein Repetier-Server die Nachrichten zur Verfügung stellt.
Allerdings habe ich es jetzt noch nicht hinbekommen, ein Fhem Device anzulegen.
list myBroker
Internals:
CFGFN
CONNECTS 8862
DEF 1883 global
FD 34
FUUID 5e8c84fb-f33f-a126-1f9b-f9f9d83a35bdb914
NAME myBroker
NR 3782
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2020-04-07 16:48:56 nrclients 1
2020-04-07 15:49:47 state Initialized
clients:
myBroker_192.168.178.120_50281 1
retain:
Attributes:
DbLogExclude .*
autocreate simple
clientId repeqtt
verbose 0
Ausschnitt Log Verbose 5
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_35571
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_35571 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 05(0)/neptune-74/anycubic_chiron/heatedbeds0/tempread25.0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_35571 PUBLISH neptune-74/anycubic_chiron/heatedbeds0/tempread:25.0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/heatedbeds0/tempread\00025.0
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_35571 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_57837
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_57837 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 03(0).neptune-74/anycubic_chiron/heatedbeds0/tempset0.0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_57837 PUBLISH neptune-74/anycubic_chiron/heatedbeds0/tempset:0.0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/heatedbeds0/tempset\0000.0
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_57837 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_36781
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_36781 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0#(0) neptune-74/anycubic_chiron/layer0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_36781 PUBLISH neptune-74/anycubic_chiron/layer:0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/layer\0000
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_36781 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_43037
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_43037 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0$(0)!neptune-74/anycubic_chiron/lights0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_43037 PUBLISH neptune-74/anycubic_chiron/lights:0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/lights\0000
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_43037 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_35577
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_35577 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0)(0)&neptune-74/anycubic_chiron/numextruder1
2020.04.07 16:32:37 4: myBroker_192.168.178.38_35577 PUBLISH neptune-74/anycubic_chiron/numextruder:1
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/numextruder\0001
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_35577 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_49601
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_49601 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0((0)"neptune-74/anycubic_chiron/poweronOPEN
2020.04.07 16:32:37 4: myBroker_192.168.178.38_49601 PUBLISH neptune-74/anycubic_chiron/poweron:OPEN
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/poweron\000OPEN
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_49601 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_38731
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_38731 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0$(0)(30)neptune-74/anycubic_chiron/recOPEN
2020.04.07 16:32:37 4: myBroker_192.168.178.38_38731 PUBLISH neptune-74/anycubic_chiron/rec:OPEN
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/rec\000OPEN
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_38731 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_48915
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_48915 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 00(0)(neptune-74/anycubic_chiron/sdcardmountedCLOSED
2020.04.07 16:32:37 4: myBroker_192.168.178.38_48915 PUBLISH neptune-74/anycubic_chiron/sdcardmounted:CLOSED
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/sdcardmounted\000CLOSED
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_48915 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_47581
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_47581 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0-(0)(neptune-74/anycubic_chiron/speedmultiply100
2020.04.07 16:32:37 4: myBroker_192.168.178.38_47581 PUBLISH neptune-74/anycubic_chiron/speedmultiply:100
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/speedmultiply\000100
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_47581 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_40993
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_40993 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0+(0)%neptune-74/anycubic_chiron/volumetricOPEN
2020.04.07 16:32:37 4: myBroker_192.168.178.38_40993 PUBLISH neptune-74/anycubic_chiron/volumetric:OPEN
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/volumetric\000OPEN
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_40993 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_53451
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_53451 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0!(0)(28)neptune-74/anycubic_chiron/x0.0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_53451 PUBLISH neptune-74/anycubic_chiron/x:0.0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/x\0000.0
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_53451 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_57507
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_57507 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0!(0)(28)neptune-74/anycubic_chiron/y0.0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_57507 PUBLISH neptune-74/anycubic_chiron/y:0.0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/y\0000.0
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_57507 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_44017
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_44017 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0!(0)(28)neptune-74/anycubic_chiron/z0.0
2020.04.07 16:32:37 4: myBroker_192.168.178.38_44017 PUBLISH neptune-74/anycubic_chiron/z:0.0
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/anycubic_chiron/z\0000.0
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_44017 DISCONNECT
2020.04.07 16:32:37 4: Connection accepted from myBroker_192.168.178.38_46783
2020.04.07 16:32:37 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 16:32:37 4: myBroker_192.168.178.38_46783 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 16:32:37 5: out: CONNACK: (2)(0)(0)
2020.04.07 16:32:37 5: in: PUBLISH: 0(24)(0)(16)neptune-74/stateCLOSED
2020.04.07 16:32:37 4: myBroker_192.168.178.38_46783 PUBLISH neptune-74/state:CLOSED
2020.04.07 16:32:37 5: myBroker: dispatch autocreate=simple\000\000neptune-74/state\000CLOSED
2020.04.07 16:32:37 5: in: DISCONNECT: (224)(0)
2020.04.07 16:32:37 4: myBroker_192.168.178.38_46783 DISCONNECT
2020.04.07 16:32:42 5: in: PINGREQ: (192)(0)
2020.04.07 16:32:42 4: myBroker_192.168.178.120_50241 834b262e27ca4b49bc39cb6ed4354af6 PINGREQ
2020.04.07 16:32:42 5: out: PINGRESP: (208)(0)
Konfiguration MQTT Repetier:
[repeqtt]
name=repeqtt
[server]
address = 192.168.178.134
port = 3344
user = admin
secret = admin
[broker]
address = 192.168.178.4
port = 1883
user = fhem
secret = fhem
bridge = myBroker
keepalive = 30000
reconnect = 60000
qos = 0
secure = false
retain = false
clientID = repeqtt
root_topic = 3dprinters
Ich hätte jetzt erwartet, dass automatisch ein MQTT-Device angelegt wird.
Lege ich dies selber an.
Internals:
CFGFN
CID repeqtt
DEF repeqtt
DEVICETOPIC Repetierserver
FUUID 5e8c9689-f33f-a126-95e9-b3cbb77afa340397
IODev myBroker
NAME Repetierserver
NR 13038
STATE ???
TYPE MQTT2_DEVICE
Attributes:
DbLogExclude .*
IODev myBroker
müsste ich durch die Attribute ja den publish subscriben, allerdings finde ich hier nicht den Hebel.
Ich kann nicht mehr all zu weit von der Lösung weg sein.. Hoffe ich zumindest. Hat jemand eine Idee?
Danke für die Unterstützung.
Grüße
Hmm, was mir beim Durchsehen erst mal auffällt: Kann es sein, dass der MQTT2_SERVER und dein Drucker-Dingens dieselbe Client-ID haben?
Attribut am Server:
ZitatclientId repeqtt
Aus der Konfiguration (yaml oder so):
clientID = repeqtt
In einem MQTT-Umfeld muß die Client-ID afaik eindeutig sein, ich würde mal dazu tendieren, das am SERVER zu löschen (zusammen mit dem autocreate simple, das ist sowieso default).
Danke für den Hinweis. Habe es am Server entfernt.
Beim manuell angelegten MQTT-Device gehört die Client ID aber ins define oder?
Leider hat das kein Erfolg gebracht. Im Log hat sich nicht viel geändert.
2020.04.07 17:40:46 5: in: DISCONNECT: (224)(0)
2020.04.07 17:40:46 4: myBroker_192.168.178.38_34193 DISCONNECT
2020.04.07 17:40:46 4: Connection accepted from myBroker_192.168.178.38_49771
2020.04.07 17:40:46 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 17:40:46 4: myBroker_192.168.178.38_49771 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 17:40:46 5: out: CONNACK: (2)(0)(0)
2020.04.07 17:40:46 5: in: PUBLISH: 0;(0)(21)neptune-74/serveruuid35a8bed6-7ace-453b-be4b-62c7a6f0f5ca
2020.04.07 17:40:46 4: myBroker_192.168.178.38_49771 PUBLISH neptune-74/serveruuid:35a8bed6-7ace-453b-be4b-62c7a6f0f5ca
2020.04.07 17:40:46 5: myBroker: dispatch autocreate=simple\000\000neptune-74/serveruuid\00035a8bed6-7ace-453b-be4b-62c7a6f0f5ca
2020.04.07 17:40:46 5: in: DISCONNECT: (224)(0)
2020.04.07 17:40:46 4: myBroker_192.168.178.38_49771 DISCONNECT
2020.04.07 17:40:46 4: Connection accepted from myBroker_192.168.178.38_34009
2020.04.07 17:40:46 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 17:40:46 4: myBroker_192.168.178.38_34009 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 17:40:46 5: out: CONNACK: (2)(0)(0)
2020.04.07 17:40:46 5: in: PUBLISH: 0(26)(0)(18)neptune-74/version0.93.1
2020.04.07 17:40:46 4: myBroker_192.168.178.38_34009 PUBLISH neptune-74/version:0.93.1
2020.04.07 17:40:46 5: myBroker: dispatch autocreate=simple\000\000neptune-74/version\0000.93.1
2020.04.07 17:40:46 5: in: DISCONNECT: (224)(0)
2020.04.07 17:40:46 4: myBroker_192.168.178.38_34009 DISCONNECT
2020.04.07 17:40:46 4: Connection accepted from myBroker_192.168.178.38_49503
2020.04.07 17:40:46 5: in: CONNECT: (16)(24)(0)(4)MQTT(4)(194)(0)<(0)(0)(0)(4)fhem(0)(4)fhem
2020.04.07 17:40:46 4: myBroker_192.168.178.38_49503 CONNECT V:4 keepAlive:60 usr:fhem
2020.04.07 17:40:46 5: out: CONNACK: (2)(0)(0)
2020.04.07 17:40:46 5: in: PUBLISH: 0(24)(0)(16)neptune-74/stateCLOSED
2020.04.07 17:40:46 4: myBroker_192.168.178.38_49503 PUBLISH neptune-74/state:CLOSED
2020.04.07 17:40:46 5: myBroker: dispatch autocreate=simple\000\000neptune-74/state\000CLOSED
2020.04.07 17:40:46 5: in: DISCONNECT: (224)(0)
2020.04.07 17:40:46 4: myBroker_192.168.178.38_49503 DISCONNECT
Hmm, jein. Diese Angabe dient dazu, neue Nachrichten zuordnen zu können, aber wenn ich das log richtig deute, sendet der Drucker die CID gar nicht:
2020.04.07 17:40:46 5: myBroker: dispatch autocreate=simple\000\000neptune-74/serveruuid\00035a8bed6-7ace-453b-be4b-62c7a6f0f5ca
Den Dienst hattest du nach Änderung der yaml (?) neu gestartet, oder? Ansonsten solltest du mal auf den Seiten des Anbeiters sehen, ob dazu was zu finden ist warum/ob das evtl. nicht mit übermittelt wird (bzw. bei der Lib, die da ggf. genutzt wird (auch paho, oder? Die macht das ansonsten zufällig, was für autocreate übergangsweise sogar einfacher wäre)).
Ansonsten mußt du warten, dass Rudi sich das mal ansieht, ich bin in der Analyse der betreffenden logfiles nicht fit.
Was ginge, wäre alles von Hand anlegen; ist aber wenig spaßig, nehme ich an...
Einträge in die readingList wären in diese Richtung (wobei das "0" eine Ebene höher Ungemach andeutet...).
neptune-74/anycubic_chiron/heatedbeds0/tempset:.* tempset
Stimmt, jetzt wo du es sagst, habe ich mal andere Threads mit Mqtt angeschaut, und so wie es aussieht wird die Client ID nicht übertragen.
Neu gestartet habe ich bei jeden Änderung.
https://github.com/aRGi-org/mqttrepetierserver
Jap ist Pano.mqtt
Das manuelle anlegen wäre wohl der letzte Strohhalm.
Der Repetier-Server hat in diesem Fall kein clientId gesendet, sichtbar an dem zwei Leerzeichen vor CONNECT in der Zeile mit keepalive.
MQTT2_SERVER ist in diesem Fall nicht besser als MQTT2_CLIENT, d.h. man muss entweder alles manuell anlegen, man braucht ein bridgeDevice, oder man setzt im Server das clientId Attribut, was auch nur eine Notloesung ist.
MQTT2_DEVICE braucht ein clientId fuer autocreate. Mit clientId hier meine ich das, was der Repetier-Server im CONNECT String schickt (s.o.).
Wenn ich im MQTT2_SERVER das Attribut clientId setze, dann wird auch bei einem CONNECT mit leerem clientId per autocreate ein MQTT2_DEVICE angelegt (gerade getestet).
Nachdem alle Readings angelegt sind, wuerde ich das clientId Attribut im Server entfernen, zusammmen mit dem clientId Strings aus readigsList.
Danke für die Erklärung. Ich habe in der Zwischenzeit das Device manuell angelegt. Ich werde die Lösung testen, und hier den Erfolg mitteilen.
Bis dahin sehe ich das Thema als gelöst an.
Grüße