Home Assistant & Entity Controler

C’est à dire?

J’ai la version 0.12.0 de App deamon

Voici mon fichier appdaemon.yaml:

---
secrets: /config/secrets.yaml
appdaemon:
  latitude: ########
  longitude: #########
  elevation: 2
  time_zone: Europe/Amsterdam
  plugins:
    HASS:
      type: hass
http:
  url: http://127.0.0.1:5050
admin:
api:
hadashboard:

J’ai également supprimé le , aware=True dans le fichier apps/automoli/automoli.py:

C’est ça qu’il fallait faire?



@@ -1087,7 +1087,7 @@ async def build_daytimes(
                starttime = daytime.get("starttime")
                if starttime.count(":") == 1:
                    starttime += ":00"
                dt_start = (await self.parse_time(starttime, aware=True)).replace(
                dt_start = (await self.parse_time(starttime)).replace(
                    microsecond=0
                )
                daytime["starttime"] = dt_start
@@ -1115,7 +1115,7 @@ async def build_daytimes(
                    next_starttime += ":00"
                next_dt_name = str(daytimes[(idx + 1) % len(daytimes)].get("name"))
                next_dt_start = (
                    await self.parse_time(next_starttime, aware=True)
                    await self.parse_time(next_starttime)
                ).replace(microsecond=0)
            except ValueError as error:
                raise ValueError(

Et j’ai toujours le même message d’erreur.

Curieux, j’ai tt pareil à part time_zone: Europe/Paris

Regarde que ce soit cohérent avec ce que tu as défini dans HA. Sans quoi je sèche…

Ca fonctionne! J’ai modifié le Europe/Amsterdam vers time_zone: Europe/Paris
Et j’ai supprimé le , aware=True dans le fichier apps/automoli/automoli.pyqui était revenu entre temps!

Merci pour ton aide.

1 « J'aime »

Après tests, visiblement j’ai un crash inconnu lors de l’attente du trigger déclencheur qui traque la fin de mouvement :

Vous savez si moyen d’avoir des logs debug afin de déterminer l’origine du crash de l’automation ?

id: '1700423173396'
alias: TEST - Automatisation triggers
description: ''
trigger:
  - type: motion
    platform: device
    device_id: f64f0a1e4d5112d361b8721d3dfb0b25
    entity_id: ecbbbe7f6c29032bc18019d769bef2d7
    domain: binary_sensor
condition:
  - condition: time
    after: sensor.sun_next_setting
    before: '00:00:00'
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
action:
  - service: light.turn_on
    data:
      color_temp: 500
      brightness_pct: 50
      transition: 2
    target:
      device_id: 7d215068289c072232d0a5dd77df365b
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.mouvement_chambre_occupancy
        from: 'on'
        to: 'off'
        for:
          hours: 0
          minutes: 0
          seconds: 1
    timeout:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 0
    continue_on_timeout: false
    enabled: true
  - service: light.turn_off
    data:
      transition: 2
    target:
      device_id: 7d215068289c072232d0a5dd77df365b
    enabled: true
mode: single

Salut,

L’automatisation fonctionne exactement comme prévu !!!
D’un coté, tu attends 1 seconds le retour du capteur de mouvement de on à off
Et juste en dessous, tu lui indique d’attendre le retour pendant au max 0 millisecondes, et de ne pas dérouler le suite si l’état du capteur n’as pas bougé…

Donc HA est très discipliné, il attends 0, et s’arrête…

En dehors de tout ça, l’automatisation n’est pas très logique/utile…

  • Détecter le mouvement, allumer la lumière, attendre 1 seconde, éteindre la lumière…
  • Faire une condition sur les 7 jours de la semaine, soleil couché après passé minuit…(Je ne penses pas qu’il existe un 8ème, ni une heure de coucher de soleil après minuit)

A mon sens, ça va pas servir à grand chose. C’est une idée de chatgpt ?

Hello, merci du retour constructif !

Effectivement, le « facultatif » m’as induit en erreur. J’ai pu m’amuser avec le timeout/continuer délai, afin de comprendre.

J’ai donc procédé ainsi :

  • Attendre que le capteur passe de on à « autre état » (au final il était pas off mais deleted parfois), pendant plus d’une seconde (ce que j’avais déjà mis)
  • Timeout de 1min30 (mon capteur mouvement ne ping que toutes les 60sec)

J’ai pu voir qu’au final le soucis vient d’un problème de ma lampe Zigbee (probablement un modèle Tuya pas top, qui accepte qu’une action / 10 secondes (pourtant dans Z2M je peux spam clique et ça marche pas mal (rate 1/s)).

Error 2023-11-20 13:21:45Publish 'set' 'color_temp' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 lightingColorCtrl.moveToColorTemp({"colortemp":500,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (140))'
Error 2023-11-20 13:23:13Publish 'set' 'brightness' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 genLevelCtrl.moveToLevelWithOnOff({"level":254,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (143))'
Error 2023-11-20 13:23:14Publish 'set' 'color_temp' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 lightingColorCtrl.moveToColorTemp({"colortemp":500,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (144))'
Error 2023-11-20 13:23:40Publish 'set' 'brightness' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 genLevelCtrl.moveToLevelWithOnOff({"level":254,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (146))'
Error 2023-11-20 13:23:44Publish 'set' 'state' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 genOnOff.on({}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (147))'
Error 2023-11-20 13:25:04Publish 'set' 'brightness' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 genLevelCtrl.moveToLevelWithOnOff({"level":254,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (150))'
Error 2023-11-20 13:25:14Publish 'set' 'color_temp' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 lightingColorCtrl.moveToColorTemp({"colortemp":500,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (152))'
Error 2023-11-20 13:25:19Publish 'set' 'state' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 genOnOff.off({}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (153))'
Error 2023-11-20 13:25:35Publish 'set' 'color' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 lightingColorCtrl.moveToColor({"transtime":0,"colorx":45494,"colory":19418}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (157))'
Error 2023-11-20 13:25:41Publish 'set' 'brightness' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 genLevelCtrl.moveToLevelWithOnOff({"level":254,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (161))'
Error 2023-11-20 13:25:44Publish 'set' 'color_temp' to 'LED Couloir' failed: 'Error: Command 0xa4c138d4d167196e/1 lightingColorCtrl.moveToColorTemp({"colortemp":153,"transtime":0}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (no response received (164))'

Donc ma démarche semble bonne, il attend 60 seconde (le retour du mouvement), puis 1 secondes après s’éteint (61 au total), ou alors en cas de non réponse, il s’éteint (90 secondes).
Ma détection est mieux, maintenant mon soucis est plutôt lié au protocole/light visiblement, mais ce que je ne comprends pas c’est que cela fonctionnait bien sous Jeedom (Z2M aussi).

Voici ma nouvelle automatisation :

alias: Nuit - Couloir
description: ""
trigger:
  - type: motion
    platform: device
    device_id: 8a3a51b3c0ee88aadf1673f24704b4b8
    entity_id: 1ecc62c4b09d57de144cfa823b34cb0a
    domain: binary_sensor
condition:
  - condition: time
    after: "00:00:00"
    before: "09:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
action:
  - service: light.turn_on
    data:
      brightness_pct: 1
      transition: 2
      rgb_color:
        - 255
        - 0
        - 0
    target:
      device_id: e6273845c1dc27451156529a46d69d85
  - wait_for_trigger:
      - platform: state
        entity_id:
          - binary_sensor.mouvement_occupancy
        from: "on"
        to: null
        for:
          hours: 0
          minutes: 0
          seconds: 1
    timeout:
      hours: 0
      minutes: 1
      seconds: 30
      milliseconds: 0
  - service: light.turn_off
    data:
      transition: 5
    target:
      device_id: e6273845c1dc27451156529a46d69d85
mode: single

Pour les jours, je pensais que c’était obligatoire au vu du template (pas noté facultatif), je vais donc virer ça effectivement.
Idée perso en essayant de dupliquer mes anciens scripts Jeedom