[APP][PRO] Home Assistant - Community App

Version 0.5.17 is live now.
So everyone can test the vacuum integration now.

1 Like

Hi, Rob and Bob are doing fine!! :rofl::rofl:

1 Like

Glad I’m not the only one who names their minions :rofl: I have 2 vacuums, Bob & Kevin

2 Likes

New test version 0.6.1:

I added two helper entities:

  • Timer
  • Schedule

Timer:
You can define a timer helper entity in HA and set a duration.
From Homey you can control this timer using the device buttons (start, pause, stop, finish) or flow cards.
There are device flow events that can be used ro react on timer events (started, finished…).
You can change the timer duration using the “start timer” flow card with a duration amount (time or seconds). Or set the new duration in device settings. This value will be used with the next timer start (button/flow).
The timer remaining time will only change on actions/events because HA doesn’t send updates for a running timer.

grafik

grafik

Scheduler:
Define a schedule plan in HA. This plan will set up time slices where the schedule is “active” (or “on”).
The Homey device will change its alarm state if the schedule event starts or ends. You can use these events as flow trigger to switch devices on or off based on the schedule.

grafik

5 Likes

I think I found a bug for the vacuum cleaner because my house is not cleaned for serveral days now… There is dust on the floor everywhere! :grin:

And as soon as I checked the app of my vacuum cleaner, I saw it did not cleaned for 5 days now while it normally does that every day.

I thought, something is wrong in my flows, but they are all correct.

So I tried some things to replicate the bug…

It seems that the AND cards are not working. Strange thing is that this is working when I test the flow manually.

Here an example; In this case the light is turning on or off, but the vacuum doesnt start cleaning. But when I start the flow manually it works…

Any idea?

Hi @Marcel_Visser
thanks for reporting. I changed the condition checks in the new test version 0.6.2. Please report if it’s working now.

Hi @JB2K
I changed the way of changign timer duration. The text value is removed. Instead there are hours, minutes and seconds as flow argument or device settings. I hope it’s easier now to set the target duration.

3 Likes

It’s working fine now! Thanks for the quick fix!

1 Like

New test version 0.7.0
Minimum Firmware required: 8.1.0

Here comes the long awaitet update of the pairing dialog :tada:

New features:

  • Multi selection is possible now (starting with one selected device to prevent accidentially adding of all devices)
  • Continue button is disabled if no device is selected
  • Enter a search term. The device list is filtered using the search term. All devices are shown where teh saearch term is includes in device name. You will see the amount of yound devices in the selec/deselect all button
  • You can select/deselect all devices like in the Athom dialog. Check the amount of devices. Filter the list with a search term is the list is too long (especially for sensor pairing)
  • If you select more the one device, you can still choose a custom icon. If a custom icon is selected, the image file is assigned for all devices as independent copy. So you can change the icon for one device afterwards without affecting other devices.

Firmware requirements
The pairing dialog uses the new Athom view added with firmware 8.1.0. The used elements and CSS styles require at least firmware 8.1.0.
If your Homey is running a lower firmware version, you won’t be able to update the app. Please upgrade your Homey to the current firmware.

Some examples:

Start the pairing (some test buttons :slight_smile: ):
First device is selected. “Select all” button shows the amount of selectable devices. Then select multiple devices:

Search for devices (red mark). The Select all button is showing the current amount of found devices (green mark).
The “Button 3” keeps selected. All previously selected devices which are filtered out now got deselected. Deselect all devices will gray out the Continue button.

The new pairing dialog is based on the html/js code from Athoms dialog. The Atom code is copied and extended with the needed functionality, especially the search function which will be very helpful for very long sensor lists.
Many thanks to Harwin from Athom who gave me a lot of technical support to implement the view :wave:

9 Likes

Very very nice, m8! You’ve reached is a new Homey level for the user interface, and user friendlyness, and… time saving!

2 Likes

If in the selected device category no device listed at all, the Continue button is blue and it works. So when I push the button the next screen appears and it’s possible to choose an icon.
Is that the way it is supposed to be?

No, it shouldn’t. Thanks for reporting.
There is a special check for this condition where I have to hide the button. I’ll fix it tomorrow.

The duplicated button in pairing dialog (in case of no decvices found) should be fixed with test version 0.7.1.

@fantross: It woul be nice if could check again :slight_smile:

2 Likes

Works perfect! :+1:t3:
Thx

1 Like

Push app to stable version 1.0.0 (no changes since 0.7.1).

1 Like

New test version 1.0.1:

  • Flow action added for lights to set a relative light temperature (+ or - a percentage value).
    grafik

  • Added possibility to use deep JSON paths in Compound definition.
    Example: a weather entity with an array of forecast attributes:


    This entity has an attribute “forecast” of type array. You can access the lines using the index (starting with 0).

weather:
  name: Wetter
  capabilities:
    measure_temperature.current: weather.dwd_weather_mainz_zdf.temperature
    measure_temperature.0d: weather.dwd_weather_mainz_zdf.forecast[0].temperature
    measure_temperature.1d: weather.dwd_weather_mainz_zdf.forecast[1].temperature
    measure_temperature.2d: weather.dwd_weather_mainz_zdf.forecast[2].temperature
  capabilitiesTitles:
    measure_temperature.current: "Temp. aktuell"
    measure_temperature.0d: "Temp. Vorh."
    measure_temperature.1d: "Temp. Vorh. +1d"
    measure_temperature.2d: "Temp. Vorh. +2d"
