Nachdem ich Owntracks mit MQTT (und mosquitto) mit 2 Mobilgeräten endlich am Laufen habe (das 3te und wichtigste Mobilgerät kann einfach keine Verbindung zum Broker aufbauen und ich bin offensichtlich zu blöd den Grund dafür zu finden) möchte ich mosquitto los werden und MQTT2 verwenden Den MQTT2_Server habe ich definiert
Internals:
CFGFN
DEF 8884 global
FD 32
NAME MQTT2_Server
NR 612
PORT 8884
STATE Initialized
TYPE MQTT2_SERVER
.attraggr:
.attrminint:
READINGS:
2018-11-15 12:51:40 nrclients 0
2018-11-15 12:51:40 state Initialized
clients:
retain:
Attributes:
autocreate 1
room Development
und auch das Mobiltelefon
Internals:
CFGFN
DEVICETOPIC OneTest6
IODev MQTT2_Server
NAME OneTest6
NR 635
STATE ???
TYPE MQTT2_DEVICE
Attributes:
IODev MQTT2_Server
readingList OneTest6/event:.* event
room Development
Und jetzt ??? Mangels Beispielen/WIKIs/HowTos bitte ich hier um Hilfe. Natürlich habe ich am Telefon im OwnTracks das Port auf 8884 gestellt und auch in der Friztbox weitergeleitet
Danke Statler
Läuft der mosquitto auf demselben Rechner?
Dann evtl. mal testweise mosquitto abschalten, den Port am mqtt2-server au 1883 stellen; dann sollte autocreate für die beiden "funktionierenden" Handys was liefern. Kann man da was an das Handy senden? (Würde unterstellen: nein).
Dann sollten allenfalls kosmetische Massnahmen erforderlich sein. Ansonsten kommt am Ende auf beiden Wegen im Prinzip dasselbe an.
Erst zuletzt solltest du dann m.E. die "problematische" HW angehen.
Danke, werde ich dann ausprobieren (und das Problem-Handy hätte ich ohnehin auf später verschoben :) )
LG Statler
Zitat von: Beta-User am 15 November 2018, 13:35:36
Läuft der mosquitto auf demselben Rechner?
Dann evtl. mal testweise mosquitto abschalten, den Port am mqtt2-server au 1883 stellen; dann sollte autocreate für die beiden "funktionierenden" Handys was liefern. Kann man da was an das Handy senden? (Würde unterstellen: nein).
Dann sollten allenfalls kosmetische Massnahmen erforderlich sein. Ansonsten kommt am Ende auf beiden Wegen im Prinzip dasselbe an.
Erst zuletzt solltest du dann m.E. die "problematische" HW angehen.
Hallo Beta-User !
Ich habe also getan wie du empfohlen hast. Mosquitto abgeschaltet, den MQTT2_Server nochmals neu (mit Port 1883) definiert und autocreate auf 1
Dann am Mobiltelefon den Host und Port entsprechend geändert.
Internals:
CONNECTS 6
DEF 1883 global
FD 28
NAME MQTT2_Server
NR 225
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
.attraggr:
.attrminint:
READINGS:
2018-11-22 14:34:20 nrclients 1
2018-11-22 14:27:43 state Initialized
clients:
MQTT2_Server_127.0.0.1_41470 1
retain:
Attributes:
autocreate 1
room Development
verbose 5
nach einem shutdown restart von FHEM war auf einmal im hiddenroom noch ein MQTT2_Server (siehe unten). Die Subscriptions hat er sich offensichtlich aus der bestehende Installation (mit mosquitto) geholt ...?
Internals:
BUF
FD 31
NAME MQTT2_Server_127.0.0.1_41470
NR 227
PEER 127.0.0.1
PORT 41470
SNAME MQTT2_Server
SSL
STATE Connected
TEMPORARY 1
TYPE MQTT2_SERVER
WBCallback
cflags 2
cid NetMQTTpm31843
keepalive 60
lastMsgTime 1542893985.63754
protoNum 3
protoTxt MQIsdp
.attraggr:
.attrminint:
READINGS:
2018-11-22 14:27:46 state Connected
subscriptions:
owntrack/Sepp/oneplus6/generic 1542893266.29792
owntracks/Alex/oneplus5t 1542893266.29864
owntracks/Alex/oneplus5t/cmd 1542893266.29864
owntracks/Alex/oneplus5t/event 1542893266.29864
owntracks/Alex/oneplus5t/msg 1542893266.29864
owntracks/Nici/samsungS7 1542893266.29729
owntracks/Nici/samsungS7/cmd 1542893266.29729
owntracks/Nici/samsungS7/event 1542893266.29729
owntracks/Nici/samsungS7/msg 1542893266.29729
owntracks/Sepp/oneplus6 1542893266.29792
owntracks/Sepp/oneplus6/cmd 1542893266.29792
owntracks/Sepp/oneplus6/event 1542893266.29792
owntracks/Sepp/oneplus6/msg 1542893266.29792
Attributes:
room Development
Nun habe ich mein Password aus Owntracks entfernt, doch connection habe ich keine bekommen. Im Logfile finde ich folgendes ...
2018.11.22 14:27:45 1: usb create end
2018.11.22 14:27:45 3: Opening mosquitto device 127.0.0.1:1883
2018.11.22 14:27:45 3: mosquitto device opened
2018.11.22 14:27:45 0: Featurelevel: 5.9
2018.11.22 14:27:45 0: Server started with 215 defined entities (fhem.pl:17652/2018-10-31 perl:5.024001 os:linux user:fhem pid:31843)
2018.11.22 14:27:46 3: CUL_HM set Gartenbeleuchtung statusRequest
2018.11.22 14:27:46 4: Connection accepted from MQTT2_Server_127.0.0.1_41470
2018.11.22 14:27:46 3: Opening WZ_LGW:keepAlive device 192.168.1.66:2001
2018.11.22 14:27:46 3: WZ_LGW device opened
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 CONNECT V:3 keepAlive:60
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 PINGREQ
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 SUBSCRIBE
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t/cmd qos:0
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t/event qos:0
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t/msg qos:0
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t qos:0
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 SUBSCRIBE
2018.11.22 14:27:46 4: topic:owntrack/Sepp/oneplus6/generic qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6/cmd qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6/event qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6/msg qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6 qos:0
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 SUBSCRIBE
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7/cmd qos:0
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7/event qos:0
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7/msg qos:0
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7 qos:0
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 SUBSCRIBE
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7/cmd qos:0
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7/event qos:0
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7/msg qos:0
2018.11.22 14:27:46 4: topic:owntracks/Nici/samsungS7 qos:0
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 SUBSCRIBE
2018.11.22 14:27:46 4: topic:owntrack/Sepp/oneplus6/generic qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6/cmd qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6/event qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6/msg qos:0
2018.11.22 14:27:46 4: topic:owntracks/Sepp/oneplus6 qos:0
2018.11.22 14:27:46 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 SUBSCRIBE
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t/cmd qos:0
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t/event qos:0
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t/msg qos:0
2018.11.22 14:27:46 4: topic:owntracks/Alex/oneplus5t qos:0
.
.
.
Aber im Telefon (Owntracks) sehe ich einen "Fehler". Als ich das Password in Owntracks wieder eingetragen habe sind folgende EInträge im Log zu finden
2018.11.22 14:32:45 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 PINGREQ
2018.11.22 14:33:44 4: Connection accepted from MQTT2_Server_192.168.1.91_49844
2018.11.22 14:33:44 2: MQTT2_Server_192.168.1.91_49844 wants unclean session, disconnecting
2018.11.22 14:33:45 4: MQTT2_Server_127.0.0.1_41470 NetMQTTpm31843 PINGREQ
2018.11.22 14:34:15 4: Connection accepted from MQTT2_Server_192.168.1.91_49846
2018.11.22 14:34:15 2: MQTT2_Server_192.168.1.91_49846 wants unclean session, disconnecting
2018.11.22 14:34:19 4: Connection accepted from MQTT2_Server_192.168.1.91_49848
2018.11.22 14:34:19 2: MQTT2_Server_192.168.1.91_49848 wants unclean session, disconnecting
2018.11.22 14:34:20 4: Connection accepted from MQTT2_Server_192.168.1.91_49850
2018.11.22 14:34:20 2: MQTT2_Server_192.168.1.91_49850 wants unclean session, disconnecting
Hast du einen Tip was ich falsch mache ?
Vielen Dank Statler
Folgende Anmerkungen (ist vermutlich nicht vollständig):
Das/die temporären Devices in hiddenroom sind ok, da wird für jede Verbingung was erstellt und wieder geschlossen, wenn disconnected. Ist z.B. bei FHEMWEB auch so, wenn du mehrere Clients hast.
MQTT (das Gerät, das dieses Modul zur Verbindung mit deinem alten mosquitto nutzt) solltest du auch erst mal deaktivieren, sorry, das hatte ich vergessen zu erwähnen; sonst verbindet sich das mit dem MQTT2_SERVER auf demselben Port - das ist was nr_clients mit der localhost-Adresse sagen dürfte...
Wenn du MQTT2_SERVER mit user/passwort nutzen willst, brauchst du ein passendes allowed-Device. Vermutlich kommen daher die unclean session-Einträge.
Da da Verbindunganfragen da sind, sollte es eigentlich dann gehen, wenn das allowed für den MQTT2-Server vorhanden ist. Dann schauen wir mal weiter.
Sorry, ich krieg's einfach nicht gebacken.
Zitat von: Beta-User am 22 November 2018, 15:18:10
Das/die temporären Devices in hiddenroom sind ok, da wird für jede Verbingung was erstellt und wieder geschlossen, wenn disconnected. Ist z.B. bei FHEMWEB auch so, wenn du mehrere Clients hast.
habei ich verstanden.
Zitat von: Beta-User am 22 November 2018, 15:18:10
MQTT (das Gerät, das dieses Modul zur Verbindung mit deinem alten mosquitto nutzt) solltest du auch erst mal deaktivieren, sorry, das hatte ich vergessen zu erwähnen; sonst verbindet sich das mit dem MQTT2_SERVER auf demselben Port - das ist was nr_clients mit der localhost-Adresse sagen dürfte...
Habe ich gemacht - kommt nun auch nicht mehr.
Aber jetzt: in Owntracks sehe ich keine Möglichkeit ohne User & PW mich anzumelden
Zitat von: Beta-User am 22 November 2018, 15:18:10
Wenn du MQTT2_SERVER mit user/passwort nutzen willst, brauchst du ein passendes allowed-Device. Vermutlich kommen daher die unclean session-Einträge.
Da da Verbindunganfragen da sind, sollte es eigentlich dann gehen, wenn das allowed für den MQTT2-Server vorhanden ist. Dann schauen wir mal weiter.
Daher habe ich in "allowed" ein basicAuth mit { "$user:$password" eq "admin:secret" } angelegt, aber leider kommen weiterhin dei Meldungen im Log
2018.11.23 15:07:48 4: Connection accepted from MQTT2_Server_192.168.1.91_42306
2018.11.23 15:07:48 2: MQTT2_Server_192.168.1.91_42306 wants unclean session, disconnecting
kommt.
192.168.1.91 ist mein Mobiltelefon und ich befürchte, mein Fehler liegt am "allowed" (wollte ich aussparen, aber Owntracks will unbedingt user/pw) bei dem ich mich nicht so auskenne. :-[
Kannst du mit bitte nochmals Nachhilfe geben ?
Danke Statler
Ich teile die Einschätzung, dass es am allowed liegt und unterstelle mal, dass du "admin:secret" durch eigene, zu den Einstellungen im Handy passenden Angaben ersetzt hattest...
Kannst du mal ein list von dem "allowed"-Device (ohne user/pw) liefern? (MQTT2_SERVER wer ja bereits weiter unten da, dann nur, wenn sich was - abgesehen von den aktuellen readings - verändert hat).
Hast du weitere Infos darüber, wie die Authentifizierung bei owntracks läuft? Ggf. muß sich das auch mal jemand ansehen, der davon mehr Ahnung hat...
Wenn wir das nicht zeitnah so hinbekommen, solltest du den Thread-Titel mit "& allowed" ergänzen (oder dann einen neuen Thread im MQTT-Bereich (?) aufmachen, damit Rudi das sieht - das klappt mit Verschieben, das sonst besser wäre leider manchmal nicht; einfach im neuen Thread dann hierher verweisen).
@Statler:
Gibt es hier neue Erkenntnisse?
VG Sebastian
@binford6000
sorry, war unerwartet 1 Woche im Spital und dann Urlaub. Werde mich in den Ferien kümmern und melden.
"wants unclean session" mein Client verwendet libmosquitto. Ich musste den Code anpassen,
bei der Initialisierung der library kann man angeben ob eine clean session verwenet werden soll (true) oder nicht (false).
* clean_session - set to true to instruct the broker to clean all messages
* and subscriptions on disconnect, false to instruct it to
* keep them. See the man page mqtt(7) for more details.
mosq = mosquitto_new(clientid, true, this);
Ich hänge nun seit 2 Tagen daran, Owntracks mit meinem MQTT2 Server zu verbinden. Es klappt nicht.
Gibt es denn nirgends ein Beispiel, wie die Andoid App zu konfigurieren ist? Als Host habe ich meinen myfritz Account versucht, mit dem AndFHEM auch funktioniert.
Mal mit https:// davor, mal ohne - TLS an oder aus (Portfreigabe ist aktiviert) - mit VPN und der direkten IP des RPIs - ich kriege trotz Autocreate keine Verbindung zu stande.
Auch nicht mit ohne Passwort am MQTT2.
Wie habt ihr es geschafft Verbindung zu kriegen? Hat das was mit der Device ID oder oder Tracker ID zu tun?
Moin Heimweh,
ich habs mittlerweile aufgegeben die Verbindung über einen MQTT(2) Server aufzubauen.
Ich nutze seit 3 Monaten stabil die eingebaute Osmand-Server Funktion von livetracking.
Dazu habe ich mir eine extra FHEMWEB-Instanz mit passendem allowed eingerichtet. Läuft
mit Auth und HTPPS mit Letsencrypt-Zertifikat. 8)
VG Sebastian
Hallo Sebastian,
danke! Und ich dachte schon ich bin zu blöd... Dann versuche ich das jetzt mal.
Was hast Du denn mit allowed abgefangen?
ZitatWas hast Du denn mit allowed abgefangen?
Damit habe ich basicAuth für die FHEMWEB-Instanz des Osmand-Servers eingerichtet.
VG Sebastian
Ich bin den Weg über cloudmqtt gegangen als Broker für owntracks, nicht zuletzt, da ich meine Installation nicht nach außen hin öffnen wollte. Die Lösung ist funktional hinreichend, die erlebten Latenzen sind vernachlässigbar.
Für den Fall könnte ich gerne eine funktionierende Config zur Verfügung stellen.
Edit: nicht osmand, sondern owntracks....
ZitatDie Lösung ist funktional hinreichend, die erlebten Latenzen sind vernachlässigbar.
Wie hoch sind denn die Latenzen in etwa?
Ich bemerke immer mal wieder dass livetracking zu spät meldet. Also die Presence Devices vorher reagieren.
Ist im Prinzip nicht so dramatisch aber zuverlässig ist anders.
VG Sebastian
Die Latenzen habe ich jetzt nicht auf Systemebene gemessen - derart zeitkritische Anwendungen gehen bie mir nicht über cloudmqtt. Aber wenn ich in Owntracks auf den Aktualisieren-Button drücke, erscheinen in FHEM die Änderungen "sofort" - definitiv kleiner 1 Sekunde.
Etwaige Verzögerungen liegen bei mir eindeutig an den Akkuschoneinstellungen in Owntracks - also wie oft soll die App den Standort aktualisieren.
Guten Morgen,
ja so ähnlich sieht es bei mir auch aus. Ich tippe mal dass meine Verzögerungen auch
manchmal schlicht auf ein fehlendes Mobilfunknetzwerk zurückzuführen sind... :(
Im OwnTracks Booklet sind die einzelnen Modes auch ganz gut erklärt. Auch zB. dass
das Geofencing (Regions) unabhängig vom verwendeten Mode laufen.
https://owntracks.org/booklet/features/location/ (https://owntracks.org/booklet/features/location/)
VG Sebastian
ich habe das heute einmal mit dem MQTT2_Server getestet und dabei keine Schwierigkeiten gehabt das anzulegen.
Da die App einen User und Passwort will, habe ich einfach irgendeins vergeben. Sofort wurde der MQTT2_Device "adminhwane" in FHEM angelegt und die erforderlichen Readings erzeugt ( autocreate=complex ) . Da ich ein Huawei Handy habe, nehme ich an der Name "hwane" ist eine Ableitung davon.
Internals:
CFGFN
CID adminhwane
DEF adminhwane
DEVICETOPIC MQTT2_adminhwane
FUUID 5d22028e-f33f-27bd-f969-b4c0ca317ee7947c
IODev ebusMQTT
LASTInputDev ebusMQTT
MSGCNT 5140
NAME MQTT2_adminhwane
NR 62138
STATE ???
TYPE MQTT2_DEVICE
ebusMQTT_MSGCNT 5140
ebusMQTT_TIME 2019-07-07 18:10:23
Helper:
DBLOG:
hwane__type:
myDbLog:
TIME 1562515823.2701
VALUE lwt
hwane_acc:
myDbLog:
TIME 1562515512.90334
VALUE 16
hwane_alt:
myDbLog:
TIME 1562515512.90334
VALUE 0
hwane_batt:
myDbLog:
TIME 1562515512.90334
VALUE 100
hwane_conn:
myDbLog:
TIME 1562515512.90334
VALUE w
hwane_lat:
myDbLog:
TIME 1562515512.90334
VALUE 48.xxxxxx
hwane_lon:
myDbLog:
TIME 1562515512.90334
VALUE 14.xxxxxx
hwane_t:
myDbLog:
TIME 1562515512.90334
VALUE p
hwane_tid:
myDbLog:
TIME 1562515512.90334
VALUE ne
hwane_tst:
myDbLog:
TIME 1562515823.2701
VALUE 1562515819
hwane_vac:
myDbLog:
TIME 1562515512.90334
VALUE 0
hwane_vel:
myDbLog:
TIME 1562515512.90334
VALUE 0
READINGS:
2019-07-07 18:10:23 hwane__type lwt
2019-07-07 18:05:12 hwane_acc 16
2019-07-07 18:05:12 hwane_alt 0
2019-07-07 18:05:12 hwane_batt 100
2019-07-07 18:05:12 hwane_conn w
2019-07-07 18:05:12 hwane_lat 48.xxxxxxx
2019-07-07 18:05:12 hwane_lon 14.xxxxxxx
2019-07-07 18:05:12 hwane_t p
2019-07-07 18:05:12 hwane_tid ne
2019-07-07 18:10:23 hwane_tst 1562515819
2019-07-07 18:05:12 hwane_vac 0
2019-07-07 18:05:12 hwane_vel 0
Attributes:
IODev ebusMQTT
readingList adminhwane:owntracks/admin/hwane:.* { json2nameValue($EVENT, 'hwane_', $JSONMAP) }
room MQTT2_DEVICE,Tracking
damit nicht alle hier wissen wo ich wohne habe ich die Koordinaten händisch mit "xxxxx" versehen.
Getestet habe ich nur intern, da mein MQTT2_Server keinen externen Zugang hat und ich den auch sonst nicht benötige.
Aber alle die Schwierigkeiten mit MQTT2 hatten, funktionieren tut es bei mir und angelegt habe ich nur den Livetracking Device und am Handy die App eingerichtet.
LG
Funktioniert mittlerweile Owntrack mit Mqtt2 Server extern und wenn ja wie. Ich bekomme irgendwie keine Verbindung zustande mit der App per remote , local kein Problem.Ports sind natürlich freigegeben hier 1883
Andre