LILYGO TTGO LoRa32 V2.1_1.6 433 MHz + Oil Watchman

I only started using OMG a couple of weeks ago so a bit green. Maybe you could try and contact gareth who has done a lot of work with the watchman,

Well, I have picked up hundreds of car tpms readings now, and I even caught a couple of watchman readings which I was very excited about for a short while, but then I figured from the reading that these must be from next door. Their tank is about twice the distance away that mine is, so I am fairly convinced that I have a variant that is not coded for at the moment.

I think the only way forward now is to get a 433 usb tuner stick and plug that in to my home assistant Pi and run rtl-433 on there so I can (hopefully) catch the raw signals and see what is going on.

I have a NoElec SDR running on a Raspberry Pi with RTL-433 in the same location as my Lilygo. The Lilygo with FSK picks up all the local Watchmans, at least 4 or 5. I had to take my watchman out of the tank to ID it. It also picks up the odd Renault TPMS but weā€™re on a quiet street. The SDR with RTL-433 picks up all the Watchman traffic and lots of Oregon Temperature sensors on the default config so itā€™s seeing FSK and OOK together. Iā€™ve not researched how to put it in RAW mode yet. I did pick up one Watchman Pro message on the Lilygo that was decoded differently so it is seeing a different type of Watchman that is further away. If your Watchman is close and compatible Iā€™m sure you would see it as I see 10-15 readings per day from each local watchman

I know this is an older post, and a little off topic, but could you provide any details on your config/setup that is receiving TPMS? I read through the history, but due to mentions of experimentation, not sure what is finally working for this.

Iā€™m really looking for info that allows me to receive 433Mhz TPMS on my lilygo ttgo while my RPI/SDR takes care of 315Mhz TPMS (without having to alternate). Thanks!

Hi. I have not looked at this for a long time after I failed to get anywhere with it. But I donā€™t recall doing anything peculiar config-wise, apart from installing, for my heltec device, ā€œheltec-rtl_433-fskā€ - note the ā€œfskā€ version as opposed to the ā€œnormalā€ one, which is what is needed (I believe) to pick up oil watchman devices. There is a lilygo fsk version there too. It never saw my oil tank (must be a variant not coded for), but it certainly saw passing tyres!

1 Like

Ah, thanks! I didnt even notice that option since I had last installed 1.70 early this year. It does work after tuning to 433Mhz. It found a ford TPMS passing by but not the Schrader ones I have (used TPMS trigger tool). Not sure if mine is FSK, OOK, or something else.

Great, youā€™re welcome. You could try shifting the freq slightly and leaving it a day to see if yours are on a slightly different freq. I went through days of doing this trying to pick up my oil tank, but I only managed to pick up next doorā€¦ I also wonder if tpms sensors have motion sensors in them so they only send when theyā€™ve moved, to save power - have you moved your car soon before trying?

The TPMS sensors do have a motion and pressure change trigger. You can also trigger them using a TPMS trigger/programming device (which is what Iā€™m using). Iā€™ve gotten all of my cars sensors mapped but found that 3 of the cars use 315Mhz and one uses 433.92Mhz (Schrader). They all work well with the full rtl_433 running on an RPI with a SDR but I can only tune to one frequency at a time. You can make the SDR switch between two (or more) frequencies, but Iā€™m sure Iā€™ll miss data in the small window when I park the cars so I wanted to use my lilygo to get the remaining Schrader one as well as my other 433MHz devices. After trying for a day or so it seems the Schrader TPMS is not being decoded.

I suppose it depends on which Schrader 433 MHZ TPMS it is. Three Schrader TPMS decoders have been ported to RTL_433_ESP, all OOK, but they are still a bit different/older until a new porting from RTL_433 is being done

but one, which seem to be included in the BMW decoder on RTL_433 is not (yet) in RTL_433_ESP

So I assume your TPMS might need the updated decoder or the missing BMW decoder to be correctly recognised and decoded in the future.

Which one of the four decoders is it showing up with under RTL_433?

For me, its ā€œprotocol 60 # Schrader TPMSā€ in rtl_433. That ā€˜seemsā€™ to correspond with the 120 you posted but does not show up when I trigger it. Iā€™d be willing to do any work to help figure out why.

Just to confirm, you are using the lilygo-rtl_433 binary (not the lilygo-rtl_433-fsk) of the latest OpenMQTTGateway development version on a 433 MHz LilyGo LoRa32 v2.1 hardware, and the LilyGo is close to the car with the Schrader TPMS?

Iā€™ve used both. Iā€™m currently reverted to the ā€œlilygo-rtl_433ā€ version, but tried the ā€œlilygo-rtl_433-fskā€ to see if I could get the TPMS for my Schrader. I did get some FORD TPMS, the first time Iā€™ve ever seen any TPMS with that version, but nothing else. Iā€™m not sure Iā€™ve loaded the ā€œdevelopment versionā€ in either case, though. Can that be done through the web installer? Iā€™ve tried moving to the dev version through the web interface, but it just seems to reboot and come up with the same version. How can I find/validate if Iā€™m using the dev version?

For some clarification for you and others, @NorthernMan54ā€™s RTL_433_ESP repo page has a clear list of which decoders require the OOK and which the FSK version to be installed - also already posted above here in the thread. There you can see the Ford TPMS listed under the FSK section, but the three Schrader ones are under the OOK section

The development version can also be installed through a web installer, under a different URL

Using that link did allow me to install the dev version (which shows its OMG_lilygo_rtl_433_ESP_OOK). Unfortunately, after triggering my TPMS I did not receive anything other than my 433MHz temp sensors that are normally received.

N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/SSD1306toMQTT msg: {"onstate":true,"brightness":50,"display-flip":true,"idlelogo":true,"log-oled":false,"json-oled":true} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/WebUItoMQTT msg: {"displayMetric":true,"webUISecure":true,"displayQueue":0} 
W: [WebUI] No changes
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX141THBv2/0/33 msg: {"model":"LaCrosse-TX141THBv2","id":33,"channel":0,"battery_ok":1,"temperature_C":-23.2,"humidity":78,"test":"No","mic":"CRC","protocol":"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor","rssi":-74,"duration":145000} 
N: type: null
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX/81 msg: {"model":"LaCrosse-TX","id":81,"temperature_C":30.2,"mic":"PARITY","protocol":"LaCrosse TX Temperature / Humidity Sensor","rssi":-67,"duration":220000} 
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX141THBv2/0/33 msg: {"model":"LaCrosse-TX141THBv2","id":33,"channel":0,"battery_ok":1,"temperature_C":-22.9,"humidity":78,"test":"No","mic":"CRC","protocol":"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor","rssi":-74,"duration":145000} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RFtoMQTT msg: {"active":3,"frequency":433.92,"rssithreshold":-104,"rssi":-116,"avgrssi":-113,"count":22,"ookthreshold":15} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/SYStoMQTT msg: {"uptime":250,"version":"caea02","disc":true,"ohdisc":false,"env":"lilygo-rtl_433","freemem":112812,"mqttp":"1883","mqtts":false,"mqttv":false,"msgprc":21,"msgblck":0,"maxq":3,"cnt_index":0,"minmem":43124,"tempc":46.67,"freestck":3036,"powermode":-1,"eth":false,"rssi":-66,"SSID":"virusnet","BSSID":"FC:EC:DA:BA:90:63","ip":"192.168.0.24","mac":"E8:6B:EA:09:DA:50","modules":["LilyGo_SSD1306","WebUI","rtl_433"]} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/SSD1306toMQTT msg: {"onstate":true,"brightness":50,"display-flip":true,"idlelogo":true,"log-oled":false,"json-oled":true} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/WebUItoMQTT msg: {"displayMetric":true,"webUISecure":true,"displayQueue":0} 
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX141THBv2/0/33 msg: {"model":"LaCrosse-TX141THBv2","id":33,"channel":0,"battery_ok":1,"temperature_C":-22.7,"humidity":78,"test":"No","mic":"CRC","protocol":"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor","rssi":-74,"duration":143000} 
N: type: null
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX/81 msg: {"model":"LaCrosse-TX","id":81,"temperature_C":30.2,"mic":"PARITY","protocol":"LaCrosse TX Temperature / Humidity Sensor","rssi":-67,"duration":220000} 
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX141THBv2/0/33 msg: {"model":"LaCrosse-TX141THBv2","id":33,"channel":0,"battery_ok":1,"temperature_C":-22.5,"humidity":78,"test":"No","mic":"CRC","protocol":"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor","rssi":-74,"duration":143000} 
N: type: null
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX/81 msg: {"model":"LaCrosse-TX","id":81,"temperature_C":30,"mic":"PARITY","protocol":"LaCrosse TX Temperature / Humidity Sensor","rssi":-66,"duration":218000} 
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX141THBv2/0/33 msg: {"model":"LaCrosse-TX141THBv2","id":33,"channel":0,"battery_ok":1,"temperature_C":-22.3,"humidity":78,"test":"No","mic":"CRC","protocol":"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor","rssi":-74,"duration":143000} 
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RFtoMQTT msg: {"active":3,"frequency":433.92,"rssithreshold":-104,"rssi":-112,"avgrssi":-113,"count":34,"ookthreshold":15} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/SYStoMQTT msg: {"uptime":370,"version":"caea02","disc":true,"ohdisc":false,"env":"lilygo-rtl_433","freemem":113036,"mqttp":"1883","mqtts":false,"mqttv":false,"msgprc":29,"msgblck":0,"maxq":3,"cnt_index":0,"minmem":43124,"tempc":47.22,"freestck":3036,"powermode":-1,"eth":false,"rssi":-64,"SSID":"virusnet","BSSID":"FC:EC:DA:BA:90:63","ip":"192.168.0.24","mac":"E8:6B:EA:09:DA:50","modules":["LilyGo_SSD1306","WebUI","rtl_433"]} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/SSD1306toMQTT msg: {"onstate":true,"brightness":50,"display-flip":true,"idlelogo":true,"log-oled":false,"json-oled":true} 
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/WebUItoMQTT msg: {"displayMetric":true,"webUISecure":true,"displayQueue":0} 
N: type: null
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX/81 msg: {"model":"LaCrosse-TX","id":81,"temperature_C":30,"mic":"PARITY","protocol":"LaCrosse TX Temperature / Humidity Sensor","rssi":-67,"duration":218000} 
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX141THBv2/0/33 msg: {"model":"LaCrosse-TX141THBv2","id":33,"channel":0,"battery_ok":1,"temperature_C":-22.2,"humidity":78,"test":"No","mic":"CRC","protocol":"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor","rssi":-74,"duration":143000} 
N: type: null

N: type: null
N: type: null
N: [ OMG->MQTT ] topic: home/OMG_lilygo_rtl_433_ESP_OOK/RTL_433toMQTT/LaCrosse-TX/81 msg: {"model":"LaCrosse-TX","id":81,"temperature_C":30.3,"mic":"PARITY","protocol":"LaCrosse TX Temperature / Humidity Sensor","rssi":-67,"duration":216000} 

Then all I can think of really is the distance, as a LilyGo usually does not have the same long range reception as an SDR.

Or possibly having to tweak the receiving frequency a bit in the web UI.

Oh, wow, distance is the issue. I moved the antenna right by the tires and it just barely picks them up now. The other temp sensors it picks up are multiple rooms away and even inside freezers, so I thought 10ft should be fine for these, apparently not.

Schrader

1C7C700 = {ā€œmodelā€:ā€œSchraderā€,ā€œtypeā€:ā€œTPMSā€,ā€œflagsā€:ā€œ00ā€,ā€œidā€:ā€œ1C7C700ā€,ā€œpressure_kPaā€:242.5,ā€œtemperature_Cā€:27,ā€œmicā€:ā€œCRCā€,ā€œprotocolā€:ā€œSchrader TPMSā€,ā€œrssiā€:-100,ā€œdurationā€:62001}

1C793B8 = {ā€œmodelā€:ā€œSchraderā€,ā€œtypeā€:ā€œTPMSā€,ā€œflagsā€:ā€œ00ā€,ā€œidā€:ā€œ1C793B8ā€,ā€œpressure_kPaā€:240,ā€œtemperature_Cā€:25,ā€œmicā€:ā€œCRCā€,ā€œprotocolā€:ā€œSchrader TPMSā€,ā€œrssiā€:-77,ā€œdurationā€:121000}

Even though its publishing it, Home Assistant doesnt seem to pickup actual values though.

image

Perhaps I have it setup incorrectly?

It looks like the discovery might have not worked properly.

Could you turn on discovery again and press the Restart button on your gatewayā€™s HA UI for a re-discovery.

Yes, that was the issue again. Thanks for all your insight! Too bad my boardā€™s range is so low. Iā€™ll try different antennas to see if I can get a closer match to the frequency.