Instalacja PV dogrzewanie/chłodzenie domu klimą sterowanie przez HA

Ja zrobiłem u siebie dodatkową skrzynkę bezpiecznikową, w której umieściłem jedno zabezpieczenie 10A, aby móc w przyszłości wykorzystać przełącznik w Shelly, oraz 3 zabezpieczenia 6A dla każdej z faz no i Shelly. Faza wchodzi do zabezpieczenia, a potem do shelly. Trzeba tylko pamiętać, aby zgadazły się kolejności faz z czujnikami (faza 1 i czujnik na fazie 1).

@marcin1 Zamela nie znam, a z shelly jestem zadowolony. Zresztą shelly zostało mi polecone na tym forum.

Posiadam Shelly 3EM, testowałem również ZAMEL-a,
Zalety Zamel-a

  1. duża dokładność w porównaniu z licznikiem zakładu energetycznego
  2. solidniejsze wykonanie.
    i to co mogę powiedzieć o Zamel

Zalety Shelly

  1. fajna integracja w HomeAssistant
  2. lokalne ip każdego urządzenia Shelly
  3. łatwość konfiguracji w HomeAssistant
  4. duża ilość sensorów, napięcie na każdej fazie, prądy, energia wysłana, pobrana, współczynnik mocy.
    Wada.
    Niewielkie różnice w pomiarach w porównaniu z ZE PGE,
    u mnie błędy wynoszą odpowiednio -4% i + 3%
    Rozwiązałem ten problem tak jak poniżej
    # Liczniki energii odczyt 180 i 280
    stan_licznika_180:
      friendly_name: "stan licznika pobrana energia PGE 1.80"
      device_class: energy
      value_template: >-
        {{ ((states('sensor.pob_pge')|float(0))/ 1.040399367906067)|round (2)  }}
      unit_of_measurement: "kWh"
    stan_licznika_280:
      friendly_name: "stan licznika wyslana energia PGE 2.80"
      device_class: energy
      value_template: >-
        {{ ((states('sensor.wys_pge')|float(0)) *  1.038 )|round (2)  }}
      unit_of_measurement: "kWh"
    

Co do błędów to po dość długiej korespondencji houseiq.pl oraz działem wsparcia Shelly doszliśmy do wniosku iż muszę wymienić cewki z 120A na mniejsze 50 A co spowoduje znacznie mniejszy błąd w rozliczeniu energii.

Pozdrawiam
W/w ocena jest subiektywna i każdy może mieć inne doświadczenia i upodobania :slight_smile:
Ja wybrał bym teraz także Shelly.

1 Like

Licznik Shelly 3EM założony, od siebie chciałem dodać, że jeśli ktoś połączy przez mqtt, to tak samo jak w zamelu mew 01 traci chmurę.Integracja odicjalna działa HA i chmura.

Masz rację. Tylko że Zamel nie ma lokalnej integracji i musi być poprzez MQTT,
SHELLY ma lokalną integrację ma własny serwer www, podłączenie tego urządzenia do MQTT mija się z celem jaki chcesz uzyskać. Integracja SHELLY HA działa bez problemowo, szybko.
Łatwość konfiguracji ma także znaczenie.

Jeżeli shelly jest poza siecią lokalną, za podwójnym NAT to MQTT jest rozwiązaniem aby to jakoś działało. :slight_smile:
Pozdrawiam

Pomożesz mi ze skonfigurowaniem tych encji tak żeby był widoczny magazyn Pge i zeby były łączne zużycia z trzech faz,cos jak tu podajesz.Miernik energii elektrycznej - Zamel MEW-01 - #16 przez Zbyszek


Probuję sam ale cały czas jakieś błędy mi wali.

Jeszcze sie za to nie zabierałem, ale skontaktuj się z @Dariusz_Barczyński. Darek to już ogarnął i wyswietla dane z magazynu. U mnie też coś pamietam wywalało i dałem sobie spokój z powodu permanentnego braku czasu. Może ten tydzień bedzie spokojniejszy, to usiądę i jak to zrobię to Ci przekażę informację co i jak.

:+1: poczekam parę dni. :slightly_smiling_face:

Proszę bardzo
Wpisz w pliku configuration.yaml tak jak na przykładzie moim

sensor templates: !include sensor_templates.yaml

Następnie tworzysz nowy plik konfiguracyjny o nazwie sensor_templates.yaml
wklej do niego :

####################################################################################################
##     TEMPLATE    obliczenia na podstawie sensorów                                               ##
##                                                                                                ##
##                    https://www.home-assistant.io/integrations/template                         ##
####################################################################################################

# Logiczne sensory obliczeniowe
# Obliczanie czasu pracy instalacji fotwoltaicznej
- platform: template
  sensors:
    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
    # Czas pracy instalacji fotowoltaicznej data uruchomienia 3 sierpień 2021
    sensor_czas_pracy:
      friendly_name: "Dni pracy falownika"
      device_class: power
      value_template: >-
        {{ (((as_timestamp(utcnow()))-(as_timestamp("2021-08-03" , "%Y-%m-%d"))) / (3600*24)) |round(2)}}
      unit_of_measurement: "dni"
    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
    # Aktualna produkcja lub zużycie energii, dane z Shelly (-pobór, + wysył)
    aktualna_moc:
      device_class: power
      friendly_name: "Aktualna moc"
      value_template: >-
        {{ (((states('sensor.faza_1_power')|float(0) + states('sensor.faza_2_power')|float(0) + states('sensor.faza_3_power')|float(0))/-1000))|round(3) }}
      unit_of_measurement: "kW"
    #
    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
    #
    # Energia wysłana do zakładu energetycznego PGE
    wys_pge:
      device_class: energy
      friendly_name: "Energia wyslana do PGE"
      value_template: >-
        {{ (((states('sensor.faza_1_energy_returned')|float(0) + states('sensor.faza_2_energy_returned')|float(0) + states('sensor.faza_3_energy_returned')|float(0))))|round(2) }}
      unit_of_measurement: "kWh"

    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#

    # Energia pobrana z zakładu energetycznego PGE
    pob_pge:
      device_class: energy
      friendly_name: "Energia pobrana z PGE"
      value_template: >-
        {{ (((states('sensor.faza_1_energy')|float + states('sensor.faza_2_energy')|float + states('sensor.faza_3_energy')|float)))|round(2) }}
      unit_of_measurement: "kWh"
    # Energia zmagazynowana w PGE wg licznika Shelly 3PM
    energia_zmagazynowana:
      device_class: energy
      friendly_name: "Energia zmagazynowana w PGE"
      value_template: >-
        {{ ((((((states('sensor.wys_pge')|float(0))*80))/100))-(states('sensor.pob_pge')|float(0)) )|round (2)  }}
      unit_of_measurement: "kWh"

    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#


Otrzymasz po restarcie HA następujące sensory
w. wzoru który wpisałeś
sensor.wys_pge Energia wysłana do PGE
sensor.pob_pge Energia pobrana z PGE
sensor.sensor_czas_pracy Czas pracy falownika od uruchomienia
sensor.aktualna_moc Aktualna moc, (- oznacza pobieraną energię, + wyayłaną)
energia_zmagazynowana Magazyn energii
image

image

w pliku możesz tworzyć dowolne sensory obliczeniowe w/g powyższego wzoru

Jak będziesz miał problemy pisz. Chętnie pomogę :slight_smile:
Na tym jednym z nielicznych forum dzięki Arturowi ludziska sobie pomagają a nie pouczają,
Pozdrawiam wszystkich
Darek

      # Energia zmagazynowana w PGE wg licznika Shelly 3PM
    energia_zmagazynowana:
      device_class: energy
      friendly_name: "Energia zmagazynowana w PGE"
      value_template: >-
        {{ ((((((states('sensor.wys_pge')|float)*80))/100))-(states('sensor.pob_pge')|float) )|round (2)  }}
      unit_of_measurement: "kWh"

To jest moja energia zmagazynowana ,ale od krótkiego czasu,wiem że w magazynie mam jeszcze około 2800kWh. jak to uwzglęnić dodać.
Dziękuję za pomoc,gdyby nie to forum i filmy artura byłbym jeszcze daleko w lesie,cały czas się czegos ciekawego dowiaduję.Jeszcze raz dzięki.

wystarczy że dodasz
{{ (((((((states(‘sensor.wys_pge’)|float)*80))/100))-(states(‘sensor.pob_pge’)|float))+2800 )|round (2) }}

wali błąd
Invalid config for [sensor.template]: invalid template (TemplateSyntaxError: unexpected char ‘‘’ at 17) for dictionary value @ data[‘sensors’][‘energia_zmagazynowana’][‘value_template’]. Got ‘{{ (((((((states(‘sensor.wys_pge’)|float)*80))/100))-(states(‘sensor.pob_pge’)|float))+2800 )|round (2) }}’. (See ?, line ?).

już ok, jeden znak nie tak

Czyli działa ))
Pisz jak coś będziesz potrzebował. Jak będę coś wiedział to podpowiem
:wink:

1 Like

Trochę minęło i gdyby nie przeziębienie z którym zostałem w domu, to pewnie bym się za to jeszcze nie zabrał. Udało się wszystko ogarnąć, system pokazuje tak jak chcę, i tu ukłony i podziękowania, ale znalazłem pewien problem w tym rozwiązaniu jeżeli chodzi o energię zmagazynowaną. A mianowicie problem nastąpi w momencie, kiedy zużyjemy cały magazyn. Ilości w magazynie zaczną pokazywać stany ujemne. A tak naprawdę to stan powinien się zatrzymać na 0. To da się pewnie obejść aby wymusić 0. Ale co dalej ?, odejmujemy ilość wyprodukowanej (80%) od pobranej i liczniki Shelly biegną dalej. Jeżeli na koniec stycznia skończy mi się magazyn i cały luty będę tylko i wyłącznie kupował prąd od operatora i zużyję powiedzmy 1000 KWh to, aby przy wznowieniu produkcji cokolwiek pojawiło się na magazynie muszę najpierw wyprodukować o 1200 KWh więcej niż użyję. A tak naprawdę w magazynie według będę miał nie 0, a 1000 KWh. Nie wiem czy piszę zrozumiale, jak nie to wytłumaczę.
Pisze tak na gorąco, bo dopiero co uruchomiłem sensory. Nie miałem jeszcze czasu aby posiedzieć i cos pokombinować.

Wizualizację mam rozwiązaną poprzez sensor meter i kartę apexcharts-card

Co dotyczy magazynu energii to u mnie jest na (-) ale w PGE rozliczenie mam do czerwca

Teraz jest na minus, jednak w jak w styczniu wyprodukuję mp. 120kWh, czyli do magazynu wejdzie 100Kwh a pobrałem 50 kWh to bilans ujemny zmniejszy mi się o 50 kWh.
30 czerwca wyzeruję lub utworzę nowy

{{ ((((((states(‘sensor.stan_licznika_280’)|float(0))*80))/100))-(states(‘sensor.stan_licznika_180’)|float(0)) )|round (2) } - “wartość z poprzedniego okresu”
i sprawa załatwiona.

    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#

    # Energia zmagazynowana w PGE wg licznika Shelly 3PM
    energia_zmagazynowana:
      device_class: energy
      friendly_name: "Energia zmagazynowana w PGE"
      value_template: >-
        {{ ((((((states('sensor.stan_licznika_280')|float(0))*80))/100))-(states('sensor.stan_licznika_180')|float(0)) )|round (2)  }}
      unit_of_measurement: "kWh"

    #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------#

Dodatkowo wszystko idzie do InfluxDB i Grafany a tam to już cuda można tworzyć poniżej małe przykłady.
średnie od 1-01-2022



Pozdrawiam

1 Like

Fajnie to u Ciebie wygląda, widać że włożyłeś w to trochę pracy. Spróbuję to przejrzeć i przeanalizować. Nie wiem czy dobrze zrozumiałem, ale Ty z PGE rozliczasz się raz w roku w czerwcu ? U mnie jest Energa i mam rozliczenie miesięczne. Płace co miesiąc abonament oraz info ile mam jeszcze w magazynie, albo ile do dopłaty za zużyty prąd. Jedyna niedogodność to, że w Enerdze miesiąc jest od 11 do 11, nie chcą przejść na rozliczenie 01-31.

W PGE rachunek dostajesz 2 razy w roku. Ale energia jest rozliczana rocznie, żadnych abonamentów nie płacę jest to jednorazowo na 6 m-cy.

Prośba.
Zgodnie z Twoimi wytycznymi w tym poście usiłuję w pliku configuration.yaml wpisać sensor templates: !include sensor_templates.yaml. Jednak przy sprawdzaniu konfiguracji wywala błąd:

a tak wygląda u mnie plik conf/yaml

U mnie po dodaniu Shelly do HA przez pierwszy dzień poprawnie wyświetlało wszystkie dane. Wczoraj po zawieszeniu routera i braku sieci przez pół dnia przestało pokazywać użycie producji PV na potrzeby domu. Nie pomaga ani restart HA ani restart Shelly, ani też ponowne dodanie integracji Shelly.
W wolnej chwili przywrócę Shelly do ustawień fabrycznych i zobaczymy czy pomoże.


Mususz robić to w odpowiedniej kolejności
1 zakładasz nowy plik sensor_templates.yaml
2 dopisujesz do pliku configuration.yaml linię

sensor templates: !include sensor_templates.yaml


3 W pliku sensor_templates.yaml zaczynzasz wpisy od
- platform: template
sensors:

- platform: template
  sensors:

# Obliczanie czasu pracy instalacji fotwoltaicznej
# Czas pracy instalacji fotowoltaicznej data uruchomienia 3 sierpień 2021


    czas_pracy:
      friendly_name: "Dni pracy falownika"
      # device_class: power
      value_template: >-
        {{ (((as_timestamp(now()) - as_timestamp(strptime('2021-08-03' , '%Y-%m-%d'), default='none'))/ (3600*24)))|float(0) | round(0) }}

Zwróć uwagę na spacje przed kodem,
przekopiuj dokładnie te fragmenty kodu i daj znać
Pozdrawiam

Wszystko przeszło bez problemów. Wcześniej robiłem to w innej kolejności.
Dzięki za pomoc.

EDIT.

Skorzystałem z Twojego przykładu odnośnie obliczenia PV na podstawie sensorów. Wszystko jest ok.
Jednak w moim przypadku falownik miałem uruchomiony wcześniej niż został zmieniony licznik na dwukierunkowy. I w tej chwili w wynikach jest całość produkcji itp. Nie zgadza się to ze stanem faktycznym. Można coś w tym temacie zarobić, aby brać pod uwagę tylko okres od wymiany licznika ?