Obliczenie ilości e...
 
Powiadomienia
Wyczyść wszystko

Obliczenie ilości energii cieplnej wyprodukowanej przez źródło ciepła

2 Wpisów
2 Użytkownicy
0 Reactions
12 Wyświetleń
geoterm
(@geoterm)
Wpisów: 179
Pomocny
Autor tematu
 

Na stronie ESPEasy 

https://espeasy.readthedocs.io/en/latest/Rules/Rules.html

jest taki gotowy kod. Potrzebuję trochę wsparcia. 

Chcę stworzyć urządzenie, które zliczy mi ilość Kwh ciepła  wyprodukowane przez pompę ciepła, która pobiera moc elektryczną w Watach.

W Domoticzu nie wiem czy jest jakieś urządzenie, które to wykonane, ale chyba też potrzebny jest skrypt. 

Swoją drogą ciekawy jestem jak to wygląda np. w Home Asistancie, w którym chcę wylądować, czy też się trzeba tak męczyć ?

DO brzegu. Jak zrozumiałem:

Muszę stworzyć dummy device o nazwie "Power" z pozycjami:

1. sekundy ilośc miejsc po przecinku 0, "Seconds"

2. PowerUsed  : 0,0001

a var#4, var#3 ? czy mam zrobić takie w dummy device? A zmienne nr 1 i 5 ? int#1  i int#5

gdzie tu jest moc urządzenia w watach-moc źródłowa ?

Mowa jest o GPIO-14. Ja mam PZEM-004T działa po RX TX. 

Czy sobie dać spokój ? 

// Used variables: 1,3,4,5

On GPIO#14 Do // GPIO-14 = D5 on Wemos/NodeMCU ESP8266 boards
  If %eventvalue1%=0 // On state
    Let,1,%syssec_d% // Store current nr of seconds of today in var#1
  Else // Off state
    Event,CalcPower // Don't queue
    Event,TransmitPower // Send out to receiver
  Endif
  Let,5,!%eventvalue1% // 0 = On, to invert on/off state change to: Let,5,%eventvalue1%
  LogEntry,"Power [int#5#O#C], measured: [Power#Seconds] sec. [Power#PowerUsed#d.4] kWh"
Endon

On CalcPower Do
  TaskValueSet,Power,Seconds,[Power#Seconds]+%syssec_d%-[int#1] // Add run time to Power#Seconds
  Let,4,[Power#Seconds]*[var#3] // Wattseconds
  If [var#4]>0
    TaskValueSet,Power,PowerUsed,[var#4]/3600000 // Wattseconds to kWh
  Endif
  TaskRun,Power
Endon

On TransmitPower Do
  // Send value of [Power#Seconds] and [Power#PowerUsed] to wherever you need it, adjust as needed
  PostToHTTP,192.168.1.20,8080,/receiver.php,'','%lcltime% !!! Total RunningTime = [Power#Seconds] Seconds, PowerUsed = [Power#PowerUsed] kWh'
Endon

On Clock#Time=All,00:00 Do // At midnight
  // Include power used until midnight
  If [Plugin#GPIO#PinState#14]=0 // Still on?
    Event,CalcPower // Don't queue
  Endif
  Let,1,0 // Reset start time
  Event,TransmitPower // Send out remainder of the day
  TaskValueSet,Power,Seconds,0 // Reset total counter
  TaskValueSet,Power,PowerUsed,0 // Reset total power
Endon

On System#Boot Do
  Monitor,gpio,14 // Generate an event when the GPIO state changes
  Let,3,250 // Wattage of the load, adjust as needed
Endon

 
Dodane : 18/12/2025 9:37 pm
isom
 isom
(@isom)
Wpisów: 5287
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Jak masz pzem to ten zestaw reguł nie jest dla Ciebie. 

Ten kod mierzy, jak długo urządzenie podłączone do GPIO 14 jest włączone, liczy na tej podstawie zużycie energii elektrycznej, zapisuje to w logach, wysyła na serwer po http i resetuje liczniki każdego dnia o północy. Takie coś można użyć gdy masz np grzałkę o  znanej mocy 500W i chcesz żeby policzyć ile zużyła przez dzień.

Tyle i aż tyle, wiec twój pzem ma się do tego nijak 🙂


 
Dodane : 18/12/2025 10:53 pm
Udostępnij: