Automatizei rega com o chatGPT

::
IP68 !!!
E dos biscoitos do cão!

2 Curtiram

:rofl:

A minha instalação está menos profissional e sem proteção IPMarmita contra os fenómenos atmosféricos, mas está assim:




Basicamente um relé zigbee 4 saídas alimentado por 12vac na entrada, saída para eletrovalvulas alimentada por 24vac (liga ao primeiro na saída do relé para eletroválvula e em shunt para as seguintes), 24vac e 12vac fornecidos por transformador de campainha (tem saída a 6, 12, 18 e 24vac, todas disponíveis ao mesmo tempo), optei por usar 2 voltagens para não ligar 2 fios na mesma saída, disjuntor zigbee 230vac para a bomba e disjuntor diferencial.

2 Curtiram

Esta semana também usei o chatGPT para me ajudar a reescrever algum código, mas nunca pensei em usá-lo para fazer algo tão criativo como escrever o código original.

Foi isto que lhe pedi para fazer:

Adicionando a seguinte condição de teste:

        {% set its_alive = state_attr('sensor.studer', 'energy')['hasInverter'] %}
        {% if its_alive == True %}

Este script original:

- name: "Battery SOC Percent"
      state: "{{ state_attr('sensor.studer', 'battery')['soc'] }}"
      unit_of_measurement: "%"
      unique_id: "studer.battsoc"    

Foi substituído pela alteração da ordem e pela adição de uma condição de teste:


    - name: "Battery SOC Percent"
      unique_id: "studer.battsoc"
      unit_of_measurement: "%"      
      state: >-
        {% set soc = state_attr('sensor.studer', 'battery')['soc']|float(0) %}
        {% set its_alive = state_attr('sensor.studer', 'energy')['hasInverter'] %}
        {% if its_alive == True %}
          {{soc}}
        {% else %}
          {{ states('sensor.battsoc') }}
        {% endif %}    

Reescreva os seguintes scripts yaml alterando a ordem e adicionando a mesma condição de teste que no exemplo acima:
‘’’

- name: "Battery Power"
  state: "{{ state_attr('sensor.studer', 'battery')['power'] }}"
  unit_of_measurement: "kW"
  device_class: energy
  unique_id: "studer.battpower"

- name: "Battery Temperature"
  state: "{{ state_attr('sensor.studer', 'battery')['temperature'] }}"
  unit_of_measurement: "°C"
  unique_id: "studer.batttemp"

- name: "Battery Voltage"
  state: "{{ state_attr('sensor.studer', 'battery')['voltage'] }}"
  unit_of_measurement: "V"
  unique_id: "studer.battvoltage"

- name: "pv Generation"
  state: "{{ state_attr('sensor.studer', 'power')['solar'] }}"
  unit_of_measurement: "kW"
  unique_id: "studer.solarpower"

- name: "Grid Consumption"
  state: "{{ state_attr('sensor.studer', 'power')['gridGenset'] }}"
  unit_of_measurement: "kW"
  unique_id: "studer.gridpower"

- name: "House Consumption"
  state: "{{ state_attr('sensor.studer', 'power')['load'] }}"
  unit_of_measurement: "kW"
  unique_id: "studer.houseload"

E funcionou?

Já eu estou a tentar criar uma automação para a retirar do node red. A automação no node red funciona bem 90% das vezes, mas tem alturas em que fica a empastar em determinada ordem e não sai dali.

A automação que pretendo consiste no seguinte:
Tenho luzes rgb zigbee nos muros em volta de casa, e pretendo que as mesmas acendam ao pôr do sol, a 1% de intensidade e em branco quente, e que nas duas horas seguintes atinjam os 100% de intensidade e branco frio, isto de forma gradual.
Pretendo também que comecem a fazer o inverso 2h antes do nascer do sol, e que apaguem ao nascer do sol. Pelo meio, provavelmente vou pedir para ter 50% de intensidade entre as 23h30 e as 4h, e avaliar a diferença de consumo das mesmas.
O ChatGPT deu-me uma automação, mas:

  • Erro 1: não resultou porque dizia para atingir os 100% de intensidade e os mired pretendidos em 7600s, mas as automações parece que só aceitam 300s
  • Erro 2: deu a automação em 24 repetições para aumentar X brightness_step_pct e Y color_temp_step a cada 300s, mas a automação não funciona com o color_temp_step.
    Agora estou a trabalhar no assunto para ver como fazer isto resultar!

Sim, a utilização do chatGPT funcionou para mim e não houve erros. No meu caso, tinha elaborado o código que queria num bloco e tinha o antes e o depois desse bloco que eu próprio tinha escrito. Depois, só disse ao chatGPT para duplicar o que eu tinha feito em 6 outros blocos, o que eu poderia ter feito facilmente, mas também poderia cometer alguns erros ao fazer a modificação.

Por isso, se trabalhares o código e o fizere funcionar corretamente para uma luz, o chatGPT deve ser capaz de duplicar o código para si em quantos blocos de código quisere para o resto.

Já ponderei fazer isso, mas por enquanto estou a tentar aplicar num grupo de luzes que criei, em vez de tentar de forma individual. Mas cada vez mais me convenço que não ganho nada em criar grupos, parece que a mensagem falha sempre uma entidade!

Que diabo de gradiente de intencidade!!
o que eu faço nas minhas é arrancam a 5% e so ligam para 100% quando os sensores de detecçao(pir) detectarem alguem ou o portão abrir. O que faz uma luz a 50% ou 100% acesa á meia noite se não ha trafego humano? lá está depende do que são os meus 5% e os teus e depende da tua realidade. É so uma ideia…


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade