Spook -Your homie

btw, Frenck, is this something you would be willing to consider adding?

We now have total domains, and entities, but sorted components is not yet available.

Ive been using

{{state_attr('sensor.ha_main_config','components')|sort}}

and it splits it all out, but its a bit complex to jinja template it into a nice entity with attributes…

the template is based on the rest api sensor to the instance, listing all its components

rest:

  - resource: !secret config_resource
    scan_interval: 86400
    verify_ssl: false
    headers:
      Content-Type: application/json
      Authorization: !secret api_bearer_token

    sensor:
      - unique_id: ha_main_config_rest
        name: Ha Main config
        icon: mdi:memory
        value_template: >
          {{value_json.version}}
        json_attributes:
          - components
          - unit_system
          - config_dir

cant first them all here ofc…

would be nice if we had that listed per domain, and then the subsequent integrations (not sure of the terminology here tbh) as sublist

so:

alarm_control_panel: 5
  for: manual, mqtt, overkiz, zha

etcetc

always a bit confusing when to use which terminology because

{% for d in states|groupby('domain') -%}
{% if loop.first %} Domains: {{loop.length}} - Entities: {{states|count}} {% endif %}
  {{ d[0] -}}
{% endfor %}

spits out the domains, which are components in the sensor above and then some…

anyways, maybe you can have a look at the components?

:ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost:

v0.13.131313

