<div dir="auto"><div>I can best suppose so far that for one, printf in shell may differ from that  in C and from scanf for that matter. And I think OTOH that scanf can signal an error if the formatting string does not match expected pattern. Maybe this is what happens to reject the device, maybe some other fault.</div><div dir="auto"><br></div><div dir="auto">Try finding where it parses that input to fall back treating `-.--` as zero or something to mean "known-mussing"... Ideally just a lack of that reading in dstate, in the end - e.g. no temperature field for this device.<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, Aug 16, 2022, 15:24 Tomáš Thiemel <<a href="mailto:thiemel@centrum.cz" target="_blank" rel="noreferrer">thiemel@centrum.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Hi Jim,</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">I am afraid that the main problem is in '%.1f' in the "lookup table" when UPS returns "--.-" (string) instead of "12.3" (float):</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px"><br>
</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px;font-family:'courier new'">root@OpenWrt:~# printf '%.1f \n' "12.3"</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px;font-family:'courier new'">12.3</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px;font-family:'courier new'">root@OpenWrt:~# printf '%.1f \n' "--.-"</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px;font-family:'courier new'">ash: invalid number '--.-'</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px;font-family:'courier new'">0.0</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px"><br>
</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">I checked source codes at <a href="https://github.com/networkupstools/nut/tree/master/drivers" rel="noreferrer noreferrer" target="_blank">https://github.com/networkupstools/nut/tree/master/drivers</a> and a</span>ll these protocols have similar "lookup table":</p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_zinto.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_voltronic-qs.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_q1.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_mustek.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_megatec.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_megatec-old.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_mecer.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_hunnox.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">- nutdrv_qx_bestups.c</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px"><br>
</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">BTW - I already wrote some "basic" code in Python using PyUSB to read desired data from the UPS, but the communication with it is very very bad. </span><span style="font-size:10pt">Probably due to the bad the quality of the electronics in it.</span> Sometimes it returns data with missing initial characters (missing first 8 bytes) so I have to re-read the status, sometimes the communication freezes completely so I have to power-cycle the USB port.</p>

<p style="padding:0 0 0 0;margin:0 0 0 0"> </p>

<p style="font-size:13.3333px">Best regards / S pozdravem</p>

<p style="font-size:13.3333px"> </p>

<p style="font-size:13.3333px">Tomáš Thiemel</p>

<p style="font-size:13.3333px"><a href="mailto:thiemel@centrum.cz" rel="noreferrer noreferrer" target="_blank">thiemel@centrum.cz</a></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"> </p>

<p style="padding:0 0 0 0;margin:0 0 0 0">______________________________________________________________<br>
> Od: "Jim Klimov" <<a href="mailto:jimklimov%2Bnut@gmail.com" rel="noreferrer noreferrer" target="_blank">jimklimov+nut@gmail.com</a>><br>
> Komu: "Tomáš Thiemel" <<a href="mailto:thiemel@centrum.cz" rel="noreferrer noreferrer" target="_blank">thiemel@centrum.cz</a>><br>
> Datum: 16.08.2022 12:44<br>
> Předmět: Re: [Nut-upsuser] request - nutdrv_qx_megatec.c: update/fix the code for "new" UPS<br>
></p>

<p style="padding:0 0 0 0;margin:0 0 0 0">> CC: <<a href="mailto:nut-upsuser@alioth-lists.debian.net" rel="noreferrer noreferrer" target="_blank">nut-upsuser@alioth-lists.debian.net</a>></p>

<div dir="auto">Ahoj,
<div dir="auto">  Just in case, did you check other subdrivers there? They all are for variants of Megatec Qx family, UPS vendors were creative with it...</div>
<div dir="auto">Jim</div>
</div>
<br>

