Humidity channel missing in latest onewire binding

Hello!

I am trying the latest onewire binding mentioned in the latest onewire topics. But I have the problem getting the humidity. The thing is a multisensor (‘ms-tx’) with a ds2438 chip and a HIH-4000 humidity sensor.

My things configuration:

Bridge onewire:owserver:owbridge [ network-address="127.0.0.1" ] {	
Thing ms-tx speicher_walm [
          id="26.C65D4A010000",
          refresh=120]	
}

The items file:

Number:Dimensionless owSpeicherWalmFeuchte "1-Wire Speicher Walm Feuchtigkeit [%.1f%%]" (gOwFeuchteSensor, gOwHumidityTemperatureSensor) { channel="onewire:ms-tx:owbridge:speicher_walm:humidity"} 
Number:Temperature owSpeicherWalmTemp "1-Wire Speicher Walm [%.1f] %unit%" (gOwTempSensor, gOwHumidityTemperatureSensor) { channel="onewire:ms-tx:owbridge:speicher_walm:temperature" } 

The logfile shows only an update to the temperature item, but not to the humidty item.

The Paper UI shows only the following channels:

  1. temperature
  2. voltage
  3. voltage (supplyvoltage)
  4. current

What is wrong in my configuration?

You may need to add the channel to your things file for humidity. See the doc’s here and scroll down about half way to Humidity.

Can you please help to write the correct configuration?

I’ve tried this, but the humidity does not apper

 Thing ms-tx speicher_walm [
      id="26.C65D4A010000", 
      refresh=120] {
          Channels:
               Type temperature-por-res : temperature [
                    ignorepor=true, 
                    resolution="11"
               ] 
              Type humidityconf : humidity [
                     humiditytype = "/HIH4000/humidity"
              ]			
     }

I’ve done some searching, as I do not use this sensor, and found this on github. Your config look correct. Hopefully the link helps and if not then you can create an issue. I’m sure someone there can assist with your config/issue.

Please show the owfs-webpage (usually under <owserver-host>:3001), especially the /pages. What brand is your multisensor?

I don’t know what you mean exactly, but I show you two screenshots from the owhttp-server

The sensor is like this one: https://www.loxwiki.eu/pages/viewpage.action?pageId=917723

In earlier versions the humidity works correctly, but I have to update due to the temparture sensor bug with file configuration.

Near the bottom of the page there is a link to pages. The line page.3 should contain 16 hexadecimal characters. What are the first two of that page?

If it is 00, change that to 19, leave the rest of the line untouched, click on “Change”. Try again.

All my page fields are totaly empty.

Does empty mean „filled with zeros“ or really empty?

really empty:

Please try withgout “uncached”, mine are empty in “uncached”, too.

Seems like a bug in owhttp with uncached version.

It looks better:

Did you set the first two characters of page.2 to 19? try that in page.3.

No, that was already set.

With the “19” it works! Thank you!

But the question is, make it sense to require a “19” at this point?
The datasheet from the ds2438 https://datasheets.maximintegrated.com/en/ds/DS2438.pdf defines the pages 3-7 as user definied (page 16). I have some more of this type of sensor and every has a different value in page 3.

That makes a lot of sense. iButtonLink and Elaborated Networks/Wiregate use this byte to show which kind of multisensor it is. E.g. 19 is the code for iButtonLink „temperature with humidity“, F2 is an Elaborated Networks „temperature with humidity with light option enabled“. There are other codes for other sensors. If the code is 00 or unknown, the sensor is configured as „generic“ type.

I‘ll check if it is possible to put a „change sensor type“ option and will probably add a note to the documentation.

But with the assumption to this special values it is hard to find the error if it not working. The owsfs shows all correctly, but the binding does not work even if the channel is configured.

So one suggestion is, if it generic AND the channel is explicit configured, then try to use this configuration. Or as your suggestion allow to set the correct type of sensor in the configuration like in the older version with MS-TH.

No. The owfs shows the humidity regardless of the sensor attached. It just calculates the value from the measured voltage.

And I don’t see how it is hard to find the error. If you use the textual configuration you are most likely to be an advanced user and should be able to decide that you should read the documentation (where I’ll add a not on this). If you use PaperUI, you clearly see that the sensor is detected as a generic one not as a MS-TH. Then you’ll look in the documentation and find why it is not detected as MS-TH.

Thats correct, but it shows a value. And if I think its not the correct one, then I can go on and configure the correct sensor. But actually it shows nothing.

But if I want it exaclty, there is the next problem. The HIH-4000 sensor will be delivered with a calibration printout for maximum accuracy. Where can I set this value?

But thats not my problem. I can work with this workaround and with a note in den docs I will remember when I add a new sensor.

For the PaperUI user, I think it should work without reading the docs. So here it would be nice, if it’s possible to choose the sensortype directly in the UI. But this is your decision.

Thank you for your quick help! My System is working with the ms-th and temperature sensors.

This is only a problem of „self-made“ sensors. The commercially available sensors I know all have the correct identification byte set.

documentation updated in PR #6835
for update: Issue #6845

1 Like