Debian Buster 64 bit Openhab @100% CPU with Tellstick DUO thing enabled

I am in the process of moving from Eventghost to Openhab2.
I have Openhab2 with an Ikea Tradfri router and some 30 lamps. It works just great.
Now I have installed the Tellstick binding for my Tellstick Duo.
It does work as expected in OpenHab. (I.e. I can see my thermometers and the one Nexa on/off self learning switch I have configured in Tellstick.conf works.)

However the “top” command reports >300% CPU for the openhab process and the fan runs at full speed. (I don’t know to interpret the >300% and how it can be more than 100%)

The CPU gets back to normal when I disable the Tellstick DUO thing

I am on the test branch of OpenHab2

Except for restarting openhab and the OS I have not done any more troubleshooting as I cannot think of where to start.

Any suggestions on what direction to start looking would be great.

The test branch of OH is currently behind the Stable 2.5. You could try that but there should not be much difference assuming you are running 2.5rc1.

One processor core is 100%. So in your case 3 cores is at maximum.

What hardware are u running your openHAB at and what Java version did you install?

Thanks @Bruce_Osborne Bruce_Osborne, I will try the stable branch

Ok 100% per core. That’s super, thanks gitMiguel!

My java is like follows (Tried to follow the OpenHab installation guide)

root@debian:~# java -version
openjdk version “1.8.0_232”
OpenJDK Runtime Environment (Zulu 8.42.0.23-CA-linux64) (build 1.8.0_232-b18)
OpenJDK 64-Bit Server VM (Zulu 8.42.0.23-CA-linux64) (build 25.232-b18, mixed mode)

I’m running on a HP EliteBook 2570p (5+ years old laptop)

I believe most of us use 32 bit Java. I do not know if that makes much of a difference.

@Bruce_Osborne, yes I read about that but as the telldus service starts and works outside of OH, I thought it could not be that. But I’ll try and install java 32 bit.
Thank you for the suggestion.

(By the way, I also changed to the stable branch and the result is still the same.)

Thank you for helping out.
I decided to try to compile the tellstick beta code for 64 bit and it did the trick
I followed this guide https://elinux.org/R-Pi_Tellstick_core R-Pi Tellstick core
However, I had to use the systemctl rather than init.d

I’m using this /etc/systemd/system/telldus.service file

    [Unit]
    Description=Tellstick service daemon
    After=multi-user.target

   [Service]
   Type=forking
   ExecStart=/usr/local/sbin/telldusd

   [Install]
   WantedBy=multi-user.target

And here is my very simple /etc/telldus.conf file
Note that you can find the Tellstick serial number with dmesg

user = "nobody"
group = "plugdev"
deviceNode = "/dev/tellstick"
ignoreControllerConfirmation = "false"
controller {
  id = 1
  name = "DUO"
  type = 2
  serial = "A501WF7H"
}
device {
  id = 1
  name = "Example device"
  protocol = "arctech"
  model = "codeswitch"
  parameters {
    house = "A"
    unit = "1"
  }
}
device {
  id = 2
  name = "2-2 Shower Switch"
  protocol = "arctech"
  model = "selflearning-switch"
  parameters {
    house = "2"
    unit = "2"
  }
}
device {
  id = 3
  name = "2-3 Office Ceiling"
  protocol = "arctech"
  model = "selflearning-dimmer"
  parameters {
    house = "2"
    unit = "3"
  }
}


1 Like