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

MQTT Homeassistant Support for "datetime" and "date" Fields #1120

Open
Xyaren opened this issue Dec 30, 2023 · 13 comments · May be fixed by #1134
Open

MQTT Homeassistant Support for "datetime" and "date" Fields #1120

Xyaren opened this issue Dec 30, 2023 · 13 comments · May be fixed by #1134

Comments

@Xyaren
Copy link

Xyaren commented Dec 30, 2023

Description

Similar to #1006
I would like to request Homeassistant MQTT Discovery support for date(times)s aswell.

@guillaumezin
Copy link

Hello, and happy new year.
Same here, for Domoticz, I can't figure out how to get date working, I'm having a really hard time understanding how parsing is supposed to work...

@john30
Copy link
Owner

john30 commented Jan 7, 2024

someone wants to find out how date+datetime are represented in HA when exchanged via MQTT?

@Xyaren
Copy link
Author

Xyaren commented Jan 8, 2024

Currently I suggest using text (with a regex as done in #1006 / f0d737d ) as there is no dedicated date / datetime / time entity supported for mqtt discovery:

Currently supported entities:
https://www.home-assistant.io/integrations/mqtt/#mqtt-discovery:~:text=Entity%20integrations%20supported%20by%20MQTT%20discovery

Same problem: https://community.home-assistant.io/t/mqtt-discovery-input-datetime/444720

Feature request: https://community.home-assistant.io/t/mqtt-discovery-time-datetime/663870
(Please Vote for the feature request to make it visible)

@guillaumezin
Copy link

Text would be enough for Domoticz. But to be honest, I don't need this anymore, I'm using Hc1SFMode and Hc2SFMode to set holiday mode and it seems to work as expected

@Koky05
Copy link

Koky05 commented Jan 11, 2024

I add date and time in file "mqtt-hassio.cfg" on row 108 filter-name = ....|date|time|...

Change on rows from 148:

# HA integration: skip string/date/time types completely
type_map-string = string
type_map-date = date
type_map-time = time

Change on rows from 230:

type_switch-w-date =
    text,,,date = date,
    text,, = date,
    text,, =

type_switch-w-datetime =
    text,, = btime,
    text,, = dcfstate,
    text,, = datetime,
    text,, = bdate,
    text,, = 

type_switch-w-string =
    text,, = date,
    text,, = datetime,
    text,, = dcfstate,
    text,, = bdate,
    text,, = btime,
    text,, =

type_switch-date =
    sensor,, = date,
    sensor,, =

type_switch-datetime =
    sensor,, =

type_switch-string =
    sensor,, =

Change on rows from 330:

type_part-textdate = ,
  "command_topic":"%topic/set",
  "pattern": "^[0-3][0-9].[01][0-9].20[0-3][0-9]$"%state_class

type_part-textdatetime = ,
  "command_topic":"%topic/set"%state_class

type_part-text = ,
  "command_topic":"%topic/set"%state_class

image

@Dinth
Copy link
Sponsor

Dinth commented Jan 11, 2024

Thanks for all the work on this, i still fail to understand how to declare anything in mqtt config file, but setting date is one of the most critical applications of ebusd im using.

Xyaren added a commit to Xyaren/ebusd that referenced this issue Jan 11, 2024
@Xyaren
Copy link
Author

Xyaren commented Jan 11, 2024

I can confirm the changes are working :)
Be very careful with exposing the current date/time to homeassistant, as this will update VERY frequent and will pollute the history/recorder of your homeassistant instance.

I am planning to just use it for the holiday period, so that is not an issue.

I'll create a PR with the above changes.
With the default settings this should not have any impact for any user if we do not change filter-name right?
It would just allow editing of the dates for users having exposed any of the time/date/datetime properties themselves.

Xyaren added a commit to Xyaren/ebusd that referenced this issue Jan 11, 2024
@Koky05
Copy link

Koky05 commented Jan 11, 2024

I use local config files for eBUS Deamon so I also lower priority of that values. In other case you also can skip recorder for that values at all:

exclude map (optional)
Configure which integrations should be excluded from recordings. (Configure Filter)

domains list (optional)
The list of domains to be excluded from recordings.

entity_globs list (optional)
Exclude all entities matching a listed pattern from recordings (e.g., sensor.weather_*).

entities list (optional)
The list of entity ids to be excluded from recordings.

event_types list (optional)
The list of event types to be excluded from recordings.

# Example filter to include specified domains and exclude specified entities
recorder:
  include:
    domains:
      - alarm_control_panel
      - light
    entity_globs:
      - binary_sensor.*_occupancy
  exclude:
    entities:
      - light.kitchen_light

@Xyaren
Copy link
Author

Xyaren commented Jan 11, 2024

I use local config files for eBUS Deamon so I also lower priority of that values. In other case you also can skip recorder for that values at all:

exclude map (optional)
Configure which integrations should be excluded from recordings. (Configure Filter)
domains list (optional)
The list of domains to be excluded from recordings.
entity_globs list (optional)
Exclude all entities matching a listed pattern from recordings (e.g., sensor.weather_*).
entities list (optional)
The list of entity ids to be excluded from recordings.
event_types list (optional)
The list of event types to be excluded from recordings.

# Example filter to include specified domains and exclude specified entities
recorder:
  include:
    domains:
      - alarm_control_panel
      - light
    entity_globs:
      - binary_sensor.*_occupancy
  exclude:
    entities:
      - light.kitchen_light

I am aware of that, it's just something that you need to do explicitly.
Therefore exposing the property by default would be a bad idea.

@Xyaren Xyaren linked a pull request Jan 11, 2024 that will close this issue
@john30
Copy link
Owner

john30 commented Feb 11, 2024

I am aware of that, it's just something that you need to do explicitly. Therefore exposing the property by default would be a bad idea.

thats what I think as well. would be better to just prepare it in the integration file and having to enable it explicitly imho (also valid for #1134)

@Xyaren
Copy link
Author

Xyaren commented Feb 11, 2024

That is exactly what #1134 does. It does not automatically expose the attributes, just makes them editable if they are exposed.

@chrizzzp
Copy link

chrizzzp commented Feb 15, 2024

I noticed even with the additions of #1134 in place, time entities with the datatype HTI are not automatically exposed to HA.

e.g.

r,,Time,time,,,,3500,,,HTI,,,current time
r,,z1QuickVetoEndTime,Quick Veto End Time Zone 1,,,,1E00,,,HTI,,,manual override end time for zone 1

Does it require a separate HA template definition?

e.g. _templates.csv:

time3,HTI,,,time

@Xyaren
Copy link
Author

Xyaren commented May 13, 2024

Any explanation on why the PR is not merged ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants