wburgers / Open-Zwave-Socket-Server

Open-Zwave Socket Server
http://willemburgers.nl/zwave/open-zwave-socket-server
9 stars 8 forks source link

Build dependencies #1

Closed alex-phillips closed 10 years ago

alex-phillips commented 10 years ago

I'm trying to build the server on my Raspberry Pi but I keep running into either dependency issues (or possible options). I've built libwebsockets, but when I go to run the server, I get the following message:

Websocket starting
Starting TCP server on port: 6004
[1335:0231] NOTICE: Initial logging level 7
[1335:0240] NOTICE: Library version: 1.3 7c67634
[1335:0246] NOTICE: IPV6 compiled in and enabled
[1335:0255] NOTICE: libev support compiled in but disabled
[1335:0265] NOTICE:  static allocation: 4544 + (12 x 1024 fds) = 16832 bytes
[1335:0278] NOTICE:  canonical_hostname = squirtle
[1335:0289] NOTICE:  per-conn mem: 200 + 1594 headers + protocol rx buf
[1335:0298] NOTICE:  Compiled with OpenSSL support
[1335:0306] NOTICE:  Using non-SSL mode
[1335:0780] ERR: ERROR opening socket
[1335:0782] NOTICE: libwebsocket_context_destroy
open-zwave protocol not used anymore
libwebsocket init failed

What are the specific libraries and/or options I need to successfully run this? If I continue with this setup, every time I load up the PHP client, the terminal outputs:

Connection Created
Sent Device List 
Client closed the connection

But the client says 'Last MSG: ProtocolException: 1: Unknown command'

Thanks in advance!

wburgers commented 10 years ago

Thanks for your comment!

The first part of your issue may be related to this libwebsockets problem: http://libwebsockets.org/trac/libwebsockets/ticket/74 Please try it with IPV6 disabled. It should be a compile option. Seems that the Pi does not have IPV6 kernel support.

The second part of the issue is because the PHP client is no longer my main focus. If I ever have the time to update the PHP client, I certainly will. This code is by Thomas (who I forked this project from). The server was buggy and the client was "smarter" than the server. I wanted to reverse this. Furthermore, PHP is server sided. I wanted to make a client that shows live data on the screen. Websockets are far more useful for that matter.

If you want to use and update the PHP client, I would love to hear so. Otherwise, try the websocket client. (hopefully the server will run...)

I will at least update the comments for the project, such that this is all more clear. Hope this answers your questions. Let me know!

Best, Willem

alex-phillips commented 10 years ago

Thanks for the quick response! I've compiled without IPv6 support and now get the following (which may be OK with the WebSockets client, I haven't tried yet):

[1759:6171] NOTICE: IPV6 not compiled in
[1759:6176] NOTICE: libev support compiled in but disabled
[1759:6186] NOTICE:  static allocation: 4544 + (12 x 1024 fds) = 16832 bytes
[1759:6194] NOTICE:  canonical_hostname = squirtle
[1759:6200] NOTICE:  per-conn mem: 200 + 1594 headers + protocol rx buf
[1759:6204] NOTICE:  Compiled with OpenSSL support
[1759:6208] NOTICE:  Using non-SSL mode
[1759:6693] NOTICE:  Listening on port 6005
[1759:6755] WARN: setgid: Operation not permitted
[1759:6768] WARN: setuid: Operation not permitted
starting websocket server...

So libev is compiled in but not enabled.

Thanks for all the hard work! This is the only repo I can find that seems to work with the latest OpenZwave build (at least the current directory structure).

wburgers commented 10 years ago

Looks fine to me. I get the same warnings. But it works nonetheless

[2113:2185] NOTICE: Library version: 1.3 7c67634
[2113:2186] NOTICE: IPV6 compiled in and enabled
[2113:2187] NOTICE: libev support not compiled in
[2113:2188] NOTICE:  static allocation: 4472 + (12 x 1024 fds) = 16760 bytes
[2113:2189] NOTICE:  canonical_hostname = odroid
[2113:2189] NOTICE:  per-conn mem: 128 + 1594 headers + protocol rx buf
[2113:2190] NOTICE:  Compiled with OpenSSL support
[2113:2190] NOTICE:  Using non-SSL mode
[2113:2252] NOTICE:  Listening on port 6005
[2113:2254] WARN: setgid: Operation not permitted
[2113:2255] WARN: setuid: Operation not permitted
starting websocket server...

Libev is not compiled in in my local build. I don't know what it does for libwebsockets. Maybe it is useful. I'll check it out.

Yeah sure no problem! I try to update the Open-Zwave library as often as I can and work with the latest version.

If there is anything else, let me know! And if you have suggestions or bugfixes, they are very welcome.

Best, Willem

wburgers commented 10 years ago

Can this be closed with 1c0f5ee?

alex-phillips commented 10 years ago

Yup! Thanks again!