Global Caché

Sure, no problem.
Just send a PON command.
How long should I wait before copying the log?
Or should it disconnect as soon as the command is send?

You can send the log directly, just want to see if we got any response. Right now it disconnects on response but I don’t think that will work.

Here you go.
It indeed doesn’t look like it’s disconnecting

{ ir: { devices: [ [Object], [Object] ] },
serial:
{ baudrate: ‘9600’,
flowcontrol: ‘FLOW_NONE’,
parity: ‘PARITY_NO’,
cmds:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ] } }
{ ir: { devices: [ [Object], [Object] ] },
serial:
{ baudrate: ‘9600’,
flowcontrol: ‘FLOW_NONE’,
parity: ‘PARITY_NO’,
cmds:
[ [Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object],
[Object] ] } }
sending config set_SERIAL,1:1,9600,FLOW_NONE,PARITY_NO
config response <Buffer 53 45 52 49 41 4c 2c 31 3a 31 2c 39 36 30 30 2c 46 4c 4f 57 5f 4e 4f 4e 45 2c 50 41 52 49 54 59 5f 4e 4f 0d>
sending payload PON
2018-10-07 22:03:18 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171
2018-10-07 22:03:18 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171
2018-10-07 22:03:18 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171
2018-10-07 22:03:28 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171
2018-10-07 22:03:28 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171
2018-10-07 22:03:28 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

ok thanks, i pushed a little fix which just output a debug statement on a closed connection… would be interesting to test that one to be sure.

Will do!
Just a sec.

Yep, seems to be working:

✓ Validating app…

✓ Homey App validated successfully against level debug

✓ Packing Homey App…

