@johan-0 This is the best thing I have ever encountered in my life of a developer. I just googled the issue I got in console and arrived at my own thread where the answer was already solved. hahah
 
		
		
		
	Posts made by oskaremilsson
- 
    RE: IRTCP v1.0.0 (Hub server for using IR module via HTTP)posted in Flic Hub SDK
- 
    RE: Cant connect to hub with Fold 3posted in Flic Hub@oskaremilsson yup. Erm. So.. this is awkward. 
 The phones BLE scanner must have gotten stuck in some bad state.
 A restart of the phone worked   ️ ️Didn't cross my mind that the issue could be that deep into the system. 
 As a dev I should've tested that as #1 though Thanks, and sorry!  
- 
    RE: Cant connect to hub with Fold 3posted in Flic Hub@Emil it was added first (I guess inherited from my account?). But I only got time out when trying to connect, so I deleted it in order to try to readd. 
- 
    RE: Cant connect to hub with Fold 3posted in Flic Hub@Emil 
 The app don't show the hub at all in scanning. Other devices finds the hub in seconds.
- 
    Cant connect to hub with Fold 3posted in Flic HubHi! 
 I can't connect to my hub with a Samsung Galaxy Fold 3.
 The hub works with buttons, I can reach SDK, I can connect with an Samsung Galaxy Note 20 Ultra.
 But it fails with the Fold.I have bluetooth on, I have given all the permissions. I've reinstalled the app. I've restated the hub. I've tried anything I can think of. Any ideas? 
- 
    RE: IRTCP v1.0.0 (Hub server for using IR module via HTTP)posted in Flic Hub SDK@jitmo simply amazing! 
 If I were to put the original code on GitHub, would you be up to make these changes there so we get a nice history and stuff?
- 
    Promises instead of Callbacks?posted in Flic Hub SDKIs there any way of using Promises for stuff like Datastore.get()instead ofcallback?
- 
    RE: IRTCP v1.0.0 (Hub server for using IR module via HTTP)posted in Flic Hub SDK@Emil Thanks, and thank you for quick responses on questions 
- 
    RE: IRTCP v1.0.0 (Hub server for using IR module via HTTP)posted in Flic Hub SDKI forgot to add how I'm calling this from my homecreen of my phone. 
 I'm usingHTTP Shortcuts-app widget.
- 
    IRTCP v1.0.0 (Hub server for using IR module via HTTP)posted in Flic Hub SDKWhat is it? 
 Hub TCP server for using the IR module via HTTP.
 Both to record of new signals with a given name and to play them back.
 Usingnetsince SDK doesn't have the nodejs HTTP-module available.Why? 
 I really wanted to be able to call my IR module from my phone homescreen or Google Home (via IFTTT). I got it working so I wanted to share it if anyone else find it helpful The code is what could be called a POC, so code feedback and/or changes are totally welcome. How does it work? - Record a signal GET {ip}:1338?record={name_of_signal}
- Plays a signal GET {ip}:1338?cmd={name_of_signal}
- Cancel recording GET {ip}:1338?cancelRecord=true
 Example; - call GET 192.168.0.100:1338?record=volume_up
