gausma / nodered-contrib-signal-client

Signal communicator client nodes for Node-RED
GNU General Public License v3.0
34 stars 13 forks source link

Unable to Install the package on Node-red add-on (under home-assistant) #15

Closed baldfox closed 3 years ago

baldfox commented 3 years ago

So trying to install this on node-red add-on version 8.0.1 (running on home-assistant supervisor 2021.1.5). I saw a previous "closed issue" referencing alpine-sdk, so i installed it and restarted the whole system. Still when I try and install the package, i am met with this error: image

sztof commented 3 years ago

I've replied to you in the other thread, please check it out :)

Posted by @sztof in https://github.com/gausma/nodered-contrib-signal-client/issues/5#issuecomment-768435219_

baldfox commented 3 years ago

So am still unable to get this to install. It still appears to lack the dependencies. I've managed to add console commands via the exec node which I believe installs in to Node-red docker itself. using the following commands, i've managed to get further, but it falls over still: apk update apk upgrade apk add g++ apk add gcc apk add make (i tried to add build-essential but it wouldn't find the package). There's still an error though and it refuses to install... image

I am not 100% sure if the commands above are permanent or temporary. I've tried to restart the node-red add-on and then install the package, but still no joys. I also tried to install immemdiately after the commands above. As you can see, it's clearly above my paygrade!!!

This is as far as I've been able to get to so far... image

sztof commented 3 years ago

Seems like you have succesfully installed "make", the errorlog is different this time. While installing signal addon i also had a lot of warnings and errors, but finally it was added to node-red and is working correctly. Please double check if you have this addon adready installed also have a look here - https://github.com/gliderlabs/docker-alpine/issues/24 - that should do the trick You can try to install "alpine-sdk" package, thats similar to biuld-essential

baldfox commented 3 years ago

I did as you said and the node did indeed install. I imagine it wouldn't have done if I was missing a dependency? The reason I ask is that I just tried to get the registration code and was met with this error:

"Signal client error: {"name":"HTTPError","code":402,"response":"\n\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"/>\nError 402 Payment Required\n\n

HTTP ERROR 402 Payment Required

\n\n\n\n\n\n
URI:/v1/accounts/voice/code/+redacted
STATUS:402
MESSAGE:Payment Required
SERVLET:io.dropwizard.jersey.setup.JerseyServletContainer-31b7112d
\n\n\n\n"}"

It doesnt matter if it's voice or sms request. Did you have this? @sztof

sztof commented 3 years ago

After installing i had only onle issue - the number cannot be registerd as existing signal account, it has to be new account. But http error seems something different I dont know what to do here

baldfox commented 3 years ago

@sztof It's almost like it wanted me to pay for something. It's very odd, still at least getting a step further. Looks like I'm not the only one with the problem according to open issues.

fanuch commented 3 years ago

I believe this error code is the reply when Captcha is required as per the source.

Unfortunately, this or the downstream both do not have Captcha flags implemented.

I forked and investigated and unfortunately could not work out the relevant call on the Signal servers side.

fanuch commented 3 years ago

@baldfox have a look at #18. A user has submitted a patch for providing a Captcha on registration (and I modified it a little).

See if you can implement the patch or fee free to close this issue if you no longer need it!

baldfox commented 3 years ago

@fanuch Ok, so managed to find in the console in home-assistant where the modules are, and found nodered-contrib-singal-client etc,.. i did the wget and brought the .patch file into that directory. I needed to install patch, which I did, but when I try and run the final command, i get this error and I'm stuck: (appreciate this might be home-assistant related) but I'm not even sure if I'm doing this correctly. Any thoughts?

image

fanuch commented 3 years ago

You didn't follow my instructions mate! You should be in the node_modules directory and not inside the subdir nodered-contrib-signal-client directory.

Go back one directory (cd ..), move the file back there too (mv nodered-contrib-signal-client/signal-client.patch ./) and rerun my patch (that one) with the same command

baldfox commented 3 years ago

I'd tried it in that directory first (i.e. node_modules) but this was the error I kept receiving:

image

I thought it might be because there's .txt on the end of the patch, but couldn't see that in the directory, so removed the .txt bit and then I received this error:

image

baldfox commented 3 years ago

So I restarted the whole server, regardless of the error above, and I can get past that 402 message looking for payment. the error messages am getting now are about how to configure the account. I've followed all the instructions including some comments in here, but to no avail.

In the Data store, i found the file "Account1" here : /config/node-red/signal/Account1 By default, is it enough to leave Account1 in the Data store field or do I need to put the full or partial path in as above?

Secondly, I tried a captcha as per someone's comments earlier, however, I am unable to receive any token at all, even after trying. I've tried in Chrome and in Edge (in case in Chrome it was being blocked by something), so with no capctha, am unable to request the SMS. Am wondering if there's something really easy I'm missing? Sorry for all the hand holding... hopefully this will help others in a similar boat!

fanuch commented 3 years ago

I'd tried it in that directory first (i.e. node_modules) but this was the error I kept receiving Sorry mate, looks like I stuffed up there. There is no .txt as you correctly mentioned!


If I was you, I would delete Account1 just to remove any variables and start again with this patch applied

I'm not well versed in patch but I recieved the "Hunk FAILED" when I stuffed up re-running the command. I ended up removing nodered-contrib-signal-client from my Node Red to completely purge those directories and reinstalled it.

There is conversation in the thread I linked about the paths being different depending on your installation method.

Could you also please confirm. Does the following structure look correct on your install?

node_modules
|-- nodered-contrib-signal-client
|-- @gasuma

Judging by your second picture there, it looks like you and I both have the same structure above.

baldfox commented 3 years ago

@fanuch yeah I had the same directory structure. Removed "Account1", and just removed the nodered-contrib-signal-client directory using bash, but think I've messed up. Restarted node-red but in the palette it's still in there, I don't have the ability to uninstall from Node-red. FFS.

fanuch commented 3 years ago

You can remove it by clicking the "hamburger" in the top right, then "Manage palette" the clicking "remove" to the right of the library.

Mine said "in use" so if you click on the "gear" in the top right, you can find it in use under the heading "On all flows". From there I could double click and "delete".

Just to be safe, I also use the "search" feature to find all instances of it and removed from all flows before redeploying all flows!

baldfox commented 3 years ago

Ok so found out what was in use... (helpful to anyone else following), the "account" node was still showing, despite it not being on any single flow.. i guess it held its configuration. So needed to delete that as per Fanuch's advice above. Then under manage palette the node was free to be removed.

Can now confirm that the directories have been deleted: nodered-contrib-signal-client & @gausma. Will try and install and patch from a fresh...