title: gpsd returning incomplete DEVICES message
body: <p>On a small prometheus setup I've got hundreds of syslog messages in this style:</p>
  <pre><code>Sep 23 08:09:01 raspi4-bolli gpsd-exporter[20242]: 0 {&quot;class&quot;:&quot;DEVICES&quot;,&quot;devices&quot;:[{&quot;class&quot;:&quot;DEVICE&quot;,&quot;path&quot;:&quot;/dev/stdin&quot;,&quot;driver&quot;:&quot;NMEA0183&quot;,&quot;activated&quot;:&quot;2021-09-23T06:08:59.997Z&quot;,&quot;flags&quot;:1,&quot;native&quot;:0,&quot;bps&quot;:9600,&quot;parity&quot;:&quot;}]}
  Sep 23 08:09:01 raspi4-bolli gpsd-exporter[20242]:  Invalid control character at: line 1 column 173 (char 172)
  </code></pre>
  <p>So I'm thinking: gpsd-exporter is written in Python, I'll try to make a minimum running example throwing the same error (using <a href="https://github.com/MartijnBraam/gpsd-py3" rel="nofollow noreferrer">this gpsd library</a>):</p>
  <pre class="lang-py prettyprint-override"><code>import gpsd
  gpsd.connect()
  </code></pre>
  <p>which gives the following output:</p>
  <pre><code>{&quot;class&quot;:&quot;VERSION&quot;,&quot;release&quot;:&quot;3.17&quot;,&quot;rev&quot;:&quot;3.17&quot;,&quot;proto_major&quot;:3,&quot;proto_minor&quot;:12}
  
  0 {&quot;class&quot;:&quot;DEVICES&quot;,&quot;devices&quot;:[{&quot;class&quot;:&quot;DEVICE&quot;,&quot;path&quot;:&quot;/dev/stdin&quot;,&quot;driver&quot;:&quot;NMEA0183&quot;,&quot;activated&quot;:&quot;2021-09-23T06:35:47.017Z&quot;,&quot;flags&quot;:1,&quot;native&quot;:0,&quot;bps&quot;:9600,&quot;parity&quot;:&quot;}]}
  
  0 {&quot;class&quot;:&quot;DEVICES&quot;,&quot;devices&quot;:[{&quot;class&quot;:&quot;DEVICE&quot;,&quot;path&quot;:&quot;/dev/stdin&quot;,&quot;driver&quot;:&quot;NMEA0183&quot;,&quot;activated&quot;:&quot;2021-09-23T06:35:47.017Z&quot;,&quot;flags&quot;:1,&quot;native&quot;:0,&quot;bps&quot;:9600,&quot;parity&quot;:&quot;}]}
   Invalid control character at: line 1 column 173 (char 172)
  1 {&quot;class&quot;:&quot;WATCH&quot;,&quot;enable&quot;:true,&quot;json&quot;:false,&quot;nmea&quot;:false,&quot;raw&quot;:0,&quot;scaled&quot;:false,&quot;timing&quot;:false,&quot;split24&quot;:false,&quot;pps&quot;:false}
  </code></pre>
  <p>As you can see, the DEVICES answer is somehow incomplete: <code>&quot;parity&quot;:&quot;}]}</code>. I'm not sure if this is related to the gpsd Python library or gpsd itself - I suppose the latter, though I'm unsure why.</p>