Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Anbefalte innlegg

Skrevet (endret)

Denne koden endrer setpoint på en Heatit-termostat til 5 grader når jeg sender 3 som trigger payload for MQTT (3 er da nodens ID):

- alias: Termostater til 5 grader
  action:
    data_template:
      node_id: '{{ trigger.payload }}'
      parameter: 10
      value: 50
    service: zwave.set_config_parameter
  condition: []
  id: '1524675052575'
  trigger:
    platform: mqtt
    topic: ZWaveTermostatAv

Det funker feilfritt. Det jeg ikke klarer, er å endre modusen. Jeg har prøvd denne koden (ifølge oppsettet er modus config parameter 1):

- alias: Termostater modus av
  action:
    data_template:
      node_id: '{{ trigger.payload }}'
      parameter: 1
      value: off
    service: zwave.set_config_parameter
  condition: []
  id: '152406878952579'
  trigger:
    platform: mqtt
    topic: ZWaveTermostatModusAv

Jeg har prøvd Off, ‘Off’, off og ‘off’, uten å få til noe. når jeg ser på {{state_attr(‘climate.termostat_8_heating’, ‘operation_mode’)}} ser jeg det som off og heat, og jeg ser altså i nodens config at operation mode er parameter nummer 1. Er det noen som har noen anelse om hva som er feil her? Det funker uten problemer å sette operasjonsmodusen fra Hass-GUI-en, så det er en feil i koden, og ikke mellom Hass og termostaten. Jeg kan bare ikke fatte hva. Jeg vet ikke om det henger sammen, men en annen ting er at hvis jeg går inn på Z-Wave-configurasjonen, velger tremostaten, drar ned node config options og klikker på hva som helst, vil den gå til modus off. Men jeg tviler på at det henger sammen, siden jeg ikke klarer å sette off med koden min. jeg har også eksperimentert med samme kode, men med set_operation_mode uten å komme noe videre.

Endret av Mastiff
Skrevet

Nå bare tenker jeg høyt her:
"Off" er jo en streng og ikke en verdi...

 

Du skal ikke sende value 0 for Off, 1 for "Heat", 2 for "Cool" og 11 for "Energy Save Heat"?

Skrevet

Du må jo bruke riktig service.

 

For å sette temperatur, må du bruke climate.set_temperature

For å sette modus, må du bruke climate.set_operation_mode

 

Dette tester du ved å kjøre manuelle kommandoer fra "fjernkontroll"-ikonet i venstremeny på HASS.

 

De forskjellige settpunktene mulig for entity finner du ved å lete frem climate.<termostatnavn>_"noe" i "<>"-valget i venstre meny

Skrevet

Takk! Jeg har kommet så langt at at jeg vet at navnet er climate.termostat_8_heating, men når jeg prøver å legge inn også det jeg skal endre, sier den at det er ugyldig JSON, og enheten forsvinner:

image.png.26b820b1f6bdaf9807a989f86663a76c.png

Skrevet (endret)

Det måtte jeg, ja! Takk! :) Det funket med

"entity_id": "climate.termostat_8_heating", "operation_mode": "heat"

Jeg prøvde å tilpasse koden til automations (jeg må redigere fila "manuelt" via VNC på Pi-en fordi det ellers herper formateringen min med forklaringer og ### som skiller):

- alias: Termostater modus av
  action:
    data_template:
      payload_template: {{('entity_id': 'climate.termostat_'+trigger.payload+'_heating'), ('operation_mode': 'off')}}
    service: climate.set_operation_mode
  condition: []
  id: '152406878952579'
  trigger:
    platform: mqtt
    topic: ZWaveTermostatModusAv

Det funket ikke, og det understreket en av de store ankepunktene mine mot programmering i Home Assistant: Hvis noe er feil, virker ingen automations. Hvis et skript har feil i noen av de andre systemene mine, påvirker det ikke andre skripts (jeg vet at skripts og automations er atskilt i Hass, i EG og Girder er det samme greia). Og noen feil, som denne, gjør at Hass ikke kan starte i det hele tatt. Men det er selvagt ikke noe problem hvis man faktisk vet hva man gjør... ;)

Endret av Mastiff
Skrevet
4 minutter siden, Mastiff skrev:

Det måtte jeg, ja! Takk! :) Det funket med


"entity_id": "climate.termostat_8_heating", "operation_mode": "heat"

Jeg prøvde å tilpasse koden til automations (jeg må redigere fila "manuelt" via VNC på Pi-en fordi det ellers herper formateringen min med forklaringer og ### som skiller):


- alias: Termostater modus av
  action:
    data_template:
      payload_template: {{('entity_id': 'climate.termostat_'+trigger.payload+'_heating'), ('operation_mode': 'off')}}
    service: climate.set_operation_mode
  condition: []
  id: '152406878952579'
  trigger:
    platform: mqtt
    topic: ZWaveTermostatModusAv

Det funket ikke, og det understreket en av de store ankepunktene mine mot programmering i Home Assistant: Hvis noe er feil, virker ingen automations. Hvis et skript har feil i noen av de andre systemene mine, påvirker det ikke andre skripts (jeg vet at skripts og automations er atskilt i Hass, i EG og Girder er det samme greia). Og noen feil, som denne, gjør at Hass ikke kan starte i det hele tatt. Men det er selvagt ikke noe problem hvis man faktisk vet hva man gjør... ;)

 

Skrot de andre systemene, og så bruker du AppDaemon, slik at du kan programmere alle automasjoner i Python. Dette er uavhengig av HASS, og dermed trenger du ikke å styre med reloading av ditt eller datt. Skriptet kjøres når det lagres.

 

Ellers er det veldig lurt å trykke "check configuration" før du kjører "last automasjoner på nytt". Har du oppdatert automasjoner, trenger du ikke å laste hele HASS på nytt.

 

Har en viss følelse på at den payload-templaten ikke funker som du vil den skal funke. Templater er lite intuitivt og ganske kjedelig i Home Assistant.

 

Skal jeg ha litt mer enn ren trigger-condition-action, bruker jeg Appdaemon.

Skrevet

Jeg har faktisk flere ganger opplevd at automations ikke starter på nytt når jeg gjør det fra inne i Hass, derfor begynte jeg å starte det om igjen fra kommandolinjen. Og App Daemon er litt overkill for det lille jeg gjør. :) Men jeg kan sende koden bort på Hass-forumet, det er alltid noen der som ser hva som skjer. Takk for hjelpen så langt! :)

Skrevet
5 minutter siden, Mastiff skrev:

Men jeg kan sende koden bort på Hass-forumet, det er alltid noen der som ser hva som skjer. Takk for hjelpen så langt! :)

Høres lurt ut!

 

Bare hyggelig.

Skrevet

Det slo meg plutselig hvor jeg hadde tenkt feil (mens jeg jobbet med den egentlige jobben min...underbevisstheten kan være rar sånn). Dette funker:

 

- alias: Termostater modus av
  action:
    data_template:
      entity_id: "{{('climate.termostat_'+trigger.payload+'_heating')}}"
      operation_mode: 'Off'
    service: climate.set_operation_mode
  condition: []
  id: '152406878952579'
  trigger:
    platform: mqtt
    topic: ZWaveTermostatModusAv

 

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.