<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Tue, Aug 16, 2022, 03:46 Tomáš Thiemel via Nut-upsuser <<a href="mailto:nut-upsuser@alioth-lists.debian.net" rel="noreferrer noreferrer" target="_blank">nut-upsuser@alioth-lists.debian.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Hi.</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">I bought new UPS which is not "supported", yet.</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"> </p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Brand: Volt Polska</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Model: Micro 800</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">have USB with Megatec protocol ("Q1<cr>")</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Data returned by UPS: <strong><span>"(242.9 242.9 242.9 000 50.0 13.3 --.- 00001001"</span></strong></span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Problem: data returned by UPS is not handled correctly by nutdrv_qx/megatec driver, although the SW from <a href="https://www.power-software-download.com/viewpower.html" rel="noreferrer noreferrer" target="_blank">https://www.power-software-download.com/viewpower.html</a> (JAVA) works fine.</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"> </p>

<p style="padding:0 0 0 0;margin:0 0 0 0">"ups.temperature" is defined as "%.1f" in the source code but my UPS returns "<span style="font-size:10pt">--.-"</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px"><br>
 </span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><span style="font-size:13.3333px">Debug info:</span></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">root@patschkav-OpenWrt:~# /lib/nut/nutdrv_qx -DDDDDDDDDD -a ups -x protocol=megatec</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">Network UPS Tools - Generic Q* USB/Serial driver 0.28 (2.7.4)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">USB communication driver 0.33</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.000000     send_to_all: SETINFO driver.parameter.port "auto"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.006788     send_to_all: SETINFO driver.parameter.vendorid "0665"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.008047     send_to_all: SETINFO driver.parameter.productid "5161"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.010655     send_to_all: SETINFO driver.parameter.protocol "megatec"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.011858     debug level is '10'</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.014225     upsdrv_initups...</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.019924     Checking device (0665/5161) (001/014)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036693     - VendorID: 0665</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036788     - ProductID: 5161</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036819     - Manufacturer: unknown</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036850     - Product:</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036881     - Serial Number: unknown</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036912     - Bus: 001</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036942     - Device release number: 0002</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.036971     Trying to match device</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037069     Device matches</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037178     nut_usb_set_altinterface: skipped usb_set_altinterface(udev, 0)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037262     send_to_all: SETINFO ups.vendorid "0665"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037317     send_to_all: SETINFO ups.productid "5161"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037361     Skipping protocol Voltronic 0.06</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037399     Skipping protocol Voltronic-QS 0.07</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037438     Skipping protocol Voltronic-QS-Hex 0.10</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037477     Skipping protocol Mustek 0.07</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037514     Skipping protocol Megatec/old 0.07</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037551     Skipping protocol BestUPS 0.06</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.037589     Skipping protocol Mecer 0.07</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.052692     send: Q1</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.054678     read: timeout (0)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   0.054842     qx_process_answer: short reply (input.voltage)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.465747     send: Q1</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.494790     read [  0]: (8 bytes) => 28 32 34 30 2e 38 20 32</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.526803     read [  8]: (8 bytes) => 34 30 2e 38 20 32 34 30</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.558795     read [ 16]: (8 bytes) => 2e 38 20 30 30 30 20 35</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.590799     read [ 24]: (8 bytes) => 30 2e 32 20 31 33 2e 33</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.622797     read [ 32]: (8 bytes) => 20 2d 2d 2e 2d 20 30 30</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.654819     read [ 40]: (8 bytes) => 30 30 31 30 30 31 0d 00</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.654919     read: (240.8 240.8 240.8 000 50.2 13.3 --.- 00001001</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   1.655052     send_to_all: SETINFO input.voltage "240.8"</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   3.061834     send: I</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   3.094895     read [  0]: (8 bytes) => 31 0d 00 00 00 00 00 00</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   3.094994     read: 1</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   3.095100     qx_process_answer: short reply (ups.firmware)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   3.095161     send_to_all: DELINFO input.voltage</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   4.506937     send: Q1</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   5.509389     read: Operation timed out (-145)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   5.509494     qx_process_answer: short reply (input.voltage)</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   5.509541     Skipping protocol Zinto 0.06</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   5.509578     Skipping protocol Q1 0.07</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   5.509608     Device not supported!</span></font></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"><font face="courier new"><span style="font-size:13.3333px">   5.509638     Device not supported!</span></font></p>

<div>Can some skilled programmer fix the code in <span>nutdrv_qx_megatec.c</span>, please? I'm just stupid sysadmin. :-(</div>
<div>Thank you very much.</div>
<p style="padding:0 0 0 0;margin:0 0 0 0"> </p>

<p style="font-size:13.3333px">Best regards / S pozdravem</p>

<p style="font-size:13.3333px"> </p>

<p style="font-size:13.3333px">Tomáš Thiemel</p>

<p style="font-size:13.3333px"><a href="mailto:thiemel@centrum.cz" rel="noreferrer noreferrer" target="_blank">thiemel@centrum.cz</a></p>

<p style="padding:0 0 0 0;margin:0 0 0 0"> </p>

<div> </div>
_______________________________________________<br>
 Nut-upsuser mailing list<br>
 <a href="mailto:Nut-upsuser@alioth-lists.debian.net" rel="noreferrer noreferrer" target="_blank">Nut-upsuser@alioth-lists.debian.net</a><br>
 <a href="https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser" rel="noreferrer noreferrer" target="_blank">https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser</a></blockquote>
</div>
</blockquote></div></div></div>