JsBergbau / node-red-contrib-ccs811-airquality-sensor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Command error

OverlanAI opened this issue · comments

i set it up as instructed on my new PI-400, it is part of the sparkfun combo board that also has the BME280 on it as well as the CCS811.
The device shows up as 0x5b. I set all of that and node red did not reject it but
all i get back is:
1/15/2021, 3:41:32 PMnode: CCS811 airquality sensor
msg : error
"Error: , Remote I/O error"
So it seems aware that it is there at least.
NODE RED shows:
Node "83f7f18a.e4ac8"
Name CCS811 airquality sensor
Type CCS811-airquality-sensor
Module node-red-contrib-ccs811-airquality-sensor
i2cBus "1"
CCS811Address "0x5B"
CCS811Mode "mode2"
Im not sure what else to provide you past the above.
Many thanks.
Sub Note: The BME280 on the same board works just fine if it matters at all.

Hallo OverlanAI. Did you reduce baudrate for clockstretchting? dtparam=i2c_baudrate=10000 in /boot/config.txt and rebooted? WAK Pin is connected to ground?

Remote I/O Error means that something went wrong with communication to the sensor.

@JsBergbau
The WAK pin is not part of the combo board structure so i would not know. (it is a combo board produced by spark fun
so my guess is that it is not tied to ground).
Yes i did set the dtparam=i2c_baudrate=10000 and reboot. I also tried it at its default state as well but the error continues.
It is good to know what the error means at least.
Thanks for your prompt attention
Sub Note: I thought overclocking could effect it so i turned that off as well and is back to the default of 1.8ghz but also had no effect.

@JsBergbau
Ahh there is a break out pin on the combo board for WAK, i will test that shortly and see if that is it but its my understanding that if that is not grounded then the device will not show up at all when in my case it does show up as well as the BME280 on the same breakout sensor board.
I can check it with my logic probe just to be sure.

Yes you're right normally sensor shouldn't show up when not connected, but who knows how this board is constructed, so just to be sure.

Do you have an extra user for node red? If so, please check by groups if this user is in the i2c group.

If it still doesn't work can you try to read the sensor with this example https://github.com/adafruit/Adafruit_CircuitPython_CCS811/tree/master/examples ? Full installation instructions are here https://github.com/adafruit/Adafruit_CircuitPython_CCS811

@JsBergbau
Well grounding the WAK line did nothing. same error.
I will try and see what spark fun suggests now that at least we have a CS11 node red example thanks to you.
I need to contact them any way about there AK9753 presence sensor that also has no node red node.
Both, they claim are compatible with a PI-400 but nether seems to work yet.
If i find anything out i will will pass it on to you for your notes.
Anyway thank you for your time.

Hi there,
a great description, but the sensor does not work.
I use Nodered on a Raspberry 3b. According to your instructions, I adjusted the I2C bus. He is also found (5b).
I don't get any output. There is only output at the "getErrorRegister" command. Otherwise "Error:, Remote I / O error" always appears. I am using Nodered 1.2.7. The sensor is called "GY-CCS811". I get measured values on an ESP8266, so it is not defective.
Do you have a tip where I can start with my troubleshooting?
Many Thanks.

Thoralf

Hi pinie-pinie. You can start with this example https://github.com/adafruit/Adafruit_CircuitPython_CCS811/tree/master/examples Full installation instructions are here https://github.com/adafruit/Adafruit_CircuitPython_CCS811

If it works there, then we have to dig deeper why it isn't working in NodeRed.

Hello JsBergbau,

I'm honest, I can't do that. You want me to test the sensor outside of Nodered first. I am an absolute layman. I tried, but at some point I got stuck with the installations.
I have some experience with Nodered, if not a lot.
Do you still have a hot tip for me, I know it's difficult.

Many Thanks!

Thoralf

Hi Thoralf,

please try this Python-Script to see if sensor works.

On Rasbperry PI please install smbus via sudo apt install python3-smbus

https://gist.github.com/JsBergbau/7c962dc3507e25e0145a5cd6c8bf372d

Hello JsMergbau,

you don't have it easy with me.
I have the command "sudo apt install python3-smbus" via the console.
As a result: everything was already installed. And now?

Thanks Thoralf

Please execute in a directory of your choice where you can write files

curl https://gist.githubusercontent.com/JsBergbau/7c962dc3507e25e0145a5cd6c8bf372d/raw/b371a8afc992536a206ae7e2ec9f3eb7c23cbb70/ccs811Test.py > ccs811Test.py
chmod +x ccs811Test.py

and then execute
./ccs811Test.py Please type exactly as written here.

Traceback (most recent call last):
File "./ccs811Test.py", line 22, in
ressult = i2cInterface.read_byte_data(ccs811Address, ccs811StatusRegister)
OSError: [Errno 121] Remote I/O error

Ok then something with wiring or I2C bus is wrong. Very hard to help you from remote then.
When it works it says

./ccs811Test.py
Sensor not running
Booting sensor
Sensor not in desired mode, changing
Baseline: [244, 255]
eCO2:  65021  TVOC:  65021

Running for the first time and then on subsquent calls

./ccs811Test.py
Baseline: [180, 122]
eCO2:  400  TVOC:  0

Values differ of course.

When I pull power for example

./ccs811Test.py
Traceback (most recent call last):
  File "./ccs811Test.py", line 22, in <module>
    ressult = i2cInterface.read_byte_data(ccs811Address, ccs811StatusRegister)
OSError: [Errno 121] Remote I/O error

Hi there,
yes it is difficult with such a layman. The sensor is recognized, however, so the wiring must be correct ???
(i2cdetect -y 1)
But thanks anyway, I'll keep testing.

Thoralf

Oh, I see now your device is recognized as 0x5b.
Please edit in ccs811Test.py line 9
ccs811Address = 0x5A
to
ccs811Address = 0x5B
and then try again.

Hi there,

now the script is running.
Unfortunately not in Nodered.

Thoralf

pi@raspberrypi:~ $ ./ccs811Test.py
Baseline: [148, 125]
eCO2: 495 TVOC: 14

Please exec
ps aux | grep nodered and post result here

pi@raspberrypi:~ $ ps aux | grep nodered
pi 1067 0.0 0.0 7360 552 pts/0 S+ 20:33 0:00 grep --color=au to nodered

Hi there,

do you know the saying a blind chicken ...
I changed the address in Nodered to 5B (CCS81.js)
The part is now running !!!!!

Thoralf

Yeah thanks to your support, I've found the error. While developing I've hardcoded the address and with autocompletion I've used sometimes that hardcoded value instead of the configured one. I'll release a update in the next hours.
Would be great if you could test, because I can't get my china module to respond on 0x5B

Hi there,
Support is good ....
But it's still great that things are running now. Coincidence often helps.
Will that then be adjusted in the Nodered palette?
If so, I'll test with the new version.
By the way, your description in Nodered is really good. I could understand everything and that means something!

See you!

Thoralf

Will that then be adjusted in the Nodered palette?

Yes of course.

By the way, your description in Nodered is really good. I could understand everything and that means something!

Thanks. I'm really glad to hear that, because I have missed that information on all the other sites I've read regarding reading and using this sensor, especially the recalibration upon each powerup.

Update is now fully published.
Please go to palette manager, click refresh and then you see the update

grafik

Thanks for your support testing it and finding the bug.