-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is somewhere a documentation of the websocket feature available? #63
Comments
Small Update, i managed to switch the plugins by setting "event" => "plugin" and use the desired plugin number. Setting the brightness works to. but i was not able to send a custom image by sending the full RenderBuffer. I think im using the wrong JSON string to get this working Martin |
The easiest way is to send it as a binary ikea-led-obegraensad/src/websocket.cpp Line 72 in 2abb613
And you're right with the unclear websocket payload. If the payload sent is text, then it is expected to be a json. In this JSON, only the {
"event": "YOUR_EVENT_NAME",
// ... custom data
} |
Ok, thank you, i spent some time in trying to send the binary data via websocket to the esp but allways there ist no response on my data. The ESP does not throw an JSON dserialisation error, so i think my data arrives as binary but nothing happens. In the websocket Code there are three requirements for accepting the binary data. info->opcode == WS_BINARY && currentStatus == WSBINARY && info->len == 256 The Last one is the number of bytes i sent, but what is WS_BINARY? Where does this come from? I think i neet to add some json event in which i can submit the Screenbuffer Data as a String like "100001001010010100...." Martin |
how do you switch the plugins via websocket? I'm running an Iobroker and want to change the Plugins with it, but dont know what i have to send and to which adress. |
Hi Janideluxe, i connected my websocket client to ws://ip-address/ws. To switch the plugin you need to send the following text data via the websocket connection: {"status":0,"plugin":1,"event":"plugin","rotation":0,"brightness":255}') Important is the event key, to change the plugin it has to be plugin, and then you can send the plugin number in the plugin key, Martin |
Now i worked arround my binary problem by adding the following code to the websocket.cpp file after line 120 so i can post an pattern of 256x 010101 in the bin key by using bindata as event key. `
Martin |
Hi, and thank you for this gereat project. I just converted my obegraensad from stupid to useable ;)
I want to control this device by the websocket feature to switch the plugins or display some custom images.
I tried to analyse the code of websocket.cpp but its not clear for me in what format the json data has to be sent to the websockt.
My smarthome ist based on SYMCON and uses mainly php code for scripting. The system is allready receiving Data from the ESP in this format:
19.11.2023, 18:58:21 | RECEIVED | {"status":0,"plugin":8,"event":"info","rotation":0,"brightness":255}
19.11.2023, 18:58:05 | RECEIVED | {"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,255,255,255,0,0,0,0,0,0,0,0,0,255,255,0,0,255,0,255,0,0,0,0,0,0,0,0,0,0,255,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,255,0,0,255,0,255,0,0,0,0,0,0,0,0,0,0,255,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,255,255,255,0,0,0,0,0,0,0,0,255,0,0,0,0,255,0,255,0,0,0,0,0,0,0,0,255,255,255,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,255,0,0,255,0,255,0,0,0,0,0,0,0,0,255,255,255,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"status":0,"plugin":11,"event":"info","rotation":0,"brightness":255,"plugins":[{"id":1,"name":"Draw"},{"id":2,"name":"Breakout"},{"id":3,"name":"Snake"},{"id":4,"name":"GameOfLife"},{"id":5,"name":"Stars"},{"id":6,"name":"Lines"},{"id":7,"name":"Circle"},{"id":8,"name":"Rain"},{"id":9,"name":"Firework"},{"id":10,"name":"Big Clock"},{"id":11,"name":"Clock"},{"id":12,"name":"Weather"},{"id":13,"name":"Animation"}]}
Maybe you can give me some support to this!
Danke!! Gruß Martin
The text was updated successfully, but these errors were encountered: