Mastiff Skrevet 20. mai 2019 Skrevet 20. mai 2019 (endret) Det forsvever meg (som mange sier her i Mandal) at jeg har gjort dette før, men jeg klarer ikke å finne det igjen noe sted. Det går greit å endre disse fra dashbordet i Hass, men jeg får det ikke til fra en automation. Jeg har en automation som er sånn: alias: Termostater til 5 grader trigger: platform: mqtt topic: ZWaveTermostatAv condition: [] action: - data_template: node_id: '{{ trigger.payload }}' parameter: 10 value: 50 service: zwave.set_config_parameter - delay: 00:00:05 - data_template: node_id: '{{ trigger.payload }}' parameter: 1 value: 'heat' service: zwave.set_config_parameter id: '1524675052575' Da setter den temperaturen riktig (parameter 10 til 50, som er fem grader), men ingenting skjer med den andre kommandoen, som er parameter 1 til heat. Jeg har også prøvd med Heat og med tallverdier, men kommer ingen vei. Har noen en anelse om hva jeg gjør feil? Endret 20. mai 2019 av Mastiff Siter
Mastiff Skrevet 21. mai 2019 Forfatter Skrevet 21. mai 2019 Takk! Det hjalp meg til og med til å finne igjen den koden jeg skrev i oktober i fjor, med din hjelp. Og jeg forsto hvorfor det var borte fra systemet. Jeg hadde ført opp at et SD-kort sviktet en knapp uke etter det, med tilbakeføring fra sikkerhetskopi. Og jeg hadde tydeligvis tatt sikkerhetskopien rett før jeg la inn denne koden. ? Det eneste som er kjipt, er at jeg må sende to payloads for å kjøre disse to tingene samtidig, for temperaturen tar Z-Wave-ID som payload, mens dette må ha navnet (i praksis climate.termostat_'+trigger.payload+'_heating) på termostaten istedenfor. Siter
baronKanon Skrevet 21. mai 2019 Skrevet 21. mai 2019 Du må uansett kjøre to kommandoer: én set_operationmode og én set_temperature. ikke vits å dille med parametre når du har ferdige funksjoner i Openzwave. Siter
Mastiff Skrevet 21. mai 2019 Forfatter Skrevet 21. mai 2019 (endret) Det er bare det at det passer litt dårlig med hovedskriptet som styrer temperaturen (Python-skript i EventGhost). Jeg har 6 termostater, og det hender at noen trykker på midtknappen på noen av dem, så de blir satt til energy_heat istedenfor heat. Da kan jeg ikke lenger holde riktig temperatur i de rommene. Så koden min, som ville funket hvis det var samme tallet for Z-Wave-enhet og termostat (termostattallet er bestemt av sonen/rommet): - alias: Termostater til 30 grader trigger: platform: mqtt topic: ZWaveTermostatPaa condition: [] action: - data_template: node_id: '{{ trigger.payload }}' parameter: 10 value: 300 service: zwave.set_config_parameter - delay: 00:00:02 - data_template: entity_id: "{{('climate.termostat_'+trigger.payload+'_heating')}}" operation_mode: 'Heat' service: climate.set_operation_mode id: '1524674475038' Men når jeg sender temperaturen til termostat 8, som har node-id 3, vil den også prøve å sette termostat 3 til modus 'Heat', og siden det ikke fins noen termostat 3, funker jo ikke det. Jeg blir vel nødt til å legge inn en ekstra linje i hovedskriptet som setter modus, med termostatnummer som utgangspunkt. Edit: Ja, jeg kunne nok lagt inn at den satte temperaturen både for energy_heat og heat, men da funker det jo ikke å kjøre opp tempen hvis termostaten skulle være slått av. Endret 21. mai 2019 av Mastiff Siter
baronKanon Skrevet 21. mai 2019 Skrevet 21. mai 2019 2 minutter siden, Mastiff skrev: Det er bare det at det passer litt dårlig med hovedskriptet som styrer temperaturen (Python-skript i EventGhost). Jeg har 6 termostater, og det hender at noen trykker på midtknappen på noen av dem, så de blir satt til energy_heat istedenfor heat. Da kan jeg ikke lenger holde riktig temperatur i de rommene. Så koden min, som ville funket hvis det var samme tallet for Z-Wave-enhet og termostat (termostattallet er bestemt av sonen/rommet): - alias: Termostater til 30 grader trigger: platform: mqtt topic: ZWaveTermostatPaa condition: [] action: - data_template: node_id: '{{ trigger.payload }}' parameter: 10 value: 300 service: zwave.set_config_parameter - delay: 00:00:02 - data_template: entity_id: "{{('climate.termostat_'+trigger.payload+'_heating')}}" operation_mode: 'Heat' service: climate.set_operation_mode id: '1524674475038' Men når jeg sender temperaturen til termostat 8, som har node-id 3, vil den også prøve å sette termostat 3 til modus 'Heat', og siden det ikke fins noen termostat 3, funker jo ikke det. Jeg blir vel nødt til å legge inn en ekstra linje i hovedskriptet som setter modus, med termostatnummer som utgangspunkt. Du får justert temperaturen på Energy Heat ved å sende set_temperature til climate.xxxx_energy_heat-entiteten. Evt. et skript som endrer til heat hver gang energy heat kommer. Energy heat og heat-status er lik på heating og energy_heat-entitetene, men temperatur er i henhold til modus, slik at energy_heat holder energy heat-temperatur uansett tilstand. Siter
Mastiff Skrevet 21. mai 2019 Forfatter Skrevet 21. mai 2019 (endret) Jepp, jeg vet at de er like. Et skript utløst på modusendring er jo en lur tanke, men igjen funker det ikke når det skal slå på en termostat som er av for å kjøre opp temperaturen. Det blir nok til at jeg kjører to funksjoner fra hovedskriptet når det går til termostater, jeg har en egen subrutine for termostater. Edit: Det var enklere enn jeg trodde. Jeg kunne bruke variabler som allerede var der, så det tok bare noen minutter. Endret 21. mai 2019 av Mastiff Siter
Anbefalte innlegg
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.