Grundwasserpumpe am Wall Plug

Moin zusammen.

Ich hab’ schon alles Mögliche versucht, aber ich bekomme es nicht hin.

Ich habe ein Gardena Hauswasserwerk als Grundwasser-Gartenpumpe an einem Wall-Plug. Der Wall-Plug wird hauptsächlich direkt am Wall-Plug eingeschaltet. Daraufhin läuft die Pumpe für einige Sekunden an, baut den Wasser-Druck auf und geht dann nach einigen Sekunden in den Standy-Modus.

Wenn die Pumpe Wasser fördert verbraucht sie ca. 940 Watt.
Wenn für einige Sekunden kein Wasser mehr gefördert wird geht sie automatisch in den Standby-Modus, hier liegt der Verbrauch dann bei 2.2W - 2.3W (laut Wall-Plug)

Ich versuche die einzelnen Zustände: „Pumpe läuft“, „Standby“ und „Aus“ in einer Variablen darzustellen. Sollte die Pumpe länger als z.B. 10 Minuten im Standby sein, soll der Wall-Plug ausgeschaltet werden.

Eine Variable mit den Werten: „Pumpe läuft“, „Standby“ und „Aus“ habe ich angelegt und frage diese auch in den Szenen ab.
Aber egal wie ich es drehe und wende, entweder laufen alle Szenen gleichzeitig, alle direkt nacheinander oder oder oder.
Letztendlich wird am Ende weder die Var. richtig eingetragen noch geht der Wall-Plug auf Aus.

Sieht so aus, als ließe sich das nicht mit Block-Szenen realisieren.
Hab’s auch mit einfachen angepassten LUA-Szenen (aus Block-Szenen gewandelt) versucht, aber auch hier kein Erfolg.

Hat jemand hierzu einen Lösungsvorschlag ?

mfg
ATARI

Hi,

die Aufgabenstellung hört sich eigentlich genau so an wie beim Waschmaschinenscript. Bisschen Werte anpassen und das sollte laufen. Evtl. musst Du noch das Ausschalten dazu programmieren was aber die leichteste Übung wäre. Wenn Du noch unbedingt Variablen setzen willst, für andere Zwecke, könntest Du diese ebenfalls als Extrazeile einfügen.

Moin aendy,

im Grunde gehts hierbei ja nur um eine Abfrage bei bestimmten „Leistungen“ (Watt).
Ein Link zu dem erwähnten Script wäre super.

Ich finde es auf die Schnelle nicht. Hier mal meines mit den entsprechenden Zeilen bereinigt. Pushnachrichten gelöscht. Abschalten eingefügt. Werte hab ich auch gleich mal nach deinen Angaben und Gefühl eingestellt. Du musst noch deine ID (Bei „206 power“ und bei „local power_socket = 206 – wallplug“) abändern:

--[[
%% properties
206 power
%% globals
--]]

--Überwacht die Leistungsaufnahme der Waschmaschine und verschickt bei Ende
--eine Pushnachricht. Die Überwachung wird erst ab einer bestimmten Leistung 
--vorgenommen, damit nicht ohne Lauf Nachrichten verschickt werden. Zusätzlich
--wird das Symbol des VD geändert.

local power_socket = 206 -- wallplug
local ZaehlerAus = 600 -- Nach [s] Sekunden Aus erkennen
local ZaehlerEin = 1 -- Nach [s] Sekunden Ein erkennen 
local PowerAus = 5 -- bei geringerer [W] Leistung Aus erkennen
local PowerEin = 100 -- bei größerer [W] Leistung Betrieb erkennen
local PowerStart = 800 -- bei größerer [W] Leistung Start erkennen

local powerlive = fibaro:getValue(power_socket, "power")

fibaro:debug("Verbrauch = "..powerlive.." Watt")
 
if (fibaro:countScenes()>1) then
  	fibaro:debug("Kill second Scene...")
    fibaro:debug("-")
 	fibaro:abort()
end
 
local run = 0
local currentDate = os.date("*t")
local power = fibaro:getValue(power_socket, "power")
local counterAus = 0
local counterEin = 0
 
if (tonumber(fibaro:getValue(power_socket, "power")) > PowerStart and tonumber(fibaro:getValue(power_socket, "power")) < 10000) and run == 0 then
  	local start = (os.time())
  	fibaro:debug("Waschmaschine läuft...")
  	fibaro:debug("Verbrauch = "..power.." Watt")
  	run = 1
end
 
while run == 1 do
 
	if (tonumber(fibaro:getValue(power_socket, "power")) < PowerAus) then
     	counterAus = counterAus + 1
    	local power2 = fibaro:getValue(power_socket, "power")
        fibaro:debug('counterEin = ' ..counterEin.. 'counterAus = ' ..counterAus.. " : "..power2.."Watt")
    end
    if (tonumber(fibaro:getValue(power_socket, "power")) > PowerEin) then
      	counterAus = 0
  		counterEin = counterEin + 1
  	end
    if (tonumber(fibaro:getValue(power_socket, "power")) < PowerAus) and counterAus > ZaehlerAus then

    	if counterEin > ZaehlerEin then --prüfen ob lange genug gelaufen
        	fibaro:debug("Ausschalten")
			fibaro:call(power_socket,"turnOff")
      	else	
    		fibaro:debug("Fehlstart beendet!")
    	end

        local power3 =  fibaro:getValue(power_socket, "power")
        fibaro:debug("Verbrauch (3) = "..power3.." Watt")
    	run = 0
  	end 

  	fibaro:sleep(1*1000)
end

fibaro:debug("---")

Hab es nicht ausprobiert. Einfach mal schauen was passiert.

Sieht auf den ersten Blick doch gut aus.
Danke.

Hab’s an meine Bedürfnisse angepasst,… und läuft !
Danke.

–[[
%% properties
113 power
%% globals
–]]

local power_socket = 113 – wallplug
local powerlive = fibaro:getValue(power_socket, „power“)
fibaro:debug(„Verbrauch = „…powerlive…“ Watt“)

if (fibaro:countScenes(14)>1)
then
fibaro:abort(14);
end

local run = 0
local currentDate = os.date("*t");
local power = fibaro:getValue(power_socket, „power“)
local counter = 0

if ( tonumber(fibaro:getValue(power_socket, „power“)) > 60 ) and run == 0 then
local start = (os.time())
fibaro:debug(„TEXT“)
fibaro:debug(„Verbrauch = „…power…“ Watt“)
run = 1
fibaro:debug(„Send Push“)
fibaro:call(4, „sendPush“, „TEXT“);

end

while run == 1 do

if (tonumber(fibaro:getValue(power_socket, „power“)) < 5) then
counter = counter + 1
local power2 = fibaro:getValue(power_socket, „power“)
fibaro:debug('counter = ’ …counter… " : "…power2…„Watt“)
end
if (tonumber(fibaro:getValue(power_socket, „power“)) > 5 ) then
counter = 0
end
if (tonumber(fibaro:getValue(power_socket, „power“)) < 5) and counter > 260 then
fibaro:debug(„Masina e gata!“)
local power3 = fibaro:getValue(power_socket, „power“)
fibaro:debug(„Verbrauch (3) = „…power3…“ Watt“)
fibaro:debug(„Send Push“)
fibaro:call(4, „sendPush“, „TEXT“);
run = 0
end
fibaro:sleep(1*1000)
end

ein bisschen anpassen, Wallplug AUS, usw

@Erich_Schell
Vielen Dank, werde es ebenfalls testen.

mfg
ATARI