Waschmaschine Push Nachricht

Das Script läuft prima und teilt uns mit wann die Wäsche fertig ist.
Ich verwende in Blockszenen erfolgreich das Modul von Doonic um die SONOS anzusteuern. Aber wie binde ich diese in das Script der Waschmaschine ein?

--[[
%% properties
566 power
%% globals
--]]
 
local power_socket = 566 -- wallplug
local powerlive = fibaro:getValue(power_socket, "power")
fibaro:debug("Verbrauch = "..powerlive.." Watt")
 
if (fibaro:countScenes()>1)
  then
 fibaro:abort();
  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")) > 35 ) 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")) < 4) 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")) < 4) and counter > 60 then
          fibaro:debug("Waschmaschine ist fertig.")
          local power3 =  fibaro:getValue(power_socket, "power")
          fibaro:debug("Verbrauch (3) = "..power3.." Watt")
          fibaro:debug("Send Push")
     	  fibaro:call(914, "sendPush", "Waschmaschine ist fertig", "Waschmaschine");
    	  fibaro:call(631, "sendPush", "Waschmaschine ist fertig", "Waschmaschine");
    	  fibaro:call(927, "sendPush", "Waschmaschine ist fertig", "Waschmaschine");
    run = 0
       end 
  fibaro:sleep(1*1000)
end

Hi,

du kannst nach Zeile 42 den Code fibaro:startScene(ID) einfügen. Damit kannst du dann die Szene starten.

Gruß

so korrekt?

Bildschirmfoto-2017-01-10-um-12.51.23.jpg

Bildschirmfoto-2017-01-10-um-12.51.33.jpg

Jop… :slight_smile:

Funktioniert die Blockszene ohne WENN?
Da kannst du einen einmaligen Zeitpunkt in der Vergangenheit wählen.

Funktioniert die Blockszene ohne WENN?
– nein

Da kannst du einen einmaligen Zeitpunkt in der Vergangenheit wählen.
– vielen Dank , nun geht es

@daniel: Ich verwende die Szene, auf die Du oben in dem Post per Link hinweist! Die funktioniert auch super. Ist die für die Spülmaschine, benutze Sie für meine Waschmaschine, dennoch endet sie bei mir auch nie. Hier der Debug:

[DEBUG] 19:50:50: Verbrauch = 0 Watt
[DEBUG] 19:50:52: Verbrauch = 0.3 Watt
[DEBUG] 19:50:54: Verbrauch = 0 Watt
[DEBUG] 19:50:56: Verbrauch = 0.3 Watt
[DEBUG] 19:50:58: Verbrauch = 0 Watt
usw.

local power = fibaro:getValue(power_socket, “power”)

Du schreibst man soll diese Zeile auskommentieren. Was meinst du damit genau? Sorry für die plöden Fragen, aber ich habe davon noch überhaupt keine Ahnung.

Danke schonmal

Hi,

auskeommentieren tust Du mit 2 Minuszeichen am Anfang der Zeile, also

Dadurch verarbeitet das Script diese Zeile (und was danach dort steht) nicht.

VG Hoggle

Ich habe den Wall Plug gegen einen neuen getauscht (ID 1033). Aber nun läuft das Script nicht mehr, also es sendet keine Push und die Sonos geht auch nicht los.

--[[
  %% properties
  1033 power
  %% globals
  --]]
   
  local power_socket = 1033 -- wallplug
  local powerlive = fibaro:getValue(power_socket, "power")
  fibaro:debug("Verbrauch = "..powerlive.." Watt")
   
  if (fibaro:countScenes()>1)
    then
   fibaro:abort();
    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")) > 35 ) 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")) < 4) 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")) < 4) and counter > 60 then
            fibaro:debug("Waschmaschine ist fertig.")
            local power3 =  fibaro:getValue(power_socket, "power")
            fibaro:debug("Verbrauch (3) = "..power3.." Watt")
            fibaro:debug("Send Push")
            fibaro:startScene(271)
            fibaro:call(914, "sendPush", "Waschmaschine ist fertig", "Waschmaschine");
            fibaro:call(631, "sendPush", "Waschmaschine ist fertig", "Waschmaschine");
            fibaro:call(927, "sendPush", "Waschmaschine ist fertig", "Waschmaschine");
      run = 0
         end 
    fibaro:sleep(1*1000)
  end

Hi,

kommt irgendein Debug?
Hast Du das HC einfach mal neu gestartet?

VG Hoggle

Mein Fehler, habe die Steckdose ausgetauscht (Greenwave defekt gegen Fibaro WallPlug). Nun musste ich die Werte um je 1 aWtt erhöhen. Passt alles. Danke

Hallo zusammen,

estmal vielen Dank für die Mühen hier für diese Scripte! Danke!

Nun hab ich aber ein “Problem”: ich habe dieses Script (siehe unten) für meinen Trockner eingesetzt und schon einmal grob den erfassten Werten angepasst. Dann habe ich es kopiert und wollte es für die Waschmaschine ebenfalls verwenden. Allerdings bekomme ich dort im Debug-Fenster alle ~30 Sekunden die Meldung “Zwischenstecker Trocker ist eingeschaltet”. Dieses isst bei dem WallPlug des Trocknedrs nicht der Fall - nun stehe ich auf dem Schlauch und hab nen Knoten im Kopf und komme nicht weiter…

Vielleicht kann mir ja einer von Euch weiterhelfen?! Danke!

Gruß Rik
PS: ich weiß das in diesem Script noch überall “Trockner” steht :wink:

hier das Script:

--[[
%% properties
76 power
76 value
%% globals
--]]
 
local wallplug = 76				-- wallplug zwischenstecker Trockner.
local start = 200				-- 200 Start "Watt" bevor der Trockner einschaltet.
local standby = 1				-- "X" Watt. Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local waschen = 160				-- Trockner tut noch trocknen wen drueber ist.
local phone1 = 4				-- ID ich iPhone.
local phone1 = 59				-- ID du iPhone.
 