✓ Installing Homey App on Homey (http://192.168.3.88:80)…

✓ Homey App com.globalcache successfully installed

✓ Running com.globalcache, press CTRL+C to quit

─────────────── Logging stdout & stderr ───────────────

2018-10-07 22:13:55 [log] [MyApp] MyApp is running…

listening on 0.0.0.0:9131

2018-10-07 22:13:58 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:13:58 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:13:58 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:18 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:18 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:18 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:28 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:28 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:28 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:38 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:38 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:38 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:48 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:48 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:48 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:56 [log] [ManagerDrivers] [ip2sl] [0] device init

2018-10-07 22:14:56 [log] [ManagerDrivers] [ip2sl] [0] name: iTachWF2SL (192.168.3.171)

2018-10-07 22:14:56 [log] [ManagerDrivers] [ip2sl] [0] class: other

2018-10-07 22:14:56 [log] [ManagerDrivers] [ip2sl] [0] device added

2018-10-07 22:14:58 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:58 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:14:58 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:08 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:08 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:08 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:18 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:18 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:18 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:28 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:28 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:28 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:38 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:38 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:38 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

{ ir: { devices: [ [Object], [Object] ] },

serial:

{ baudrate: ‘9600’,

flowcontrol: ‘FLOW_NONE’,

parity: ‘PARITY_NO’,

cmds: [ [Object], [Object] ] } }

2018-10-07 22:15:48 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:48 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:48 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

{ ir: { devices: [ [Object], [Object] ] },

serial:

{ baudrate: ‘9600’,

flowcontrol: ‘FLOW_NONE’,

parity: ‘PARITY_NO’,

cmds: [ [Object], [Object] ] } }

sending config set_SERIAL,1:1,9600,FLOW_NONE,PARITY_NO

config response <Buffer 53 45 52 49 41 4c 2c 31 3a 31 2c 39 36 30 30 2c 46 4c 4f 57 5f 4e 4f 4e 45 2c 50 41 52 49 54 59 5f 4e 4f 0d>

sending payload PON

payload connection closed

2018-10-07 22:15:58 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:58 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:15:58 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:08 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:08 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:08 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:18 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:18 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:18 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:28 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:28 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:28 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

{ ir: { devices: [ [Object], [Object] ] },

serial:

{ baudrate: ‘9600’,

flowcontrol: ‘FLOW_NONE’,

parity: ‘PARITY_NO’,

cmds: [ [Object], [Object] ] } }

{ ir: { devices: [ [Object], [Object] ] },

serial:

{ baudrate: ‘9600’,

flowcontrol: ‘FLOW_NONE’,

parity: ‘PARITY_NO’,

cmds: [ [Object], [Object] ] } }

sending config set_SERIAL,1:1,9600,FLOW_NONE,PARITY_NO

config response <Buffer 53 45 52 49 41 4c 2c 31 3a 31 2c 39 36 30 30 2c 46 4c 4f 57 5f 4e 4f 4e 45 2c 50 41 52 49 54 59 5f 4e 4f 0d>

sending payload POF

payload connection closed

2018-10-07 22:16:38 [log] [ManagerDrivers] [ip2ir] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:38 [log] [ManagerDrivers] [ip2cc] Device found: iTachWF2SL @ http://192.168.3.171

2018-10-07 22:16:38 [log] [ManagerDrivers] [ip2sl] Device found: iTachWF2SL @ http://192.168.3.171

ok thanks, very good. I need to do some cleanup later and prepare for release then. Also I’m waiting for response re the relay version.

Cool! Hope the relay works to.
Great job @pln , great job.
So I can “app install” now instead of “app run”?

Thanks. Yes you can use app install.

:+1:

Hi pln.

Sorry for late reply, haven had time to test the app and gc100 before tonight.
I’ve installed the app but it keeps crashing before i even have a chance to try to add a device. Any thoughts?

Hi, do you see any error message? It could be something that is different with the auto pairing. Can you make a quick test, starting the app, with the gc-100 totally disconnected from your network.

Thanks

I have Enabled / Disabled the app and tried with both the gc100 connected and not. It just crashes.

I get this logg.

Stack trace:

/lib/discover.js:33
const ip = url.replace(/(^\w+:|^)///, ‘’)
^

TypeError: Cannot read property ‘replace’ of undefined
at Discover._onServerMessage (/lib/discover.js:33:20)
at emitTwo (events.js:126:13)
at Socket.emit (events.js:214:7)
at UDP.onMessage [as onmessage] (dgram.js:658:8)

Exit code: 1
Exit signal: null

ok thanks, it looks like the beacon msg is a bit different on the gc-100… I’ve updated the app so please have a look when you have time.

Thanks!

Installed the new version and the IP2IR worked great! haven’t had time to test the IP2CC and IP2SL. Let me know if you want me to test something more.

Yahooo!!! Finally. I have a whole bunch of iTaches for use with Simple Control, now I can integrate them with Homey as well!!

Now, I just tested the two IP2CC’s I have for controlling curtains (in parallel with dumb momentary wall switches).

One thing that wasn’t obvious was that the delay setting is used for “lining up” commands in sequence

I wonder if, in general, the THEN part in Homey Flows is executed in the graphical top to down sequence in case the same device is controlled, or is it sent simultaneously (my curtains going crazy before I discovered the delay setting :slight_smile: )

And, if there are several devices, a subflow is executed for each in the top-down sequence?

These to me are crucial questions. For example, you have to wait for the TV to turn on (delay an empirical X seconds) and only THEN send Change input command. But you don’t have to wait for the TV to finish all this, you can start sending commands to your receiver in parallel, at the same time to save the overall scene execution time.

So, the question is, how does the GlobalCache app handle this?

BTW, the Simple Control subscription (arrrrgh!) whose very existence you’re starting to threaten :slight_smile:
with this App handles IR/IP commands in this fashion:

A separate command pipeline is created for each device in the list of commands and they run in parallel, so the delays in each pipeline do not delay the entire execution. So by the time the slow TV has finished powering on and its input is changed the receiver is ready and the bluray has started playback. But this is optional, you can make delays delay the entire process if you wish also.

And, more specific to my particular today’s curtain experiment - in order to emulate the physical momentary switch action I had to do Relay Open Delay 0, Relay Closed Delay 1, Relay Open Delay 2 for each flow. So you end up with 3 on-off-on actions for Open Curtains and 3 actions for Close Curtains.

Would it be possible to create a Mometary On action with the “ON duration settng” in milliseconds?

Or at least allow milliseconds as a setting in addition to seconds and minutes?

Thanks again, we’re breaking through to IR control!

Thanks for the report!

Re running the IR commands in sequence - I agree we should try to fix this, It would be nice if Homey itself could support this instead of building something specific in the app. How does it work for the other IR apps? Perhaps there are some upcoming changes re this in Homey 2.0? I’ll investigate a bit. However it would be fairly easy to implement command sequences in the app which could then be triggered from a flow. Also don’t forget that you could do a flow per device and then call the device “sub flows” from a main flow.

Re the relay Yes, I think a “momentary button”-function with a configurable press duration as you suggested would be the best fit. I’ll look into this.

Hi, thanks for looking into this and for the sub flow tip - I am still learning my way around Homey. As for the relay, by “configurable delay” you also mean “press duration”, right? In the physical switch world, that’s how long the switch contacts are engaged. before you release the button and they are disconnected again. We need this setting to work with various curtain controller manufacturers, if it’s a nanosecond they might not register it :slight_smile:

yes i meant press duration, edited.

Are the Global Cache Flex units supported also?
If not, has anyone tried to add one as a wf2ir itach device, and do they work as such?

Thanks

1 Like