Ezlo device capabilities
-
Having gotten the Ezlo controller to connect I see these device items
x_ezlo_item.learn_ir_code=0
x_ezlo_item.learn_rf_code=0
x_ezlo_item.send_ir_code=""
x_ezlo_item.send_rf_code=""But they are not listed in the capabilities. It would be nice if to send Ir and Rf codes direct from MSR.
If possible couild you add this feature.
-
You would have to explain to me how they work (e.g. what the parameters mean, etc.), since I don't have these devices (I noted from our other discussion that it's a Broadlink device), and eZLO's documentation does not cover these items (not even a mention).
-
And there is the rub.
As far as i know the ir/rf codes are stored on the ezlo as base64 encoded strings. I presume that the code would be sent as a value with one of those two item.send parameters, th broadlink would then broadcast the ir/rf . I would ask Ezlo, but i am one of the banned people.I believe the broadlink device is a plugin developed by Ezlo.
If i find out more i will let you know. As you say you can not work miracles.
Maybe some one who is not banned can ask over at Ezlo what the parameters accepts and if it is open for use.
-
I'm not yet banned, but probably have one foot in their forums and the other on a banana peel, so I'll try and see what response I get.
-
Well this is classic Vera/eZLO. Support appears to have no idea that this device is recognized: https://community.ezlo.com/t/broadlink-ir-what-do-these-items-mean-do/217834/2?u=rigpapa
@Elcid This is not bridged from a Vera or anything like that, right? You specifically added this device to your eZLO as a first-class, directly-supported device? Just confirming before I go back and disagree with Oscar's assertion.
Edit: Yeah, I see it listed in the VeraMobile app. Sheesh. Here we go...
-
I see Oleh has responded
i tested the the hub.item.value.set with the below command and was able to turn on /off the ir device, i also tested a rf device and all works.
{ "method": "hub.item.value.set", "id": "1626604139112", "params": { "_id": "6093b3b9122335171491d136", "value": "JgBwAAABJ5UQFREUEBURFBAVEBQSFBAVDzoSOBE4ETkROREUEDoQORAWETcRFQ8XDxUQFRAVEBUOOxITEDoROBE5EDoROBE5EAAFQQABJ0wQAAxLAAEnSxEADEsAASZMEQAMSwABJkwRAAxKAAEmTBEADQUAAAAAAAAAAA==" } }
I was also able to turn on ir/rf learning with the below api request
{ "method": "hub.item.value.set", "id": "1626604956393", "params": { "_id": "60a35a31122335171b85b751", "value": 1 } }
this is the broadcast response after a ir signal is sent to broadlink in learning mode.
{ "id": "ui_broadcast", "msg_id": "60f4346b122335125b847786", "msg_subclass": "hub.extensions.plugin.ui_broadcast", "result": { "code": "JgBYAAABLJUSFBIUERQUEhMTERURORMTETkSORI5EzgRORI5FBISOREVERQTExE5FBITExEUFBITOBM3EjkSFBI5EjgSORI5EgAFLQABK0sSAAx3AAErSxIADQU=", "plugin": "broadlink", "type": "IR" } }
each ir/rf command has a different _id that is listed in hub.items.list
-
Unfortunately there's nothing in the broadcast that ties it back to the original request, so that's going to eliminate the possibility of storing any broadcast response on the correct item/device. I've asked Oleh about this.
-
Capturing the learnt rf/ir codes would be enough, it would remove the need to fire up the ezlo/vera App to capture codes. Maybe actions to learn_ir/rf_code and an ezlo broadcast listener in the tool section?
@elcid said in Ezlo device capabilities:
Capturing the learnt rf/ir codes would be enough,
Yup, that's the part I can't do correctly without connecting data.
-
Ok we will see what Oleh has to say.
here is complete broadcast respnonse
1 send "learn_ir_code" _id with hub.item.value.set
2 after broadlink learns ir code.
3 when learn_ir_code resets to 03- { "date": 1626635249558, "data": { "id": "ui_broadcast", "msg_id": "60f47bf1122335125b847819", "msg_subclass": "hub.item.updated", "result": { "_id": "6059aab5122335123a08b974", "deviceCategory": "ir_tx", "deviceId": "6059aab5122335123a08b973", "deviceName": "RM pro lounge", "deviceSubcategory": "irt", "name": "learn_ir_code", "notifications": [], "roomName": "lounge", "serviceNotification": true, "syncNotification": false, "userNotification": false, "value": 0, "valueFormatted": "0", "valueType": "int" } } } 2- { "date": 1626635249517, "data": { "id": "ui_broadcast", "msg_id": "60f47bf1122335125b847818", "msg_subclass": "hub.extensions.plugin.ui_broadcast", "result": { "code": "JgBQAAABLJUVERQSFBEUEhQSFBEUNxQSFDcUNxM3FDcUNxQ3FBITNxQ3FBIUNxMSFBIUEhQRFBIUEhQ3ExIUNxQ3FDcUNxM3FAAFLQABLUkUAA0FAAAAAAAAAAA=", "plugin": "broadlink", "type": "IR" } } } 1- { "date": 1626635244363, "data": { "id": "ui_broadcast", "msg_id": "60f47bec122335125b847817", "msg_subclass": "hub.item.updated", "result": { "_id": "6059aab5122335123a08b974", "deviceCategory": "ir_tx", "deviceId": "6059aab5122335123a08b973", "deviceName": "RM pro lounge", "deviceSubcategory": "irt", "name": "learn_ir_code", "notifications": [], "roomName": "lounge", "serviceNotification": true, "syncNotification": false, "userNotification": false, "value": 1, "valueFormatted": "1", "valueType": "int" } } }
-
This is not the broadcast response we need, though. This is the one that resets the item back to 0 when the learn stops. A successful learn causes two broadcasts: this one to announce that the device has stopped learning, and a separate one to announce what was learned. It's that second broadcast that is missing the IDs we would need to tie it back to either the item or the device.
-
Just to report, the hub.item.value.set in msr 1.0 is working fine. I can send ir/rf codes, and initiate a rf/ir learn mode, i just have to listen for broadcasts to pick up the codes and copy and paste into msr.
P.s. congrats on the release of 1.0 and thank you. -
You should also be able to use
remote.send_codes
. The format of the code data can either be a base64 string (in the formatbase64:datadatadata
), or a list of byte values as decimal or hex values separated by spaces or commas (e.g.0x00 0x12 0x2a 0xfe 0x14
for hex,0 18 42 254 20
for decimal, and mixing is OK).Should it support Pronto?
-
You should also be able to use
remote.send_codes
. The format of the code data can either be a base64 string (in the formatbase64:datadatadata
), or a list of byte values as decimal or hex values separated by spaces or commas (e.g.0x00 0x12 0x2a 0xfe 0x14
for hex,0 18 42 254 20
for decimal, and mixing is OK).Should it support Pronto?
@toggledbits remote.send_code has no input field.
As shown in above image
-
Whoops! I'll have that fixed in the next build.
Remind me what package you are using (docker or bare metal, RPi, Linux, Windows?)Edit: And the builds are up (latest).
-
OK. Got your log file; thanks for that. Found the issue, will be fixed in today's "latest" build (21201).