[MSR] reactor-mqtt-contrib package for additional MQTT templates
-
@therealdb
Thanks so much for this. I seem to have fallen at the first hurdle:
I grabbed zip file from Git hub and unzipped it. SCPed the owntracks_sensor.yaml file over to my bare metal Debian Bullseye install.
Created reactor/config/mqtt_templatescatman@openluup:~/reactor/config$ ls -l total 124 -rw-r--r-- 1 catman catman 232 May 26 2022 0-README.txt -rw-r--r-- 1 catman catman 302 May 26 2022 cameras.yaml -rw-r--r-- 1 catman catman 150 May 26 2022 dashboard.json -rw-r--r-- 1 catman catman 399 May 26 2022 local_hass_devices.yaml -rw-r--r-- 1 catman catman 434 May 26 2022 local_hubitat_devices.yaml -rw-r--r-- 1 catman catman 1945 May 26 2022 logging.yaml drwxr-xr-x 2 catman catman 4096 Dec 11 18:00 mqtt_templates -rw-r--r-- 1 catman catman 8960 Jul 19 16:10 notification.yaml -rw-r--r-- 1 catman catman 8959 Jul 19 15:55 notification.yaml.orig -rw-r--r-- 1 catman catman 8963 Jul 19 16:03 notification.yaml.telegram -rw-r--r-- 1 catman catman 8960 Jul 19 17:15 notification.yaml.working -rw-r--r-- 1 catman catman 12221 Dec 11 18:12 reactor.yaml -rw-r--r-- 1 catman catman 11827 Oct 10 18:07 reactor.yaml.change -rw-r--r-- 1 catman catman 11896 May 26 2022 reactor.yaml.orig -rw-r--r-- 1 catman catman 12039 Dec 11 18:01 reactor.yaml.working
The file is there
catman@openluup:~/reactor/config/mqtt_templates$ ls -l total 4 -rw-r--r-- 1 catman catman 3301 Dec 11 18:00 owntracks_sensor.yaml
And there is an entry in reactor.yaml:
rachel_owntracks: name: "Rachel Location" prefix: rachel topic: iphone uses_template: owntracks_sensor homeRegionName: Home
Obviously something really silly but damned if I can spot it
Could the template yaml file have been corrupted?
TIA!
C
-
Are you on the latest version of MQTTController?
-
I am now, thanks!
All looking goodC
-
@catmanv2 I'm watching your trials with this and trying to learn from your successes and losses.
What do you have configured in the actual iOS OwnTracks app as far as:
TrackerID
DeviceID
UserID
I think this is where I'm getting lost. I'm testing with HiveMQ and have the iPhone connecting (phone shows
connected
) and MSRs MQTTController is connected just fine to HiveMQ - it's just MSR and the iphone that are missing each other.- id: mqtt2 name: MQTT HiveMQ enabled: true implementation: MQTTController config: # Replace IP with that of your MQTT broker below source: "mqtts://7exxxxxxxxxxxxxxx0d0.s2.eu.hivemq.cloud:8883" username: "<username>" password: "<password>" entities: owntracks_iphone14p: #entity ID - must be unique name: "iPhone14p location" # friendly name prefix: "iphone14p" topic: "john_iphone" #the device name of my phone is John iPhone uses_template: owntracks_sensor homeRegionName: "Home"
In MQTTController I do see:
...but that's nowhere the detail I'd expect from @therealdb's template (which is properly placed in the correct location:
I am brand new to MQTT so I'm likely missing something horribly obvious.
Any guidance is appreciated.
-
@gwp1
TrackerID is CM
DeviceID is catmaniphone
UserID is my configured username for my Mosquito server (so should be your Hive username)Because all of my stuff is local I can see the messages being posted to the logs. Not sure if you can do that with your hive set up?
At a guess you are not connecting to the Hive server. Does the iPhone app say 'connected'. Can you see Reactor getting messages from the Hive server?
I'm not 100% sure that's the right location for the config file. I guess if you're running reactor from /home/reactor/Documents it's right though. Just an odd choice (although Windows is not my thing) !
C
-
gwp1replied to CatmanV2 on Dec 11, 2022, 7:54 PM last edited by gwp1 Dec 11, 2022, 2:55 PM
@catmanv2 yep, configured the Hive user and password and is shows as “connected” in the iOS app. I’ve not found anywhere in their dashboard to verify messages being received into the broker. I’ve not seen anything come in from the broker to msr.
I’m running a bare metal install on a RPi. Not a Linux expert so it ended up in an interesting folder structure but it works just fine so re-orging isn’t a priority.
-
Hmm, yes tough. I share your suspicion that it's Hive. No interest in firing up Mosquito on your Linux box? Takes about 10 minutes. OK there's an increase in your vulnerability but.....
C
-
The docs for MQTTController describe how to enable topic capture, so you can see if you are getting anything at all from Hive (this is probably preferable to turning up the log level in the log file for MQTTController). I'd suggest that as a start. See what, if anything, it's sending at all.
Ref: https://reactor.toggledbits.com/docs/MQTTController/#troubleshooting-and-debugging
-
@toggledbits @CatmanV2 Unless I'm just not far enough thru coffee this morning, this is what I see in MSR's mqtt logs and it looks like it's data from my iPhone8 (which I fired up via wifi to use as a test phone.)
2022-12-12T14:02:02.896Z "owntracks/msrmqtt/iphone8" {"_type":"location","acc":35,"alt":10,"batt":100,"bs":1,"conn":"o","inregions":["Home"],"inrids":["adf34c"],"lat":32.94714,"lon":-80.013836,"m":1,"p":101.826,"t":"u","tid":"i8","tst":1670853720,"vac":15} 2022-12-12T14:02:02.998Z "owntracks/msrmqtt/iphone8" {"_type":"location","acc":10,"alt":10,"batt":100,"bs":1,"conn":"o","inregions":["Home"],"inrids":["adf34c"],"lat":32.946934,"lon":-80.013887,"m":1,"p":101.827,"tid":"i8","tst":1670853722,"vac":8,"vel":0}
So why isn't this showing here:
My entity config is:
owntracks_iphone8: #entity ID - must be unique name: "iPhone8 location" # friendly name prefix: "iphone8" topic: "test_iphone" uses_template: owntracks_sensor homeRegionName: "Home"
I feel like I'm just "this close" and I just don't have something aligned properly.
-
toggledbitswrote on Dec 12, 2022, 2:47 PM last edited by toggledbits Dec 12, 2022, 9:49 AM
Yes, your configuration of
prefix
andtopic
don't make a string that matches what is being received. Based on what it is coming in and how those fields template configuration are used,prefix
should bemsrmqtt
andtopic
should be justiphone8
.Conspicuous give-away: your
test_iphone
value doesn't appear in the topic or payload of what you're receiving.@therealdb this may need a bit more documentation, since the relevance of
prefix
andtopic
aren't immediately clear (at least, not to me) without looking at the template itself and seeing how they are used, and likely the phone configuration as well (i.e. describe how configuration fields on the phone may appear in the final event topic). -
I believe @toggledbits has it (unsurprisingly)
C
-
@toggledbits I was just updating
prefix
when your response came in. Here's where I am now:entities: owntracks_iphone8: #entity ID - must be unique name: "iPhone8 location" # friendly name prefix: "msrmqtt" topic: "iphone8" uses_template: "owntracks_sensor" homeRegionName: "Home"
My template is in reactor/config/mqtt_templates which is where @therealdb directs. Do I need to modify the
uses_template:
? -
I think the template is in the correct place. Let's see what happens when you restart Reactor
C
-
@gwp1 Are you getting an error that the template
owntracks_sensor
doesn't exist? -
@toggledbits I am not receiving any errors.
Just not seeing anything populate the entity.
Is it something to do with the entity name by any random chance?
-
@gwp1 said in [MSR] reactor-mqtt-contrib package for additional MQTT templates:
@toggledbits I am not receiving any errors.
Then there's nothing wrong with
uses_template
.I'll make the same comment/question to you that I made to @CatmanV2 earlier in this same thread: you're on the latest MQTTController, right?
-
gwp1replied to toggledbits on Dec 12, 2022, 3:21 PM last edited by gwp1 Dec 12, 2022, 10:27 AM
@toggledbits MQTTController-22326 (double-checked the
CHANGELOG.md
)EDIT: ...which I now see is a version behind. You snuck one in on me. Updating to MQTTController-22340.
17/44