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

ESP inside! #38

Open
Fettkeewl opened this issue Jan 8, 2024 · 7 comments
Open

ESP inside! #38

Fettkeewl opened this issue Jan 8, 2024 · 7 comments

Comments

@Fettkeewl
Copy link

Hey @bj00rn

Did you notice that it's an ESP inside the LOKE-01?
Shows up as espressif in my router like all my esps 😋

Have you checked the hardware or are you a software only kinda guy 😄

@bindingofman
Copy link

Hi,
I noticed when I first got the machine too, and then researched elaborate ways to mod it to pull the data. I found a post for a similar machine with a how to guide. Luckily, I stumbled upon bj00rn's integration, which was a god send :) 👍

@bj00rn
Copy link
Owner

bj00rn commented Jan 8, 2024

Hey @bj00rn

Did you notice that it's an ESP inside the LOKE-01? Shows up as espressif in my router like all my esps 😋

Have you checked the hardware or are you a software only kinda guy 😄

Software :-) mostly. I noted it shows up as espressif too when I was looking at ways to implement autodiscovery. Came up short here since OUI/MAC seem to be generic esp stuff and the hostname is generic too.

@Fettkeewl
Copy link
Author

If we could only get the schematics :P and throw in Tasmota /ESPHome

@bj00rn
Copy link
Owner

bj00rn commented Jan 8, 2024

If we could only get the schematics :P and throw in Tasmota /ESPHome

That would be an interesting project for sure but it lies out of scope for this integration.

@Fettkeewl @bindingofman what is the last :XX byte of your mac adress? Maybe (not likely though) they are hardcoded somewhere and we can use it for autodiscovery. Mine is :b2

@Fettkeewl
Copy link
Author

If we could only get the schematics :P and throw in Tasmota /ESPHome

That would be an interesting project for sure but it lies out of scope for this integration.

@Fettkeewl @bindingofman what is the last :XX byte of your mac adress? Maybe (not likely though) they are hardcoded somewhere and we can use it for autodiscovery. Mine is :b2

I've got :94

@Fettkeewl
Copy link
Author

Fettkeewl commented Jan 10, 2024

I'm not to fond of how the saleryd handles heating and how it can bring down the RPM of the rotor.
I'm trying to remedy this through an automation.

Care to give your take on the code?

Basically if rotor spins down and stays down I increase the wanted temp (18°)
If the heater heats more than 30% I decrease the wanted temp (15°)
If the temperature outside is above my treshold I use my calculated flows (home mode, 80%/80%)
If the temperature outside is below, i drop the flow a bit and make sure I have alittle more extract air (away mode, (60%/65%)

alias: LOKE_01|EventHandler
description: Agerar på olika händelser kring FTX Aggregatet LOKE-01
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.loke_01_heat_exchanger_rotor_speed_percent
    for:
      hours: 1
      minutes: 0
      seconds: 0
    below: 80
    id: id:lowrpm
  - platform: numeric_state
    entity_id:
      - sensor.saleryd_hrv_heater_power_percent
    for:
      hours: 1
      minutes: 0
      seconds: 0
    above: 30
    id: id:highheat
  - platform: numeric_state
    entity_id:
      - sensor.ekt_temperature
    id: id:tempOverLimit
    for:
      hours: 1
      minutes: 0
      seconds: 0
    above: -5
  - platform: numeric_state
    entity_id:
      - sensor.ekt_temperature
    for:
      hours: 1
      minutes: 0
      seconds: 0
    id: id:tempBelowLimit
    below: -5
condition: []
action:
  - alias: Om Forcerings- eller Braskaminläge är på
    if:
      - condition: or
        conditions:
          - condition: state
            entity_id: switch.loke_01_fireplace_mode
            state: "on"
          - condition: state
            entity_id: switch.loke_01_boost_mode
            state: "on"
    then:
      - alias: Vänta på att Forcerings- eller braskaminläge löper ut
        wait_for_trigger:
          - platform: state
            entity_id:
              - switch.loke_01_fireplace_mode
              - switch.loke_01_boost_mode
            from: "on"
            to: "off"
            for:
              hours: 0
              minutes: 1
              seconds: 0
        timeout:
          hours: 1
          minutes: 0
          seconds: 0
          milliseconds: 0
  - choose:
      - conditions:
          - condition: trigger
            id:
              - id:lowrpm
        sequence:
          - service: saleryd_hrv.set_temperature_mode
            metadata: {}
            data:
              value: 0
            alias: Börvärde - Normal
        alias: Vid lågt varvtal, justera upp börvärde temp.
      - conditions:
          - condition: trigger
            id:
              - id:highheat
        sequence:
          - service: saleryd_hrv.set_temperature_mode
            metadata: {}
            data:
              value: 1
            alias: Börvärde - Ekonomi
        alias: Vid hög elvärme, justera ner börvärde temp.
      - conditions:
          - condition: trigger
            id:
              - id:tempOverLimit
        sequence:
          - service: saleryd_hrv.set_ventilation_mode
            metadata: {}
            data:
              value: 0
            alias: Ventilationsläge - Normal
        alias: Vid utetemp över gränsvärde, öka flödet
      - conditions:
          - condition: trigger
            id:
              - id:tempBelowLimit
        sequence:
          - alias: Ventilationsläge - Borta
            service: saleryd_hrv.set_ventilation_mode
            metadata: {}
            data:
              value: 1
        alias: Vid utetemp under gränsvärde, minska flödet
mode: queued
max: 4


@bj00rn
Copy link
Owner

bj00rn commented Jan 10, 2024

I'm not to fond of how the saleryd handles heating and how it can bring down the RPM of the rotor. I'm trying to remedy this through an automation.

Care to give your take on the code?

Basically if rotor spins down and stays down I increase the wanted temp (18°) If the heater heats more than 30% I decrease the wanted temp (15°) If the temperature outside is above my treshold I use my calculated flows (home mode, 80%/80%) If the temperature outside is below, i drop the flow a bit and make sure I have alittle more extract air (away mode, (60%/65%)

alias: LOKE_01|EventHandler
description: Agerar på olika händelser kring FTX Aggregatet LOKE-01
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.loke_01_heat_exchanger_rotor_speed_percent
    for:
      hours: 1
      minutes: 0
      seconds: 0
    below: 80
    id: id:lowrpm
  - platform: numeric_state
    entity_id:
      - sensor.saleryd_hrv_heater_power_percent
    for:
      hours: 1
      minutes: 0
      seconds: 0
    above: 30
    id: id:highheat
  - platform: numeric_state
    entity_id:
      - sensor.ekt_temperature
    id: id:tempOverLimit
    for:
      hours: 1
      minutes: 0
      seconds: 0
    above: -5
  - platform: numeric_state
    entity_id:
      - sensor.ekt_temperature
    for:
      hours: 1
      minutes: 0
      seconds: 0
    id: id:tempBelowLimit
    below: -5
condition: []
action:
  - alias: Om Forcerings- eller Braskaminläge är på
    if:
      - condition: or
        conditions:
          - condition: state
            entity_id: switch.loke_01_fireplace_mode
            state: "on"
          - condition: state
            entity_id: switch.loke_01_boost_mode
            state: "on"
    then:
      - alias: Vänta på att Forcerings- eller braskaminläge löper ut
        wait_for_trigger:
          - platform: state
            entity_id:
              - switch.loke_01_fireplace_mode
              - switch.loke_01_boost_mode
            from: "on"
            to: "off"
            for:
              hours: 0
              minutes: 1
              seconds: 0
        timeout:
          hours: 1
          minutes: 0
          seconds: 0
          milliseconds: 0
  - choose:
      - conditions:
          - condition: trigger
            id:
              - id:lowrpm
        sequence:
          - service: saleryd_hrv.set_temperature_mode
            metadata: {}
            data:
              value: 0
            alias: Börvärde - Normal
        alias: Vid lågt varvtal, justera upp börvärde temp.
      - conditions:
          - condition: trigger
            id:
              - id:highheat
        sequence:
          - service: saleryd_hrv.set_temperature_mode
            metadata: {}
            data:
              value: 1
            alias: Börvärde - Ekonomi
        alias: Vid hög elvärme, justera ner börvärde temp.
      - conditions:
          - condition: trigger
            id:
              - id:tempOverLimit
        sequence:
          - service: saleryd_hrv.set_ventilation_mode
            metadata: {}
            data:
              value: 0
            alias: Ventilationsläge - Normal
        alias: Vid utetemp över gränsvärde, öka flödet
      - conditions:
          - condition: trigger
            id:
              - id:tempBelowLimit
        sequence:
          - alias: Ventilationsläge - Borta
            service: saleryd_hrv.set_ventilation_mode
            metadata: {}
            data:
              value: 1
        alias: Vid utetemp under gränsvärde, minska flödet
mode: queued
max: 4

I think if you enable cooling mode it will force rotor to 100% regardless of temperature. Oddly enough cooling mode does not seem to disable EVE as the name would imply. Enabling fireplace mode and letting the timer run out will also force rotor to 100% for 24h.

Other logic looks fine from the looks of it. Im no HA automation expert though :-).

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

3 participants