CoMPaTech / esphome_c1101

ESPHome approach on ITHO EcoFan control through 868 MHz ESP8266 for https://www.home-assistant.io
24 stars 5 forks source link

Unknown state & how to pair? #1

Closed danieldotnl closed 4 years ago

danieldotnl commented 4 years ago

I'm trying to use your esphome solution, which would be awesome if it works. However, until now my logs look like this:

[08:22:58][D][text_sensor:015]: 'FanSpeed': Sending state 'Low' [08:22:58][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:10][D][switch:021]: 'FanSendMedium' Turning ON. [08:23:10][D][switch:045]: 'FanSendMedium': Sending state OFF [08:23:13][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:13][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:23][D][custom:161]: Unknown state [08:23:28][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:28][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:41][D][custom:161]: Unknown state [08:23:43][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:43][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:23:58][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:23:58][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:24:13][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:24:13][D][text_sensor:015]: 'FanTimer': Sending state '0' [08:24:28][D][text_sensor:015]: 'FanSpeed': Sending state 'Medium' [08:24:28][D][text_sensor:015]: 'FanTimer': Sending state '0'

I suspect that I first need to join the Itho fan, but how do I do that?

CoMPaTech commented 4 years ago

Hi @danieldotnl

Let me look into that, a colleague of mine also started using it and was wondering the same. In all fairness and honesty, I used a different setup earlier so I didn't have to relearn.

What you could try though is unplug/replug the unit itself and immediately send a command - that used to work on the older devices.

I'll look into it the coming days!

danieldotnl commented 4 years ago

Wow, thanks for your incredibly fast reply :) I just found out that the sensors (fan speed and timer) do receive updates when I just my itho remotes! So the cc1101 seems to be working.

I did try what you suggested (to unplug/replug) but I will try it again.

CoMPaTech commented 4 years ago

The old units (and I thought the newer ones as well) had somekind of grace-period allowing/learning remotes within 30 seconds of boot-up or something likewise

Op 21 okt. 2019, om 10:50 heeft Daniel notifications@github.com het volgende geschreven:

Wow, thanks for your incredibly fast reply :) I just found out that the sensors (fan speed and timer) do receive updates when I just my itho remotes! So the cc1101 seems to be working.

I did try what you suggested (to unplug/replug) but I will try it again.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CoMPaTech/esphome_c1101/issues/1?email_source=notifications&email_token=ABL4CMF44THTPA6QPWF5DBTQPVUMPA5CNFSM4JCZ7HZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBZR7VA#issuecomment-544415700, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABL4CMHB24WANQT6XW2RY43QPVUMPANCNFSM4JCZ7HZA.

danieldotnl commented 4 years ago

Yes, but in the espeasy solution, one needs to send a join command during this period: https://docs.google.com/document/d/e/2PACX-1vRoO1TfkUKkyQlgzsmm7XzI3xyUXMBMrqwF6NJXVwQmykP6gMtsJWp-x2vYiHDEwyScqhsPkJHGGYs-/pub (you can read Dutch, right?)

CoMPaTech commented 4 years ago

I see (and yes, native Dutch) :)

I think if you add (c1101.h at line 150) another chunk like below it should work. The library (https://github.com/supersjimmie/IthoEcoFanRFT/blob/master/Master/Itho/IthoPacket.h) has the packets defined so it should work.

class FanSendIthoJoin : public Component, public Switch {
  public:

    void write_state(bool state) override {
      if ( state ) {
        rf.sendCommand(IthoJoin);
        State = "Join";
        Timer = 0;
        publish_state(!state);
      }
    }
};

And an accompanying (itho.yaml at line 43)

- platform: custom
  lambda: |-
    auto fansendjoin = new FanSendJoin();
    App.register_component(fansendjoin);
    return {fansendjoin};
  switches:
    name: "FanSendJoin"
danieldotnl commented 4 years ago

Tom, it works!! It's a amazing, I owe you a big beer! :)

Note that there was a small error in the yaml you mentioned above, this: auto fansendjoin = new FanSendJoin(); should be: auto fansendjoin = new FanSendIthoJoin();

Off-topic: I don't know esphome very well, but can't we make a service out of this in HA, instead of all the switches? I guess that would be more appropriate, especially since the switches immediately switch off once the command has been sent.

CoMPaTech commented 4 years ago

Tnx for testing it - I'll update the code later today! I'll have a look at changing the switches to something better as well when I have some time :)

Op 22 okt. 2019, om 09:19 heeft Daniel notifications@github.com het volgende geschreven:

Tom, it works!! It's a amazing, I owe you a big beer! :)

Note that there was a small error in the yaml you mentioned above, this: auto fansendjoin = new FanSendJoin(); should be: auto fansendjoin = new FanSendIthoJoin();

Off-topic: I don't know esphome very well, but can't we make a service out of this in HA, instead of all the switches? I guess that would be more appropriate, especially since the switches immediately switch off once the command has been sent.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CoMPaTech/esphome_c1101/issues/1?email_source=notifications&email_token=ABL4CMGZH2464LIC2MDRLGTQP2SPNA5CNFSM4JCZ7HZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB4YUOA#issuecomment-544836152, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABL4CMFBXJJJMYX7LPVWGCTQP2SPNANCNFSM4JCZ7HZA.

CoMPaTech commented 4 years ago

Applied fix, tnx (and notice to @tomduijf to try this as well :))

CoMPaTech commented 4 years ago

As per the comments on https://community.home-assistant.io/t/itho-daalderop-fan-rf-remote-with-c1101-and-esp8266/38710/17 please have a look at the updated code (including timers and HA fan example)