Skip to content
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

some protocols not working? #69

Open
zackdvd opened this issue Feb 25, 2024 · 1 comment
Open

some protocols not working? #69

zackdvd opened this issue Feb 25, 2024 · 1 comment

Comments

@zackdvd
Copy link

zackdvd commented Feb 25, 2024

Hey, hope you can support me, slowly I'm going crazy with this.

Some protocols work, some not...
Working:

  rf.send("elro_800_switch",    R"( {"systemcode":5, "unitcode":1, "on":1} )");
  rf.send("quigg_gt1000",       R"( {"id":0, "unit":0, "on":1} )");

Not working

  rf.send("intertechno_switch", R"( {"id":"20648806", "unit":0, "on":1} )");
  rf.send("kaku_switch_old",    R"( {"id":21, "unit":8, "on":1} )");
  rf.send("kaku_switch_old",    R"( {"id":19, "unit":8, "on":1} )");

I copied the config (ids, units etc.) from my working original pilight implementation on a raspberry, so that is correct.
Furhtermore with debug enabled, I got feedback like this:

piLightCreatePulseTrain: protocol: quigg_gt1000 create Code succeded.
piLightCreatePulseTrain: protocol: elro_800_switch create Code succeded.

But from the other send function calls, I get nothing.

Any idea what could be the fault? Anything I can try?
Thank you for your help!

P.S. I think the R"(...)" notation is way better to read than the " notation.

@zackdvd
Copy link
Author

zackdvd commented Feb 26, 2024

After a long debug session I might found the issue, but in any case found a workaround.

Problem is, that espilight do not take into account these alias names for protocols.

Workaround:
Go to pilight github page: https://github.com/pilight/pilight/tree/master/libs/pilight/protocols/433.92
search for your not working protocol. I e.g. searched for intertechno and found it in arctech_switch.c:

	protocol_set_id(arctech_switch, "arctech_switch");
	protocol_device_add(arctech_switch, "kaku_switch", "KlikAanKlikUit Switches");
	protocol_device_add(arctech_switch, "dio_switch", "D-IO Switches");
	protocol_device_add(arctech_switch, "nexa_switch", "Nexa Switches");
	protocol_device_add(arctech_switch, "coco_switch", "CoCo Technologies Switches");
	protocol_device_add(arctech_switch, "intertechno_switch", "Intertechno Switches");

So I just use "arctech_switch" in my send command and it works.
Hope someone or @puuu may fix that!

This is a complete list of supported protocols:

x10
tfa30
tfa2017
tfa
teknihall
techlico_switch
tcm
smartwares_switch
silvercrest
selectremote
secudo_smoke_sensor
sc2262
rsl366
rc101
quigg_screen
quigg_gt9000
quigg_gt7000
quigg_gt1000
pollin
ninjablocks_weather
nexus
mumbi
logilink_switch
kerui_D026
iwds07
impuls
heitech
ev1527
eurodomest_switch
elro_800_switch
elro_800_contact
elro_400_switch
elro_300_switch
ehome
daycom
conrad_rsl_switch
conrad_rsl_contact
cleverwatts
clarus_switch
beamish_switch
auriol
arctech_switch_old
arctech_switch
arctech_screen_old
arctech_screen
arctech_motion
arctech_dusk
arctech_dimmer
arctech_contact
alecto_wx500
alecto_wsd17
alecto_ws1700

I got this list by adding Debug serial.print to this function:

static protocols_t *find_protocol_node(const char *name) {
  protocols_t *pnode = get_protocols();

  while (pnode != nullptr) {
  	DebugLn(pnode->listener->id);
    if (strcmp(name, pnode->listener->id) == 0) {
      return pnode;
    }
    pnode = pnode->next;
  }
  return nullptr;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant