2024.2: More voice, more icons, more integrations, more... everything!

Not gonna happen. Radius about a point is fairly simple algebra but position in a complex shape would require a lot more memory and processing time.

Have you tried overlapping zones?

In addition to what @Mariusthvdb said, you will have to clear your cache for this and refresh the page.

Never say never. :wink: Thereā€™s custom integrations that do this already if I recall correctly.

EDIT: I canā€™t find it, but I remember seeing it at one point. I could be wrong. Either way, it may be challenging to add but itā€™s not outlandish to code. I could definitely see this being added to HA at some point.

Can I use something like this in time_pattern (there is no example in the documentation): microseconds: /86400

Awesome. I am really excited about the drag and drop!

I didnā€™t know about the proximity app until today. Canā€™t wait to check that out.

Unfortunately no. It is a gap in functionality that is needed.

EDIT: You can use microseconds, it just canā€™t go above 1000 if I remember correctly.

To have it truly update exactly on every 86.4s incrementā€¦

template:
- trigger:
  - platform: time_pattern
    microseconds: \200
  sensor:
  - name: Internet Time
    state: >
      {% set time_bmt = now() + timedelta(hours=1) %}
      {% set delta = timedelta(
                hours=time_bmt.hour,
                minutes=time_bmt.minute,
                seconds=time_bmt.second,
                microseconds=time_bmt.microsecond,
            ) %}
     {% set beat = (delta.total_seconds() * 10) | int // 864 %}
     {{ "@{0:03d}".format(beat) }}
2 Likes

I tried it, I get a syntax checking error, I also donā€™t see any mention of microseconds in the source code.

Am I doing something wrong? Iā€™ll try again at home in the evening.

How do I update the cards? Mushroom shows current and even re-downloading doesnā€™t bring the icons back.

Nope you arenā€™t doing anything wrong. Iā€™m just not remembering correctly. Looks like it canā€™t be replicated exactly.

I have an idea to replicate it, just need to work it out. Give me a bit.

Itā€™s good to know that it does the conversion in the background.

Like I said I donā€™t have any geolocation trackers in my test instance so I couldnā€™t really test it.

as far as adding the second proximity sensor I did try it and got the error noted above (device already configured). And I was surprised that it didnā€™t just get a ā€œ_2ā€ entity as I expected.

I configured the second exactly as the first one with both the same zone and device tracker and this is the error:

image

and I also canā€™t create another tracker using the same entity in the same proximity sensor because once the track is used in doesnā€™t show up in the drop down for selection since itā€™s already used.

I can use the same zone with a different tracker and create two proximity integrations and that gets the ā€œ2ā€ name as expected.

So unless Iā€™m missing something then I guess the only option at this point is to create a template sensor from the first one. Which isnā€™t a huge deal but definitely not within the user friendly goal.

Iā€™ve just tried to update to 2024.2 from 2024.1.6, but have some errors in the tile card.
before update:
KƩpkivƔgƔs2

after update:
KƩpkivƔgƔs1
code:

  - type: vertical-stack
    cards:
      - type: horizontal-stack
        cards:
          - type: tile
            icon: mdi
            entity: sensor.sarbogard_out_temp
            card_mod:
              style: |
                .icon {
                      {% if states('sensor.sarbogard_out_temp') | int < 12 %} --tile-color: rgb(33,150,243)
                      {% elif states('sensor.sarbogard_out_temp') | int <= 28 %} --tile-color: rgb(76,175,80)
                      {% elif states('sensor.sarbogard_out_temp') | int > 28 %} --tile-color: rgb(244,67,54)
                      {% else %}
                      {% endif %}
                }
                .icon {
                 --card-mod-icon:
                      {% if states('sensor.sarbogard_out_temp') | int < 12 %} mdi:thermometer-low
                      {% elif states('sensor.sarbogard_out_temp') | int <= 28 %} mdi:thermometer
                      {% elif states('sensor.sarbogard_out_temp') | int > 28 %} mdi:thermometer-high
                      {% else %}
                      {% endif %} 
                }
                ha-card {
                border-style: none;
                }
            name: Kinti hőmĆ©rsĆ©klet
          - type: tile
            entity: sensor.146235046500478_indoor_temperature
            card_mod:
              style: |
                .icon {
                      {% if states('sensor.146235046500478_indoor_temperature') | int < 16 %} --tile-color: rgb(33,150,243)
                      {% elif states('sensor.146235046500478_indoor_temperature') | int <= 24 %} --tile-color: rgb(76,175,80)
                      {% elif states('sensor.146235046500478_indoor_temperature') | int > 24 %} --tile-color: rgb(244,67,54)
                      {% else %}
                      {% endif %}
                }
                .icon {
                 --card-mod-icon: 
                      {% if states('sensor.146235046500478_indoor_temperature') | int < 16 %} mdi:thermometer-low
                      {% elif states('sensor.146235046500478_indoor_temperature') | int <= 24 %} mdi:thermometer
                      {% elif states('sensor.146235046500478_indoor_temperature') | int > 24 %} mdi:thermometer-high
                      {% else %}
                      {% endif %}
                }
                ha-card {
                border-style: none;
                }
            name: Benti hőmĆ©rsĆ©klet
      - type: vertical-stack
        cards:
          - type: tile
            entity: sensor.146235046500478_indoor_humidity
            icon: mdi:water-percent
            card_mod:
              style: |
                .icon {
                      {% if states('sensor.146235046500478_indoor_humidity') | int < 33 %} --tile-color: rgb(255,152,0)
                      {% elif states('sensor.146235046500478_indoor_humidity') | int <= 60 %} --tile-color: rgb(76,175,80)
                      {% elif states('sensor.146235046500478_indoor_humidity') | int > 60 %} --tile-color: rgba(33,150,243)
                      {% else %}
                      {% endif %}
                }
                ha-card {
                border-style: none;
                }
            name: PƔratartalom

Does anyone have an idea what needs to be changed to get it working again?

I found the solution, change ā€œ.iconā€ to ā€œha-cardā€.

Thereā€™s multiple myuplink HACS integrations? I was using jaroschek/home-assistant-myuplinkā€¦

If you are using a MAC, just use Safari instead of Chromeā€¦ Workā€™s fine for meā€¦

Cannot update. Updating from 2024.1.6.

The MelCloud integration just stopped working, anyone knows why?

here is my logā€¦ could you please tell me, do you see anything related to the update?

Do you have a second instance of evohome setup as custom component?

If yes did you update this also to latest 2024.2 version?

Sorry for the delay, got caught up at work, this should get you swatch time.

template:
- trigger:
  - platform: time_pattern
    seconds: /20
  sensor:
  - name: Next Swatch Time
    state: >
      {% set t = today_at().astimezone(utcnow().tzinfo).replace(hour=0) %}
      {% set n = now() %}
      {% set d = (n - t).total_seconds() % 86.4 %}
      {% set last = n - timedelta(seconds=d) %}
      {{ last + timedelta(seconds=86.4) }}
- trigger:
  - platform: time
    at: sensor.next_swatch_time
  sensor:
  - name: Internet Time
    state: >
      {% set time_bmt = now() + timedelta(hours=1) %}
      {% set delta = timedelta(
                hours=time_bmt.hour,
                minutes=time_bmt.minute,
                seconds=time_bmt.second,
                microseconds=time_bmt.microsecond,
            ) %}
     {% set beat = (delta.total_seconds() * 10) | int // 864 %}
     {{ "@{0:03d}".format(beat) }}

It creates 2 sensors. 1 sensor that calculates the next update every 20 seconds, and one that calculates on the update.

3 Likes

Thanks, interesting idea. I always thought that integration should help in such situations, but since the UI is not yet capable, we will use this solution.
Thanks again.