Skip to content

I cannot get it working #5

@arkest1

Description

@arkest1

This code is really what I was looking for. Still had an old project via MySensors, but want to replace all with ESPHome.

I spend almost all weekend, but I cannot get it to work. I created the directory and stored the fancontol.h in the ITHO directrory. I updated the itho.yaml with some miror things like fixed IP, Wifi etc. Than I upload it to the ESP, this all goes well. After a successfull upload the board does not come online any more, so no option for logging. So I have no clue where to start with debugging.
Could this have anything to do with updates from ESPHome itself?
If I do a reset I get this:
[21:26:08]sdd��|�$�|��� ��l� c|������{�c� #��'o�dog��� b�x��l{lsdp�g��� �� d �� �c�o�|�� ��� b��no�d��$����og�l���gs�ۓn �cl��lx�o��� {�ܜ������c '�|��� b��no�� l����g'�l ���n{���o �#����{��o �#����� �l��8�d���o��l������n�{��n|� d ��l��#��� �|�s��l�o���o��l���s�l�d��� �[I][logger:034]: Log initialized [21:26:08][C][safe_mode:079]: There have been 4 suspected unsuccessful boot attempts [21:26:08][I][app:029]: Running through setup()...

I tested with multiple devices, Wemos mini and other ESP's

my code:

substitutions:
  device_name: fancontrol
  ip: "192.168.1.57"
esphome:
  name: "${device_name}"
  includes: 
    - ITHO/fancontrol.h
  libraries: 
    - SPI  
    - https://github.com/CoMPaTech/esphome_itho.git
    - Ticker
         
esp8266:
  board: d1_mini
    framework:
    version: recommended
    
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: "${ip}"
    gateway: 192.168.1.1
    subnet: 255.255.255.0

  ap:
    ssid: "${device_name} Hotspot"
    password: !secret wifi_password_ap    

captive_portal:

logger:

api: 
  encryption:
    key: "9g1nRsrINKAgjFMMduIf2eqRQeRQf3kXMLRPiHZXYhM="  


ota:
  platform: esphome
  password: !secret OTA_password

fan:
  - platform: speed
    speed_count: 3
    id: mech_vent_fan
    output: mech_vent
    name: "Mechanische ventilatie"
    restore_mode: NO_RESTORE
    on_turn_on:
    - logger.log: "Fan Turned On, setting to 10min!"
    - switch.turn_on: fansendt1

    on_turn_off:
    - logger.log: "Fan Turned Off, setting to low speed!"
    - switch.turn_on: fansendlow


output:
  - platform: template
    id: mech_vent
    type: float
    write_action:
      - if:
          condition:
            lambda: return ((state == 0));
          then:
            # action for off
            - logger.log: "Fan set to low speed"
            - switch.turn_on: fansendlow
      - if:
          condition:
            lambda: return ((state > 0) && (state < .34));
          then:
            # action for low
            - logger.log: "Fan set to low speed"
            - switch.turn_on: fansendlow
      - if:
          condition:
            lambda: return ((state > .34) && (state < .67));
          then:
            # action for medium
            - logger.log: "Fan set to medium speed"
            - switch.turn_on: fansendmedium

      - if:
          condition:
            lambda: return ((state == 1));
          then:
            # action for high
            - logger.log: "Fan set to high speed"
            - switch.turn_on: fansendhigh


switch:
  - platform: restart
    name: "${device_name} Restart"
    id: herstart

  - platform: custom
    lambda: |-
      id(mech_vent).set_level(0.33);
      auto fansendlow = new FanSendLow();
      App.register_component(fansendlow);
      return {fansendlow};

    switches:
      name: "FanSendLow"
      id: fansendlow

  - platform: custom
    lambda: |-
      id(mech_vent).set_level(0.66);
      auto fansendmedium = new FanSendMedium();
      App.register_component(fansendmedium);
      return {fansendmedium};

    switches:
      name: "FanSendMedium"
      id: fansendmedium

  - platform: custom
    lambda: |-
      id(mech_vent).set_level(1);
      auto fansendhigh = new FanSendHigh();
      App.register_component(fansendhigh);
      return {fansendhigh};

    switches:
      name: "FanSendHigh"
      id: fansendhigh

  - platform: custom
    lambda: |-
      id(mech_vent).set_level(1);
      auto fansendt1 = new FanSendIthoTimer1();
      App.register_component(fansendt1);
      return {fansendt1};

    switches:
      name: "FanSendTimer1"
      id: fansendt1

  - platform: custom
    lambda: |-
      id(mech_vent).set_level(1);
      auto fansendt2 = new FanSendIthoTimer2();
      App.register_component(fansendt2);
      return {fansendt2};

    switches:
      name: "FanSendTimer2"

  - platform: custom
    lambda: |-
      id(mech_vent).set_level(1);
      auto fansendt3 = new FanSendIthoTimer3();
      App.register_component(fansendt3);
      return {fansendt3};

    switches:
      name: "FanSendTimer3"

  - platform: custom
    lambda: |-
      auto fansendjoin = new FanSendIthoJoin();
      App.register_component(fansendjoin);
      return {fansendjoin};
    switches:
      name: "FanSendJoin"

text_sensor:
  - platform: custom
    lambda: |-
      auto fanrecv = new FanRecv();
      App.register_component(fanrecv);
      return {fanrecv->fanspeed,fanrecv->fantimer,fanrecv->remoteid1,fanrecv->remoteid2,fanrecv->lastid};

    text_sensors:
      - name: "FanSpeed"
        on_value:
          then:
            lambda: |-
              ESP_LOGD("main", "The current version is %s", x.c_str());
              if (strcmp(x.c_str(),"Low")==0) {
                  // id(mech_vent).set_level(0.33);
                  // id(mech_vent).set_level(0);
                  ESP_LOGD("main", "Updating speed to low - mocked");
              }
              if (strcmp(x.c_str(),"Medium")==0) {
                  // id(mech_vent).set_level(0.67);
                  // id(mech_vent).set_level(2);
                  ESP_LOGD("main", "Updating speed medium - mocked");
              }
              if (strcmp(x.c_str(),"High")==0) {
                  // id(mech_vent).set_level(3);
                  ESP_LOGD("main", "Updating speed high - mocked");
              }
      - name: "FanTimer"
      - name: "RemoteID1"
      - name: "RemoteID2"
      - name: "LastID"


sensor:
  - platform: uptime
    name: ${device_name} FanControl Uptime
  - platform: wifi_signal
    name: ${device_name} WiFi Signal
    update_interval: 120s

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions