Signal Binding [4.3.0.0;5.0.0.0)

I need some help

  • Binding installed from marketplace
  • Created a linked account, entered my phone number, QR gets displayed
  • I use the App to scan the QR code
  • App shows “Unable to pair device”, thing shows IOException: Connection closed

any idea?

Hello,

Strange, I just made a test and I could link a new thing to my account without any issue.

Can you please show me the log ?

When creating the thing, did you use the same number as the phone’s one, and in international format ? (e.g. with a prefix like +XX, XX being the country identifier). I think you can find it just under your name in the “settings” of the signal application.

Hi,

in my OpenHAB 4.2.1 (AddOn from 9. Juli 2024 00:55) the Accountlinking to my Signal phone number doesn’t work.
I get a Error " MissingCapabilitiesException 409" on scanning the QR Code.
this is exactly this Issue: linking account is failed (exceptions.MissingCapabilitiesException: StatusCode: 409) · Issue #1556 · AsamK/signal-cli · GitHub

Will there be a new AddOn version with newest signal-cli?

Hi,

So it seems that new registration for the link account mode is broken since july ?
Thanks for telling me and sorry for the issue.
I really hope signal will consider to stabilize and open/document its API. There is at least two broken version per year, it’s annoying.

Anyway, new version uploaded. Could you try it and tell me if it’s OK ? (seems good for me)

Hi,

I tested the new version but it didn’t work on my system.

The signal “add-on” gave me following error on the things-page:

**HANDLER_INITIALIZING_ERROR**

/var/lib/openhab/tmp/libsignal2713855046520776408/libsignal_jni_amd64.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /var/lib/openhab/tmp/libsignal2713855046520776408/libsignal_jni_amd64.so)

The system I have is a debian 11 “bullseye”, which support ended. Beacuse of this I can’t update to “libc” > 2.31

So I have to update to Debian 12 first, I think.
Am I correct?

Greetings

To save (my) time, I don’t compile the libraries that I include in the release. I use those from exquo, listed here.
(By the way, the listing seems to not be up to date, because it says glibc v2.28 despite not working on your 2.31 system)
Other library releases from the other listed repositories should, maybe, have different requirement and could work. Theorically, it just means replacing the lib in the .kar file by another one to test, but right now every time I tried to do some tinkering like that, it ended badly (don’t know why, but I never managed to install a working .kar without using the marketplace as an intermediary).
So, building/testing consumes time and I honestly prefer not to risk downgrading version.

Unless you have another compatibility issue preventing from doing so, upgrading to debian 12 is probably for the best.
I use a debian 12 system myself.

Hi, thank you for this amazing binding. I just got started and went through the registration with a land line. It all worked fine and I have the system up and running.

However, when I try to send a message using the DSL rule I get the following error:

2024-10-16 12:41:16.513 [WARN ] [gnal.internal.protocol.SignalService] - Cannot send message to +4....., cause recipient unregistered

Then I sent a message from my phone to my OpenHAB signal number and used the ID from the received message in my rule. This worked. Message received. I just wonder why I cannot enter my number straight away.

My second question: I saw that the received message on my OpenHAB Signal created the new signalconversation thing. I tried to create a String item from this thing and use it from my rule to send the message but it does not work. Is there a way to use the signalconversation thing in a rule?

Best, Max

Hello maxheartrate,

I’m glad the binding works for you ! Thank you. 95% of the messages I received here are (obviously) for issue with it, so I’m always wondering if it really works for other than myself :sweat_smile:.

Strange. My guess is it’s some kind of “protection” from the Signal network to avoid spam or something ? Maybe there is some kind of anti spam rules, preventing some automated client like signal-cli to send messages to a number first. And when you sent your message from your phone to the landline number, you “validated” the righfullness of the conversation between your two numbers ?
If now, you use your +4XXXX number instead of the ID, does it work ?
I maybe should update the documentation to include a warning about this.

This should work straightforward. I just made a test, selecting the conversation in the inbox, creating the thing with the default parameter, without any modifications, linking the two channels to two items. Then, from a script I sent a command to the item and I received the message on my phone.

Can you share the code of your rule ? Are you sure you used the right item/channel (there is one for receiving, one for sending) ? Can you please share the log, in debug mode for the binding (org.openhab.binding.signal logger) ?

Thank you for your reply. The thought of security measures from Signal also crossed my mind. I tried two separate mobile numbers and both resulted in the error message. I was hoping that my message to the OpenHab land lind number validates it for my mobile signal account but as I wrote it only works with the long ID instead of the mobile number.

About the rule: I will send you my code when I am back at my computer. This sounds like a great workaround for my issue because I can use the item as an alias for the long recipient ID.

One suggestion: When you update the documentation it would be great to have a sample Rules DSL code for the item.

After upgrading to openHAB 4.3.0 I see the following warnings in the log:

2024-12-28 09:10:35.501 [WARN ] [der.AnnotationActionModuleTypeHelper] - Method SignalActions::sendSignalImage returns a Map<String, Object> but is not annotated with ActionOutputs. This should be fixed in the
binding.
2024-12-28 09:10:35.502 [WARN ] [der.AnnotationActionModuleTypeHelper] - Method SignalActions::sendSignal returns a Map<String, Object> but is not annotated with ActionOutputs. This should be fixed in the bindi
ng.

And

2024-12-28 09:10:39.434 [WARN ] [al.manager.jobs.RefreshRecipientsJob] - Full CDSI recipients refresh failed, ignoring: java.lang.NoClassDefFoundError: org/signal/libsignal/net/CdsiLookupResponse$Entry (IOException)

Thanks for the report. Seems to work though.
Anyway, I just bumped to a new signal-cli version and add ActionsOutputs annotation in the last version 4.3.0BETA12, so it may be solved now.

1 Like

Hi, I just upgraded to OH 4.3.1 (from 4.3.0) on OpenHABian / RPI4.

Until now, the procedure I was used to was that I manually had to re-install the Signal binding from the add-on marketplace after an OH upgrade. So far, so simple, and everything comes up again.

Is it just me, but I cannot find the Signal binding on the marketplace anymore…?
I did not change any settings and still have community addons as well as unpublished addons enabled.

Is there some explanation I missed or something I can try?

Thanks in advance!

It’s strange, I can still see it exposed on the marketplace from my server administration page (debian)
And I just downloaded a fresh release (windows) and I can also see it.
I didn’t test for the raspberry pi, but I’m not aware of a restriction about presenting (or not) addons to arm architecture.
I’d appreciate to have additional feedbacks from other users.

Can you also try a direct link ?
http://:/addons/binding/marketplace:138795
Did you also search by text on the seach field ?

As a workaround, you can find the KAR bundle link in the open post, and then download it in your addon repository. But I’m not 100% sure that it will work, I remember having issue with dependencies that way.

Okay, thanks for the quick response, it was kind of a false alarm :stuck_out_tongue_closed_eyes:

It took several reboots to make the binding suddenly magically appear back in the list. Whatever hiccup that was…

But everything is back online. Thanks again!

1 Like