5 Likes

New test version 1.0.2:

  • Fix for Compound update issue for entity states.
  • Added app flow trigger for HA events.
  • Changed pairing view to start without a selected device

Please take a look on the apps memory usage, as there are many events the app could process a flow trigger for. Please report if you see an high memory usage or rapid increase.

You can start flows depending on an HA event (filtered by event or entity).
The events can’t be provided as selection list, so you have to check what events are triggered by your entities. Or make a short trace with this flow:

Events, which are already processed by the app (entity update, started scrips/automations, timers) are not available here because that would cause a massive load and memory usage to process all updates.

2 Likes

New test version 1.0.3:

  • New filter fields are added to the app flow trigger “Event has been triggered”.
    Use these fields to filter the eventy by up to three field from the data JSON object. Example:
    Hue event:
    Log the events with filter “hue_event” to the HomeyLog. Copy the field names and values:
    grafik
    Then input the values into the flow card:
    grafik
    This way you can react with this card on a single events (and type) of a single device.
    This example reacts on the first click (initial_press) on the 1st button (subtype) of a Hue DimSwitch control (unique_id).

  • Possibility to update Homey devices (capabilities) on changes on HA side.
    This can be used to update the capabilities of a Homey device without deleting/re-adding it (and breaking flows). This is useful if a light buld is changed (white->color) using the same HA entity. Update the the device in Homey to add the color capabilities.
    Another use case is updating a compound device in HA (new capabilities, changed conversions…). Update the Homey device to import the new changes to your Homey device.
    This functionality can be found in the repair view of your Homey device:
    grafik
    This update will remove all existing capabilities from the device and re-adds them depending on the current HA entity. So if capabilities are removed on HA side, they get removed in Homey, too.

7 Likes

Hi Ronny,
The ‘Update capabilities’ works great up 'til now.

Something else, I try to add a compound with PIR sensor values.
The state values are on / off, but the device in Homey doesn’t ‘see’ the motion alarm.
How can I translate it to true / false?

pir_hal_sensor:
  name: pir Hal (HA)
  #icon: mdi:account
  icon: alarm_motion
  capabilities:
    alarm_motion: binary_sensor.pir_hal_iaszone

I’ve tried this

    alarm_motion:
      from: (state) => { "on"; }
      to: (value) => { true; }

and this

    alarm_motion:
      {%- if is_state("binary_sensor.pir_hal_iaszone", "on") -%}
        true
      {%- else -%}
        false
      {%- endif -%}

Hi Peter,
I assume, the state attribute of your sensor has values like ‘on’ or ‘off’, right?
For these states you don’t need a conversion. Just use the capabilities without capabilitiesConverters like:

pir_hal_sensor:
  name: pir Hal (HA)
  icon: alarm_motion
  capabilities:
    alarm_motion: binary_sensor.pir_hal_iaszone

If you want to add a converter, it must return a value.

  capabilitiesConverters:
    measure_numeric: 
      from: (state) => { return Math.round(state*100) / 100; }

The “state” is the entity attribute in this case. The function returns the calculated value.

PS:
If the used entity attribute is a real boolean value (true/false) I think I have to add an additional check to the capability conversion. Now it allows 'on//‘off’ as values as that’s the default for entity states. So if you want to use another attribute than state than has bool values, I think it won’t work. So please check what values your entity has (in HAs developer view).

Thanks Ronny,

In short: it now works, no clue why. I’ve only added some capabilities to the homey.yaml pir_hal_sensor: entry, and removed them later on.

Long version:
Yes, state values are ‘on’ and ‘off’
It did not respond without a conversion, and all other sensor values were updated correctly (device temp, illuminance, battery etc).

(Note: When I add the same sensor to Homey as new device, type ‘sensor’, that one works fine.)

So, I added all capabilities and in different types, to see what is going on, and to my surprise, the motion alarm started to work.

pir_hal_sensor:
  name: pir Hal (HA)
  icon: alarm_motion
  capabilities:
    alarm_motion: binary_sensor.pir_hal_iaszone
    alarm_generic.iaszone: binary_sensor.pir_hal_iaszone
    measure_generic.iaszone: binary_sensor.pir_hal_iaszone
    alarm_generic.occupancy: binary_sensor.pir_hal_occupancy
    measure_generic.occupancy: binary_sensor.pir_hal_occupancy
    measure_luminance: sensor.pir_hal_illuminance
    measure_temperature: sensor.pir_hal_temperature
    measure_numeric.rssi: sensor.pir_hal_rssi
    measure_battery: sensor.pir_hal_battery
  capabilitiesTitles:
    alarm_motion: "Motion"
    alarm_generic.iaszone: "iaszone (motion) alarm"
    measure_generic.iaszone: "iaszone (motion)"
    alarm_generic.occupancy: "occupancy alarm"
    measure_generic.occupancy: "Occupancy"
    measure_temperature: "Device Temp."
    measure_numeric.rssi: "RSSI"
    measure_battery: "Battery"

Then, I brought the file back again to only one line:

pir_hal_sensor:
  name: pir Hal (HA)
  icon: alarm_motion
  capabilities:
    alarm_motion: binary_sensor.pir_hal_iaszone

and now that also works.

I’m confused. I’m happy it works, but not knowing why it didn’t work at first is a bit annoying. I’m going to add another PIR and see how that goes.

~Peter