-- Erklärungen zu den Werten unter
-- https://www.siio.de/board/thema/waschmaschine-push-nachricht/page/11/#post-40147

local aus = 1					-- wenn unter ... Watt dann Trockner wird ausgeschaltet.
local counterStandbyMax = 1		-- Conter je eine minute bis Nachricht  verschickt wird.
local counterNachrichtMax = 3	-- counterNachrichtMax vieviele nachrichte du erhalten willst.
local rebootSceneID = 15		-- ID der eigenen Scene die rebotet wird.
local meldungenDebug = 0		-- hilfs vareable um die Meldungen nicht an dauernd zu wiederholen.
local StartWaschZeit			-- Start der Trocknerzeit.
local EndWaschZeit				-- Ende der Trocknerzeit.
local ct = 22.41 				-- ct/kWh
-----------------------------------------------------------------------------------------
debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
--#######################################################################################
 
if (fibaro:countScenes()>1) then
	fibaro:abort();
    fibaro:sleep(1*6*1000)
end
-------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
local run = 0
local counterStandby = 0
local counterNachricht = 0
local power = fibaro:getValue(wallplug, "power")
----------Timestamp berechnen------------------------------------------
function convertTime(seconds)
    local stunden = math.floor(seconds/3600)
	local minute = math.floor((seconds - (stunden*3600)) /60)
	local seconds = ((seconds  - (stunden*3600)) - minute * 60)
	return stunden..":"..minute .. ":" ..string.format("%.0f", seconds)
end
--------- Energy verbrauch --------------------------------------------
function energyverbrauch();
  	local jsonListe = api.get("/energy/"..StartWaschZeit.."/"..EndWaschZeit.."/compare/devices/power/"..wallplug);
    for k, v in pairs(jsonListe) do
    local energykWh = json.decode(v.kWh)
      return energykWh
    end
end 
 
---------------------------------------------------------------------
--------------- Ab hir startet das Waschprogramm. --------------------------
---------------------------------------------------------------------
if ((tonumber(fibaro:getValue(wallplug, "power")) > start ) and run == 0) then
    StartWaschZeit = os.time();
    debug('coral', "Trockner ist an... beginne zu trocknen.")
	debug('green', "Verbrauch = "..power.." Watt")
	run = 1
end
 
while run == 1 do
 
	if ((tonumber(fibaro:getValue(wallplug,"power")) <= standby)) then --war nur < habe auf <= geendert.
	
			if (counterStandby == counterStandbyMax) then
				EndWaschZeit = os.time();
				debug('aqua', "Trockner ist fertig;  ........versende die Push Nachrichten.");
     -- fibaro:setGlobal("GerhardTelegram", "Waesche ist fertig. Der Waschvorgang dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");     
      debug('orange',"Der Trockner dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");  
      			------------------------------------------------------------------------------    
				fibaro:call(phone1, "sendPush", "Trockner ist fertig"); -- Push Handy Michael
				fibaro:call(phone2, "sendPush", "Trockner ist fertig "); -- Push Handy Sabine
				--fibaro:call(EMail1, "sendEmail", "Trockner ist fertig...Waesche ist fertig"); -- E-Mail an Michael
				------------------------------------------------------------------------------
			--	fibaro:call(vu_wz, "pressButton", "47")--WZ nachricht von waschmaschine... an VU+!
			--	fibaro:call(vu_sz, "pressButton", "47")--KZ nachricht von waschmaschine... an VU+!
			--	fibaro:call(vu_kz, "pressButton", "47")--SZ nachricht von waschmaschine... an VU+!
			--	fibaro:call(vu_ke, "pressButton", "47")--Kl nachricht von waschmaschine... an VU+!
				------------------------------------------------------------------------------
      			counterStandby = 0
				counterNachricht = counterNachricht + 1
			end
					
			if counterStandby > 1 then 
				debug('coral', "Trockner im Standby; ...zähle counterStandby hoch.") 	
				debug('orange', ""..counterStandby.." Minuten bis zur nächsten Nachricht!")
			end
	
			if ((tonumber(fibaro:getValue(wallplug, "power")) < aus ) or counterNachricht == counterNachrichtMax) then
				  
				debug('mistyrose', "Du hast "..counterNachricht.." nachrichet....... erhalten.")
				run = 0
				counterStandby = 0
				counterNachricht = 0
				meldungenDebug = 0
				debug('red',"Der Trockner ist fertig! ....Scene wird rebotet.")
				fibaro:startScene(rebootSceneID);
			end	
 
			counterStandby = counterStandby + 1
			meldungenDebug = 0
			fibaro:sleep(1*60*1000)
    
	elseif (tonumber(fibaro:getValue(wallplug, "power")) > waschen) then
			----- meldungenDebug = 0 ------------------------------------------------------------------  
			if meldungenDebug == 0 then
                power = fibaro:getValue(wallplug, "power")
                debug('lightsteelblue', "Trockner ist noch am arbeiten!!!")
                meldungenDebug = 1	
			end
			----- meldungenDebug = 0 ------------------------------------------------------------------
			counterStandby = 0
			fibaro:sleep(1*60*1000)
	end	
	if ((tonumber(fibaro:getValue(wallplug, "power")) == 0 ))then
    		------------------------------------------------------------------------------
    		EndWaschZeit = os.time();
     -- fibaro:setGlobal("GerhardTelegram", "Waesche ist fertig. Der Waschvorgang dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");     
      debug('orange',"Die Trocknung dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");  
     		------------------------------------------------------------------------------
			debug('red',"Trockner aus... Abort scene")
			run = 0
			counterStandby = 0
			counterNachricht = 0
			meldungenDebug = 0 -- hilfs vareable um die meldungen nicht an dauernd zu wiederholen.
			fibaro:startScene(rebootSceneID);
	end
	fibaro:sleep(2*1000)
