Blockly - sterowani...
 
Powiadomienia
Wyczyść wszystko

Blockly - sterowanie Grzałką

5 Wpisów
3 Użytkownicy
0 Reactions
36 Wyświetleń
Daro1003
(@daro1003)
Wpisów: 797
Guru Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Witam

Chciałbym sterować grzałką która podłączona jest do EARU.

Założenie jest takie żeby wykorzystać moc nadprodukcji która leciu w sieć mam nowe zasady i oddaje obecnie energie za którą już Tauron nie zapłaci ponieważ oddałem 3x więcej niż pobrałem czyli każdy kilowat obecnie lecący w sieć leci za free.

A więc:

1. Mam odczyt mocy L1 L2 L2 w domoticz bezpośrednio z inwertera. Czyli wiem ile w danej chwili leci z sofara na stalacje.

2. Mam odczyt ile pobierają aktualnie urządzenia w domu czyli również moc na L1 L2 L3

3. Grzałka podłączona przez modu EARU przed pomiarem mocy opisanym w punkcie 2.

Stworzyłem taki blok:

Block 1
Block 2

Założenia:

Jesli:

Grzałka OFF i Moc L1 poniżej 500 i Moc L2 poniżej 500 i Moc L3 poniżej 500 i Moc z fotowoltaiki powyżej 1000

To :

Włącz grzałkę

Jeśli:

Grzałka ON i Moc L1 powyżej 500 lub Moc L2 powyżej 500 lub Moc L3 powyżej 500 lub Moc z fotowoltaiki poniżej 1000

To :

Wyłącz grzałkę

1. Pierwsze pytanie czy blok zrobiony odpowiednio i powinien działać czy ma błędy.

2. Drugie pytanie czy jest możliwość rozbudowy bloku o inne wartości tz dołożenie warunków ze względu na zwiększanie mocy ładowania z foto ale i zwiększonego poboru w domu.

Czyli tak:

Block 1.1
Block 2.2
 
Dodane : 05/01/2025 6:37 pm
isom
 isom
(@isom)
Wpisów: 5192
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

AD 1 W teorii powinno działać

AD2 Nie można tak rozbudować, bo :

Gdy moc będzie > od 500 , równocześnie będzie mniejsza od 1000 więc co ma się stać ? Włączyć czy wyłączyć ?

Musisz użyć zmiennych jako pomocników i wtedy może się udać. Nie pokażę bo nie mam na czym.

 
Dodane : 06/01/2025 4:09 pm
Daro1003
(@daro1003)
Wpisów: 797
Guru Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Właśnie tych zmiennych to nie rozumiem jak ich używać.

Ale w między czasie wymyśliłem może by jeszcze blok zrobić tak:

Zrzut ekranu 2025 01 06 161619

Czyli na każdej fazie wykonać przedział czyli większe od 500 ale mniejsze od 1000 blok się wydłuż.

 
Dodane : 06/01/2025 4:17 pm
Daro1003
(@daro1003)
Wpisów: 797
Guru Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

A czym się rożni taka forma pierwszej części jest bardziej widoczna:

Zrzut ekranu 2025 01 06 165458

Ma to znaczenie w działaniu ??

 

A tutaj mam taką zależność:

Zrzut ekranu 2025 01 06 165618

Jeśli miało by to sens mógłbym zbudować właśnie takie zależności pomiędzy różnymi poborami energii.

 
Dodane : 06/01/2025 4:55 pm
(@janumix)
Wpisów: 3
Świeżak
 

Cześć

Używam coś podobnego do grzałki CWU tylko, że na jednofazowych obwodach. No i nie Blocky tylko Dzvents. 

Założyłem, że średnio zużywam 13kWh na dobę, więc grzałkę gdy nadprodukcja przekroczy > 10kWh plus standardowo 3kWh po zachodzie kiedy fotowoltaika już nie pracuje. Dodatkowy ostatni warunek, gdy zauważyłem, że z jakiegoś powodu nie wyłączyła się grzałka na noc. Może coś Ci się przyda. 

 

return {
	on = {
		timer = {
			'every 5 minutes'	
		}
	},
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'Grzalka CWU',
	},
	execute = function(domoticz, timer)
	  if (domoticz.time.matchesRule("between sunrise and sunset")) then
    	    local avgEveningUsage = 3000
    	    local maxUsageToday = 10000
    	    local energyFVToday = domoticz.devices('Energia - FV').WhToday
    	    local energyUsedToday = domoticz.devices('Energia - 1 fazowa').WhToday
    		domoticz.log('Aktualnie wygenerowana energia: ' .. energyFVToday)
    		domoticz.log('Aktualnie pobrana energia: ' .. energyUsedToday)

    		if (energyFVToday > energyUsedToday + avgEveningUsage) and (energyUsedToday < maxUsageToday) and (energyUsedToday > 0) then
    		     domoticz.log('Jest nadprodukcja - można wlaczyć grzalke')
    		     if (domoticz.devices('Grzałka').state == 'Off') or (domoticz.devices('Grzałka').state == 'Group Off') then
    		           domoticz.devices('Grzałka').switchOn()
    		     end
            elseif (domoticz.devices('Grzałka').state == 'On') or (domoticz.devices('Grzałka').state == 'Group On') then
                domoticz.devices('Grzałka').switchOff()
		    end
      elseif (domoticz.devices('Grzałka').state == 'On') or (domoticz.devices('Grzałka').state == 'Group On') then
                domoticz.devices('Grzałka').switchOff()
                domoticz.log('Potwierdzenie wyłaczenia')
      end  
end
}

 

Pozdr.

Janusz

 

 
Dodane : 06/01/2025 4:59 pm
Udostępnij: