Nee-vo Command Line Sensor Broken?

Has anyone using the Nee-vo command line sensor experienced it breaking recently?

command_line:
  - sensor:
      command: "curl -u <user>:<password> https://telematics.otodatanetwork.com:4432/v1.5/DataService.svc/GetAllDisplayPropaneDevices --header Content-Type:application/json"
      name: "Propane Tank Neevo 371"
      unique_id: propane_tank_371
      value_template: "{{ value_json[0].Level|float(0) * 2.4 if value_json[0].Level is defined else this.state }}"
      scan_interval: 14400
      state_class: measurement
      unit_of_measurement: "Gallons"

It was working fine for a long time but I just noticed that it is now returning “entity is non numeric.” Nothing is showing up in logs. Manually browsing to the site prompts for a login but returns HTTP 500 - which this may entirely be their server side or something needs to be changed in the curl argument. Speaking of which, I get nothing back on cml curl or even pings.

Anyone ran across this yet?

Add -v to the curl command, and show the output

Thanks for the reply. Please take a look.

*   Trying 204.9.81.6:4432...
* TCP_NODELAY set
* Connected to telematics.otodatanetwork.com (204.9.81.6) port 4432 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=*.otodatanetwork.com
*  start date: Jan 15 17:51:03 2024 GMT
*  expire date: Feb 15 17:51:02 2025 GMT
*  subjectAltName: host "telematics.otodatanetwork.com" matched cert's "*.otodatanetwork.com"
*  issuer: C=BE; O=GlobalSign nv-sa; CN=AlphaSSL CA - SHA256 - G4
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Server auth using Basic with user 'xxx'
* Using Stream ID: 1 (easy handle 0x5606e59567c0)
> GET /v1.5/DataService.svc/GetAllDisplayPropaneDevices HTTP/2
> Host: telematics.otodatanetwork.com:4432
> authorization: Basic xxxxxx
> user-agent: curl/7.68.0
> accept: */*
> content-type: application/json
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 500
< cache-control: private
< server: Microsoft-IIS/10.0
< x-aspnet-version: 4.0.30319
< x-powered-by: ASP.NET
< date: Thu, 03 Oct 2024 14:24:13 GMT
< content-length: 0
<
* Connection #0 to host telematics.otodatanetwork.com left intact

Getting error 500 in my case as well

I am also getting error 500. It doesn’t look like the API has changed from what I can tell: https://telematics.otodatanetwork.com:4432/v1.5/DataService.svc/help

Same here. Stopped working a couple of days ago, and some playing around with Postman didn’t reveal anything more than the 500 errors. The help URL does say all the services updated “2024-10-04T21:56:31Z”. My Nee-Vo app on the phone is still working, but not really sure if it is updating because I only use my propane for supplemental heating and haven’t had to use it this season yet.

I was able to analyze the HTTP traffic of the iOS app and noticed the URL changed.

New URL: https://ws.otodatanetwork.com/neevoapp/v1/DataService.svc/GetAllDisplayPropaneDevices

2 Likes

Awesome job! That fixed it. Thanks for looking into this and figuring it out. How’d you figure it out in case this happens again? Wireshark?

1 Like

Sorry for the delayed reply! Yeah, I used WireShark to capture the request.