end
----------------------------------------------------------------------------------------
---#############   Trockner   ##################################################---
----------------------------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
    if ( tonumber(fibaro:getValue(wallplug, "value")) == 0 )then
        fibaro:sleep(3*1000)
          fibaro:call(wallplug, "turnOn");
          debug('lightblue', "ZwischenStecker Trockner...  wurde wieder eingeschaltet.")
    elseif ( tonumber(fibaro:getValue(wallplug, "value")) > 0 )
  and (tonumber(fibaro:getValue(wallplug, "power")) < aus ) then
      fibaro:sleep(10*1000)
	   debug('lightslategrey', "ZwischenStecker Trockner ist eingeschaltet.")
    end
--###########################################################################################

So, heute mal das Endgerät benutzt. Ergebniss: die Meldungen mit dem Zwischenstecker ruhen wohl auf falschen Watt-Werten. Nachdem die Maschine eingeschalten war, kamen diese Meldungen nicht mehr…
Kann mir trotzdem wer helfen? Danke :slight_smile:

Hi,
Ich benutze ein anderes Script aber du wirst wohl noch die Wattwerte und/oder counterwerte anpassen müssen. Schau mal nach einem kompletten Waschvorgang in die Leistungsübersicht. Da kann man anhand des Diagramms erkennen welche Werte man brauch.

Sorry für meine späte Reaktion, habe gerade leider nicht soviel Zeit für Fibaro “übrig” :frowning:

Habe zwei WallPlugs zur Zeit aktiv, einen für den Trockner, einen für die Waschmaschine. Mit beiden habe ich “Probleme” und kann diese leidr nicht alleine lösen

Hier das Script vom Trockner

--[[
%% properties
79 power
79 value
%% globals
--]]
 
local wallplug = 79				-- wallplug zwischenstecker Trockner.
local start = 200				-- 200 Start "Watt" bevor der Trockner einschaltet.
local standby = 130				-- "X" Watt. Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local waschen = 400				-- Trockner tut noch trocknen wen drueber ist.
local phone1 = 4				-- ID RikiPhone.
local phone2 = 59				-- ID Verena iPhone.
 
-- Erklärungen zu den Werten unter
-- https://www.siio.de/board/thema/waschmaschine-push-nachricht/page/11/#post-40147

local aus = 1					-- wenn unter ... Watt dann Trockner wird ausgeschaltet.
local counterStandbyMax = 1.5		-- Conter je eine minute bis Nachricht  verschickt wird.
local counterNachrichtMax = 1	-- counterNachrichtMax vieviele nachrichte du erhalten willst.
local rebootSceneID = 14		-- ID der eigenen Scene die rebotet wird.
local meldungenDebug = 0		-- hilfs vareable um die Meldungen nicht an dauernd zu wiederholen.
local StartWaschZeit			-- Start der Trocknerzeit.
local EndWaschZeit				-- Ende der Trocknerzeit.
local ct = 22.41 				-- ct/kWh
-----------------------------------------------------------------------------------------
debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
--#######################################################################################
 
if (fibaro:countScenes()>1) then
	fibaro:abort();
    fibaro:sleep(1*6*1000)
end
-------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
local run = 0
local counterStandby = 0
local counterNachricht = 0
local power = fibaro:getValue(wallplug, "power")
----------Timestamp berechnen------------------------------------------
function convertTime(seconds)
    local stunden = math.floor(seconds/3600)
	local minute = math.floor((seconds - (stunden*3600)) /60)
	local seconds = ((seconds  - (stunden*3600)) - minute * 60)
	return stunden..":"..minute .. ":" ..string.format("%.0f", seconds)
end
--------- Energy verbrauch --------------------------------------------
function energyverbrauch();
  	local jsonListe = api.get("/energy/"..StartWaschZeit.."/"..EndWaschZeit.."/compare/devices/power/"..wallplug);
    for k, v in pairs(jsonListe) do
    local energykWh = json.decode(v.kWh)
      return energykWh
    end
end 
 
---------------------------------------------------------------------
--------------- Ab hir startet das Waschprogramm. --------------------------
---------------------------------------------------------------------
if ((tonumber(fibaro:getValue(wallplug, "power")) > start ) and run == 0) then
    StartWaschZeit = os.time();
    debug('coral', "Trockner ist an... beginne zu trocknen.")
	debug('green', "Verbrauch = "..power.." Watt")
	run = 1
end
 
while run == 1 do
 
	if ((tonumber(fibaro:getValue(wallplug,"power")) <= standby)) then --war nur < habe auf <= geendert.
	
			if (counterStandby == counterStandbyMax) then
				EndWaschZeit = os.time();
				debug('aqua', "Trockner ist fertig;  ........versende die Push Nachrichten.");
       			debug('orange',"Der Trockner benötigte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");  
      			------------------------------------------------------------------------------    
				fibaro:call(4, "sendPush", "Trockner ist fertig", "Trockner"); -- Push Handy Rik
    	  		fibaro:call(59, "sendPush", "Trockner ist fertig", "Trockner");-- Push Handy Verena
      			fibaro:call(phone1, "sendPush", "Trockner ist fertig - Nachricht2 über 'phone1'", "Trockner"); -- Push Handy Rik
				--fibaro:call(phone2, "sendPush", "Trockner ist fertig "); -- Push Handy Sabine
								
      			counterStandby = 0
				counterNachricht = counterNachricht + 1
			end
					
			if counterStandby > 1 then 
				debug('coral', "Trockner im Standby; ...zähle counterStandby hoch.") 	
				debug('orange', ""..counterStandby.." Minuten bis zur nächsten Nachricht!")
			end
	
			if ((tonumber(fibaro:getValue(wallplug, "power")) < aus ) or counterNachricht == counterNachrichtMax) then
				  
				debug('mistyrose', "Du hast "..counterNachricht.." nachrichet....... erhalten.")
				run = 0
				counterStandby = 0
				counterNachricht = 0
				meldungenDebug = 0
				debug('red',"Der Trockner ist fertig! ....Scene wird rebotet.")
				fibaro:startScene(rebootSceneID);
			end	
 
			counterStandby = counterStandby + 1
			meldungenDebug = 0
			fibaro:sleep(1*60*1000)
    
	elseif (tonumber(fibaro:getValue(wallplug, "power")) > waschen) then
			----- meldungenDebug = 0 ------------------------------------------------------------------  
			if meldungenDebug == 0 then
                power = fibaro:getValue(wallplug, "power")
                debug('lightsteelblue', "Trockner ist noch am arbeiten!!!")
                meldungenDebug = 1	
			end
			----- meldungenDebug = 0 ------------------------------------------------------------------
			counterStandby = 0
			fibaro:sleep(1*60*1000)
	end	
	if ((tonumber(fibaro:getValue(wallplug, "power")) == 0 ))then
    		------------------------------------------------------------------------------
    		EndWaschZeit = os.time();
            debug('orange',"Die Trocknung dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");  
     		------------------------------------------------------------------------------
			debug('red',"Trockner aus... Abort scene")
			run = 0
			counterStandby = 0
			counterNachricht = 0
			meldungenDebug = 0 -- hilfs vareable um die meldungen nicht an dauernd zu wiederholen.
			fibaro:startScene(rebootSceneID);
	end
	fibaro:sleep(2*1000)