:bug: Bug fixes

  • Make Lovelace repair more resilient against configuration variations @frenck (#184)

:rocket: Enhancements

  • Update German translation @steffenrapp (#177)

:arrow_up: Dependency updates

  • :arrow_up: Lock file maintenance @renovate (#179)

:ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost:

Nope, that is just bad data on a state machine level. HA isn’t designed to store large amounts of data in the state machine. Even for Spook I would not feel comfortable adding that.

this seems to have popped up after updating:

Deze fout is ontstaan door een aangepaste integratie.

Logger: custom_components.spook
Source: custom_components/spook/repairs/lovelace_unknown_entity_references.py:264 
Integration: Spook (documentation, issues) 
First occurred: 16:07:32 (119 occurrences) 
Last logged: 16:54:43

Unexpected exception from <function AbstractSpookRepair.async_activate.<locals>._async_inspect at 0x7f8c1b6aa660>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/debounce.py", line 117, in _handle_timer_finish
    await task
  File "/config/custom_components/spook/repairs/__init__.py", line 130, in _async_inspect
    await self.async_inspect()
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 108, in async_inspect
    for entity_id in self.__async_extract_entities(config)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 159, in __async_extract_entities
    entities.update(self.__async_extract_entities_from_card(card))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 221, in __async_extract_entities_from_card
    entities.update(self.__async_extract_entities_from_card(card))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 225, in __async_extract_entities_from_card
    entities.update(self.__async_extract_entities_from_card(card))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 213, in __async_extract_entities_from_card
    entities.update(self.__async_extract_entities_from_actions(config))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 255, in __async_extract_entities_from_actions
    entities.update(self.__async_extract_entities_from_action(action))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/spook/repairs/lovelace_unknown_entity_references.py", line 264, in __async_extract_entities_from_action
    (target := config.get(key))
               ^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

edit
was picked up in the GitHub: AttributeError: 'str' object has no attribute 'get' · Issue #188 · frenck/spook · GitHub

fixed! thanks for the update.

this however remains a mystery:

somehow, fixing the issue that indeed happens every once in a while (mobile app using the device name, and not the user name we have to manually reset upon registering the device), does not trigger Spook to auto -resolve this.

Whatsmore, it is persistent over restarts… Ive restarted HA many times now in the beta, and the Spook notification remains. the service is readily available and used.

:ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost:

v0.14.0

:sparkles: New features

  • Add more Home Assistant diagnostic sensors @frenck (#207)

:rocket: Enhancements

  • Spook speaks Dutch @frenck (#204)
  • Add Ectoplasms :ghost: :test_tube: @frenck (#205)
  • Add entity name translations to all entities @frenck (#210)
  • ¡Spook ahora habla español también! @frenck (#211)

:arrow_up: Dependency updates

  • :arrow_up: Update dependency homeassistant to ^2023.6.0-beta.0 @renovate (#209)

:ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost:

1 Like

I didn’t use it, but in some scary way it helped me clean up the system. :wink:

1 Like

this really is rather odd:

because:

1 Like

another one:

even while disabled:

Scherm­afbeelding 2023-06-15 om 08.03.01

this pops up:

it doesnt get disabled?

unexpected side effect of changing all yaml automations by taking out the alias: config option, (to be editable in UI for name/entity_id), and to leave only:

automation:

  - id: afval_vandaag
    trigger:

is that Spook now references those automations by the number:

clicking those does reveal the entity_id:

would be nicer if the alerts would show their name though, just like the Automations list in HA:

Scherm­afbeelding 2023-07-19 om 10.33.36

or the more-info cog on the entity_id:

That automation number should ideally not be transported to the frontend notifications, as it is not something the enduser can control/set?

seems a core issue: automation number in log, not automation name or id · Issue #97047 · home-assistant/core · GitHub

Hi Frenck!
I’m hunting ghosts :slight_smile:

So, I’m trying your creature but getting errors…
For example, if I call the following service:

image

I get the following errors:

Please, could you help me disable and re-enable the entity?
Thanks

Small update

:ghost: Documentation has arrived! :books:

It was requested a lot, so I’ve spent the last two months finishing up full-blown documentation for Spook.

It can be found here: https://spook.frenck.dev


That is not all; I’ve been working on more restructuring. Stay tuned for new releases :wink:

…/Frenck

6 Likes

:ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost:

v1.0.0

A new era of Spook arrived! :tada:

Time to take things to a new level. It took me almost two months to reach this point, but here is it! :ghost:

Internally a lot changed, mostly creating a foundation for lots of new things to come soon. Some new features sneaked in, though!

Most notably, our new: :books: Documentation!

Yes, Spook now has documentation :sunglasses:

Check it out @ https://spook.frenck.dev

…/Frenck

:sparkles: New features

  • Add persistent notification sensor @frenck (#212)
  • Extend Home Assistant restart service with an force option @frenck (#213)
  • Add buttons entities for restarting or reloading Home Assistant @frenck (#214)
  • Add support for the number of images @frenck (#234)

:bug: Bug fixes

  • Fix repairs inspection event listening @frenck (#232)
  • Fix incorrect translation key @frenck (#233)
  • Fix number.min service @frenck (#242)
  • Fix schema for recorder.import_statistics @frenck (#244)

:rocket: Enhancements

  • Add util to forward platform entry setup to ectoplasm, add other future platforms @frenck (#215)

:toolbox: Maintenance

  • Add CC0 license on the translations provided by Spook @frenck (#263)
  • Translations update from Hosted Weblate @weblate (#241)
  • Translations update from Hosted Weblate @weblate (#264)
  • Translations update from Hosted Weblate @weblate (#266)
  • Bump Home Assistant to 2023.8.1 (set minimum to 2023.8.0) @frenck (#269)
  • Sign Spook release package @frenck (#271)
  • Add issue form @frenck (#273)
  • Improvements to the issue template @frenck (#275)
  • Add PR template @frenck (#276)
  • Add devcontainer @frenck (#279)
  • Translations update from Hosted Weblate @weblate (#284)

:books: Documentation

  • Add basic documentation website + deployment @frenck (#235)
  • :books: Add full blown documentation for Spook :ghost: @frenck (#245)
  • Put back translations into the README @frenck (#272)
  • Fix typo @joostlek (#277)
  • Fix missing space @joostlek (#278)
  • Fix typo @joostlek (#280)
  • Add social description to index @frenck (#281)
  • Fix minimal Home Assistant version in docs @frenck (#282)
  • Small tweaks to installation procedure @frenck (#283)

:ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost::ghost:

6 Likes

Hey, thanks and I finally am making the step to move this to my main instance (only dev before)…v1.0.0. however, the repository can be read but it does not install from HACS (for me), it keeps showing rotating icon.

In HACS, try the redownload, it has been fixed :slight_smile:

Thank you, Franck. Thank you so much.

1 Like

Indeed, thanks …very nice these not-support/guaranteed/etc. tools :slight_smile:

@frenck - you really need to add some Europeans friendly way to sponsor your work. As a gift for your 1.0.0 release I just wanted to make some spooky transaction. But I just can’t.

As you may know, most Dutch, German’s and more Europeans do not have a credit card. Like me.

Patreon is not an option for one time support, so out of the list too.

Let’s give us some more possibility… PayPal, iDeal, SEPA, ko-fi, whatever.

It’s a pity, that right now my donation remains imaginary :wink:

2 Likes

A Lightning address would be great. I’d send 30000 satoshis on the spot

1 Like

you can sponsor someone on github through paypal, FYI. 50% sure you can do a 1 time sponsor. I’m not sure if frenck needs to have set that up though.

frenck is also on patron which I believe allows paypal