- Press Volume Up on remote towards IR module
- returns 200 OK Signal volume_up stored!
- call GET 192.168.0.100:1338?cmd=volume_up
- returns 200 OK Signal sent!
- Volume goes up  
 
 The code module.json{ "name": "IRTCP", "version": "1.0.0" }main.js// main.js const net = require("net"); const ir = require("ir"); const datastore = require("datastore"); const utils = require("./utils"); const respondToClient = function(c, statusCode, message) { c.write( "HTTP/1.1 " + statusCode + "\r\n" + "\r\n" ); c.write(message); c.end(); } const handleCmd = function(c, cmd) { datastore.get(cmd, function(err, strBuffer) { if (!err && strBuffer) { var signal = new Uint32Array(utils.str2ab(strBuffer)); if (!ArrayBuffer.isView(signal)) { return respondToClient(c, "422 Unprocessable Entity", "Unknown signal"); } ir.play(signal, function(err) { if (!err) { return respondToClient(c, "200 OK", "Signal sent"); } return respondToClient(c, "500 Internal Server Error", "Couldn't send signal"); }); } else { return respondToClient(c, "422 Unprocessable Entity", "Unknown cmd"); } }); } const handleRecord = function(c, name) { /* TODO: add a timeout for listening for complete */ ir.record(); console.log("recording signal..."); ir.on("recordComplete", function(signal) { datastore.put(name, utils.ab2str(signal.buffer), function(err) { if (!err) { console.log("Signal " + name + " stored!"); return respondToClient(c, "200 OK", "Signal " + name + " stored!"); } else { return respondToClient(c, "500 Internal Server Error", "Couldn't store signal"); } }); }); } var server = net.createServer(function(c) { console.log('server connected'); c.on('end', function() { console.log('server disconnected'); }); c.on('data', function(data) { console.log(data); var match = data.toString().match(/GET \/\?.[^ ]*/); if (!match) { return respondToClient(c, "403 Forbidden", "Forbidden method"); } var params = utils.parseParams(match[0].split("GET /?")[1]); if (params.cmd) { return handleCmd(c, params.cmd); } else if (params.record && params.record.length > 0) { return handleRecord(c, params.record); } else if (params.cancelRecord) { ir.cancelRecord(); console.log("recording canceled!"); return respondToClient(c, "200 OK", "Recording canceled!"); } else { return respondToClient(c, "403 Forbidden", "Forbidden params"); } }); }); server.listen(1338, "0.0.0.0", function() { console.log('server bound', server.address().port); });utils.jsconst ab2str = function(buf) { return String.fromCharCode.apply(null, new Uint16Array(buf)); } const str2ab = function(str) { var buf = new ArrayBuffer(str.length*2); var bufView = new Uint16Array(buf); for (var i=0, strLen=str.length; i < strLen; i++) { bufView[i] = str.charCodeAt(i); } return buf; } const parseParams = function (s) { var obj = {}; var arr = s.split("&"); var temp; for (i = 0; i < arr.length; i++) { temp = arr[i].split("="); obj[temp[0]] = temp[1]; } return obj; }; exports.ab2str = ab2str; exports.str2ab = str2ab; exports.parseParams = parseParams;
- Record a signal 
- 
    Add yarn/npm modulesposted in Flic Hub SDKHi! 
 Is it possible to install and run from npm/yarn in a module?
- 
    RE: Hub SDK IR Module not playingposted in Flic Hub SDK@Emil 
 Did the record part work all the time, while the playing part failed all the time? Yes.Are you using the 1st hub generation or the 2nd (Hub LR)? 2nd. But my bet is that I might have sent in some bad Array while testing that made the IR-queue never emptying/play never ending? Maybe. 
- 
    RE: Hub SDK IR Module not playingposted in Flic Hub SDK@oskaremilsson It really seems like I've in my very many attempts to get this to work queued up the IR-queue too much, when it didn't work from the app either I restarted the hub. And now this snippet works. So now the question would be, is there any way of clearing the queue except restarting the hub? 
- 
    Hub SDK IR Module not playingposted in Flic Hub SDKI'm trying to get a custom module to play IR. Starting off with a few general headaches from trying; - It's pretty weird that you can't access the already stored IR-signals.
- Even if recording specifically for my module theres really no good way of storing it for when the module restarts. Storing Uint32Array as a string is a nightmare.
- I can't get it to play even a Uint32Array thats JUST got recorded. Even though I can see that it got recorded OK.
 ir.record(); ir.on("recordComplete", function(signal) { console.log(signal[0]); setTimeout(function() { console.log(signal[0]) ir.play(signal, function(err) { console.log(err); //never called console.log("played!"); //never called }); }, 1000); });Console never writes out any errorplayed!. No IR is sent from the sender. However, i can tell thatsignal[0]is the same so it's actually trying to run play for the correct array.There is no new record ongoing, I've even tried to run the stopRecordingbefore.play()without any difference.Any idea of why my .play()won't work?I've also noticed that the console prints Connected: 0when recoding starts and when.play()is called. Related?