It seems to be a error with the way the raspberry report the kernel architecture, or something like that.
Forcing value in the boot/config.txt could maybe resolve your issue.
It is not an error it is a feature ā¦
The kernel can run in 64 bit mode but the application ( userland ) can run in 32 bit mode.
If the application ( OH / binding ) relies on the check of the kernel ( uname -m ) to identify the architecture then it may fail if the userland does not run in the same mode.
Oh ! Thanks for the clarification, now I understand.
If the application ( OH / binding )
Actually, itās sqlite that uses this detection. Iām not sure if I can overwrite it effectively. The sqlite devs says that we can use a env variable to do so, but as openHAB is using sqlite as a āfeatureā downloaded as a dependency by the osgi environnment, it seems outside the scope of a binding ? And even if I do, if another component use sqlite and already initialized it, it wonāt work.
The sqlite dev puts the responsability on the raspberry team, so unfortunately he wonāt fix it.
Saw that. Indeed it looks like this is specific for Raspberry that 32bit userland is used together with 64bit kernel. Although I found some questions that are several years old about if this would be possible the majority of these topics is about Raspberry nowadays.
I have no idea how this works but I am surprised that the application does the detection shouldnāt it be the OS that has the control ?
Itās a simple āuname -mā which indeed target the kernel.
It means that, basically, raspberry pi 4 user cannot use sqlitejdbc persistence service, unless they use a workaround such as the one we discuss here (which is not so easy to diagnose/find)
Iām surprised that the topic is not more present in the forum.
Just in case this helps debugging and improvingā¦
Today I upgraded from OH 4.0.4 to OH 4.1.1. Afterwards, the Signal account was broken (as before).
I found the /lib/ folder in /tmp/ including the .so file disappeared (probably in the process of the upgrade). So I did the following:
Copy the configuration data of the account into an editor
delete the Signal Account Thing, uninstall the binding, deleted the SQL stuff inside /lib/ which is copied there by the binding whenever an account is created.
You probably have issue with the binding right now.
**COMMUNICATION_ERROR**
IOException - org.asamk.signal.manager.api.AccountCheckException: signal-cli version is too old for the Signal-Server, please update.
This signal-cli issue shows that the upstream project signal-cli is aware and so should make a new version soon.
A new signal binding will of course follow as soon as possible, so stay tuned.
Great news !
I was also waiting and checking for a new release every day.
I will try to make a new binding release very soon.
Thanks for the information.
I uninstalled the binding and reinstalled without reboot. It immediately started working again
Big thanks for updating so quickly!
By the way, even better. On my RPi4 / 8GB, OpenHABian, OH 4.1.1, I first-time tried using this fix and deleted the .so library I added manually in the previous fix.
Itās perfectly working!
Iām really sorry but the binding doesnāt support openHAB 3.X anymore . In fact, I am surprised that you could use the 3.4.0 version so long, given that Signal likes to break compatibility for older version a couple time a year.
The reason is that the signal-cli project (that I use for the binding) needs java 17, and java 17 is available with openHAB 4 only.
I maintained in 2022/2023 a fork of signal-cli for java 11 but there was -literraly- thousands of modification and it was hell to maintain, so I dropped it as soon as openHAB 4 comes outā¦
Sorry, all I can do now is wishing you an upgrade without issue ?
THX for the update.
The signalaccountbridge thing is now online again.
But using val signalAction = getActions("signal", "signal:signalaccountbridge:SignalBinding_openHAB");
in a rule gives me the following error: 2024-02-08 10:55:00.949 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'Signal_Send' failed: Instance is not an SignalActions class.
I had this error message several times, but only when I remove the binding and reinstall it.
I think there is something wrong with the bundle reloading mechanism of openHAB.
But when I restart openHAB, the error goes away.
Let me know if it still happens after a restart ?
Itās on my wishlist !
Iām primarily driven by my own need, and as I donāt āneedā this, this is on the todo list here since the beginningā¦ By putting this here I hope to gain some help from contributorsā¦ but to no avail for now
I didnāt put examples because it is designed to be straightforward. But if you donāt get it to work then it seems that I failed my goal
āsignalconversationā Things are just a mean to use the binding directly with items, no code. A conversation Thing represent the exchange with one recipient. It has two channel, and those channels can be bound to text items : when the item linked to the āsendā channel is updated, the message is sent to the recipient. And when the binding receive a message from this recipient, the item linked to the āreceiveā channel is updated.