end
----------------------------------------------------------------------------------------
---#############   Trockner   ##################################################---
----------------------------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
    if ( tonumber(fibaro:getValue(wallplug, "value")) == 0 )then
        fibaro:sleep(3*1000)
          fibaro:call(wallplug, "turnOn");
          debug('lightblue', "ZwischenStecker Trockner...  wurde wieder eingeschaltet.")
    elseif ( tonumber(fibaro:getValue(wallplug, "value")) > 1 )
  and (tonumber(fibaro:getValue(wallplug, "power")) < aus ) then
      fibaro:sleep(10*1000)
	   debug('lightslategrey', "ZwischenStecker Trockner ist eingeschaltet.")
    end
--###########################################################################################

Hier bekomme ich leider keine Meldung auf die Smartphones, IDs der Endgeräte passt, habe ich mit einem anderen Script getestet

Beim Script von der Waschmaschine bekomme ich ebenfalls keine Meldung auf die Smartphones und im Debug-Fenster erhalte ich folgende Fehlermeldung:

[ERROR] 11:08:00: Cannot query interpreter state
[ERROR] 14:35:00: Cannot query interpreter state
[ERROR] 14:37:00: Cannot query interpreter state

Hier das Script für die Waschmaschine

--[[
%% properties
76 power
76 value
%% globals
--]]
 
local wallplug = 76				-- wallplug zwischenstecker Trockner.
local start = 200				-- 200 Start "Watt" bevor der Trockner einschaltet.
local standby = 5				-- "X" Watt. Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local waschen = 160				-- Trockner tut noch trocknen wen drueber ist.
local phone1 = 4				-- ID Rik iPhone.
-- local phone1 = 59				-- ID Verena iPhone.
 
-- Erklärungen zu den Werten unter
-- https://www.siio.de/board/thema/waschmaschine-push-nachricht/page/11/#post-40147

local aus = 2					-- wenn unter ... Watt dann Trockner wird ausgeschaltet.
local counterStandbyMax = 1.5		-- Conter je eine minute bis Nachricht  verschickt wird.
local counterNachrichtMax = 3	-- counterNachrichtMax vieviele nachrichte du erhalten willst.
local rebootSceneID = 15		-- ID der eigenen Scene die rebotet wird.
local meldungenDebug = 0		-- hilfs vareable um die Meldungen nicht an dauernd zu wiederholen.
local StartWaschZeit			-- Start der Trocknerzeit.
local EndWaschZeit				-- Ende der Trocknerzeit.
local ct = 22.41 				-- ct/kWh
-----------------------------------------------------------------------------------------
debug = function ( color, message )
  fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end
--#######################################################################################
 
if (fibaro:countScenes()>1) then
	fibaro:abort();
    fibaro:sleep(1*6*1000)
end
-------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
local run = 0
local counterStandby = 0
local counterNachricht = 0
local power = fibaro:getValue(wallplug, "power")
----------Timestamp berechnen------------------------------------------
function convertTime(seconds)
    local stunden = math.floor(seconds/3600)
	local minute = math.floor((seconds - (stunden*3600)) /60)
	local seconds = ((seconds  - (stunden*3600)) - minute * 60)
	return stunden..":"..minute .. ":" ..string.format("%.0f", seconds)
end
--------- Energy verbrauch --------------------------------------------
function energyverbrauch();
  	local jsonListe = api.get("/energy/"..StartWaschZeit.."/"..EndWaschZeit.."/compare/devices/power/"..wallplug);
    for k, v in pairs(jsonListe) do
    local energykWh = json.decode(v.kWh)
      return energykWh
    end
end 
 
---------------------------------------------------------------------
--------------- Ab hir startet das Waschprogramm. --------------------------
---------------------------------------------------------------------
if ((tonumber(fibaro:getValue(wallplug, "power")) > start ) and run == 0) then
    StartWaschZeit = os.time();
    debug('coral', "Waschmaschine ist an... beginne zu waschen.")
	debug('green', "Verbrauch = "..power.." Watt")
	run = 1
end
 
while run == 1 do
 
	if ((tonumber(fibaro:getValue(wallplug,"power")) <= standby)) then --war nur < habe auf <= geendert.
	
			if (counterStandby == counterStandbyMax) then
				EndWaschZeit = os.time();
				debug('aqua', "Waschmaschine ist fertig;  ........versende die Push Nachrichten.");
     -- fibaro:setGlobal("GerhardTelegram", "Waesche ist fertig. Der Waschvorgang dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");     
      debug('orange',"Die Waschmaschine brauchte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");  
      			------------------------------------------------------------------------------    
				fibaro:call(4, "sendPush", "Waschmaschiene ist fertig", "Waschmaschiene"); -- Push Handy Rik
    	  		fibaro:call(59, "sendPush", "Waschmaschiene ist fertig", "Waschmaschiene");-- Push Handy Verena			
      			fibaro:call(phone1, "sendPush", "Waschmaschine ist fertig per Variable phone1"); -- Push Handy Michael
			--	fibaro:call(phone2, "sendPush", "Trockner ist fertig "); -- Push Handy Sabine
				--fibaro:call(EMail1, "sendEmail", "Trockner ist fertig...Waesche ist fertig"); -- E-Mail an Michael
				------------------------------------------------------------------------------
			--	fibaro:call(vu_wz, "pressButton", "47")--WZ nachricht von waschmaschine... an VU+!
			--	fibaro:call(vu_sz, "pressButton", "47")--KZ nachricht von waschmaschine... an VU+!
			--	fibaro:call(vu_kz, "pressButton", "47")--SZ nachricht von waschmaschine... an VU+!
			--	fibaro:call(vu_ke, "pressButton", "47")--Kl nachricht von waschmaschine... an VU+!
				------------------------------------------------------------------------------
      			counterStandby = 0
				counterNachricht = counterNachricht + 1
			end
					
			if counterStandby > 1 then 
				debug('coral', "Trockner im Standby; ...zähle counterStandby hoch.") 	
				debug('orange', ""..counterStandby.." Minuten bis zur nächsten Nachricht!")
			end
	
			if ((tonumber(fibaro:getValue(wallplug, "power")) < aus ) or counterNachricht == counterNachrichtMax) then
				  
				debug('mistyrose', "Du hast "..counterNachricht.." nachrichet....... erhalten.")
				run = 0
				counterStandby = 0
				counterNachricht = 0
				meldungenDebug = 0
				debug('red',"Die Waschmachine ist fertig! ....Scene wird rebotet.")
				fibaro:startScene(rebootSceneID);
			end	
 
			counterStandby = counterStandby + 1
			meldungenDebug = 0
			fibaro:sleep(1*60*1000)
    
	elseif (tonumber(fibaro:getValue(wallplug, "power")) > waschen) then
			----- meldungenDebug = 0 ------------------------------------------------------------------  
			if meldungenDebug == 0 then
                power = fibaro:getValue(wallplug, "power")
                debug('lightsteelblue', "Waschmaschine ist noch am arbeiten!!!")
                meldungenDebug = 1	
			end
			----- meldungenDebug = 0 ------------------------------------------------------------------
			counterStandby = 0
			fibaro:sleep(1*60*1000)
	end	
	if ((tonumber(fibaro:getValue(wallplug, "power")) == 0 ))then
    		------------------------------------------------------------------------------
    		EndWaschZeit = os.time();
     -- fibaro:setGlobal("GerhardTelegram", "Waesche ist fertig. Der Waschvorgang dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");     
      debug('orange',"Das Waschen dauerte  "..convertTime(EndWaschZeit - StartWaschZeit).." Stunden. Der Verbrauch ist "..string.format("%.2f", energyverbrauch()).." kWh und kostet "..string.format("%.2f", energyverbrauch()*ct/100).." €.");  
     		------------------------------------------------------------------------------
			debug('red',"Waschmaschine aus... Abort scene")
			run = 0
			counterStandby = 0
			counterNachricht = 0
			meldungenDebug = 0 -- hilfs vareable um die meldungen nicht an dauernd zu wiederholen.
			fibaro:startScene(rebootSceneID);
	end
	fibaro:sleep(2*1000)
end
----------------------------------------------------------------------------------------
---#############   Trockner   ##################################################---
----------------------------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
    if ( tonumber(fibaro:getValue(wallplug, "value")) == 0 )then
        fibaro:sleep(3*1000)
          fibaro:call(wallplug, "turnOn");
          debug('lightblue', "ZwischenStecker Waschmaschine...  wurde wieder eingeschaltet.")
    elseif ( tonumber(fibaro:getValue(wallplug, "value")) > 1 )
  and (tonumber(fibaro:getValue(wallplug, "power")) < aus ) then
      fibaro:sleep(10*1000)
	   debug('lightslategrey', "ZwischenStecker Waschmaschine ist eingeschaltet.")
    end
--###########################################################################################

Habe mir versucht die Scripte zu erklären, leider mit mäßigem Erfolg :wink:
Wie bekomme ich mehr Debug-Meldungen angezeigt, da ist ja extra eine Variable für vorgesehen, oder?
Ich habe die Scripte verglichen und Code-technisch keinen Unterschied feststellen können warum die beiden unterschiedlich arbeiten…

Freu mich über Eure Hilfe, Danke im Voraus!!

Rik

Hallo Rik

Es scheint als währe es mein Skript. Habe es weiter verändert und flexibel gemacht um verschiedene Geräte anpassen zu können.
Habe das Skript mit deinen Daten angepasst.
Bite überprüfen ob alles passt und gegebenenfalls mit den richtigen ID’s anpassen.

In der Leistungsübersicht kannst Du genau sehen wie Du die Zeit und den Verbrauch anpassen musst besonders diese.


local start = 200				-- 40 Start "Watt" bevor die Trockner einschaltet.
local standby = 2				-- 2.2 Watt. Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local waschen = 160				-- 8 Trockner tut noch waschen wenn drueber ist.

local counterStandbyMin = 100	-- Wie lange das Skript im Standby bleiben muss bis Nachricht  verschickt wird.


Besonders das überprüfen.“local sceneID = 14”


--[[
%% properties
79 power
79 value
%% globals
--]]
 
--#####  Trockner  ###################################################################

local wallplug = 79				-- ID Wallplug Zwischenstecker Trockner.
local sceneID = 14				-- ID der aktuellen scene.

local start = 200				-- 40 Start "Watt" bevor die Trockner einschaltet.
local standby = 2				-- 2.2 Watt. Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local waschen = 160				-- 8 Trockner tut noch waschen wenn drueber ist.

local counterStandbyMin = 100	-- Wie lange das Skript im Standby bleiben muss bis Nachricht  verschickt wird.
local timeToNextMessage = 30  	-- Wie schnell die naechsten Nachrichten kommen sollen.
local counterMessageMax = 1		-- Wie viele Nachrichten du erhalten willst.
local ct = 22.41 				-- ct/kWh... den Verbrauch hier eingeben.

local phone1 = 4				-- ID Rik iPhone.
local phone2 = 59				-- ID ID Verena iPhone.
-------------------------------------------------------------------------------------------
---########################################################################################
-------------------------------------------------------------------------------------------
debug = function ( color, message )
  	fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end;
---###### kalaCheckDebug(color , textDebug) #################################################
--- Hier wird ueberprueft ob der letzte gleiche eintrag im Debug schon steht. wnn ja dan schreibt er in nicht wieder rein.
function kalaCheckDebug(color , textDebug);  
    local jsonString = api.get("/scenes/"..sceneID.."/debugMessages");
    if (#jsonString) == 0 then; fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, textDebug, "span")); 
    else local debugText = json.encode(jsonString[#jsonString].txt):match(textDebug);
	if  debugText == textDebug then; else; fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, textDebug, "span")); 
end; end; end;
-------------------------------------------------------------------------------------------
---########################################################################################
-------------------------------------------------------------------------------------------

if (fibaro:countScenes()>1) then
	fibaro:abort();
    fibaro:sleep(1*6*1000)
end
--------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
local run = 0
local counterStandby = 0
local counterMessage = 0
local StartWaschZeit			-- Start der Waschzeit.
local EndWaschZeit				-- Ende der Waschzeit.
local wallplugPower = tonumber(fibaro:getValue(wallplug,"power"))
----------Timestamp berechnen------------------------------------------
function convertTime(seconds)
    local stunden = math.floor(seconds/3600)
	local minute = math.floor((seconds - (stunden*3600)) /60)
	local seconds = math.floor((seconds  - (stunden*3600)) - minute * 60)
	return ">> "..stunden..":"..minute.. "." ..seconds.." << Stunden."
end
--------- Energy verbrauch --------------------------------------------
function energieVerbrauch();
  	local jsonListe = api.get("/energy/"..StartWaschZeit.."/"..EndWaschZeit.."/compare/devices/power/"..wallplug);
	return(jsonListe[1].kWh)
end

---##################################################################################
---### Ab hier startet das Waschprogramm. ############################################
---##################################################################################

if ( wallplugPower > start  and run == 0 ) then
	local run = 1
    StartWaschZeit = os.time();
    kalaCheckDebug('coral', "Waschmaschine ist an... beginne zu waschen.")
	kalaCheckDebug('green', "Verbrauch = "..wallplugPower.." Watt") 
	
	repeat --->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
	
	local sleepTime = counterStandbyMin	
	
		wallplugPower = tonumber(fibaro:getValue(wallplug,"power"))
		if ( wallplugPower <= standby and run == 1 ) then
		
				if (counterStandby >= counterStandbyMin) and (counterMessage <= counterMessageMax) then  
      				EndWaschZeit = os.time();
					kalaCheckDebug('aqua', "Waschmaschine ist fertig;  ........ versende die Push Nachrichten.");
					counterMessage = counterMessage + 1		
				if counterMessage >= 1 then
					sleepTime = timeToNextMessage
				end
				
				-------------------------------------------------------------------------------------------------------------
				fibaro:call(4, "sendPush", "Trockner ist fertig", "Trockner"); -- Push Handy Rik
    	  		fibaro:call(59, "sendPush", "Trockner ist fertig", "Trockner");-- Push Handy Verena
      			fibaro:call(phone1, "sendPush", "Trockner ist fertig - Nachricht2 über 'phone1'", "Trockner"); -- Push Handy Rik
				--fibaro:call(phone2, "sendPush", "Trockner ist fertig "); -- Push Handy Sabine
				--------------------------------------------------------------------------------------------------------------
            
                    kalaCheckDebug('skyblue', "Die ".. counterMessage .. " -te Nachricht wurde gersendet.")
                    kalaCheckDebug('orange', "Trocknung dauerte "..(convertTime(os.difftime(EndWaschZeit , StartWaschZeit))).." Der Verbrauch ist "..string.format("%.2f", energieVerbrauch()).." kWh und kostet "..string.format("%.2f", energieVerbrauch()*ct/100).." €.");  
                                          
				end;
				
				if (counterMessage >= counterMessageMax and run == 1) then
					kalaCheckDebug('red',"Die Wäsche ist fertig! >>> Script wird beendet.")
					run = 0;
				end
				
		  counterStandby = counterStandbyMin
      
		elseif ( wallplugPower > waschen and run == 1 ) then 
                kalaCheckDebug('lightsteelblue', "Waschmaschine tut waschen!!!") 
				counterStandby = 0
		end
    
		if ( wallplugPower <= standby and run == 1 ) then
		  kalaCheckDebug('coral', "Waschmaschine im Standby! ... zähle counterStandby hoch.")
        end 
    
		if ( wallplugPower == 0 and run == 1 ) then
				EndWaschZeit = os.time(); 

				kalaCheckDebug('orange',"Trocknung dauerte "..(convertTime(os.difftime(EndWaschZeit , StartWaschZeit))).." Der Verbrauch ist "..string.format("%.2f", energieVerbrauch()).." kWh und kostet "..string.format("%.2f", energieVerbrauch()*ct/100).." €.");  
				kalaCheckDebug('red',"Die Wäsche ist fertig! Manuelle abschaltung.")
				run = 0;
		end;

	  fibaro:sleep( sleepTime*1000 ); 
	until run == 0; --<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
end
-----------------------------------------------------------------------------------------------------
---### Trockner  wallplug wurd überprüft ob eingeschaltet ist. ##############################----
-----------------------------------------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
    if (tonumber(fibaro:getValue(wallplug, "value")) == 0 )then
        fibaro:sleep(3*1000)
        fibaro:call(wallplug, "turnOn");
        kalaCheckDebug('lightblue', "ZwischenStecker Waschmaschine...  wurde wieder eingeschaltet.")
    end
--### ENDE ########################################################################################


Gas ist mein Original das im Einsatz ist.


--[[
%% properties
14 power
14 value
%% globals
--]]
 
--#####  Waschmaschine  ###################################################################

local wallplug = 14				-- ID Wallplug Zwischenstecker Waschmaschine.
local sceneID = 18				-- ID sceneID

local start = 30				-- 40 Start "Watt" bevor die Waschmaschine einschaltet.
local standby = 2.1				-- 2.2 Watt. Verbrauch, unter dem der Standby-Modus erkannt werden soll.
local waschen = 8				-- 8 Waschmaschine tut noch waschen wenn drueber ist.

local counterStandbyMin = 50	-- Wie lange das Skript im Standby bleiben muss bis Nachricht  verschickt wird.
local timeToNextMessage = 30  	-- Wie schnell die naechsten Nachrichten kommen sollen.
local counterMessageMax = 1		-- Wie viele Nachrichten du erhalten willst.
local ct = 22.41 				-- ct/kWh... den Verbrauch hier eingeben.

local phone1 = 96				-- ID Handy Gerhard.
local phone2 = 70				-- ID Handy Liana.
local radio = 34				-- ID RadioTablet.

local vu_wz = 63				-- WZ message Waschmaschine... an VU+!
local vu_sz = 68				-- SZ message Waschmaschine... an VU+!
local vu_kz = 64				-- KZ message Waschmaschine... an VU+!
local vu_ke = 65				-- Ke message Waschmaschine... an VU+!

-------------------------------------------------------------------------------------------
---########################################################################################
-------------------------------------------------------------------------------------------
debug = function ( color, message )
  	fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
end;
---###### kalaCheckDebug(color , textDebug) #################################################
function kalaCheckDebug(color , textDebug);  
    local jsonString = api.get("/scenes/"..sceneID.."/debugMessages");
    if (#jsonString) == 0 then; fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, textDebug, "span")); 
    else local debugText = json.encode(jsonString[#jsonString].txt):match(textDebug);
	if  debugText == textDebug then; else; fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, textDebug, "span")); 
end; end; end;
-------------------------------------------------------------------------------------------
---########################################################################################
-------------------------------------------------------------------------------------------

if (fibaro:countScenes()>1) then
	fibaro:abort();
    fibaro:sleep(1*6*1000)
end
--------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
local run = 0
local counterStandby = 0
local counterMessage = 0
local StartWaschZeit			-- Start der Waschzeit.
local EndWaschZeit				-- Ende der Waschzeit.
local wallplugPower = tonumber(fibaro:getValue(wallplug,"power"))
----------Timestamp berechnen------------------------------------------
function convertTime(seconds)
    local stunden = math.floor(seconds/3600)
	local minute = math.floor((seconds - (stunden*3600)) /60)
	local seconds = math.floor((seconds  - (stunden*3600)) - minute * 60)
	return ">> "..stunden..":"..minute.. "." ..seconds.." << Stunden."
end
--------- Energy verbrauch --------------------------------------------
function energieVerbrauch();
  	local jsonListe = api.get("/energy/"..StartWaschZeit.."/"..EndWaschZeit.."/compare/devices/power/"..wallplug);
	return(jsonListe[1].kWh)
end
---### sendTelegram() ######################################################
function sendTelegram(counterMessage);
  	counterMessage = counterMessage
	fibaro:setGlobal("GerhardTelegram", "Die ".. counterMessage .. " -te Nachricht wurde gesendet. %0AWäsche um "..os.date( "%H:%M - %d.%m.%Y" , os.time()).."  fertig gestelt. %0ADer Waschvorgang dauerte %0A"..(convertTime(os.difftime(EndWaschZeit , StartWaschZeit))).." %0ADer Verbrauch ist "..string.format("%.2f", energieVerbrauch()).." kWh und kostet "..string.format("%.2f", energieVerbrauch()*ct/100).." €.");     
	fibaro:setGlobal("LianaTelegram", "Rufele au fost gata la ora. %0A"..os.date( "%H:%M - %d.%m.%Y" , os.time()).."%0A Spalatu a durat  "..(convertTime(os.difftime(EndWaschZeit , StartWaschZeit))).." %0AConsumul este de "..string.format("%.2f", energieVerbrauch()).." kWh si costa "..string.format("%.2f", energieVerbrauch()*ct/100).." €.");     
end
---### pushMessage() ################################################################
function pushMessage();
				------------------------------------------------------------------------------    
				--fibaro:call(phone1, "sendPush", "Waesche ist fertig"); -- Push Handy Gerhard
				--fibaro:call(phone2, "sendPush", "Masina de spalat este gata."); -- Push Handy Liana
				--fibaro:call(radio, "sendPush", "Masina de spalat este gata...Waesche ist fertig"); -- Push Handy RadioTablet
				------------------------------------------------------------------------------
				fibaro:call(vu_wz, "pressButton", "47")--WZ nachricht von waschmaschine... an VU+!
				fibaro:call(vu_sz, "pressButton", "47")--KZ nachricht von waschmaschine... an VU+!
				fibaro:call(vu_kz, "pressButton", "47")--SZ nachricht von waschmaschine... an VU+!
				fibaro:call(vu_ke, "pressButton", "47")--Kl nachricht von waschmaschine... an VU+!
				------------------------------------------------------------------------------
end

---##################################################################################
---### Ab hier startet das Waschprogramm. ############################################
---##################################################################################

if ( wallplugPower > start  and run == 0 ) then
	local run = 1
    StartWaschZeit = os.time();
    kalaCheckDebug('coral', "Waschmaschine ist an... beginne zu waschen.")
	kalaCheckDebug('green', "Verbrauch = "..wallplugPower.." Watt") 
	
	repeat --->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
	
	local sleepTime = counterStandbyMin	
	
		wallplugPower = tonumber(fibaro:getValue(wallplug,"power"))
		if ( wallplugPower <= standby and run == 1 ) then
		
				if (counterStandby >= counterStandbyMin) and (counterMessage <= counterMessageMax) then  
      				EndWaschZeit = os.time();
					kalaCheckDebug('aqua', "Waschmaschine ist fertig;  ........ versende die Push Nachrichten.");
					counterMessage = counterMessage + 1		
				if counterMessage >= 1 then
					sleepTime = timeToNextMessage
				end
        
                    sendTelegram(counterMessage); 	-- sende Nachricht an telegram.
                    pushMessage(); 					-- sende Nachricht an Vu+, Handy...
            
                    kalaCheckDebug('skyblue', "Die ".. counterMessage .. " -te Nachricht wurde gersendet.")
                    kalaCheckDebug('orange', "Waschvorgang dauerte "..(convertTime(os.difftime(EndWaschZeit , StartWaschZeit))).." Der Verbrauch ist "..string.format("%.2f", energieVerbrauch()).." kWh und kostet "..string.format("%.2f", energieVerbrauch()*ct/100).." €.");  
                                          
				end;
				
				if (counterMessage >= counterMessageMax and run == 1) then
					kalaCheckDebug('red',"Die Wäsche ist fertig! >>> Script wird beendet.")
					run = 0;
				end
				
		  counterStandby = counterStandbyMin
      
		elseif ( wallplugPower > waschen and run == 1 ) then 
                kalaCheckDebug('lightsteelblue', "Waschmaschine tut waschen!!!") 
				counterStandby = 0
		end
    
		if ( wallplugPower <= standby and run == 1 ) then
		  kalaCheckDebug('coral', "Waschmaschine im Standby! ... zähle counterStandby hoch.")
        end 
    
		if ( wallplugPower == 0 and run == 1 ) then
				EndWaschZeit = os.time(); 
			sendTelegram(counterMessage); -- sende Nachricht an Telegram 
				kalaCheckDebug('orange',"Waschvorgang dauerte "..(convertTime(os.difftime(EndWaschZeit , StartWaschZeit))).." Der Verbrauch ist "..string.format("%.2f", energieVerbrauch()).." kWh und kostet "..string.format("%.2f", energieVerbrauch()*ct/100).." €.");  
				kalaCheckDebug('red',"Die Wäsche ist fertig! Manuelle abschaltung.")
				run = 0;
		end;

	  fibaro:sleep( sleepTime*1000 ); 
	until run == 0; --<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
end
-----------------------------------------------------------------------------------------------------
---### Waschmaschine  wallplug wurd überprüft ob eingeschaltet ist. ##############################----
-----------------------------------------------------------------------------------------------------
local sourceTrigger = fibaro:getSourceTrigger();
    if (tonumber(fibaro:getValue(wallplug, "value")) == 0 )then
        fibaro:sleep(3*1000)
        fibaro:call(wallplug, "turnOn");
        kalaCheckDebug('lightblue', "ZwischenStecker Waschmaschine...  wurde wieder eingeschaltet.")
    end
--### ENDE ########################################################################################


Gruss

Hi parip69,

ja es ist Dein Script! :slight_smile:

Danke für das neue, dies hat auf anhieb funktioniert.
Zwei Fragen hab ich jetzt aber noch wenn ich “darf”:
zum einen bekomme ich noch folgende Fehlermeldung

...
[DEBUG] 12:06:36: Die Wäsche ist fertig! >>> Script wird beendet.
[ERROR] 12:24:00: Cannot query interpreter state

Was hat das zu bedeuten?

Und:
local timeToNextMessage = 30 – Wie schnell die naechsten Nachrichten kommen sollen.
Was sind die “30” für Einheiten? Sekunden laut Debug-Fenster, richtig? Ich hätte gerne ein wenig mehr ‘Dsitanz’ zwischen den Nachrichten :wink: Würde den Wert dann zB auf 180(s) setzen…

Danke!

Gruß
Rik

Hallo
Bei beiden sind Sekunden gemeint. Du kannst machen wie du wilst daür ist es ja gedacht.

local counterStandbyMin = 50 —>Aus der Leistungsansicht muss mann in Sekunden angeben wie lange der Standby definiert werden soll.
local timeToNextMessage = 180 —> In was für einem abstand (in Sekunden) die nächste Nachricht kommen soll.


local counterStandbyMin = 50	-- Wie lange das Skript (in Sekunden) im Standby bleiben muss bis Nachricht  verschickt wird.
local timeToNextMessage = 30  	-- Wie schnell, abststand (in Sekunden) wann  die naechste Nachricht kommen sollen.

Das ist ein bekannter Fehler. Hofentlich wird er mit einer der nächsten Update behoben.


[ERROR] 12:24:00: Cannot query interpreter state

Gruss

Top, Danke!!

Hi,
@parip69

Ich habe alle Seiten gelesen, weil ich mit meinem script andauernd too many instances bekommen habe und nun heute Zeit hatte, mich dem Them anochmal anzunehmen.
Vielen Dank an alle hier und an Dich.
Nun hab eich aber einige Fragen:

  1. in Deinem Script kommt das Problem mit den too many instances nicht?
  2. Was muss ich umstellen, damit die Steckdose nach x Minuten wirklich sich abschaltet? Und startet dann die Szene mit dem einschalten des WallPlugs von selbst?
    meine Waschmaschine verbraucht im StandBye dauerhaft 2,9 Watt, was einfach unnötig ist zu verbrauchen.
  3. Du hast im Script:
    sendTelegram(counterMessage); – sende Nachricht an Telegram
    kalaCheckDebug(‘orange’,“Waschvorgang dauerte “…(convertTime(os.difftime(EndWaschZeit , StartWaschZeit)))…” Der Verbrauch ist “…string.format(”%.2f”, energieVerbrauch())…" kWh und kostet “…string.format(”%.2f", energieVerbrauch()*ct/100)…" €.");
    kalaCheckDebug(‘red’,“Die Wäsche ist fertig! Manuelle abschaltung.”)

Wie funktioniert das mit dem Telegram?
Ich habe mich versucht schlau zu machen, aber bekomme nur Info´s zu einem Synology NAS oder einem Raspberry pi wo der Bot eigentlich läuft.
Kannst Du da etwas näher drauf eingehen bitte? Oder ein link zum schlaulesen?

Danke Dir und euch für eure Zeit und euren Antworten.
Gruß