[SOLVED] - Bizzare OwnTracks Issue

@ben_jones12 & the rest of the openHAB community:

Transition messages sent by one device register an event and update the items on the sitemap in openHAB but messages from the other device don’t trigger any action at all (nothing in the TRACE log and no state changes in the sitemap). Location messages from either device trigger an action by mqttitude with the expected results.

I have two Android devices, different manufacturers. Both running Android 8.x Oreo. I am highly confident that the issue is not at the mobile device end.

I have mosquitto working with SSL. I have verified that I can send messages from the Internet and they are received by my broker.

I am using OwnTracks regions/waypoints setup.

I have my mqttitude Items set up almost identically other than the DeviceID.

Group:Switch:AND(ON, OFF) gRegion_away
“All Away”
Switch U1_region_town “U1 in Town” { mqttitude=“openhab_tcpbroker:owntracks/user/device1/event:Town” }
Switch U2_region_town “U2 in Town” { mqttitude=“openhab_tcpbroker:owntracks/user/device2/event:Town” }
Switch U1_region_away “U1 Away” (gRegion_away) { mqttitude=“openhab_tcpbroker:owntracks/user/device1/event:Away” }
Switch U2_region_away “U2 Away” (gRegion_away) { mqttitude=“openhab_tcpbroker:owntracks/user/device2/event:Away” }

To troubleshoot:

  • I have set up a custom openHAB logger for mqttitude and set it to TRACE mode.
  • I have a sitemap which displays my OwnTracks Items.
  • On my openHAB server, I have a terminal session with mosquitto_sub subscribed to the owntracks/# topics.
  • Messages published to the owntracks topics show up in my mosquitto_sub terminal session.
  • I set up MQTTfx on a PC on my network. I have it connected to the MQTT broker using the SSL port and certificate.
  • I am simulating messages from my mobile devices by sending MQTT message from the PC running MQTTfx. I am using the same payload but only updating the deviceID in the topic owntracks/user/deviceX/event and the tid, the region description (“Town”, “Away”) and the event value (“enter”, “leave”) in the message body.
    { "_type":"transition","tid":"XX","acc":36.82,"desc":"Town","event":"enter","lat":XXX.XXXXXXX,"lon":XXX.XXXXXXX,"tst":1526074200,"wtst":1526074250,"t":"c" }
  • If I send a transition event MQTT message from MQTTfx with “u1” values, mqttitude behaves as expected. If I send a message with “u2” values, mqttitude shows absolutely no TRACE activity. In all cases mosquitto_sub sees the messages. This is exactly the same behavior I see when messages come from the mobile devices themselves.

I’ve been working with Ben over on the OwnTracks talk forum on this for several days. I’m just opening this up to a larger set of brains to see if any ideas for further troubleshooting or, perchance, someone’s run in to this and can tell me how to fix it :wink:

Cheers!

Mike

I will try this tomorrow

I was away last week with no ability to troubleshoot on my openHAB server. While away, I decided I’d tackle this problem at the most basic level - start over.

  • I flashed a new openHABian image ensuring I started with the latest RELEASE version.
  • I installed Mosquitto and configured SSL (using Certbot) and the listeners for 1883 and 8883. I confirmed that SSL “traffic” is being received by the broker.
  • I installed the openHAB Cloud Connector so I could “look” at the state of the OwnTracks switches while I was not at home.
  • I installed the MQTT and MQTTITUDE bindings and only these.
  • I set up TRACE logging for MQTTITUDE.
  • I am logging all owntracks/# topics.

Results:

  • The broker is receiving transition messages from both devices.
  • The MQTTITUDE log does not show that it has “seen” any of the transition messages from my wife’s phone… yet it’s seen location messages from her phone.

In other words, the exact same behavior as before.

Should I try a newer snapshot of the MQTTITUDE binding? If so, which one (i.e., a link to the file I should retrieve)?

Other thoughts?

Thanks.

Mike

Sorry, I forgot about this thread. I haven’t had the issue and both my phone and my wife’s report to owntracks and the events get detected. Did you try to change the owntracks ID of your wife’s phone?

Vincent,

Just to clarify before I take the action… In the OwnTracks app on the mobile device, under identification, change the ‘Device ID’? The ‘Tracker ID’? Both?

BTW, at the suggestion of JP Mens over on the OwnTracks Talk forum, I simplified my configuration to see if there was any ambiguity or “confusion” causing the MQTTITUDE binding to lose its mind. I removed the manual definition in mqttitude.cfg and set each phone to have just one region. That region is the same on both devices - centered on our home’s lat/lon with a 4Km radius. The issue remains - the mqttitude binding is simply “blind” to the transition messages from my wife’s phone.

I’ll give you suggestion a try based on any clarification you provide.

Thanks.

Mike

P.S. Any ideas @ben_jones12 ?

I would try the device id first. The trackerId is only inside the json.

Can you post your MQTTITUDE item binding configs here, and show some example pubs being received from your devices via mosquitto_sub so we can verify the payloads?

Resolved!

I completely uninstalled the app on my wife’s phone and re-installed. There must have been a stray non-printing character or something in one of the fields. I was so focused on the openHAB side I hadn’t blown away the app side and started over there.

I knew it was going to be something “simple”. It was just a matter of finding it! Arrgh!

All - Thanks for your help and guidance.

Mike