Seite 1 von 1

Rule nur zwischen 9 und 17, aber alle 5 Min

Verfasst: 4. Mai 2020 18:25
von int5749
Hallo zusammen,

ich möchte eine Regel erstellen, die unseren Geschirrspüler startet, wenn die Sonne genug Energie liefert.
Dazu werte ich über ein SMA Energy Meter aus, ob ich genug Überschuss einspeise und dann sollte die Maschine starten

Da Nachts die Sonne nicht scheint, wollte ich die Regel nur zwischen 9 und 17 Uhr aber da alle 5 Min prüfen lassen.
Bisher habe ich dafür keine Cron Definition gefunden :-/

Habt ihr noch einen Tipp, dieses umzusetzen?

Viele Grüße

Re: Rule nur zwischen 9 und 17, aber alle 5 Min

Verfasst: 4. Mai 2020 18:32
von Stargate1212

Code: Alles auswählen

Time cron  "0 0/5 9-17 * * ?" //alle 5 Minuten zwischen 9-17 Uhr

Re: Rule nur zwischen 9 und 17, aber alle 5 Min

Verfasst: 4. Mai 2020 22:44
von int5749
Stargate1212 hat geschrieben: 4. Mai 2020 18:32

Code: Alles auswählen

Time cron  "0 0/5 9-17 * * ?" //alle 5 Minuten zwischen 9-17 Uhr
So einfach :roll: dies habe ich mit keinem Chrongenerator hinbekommen. Dies läuft dann zwar bis 17:55, aber ich habe das Prinzip verstanden ;)

Danke

Re: Rule nur zwischen 9 und 17, aber alle 5 Min

Verfasst: 5. Mai 2020 16:51
von Tokamak
Dazu werte ich über ein SMA Energy Meter aus, ob ich genug Überschuss einspeise und dann sollte die Maschine starten

Da Nachts die Sonne nicht scheint, wollte ich die Regel nur zwischen 9 und 17 Uhr aber da alle 5 Min prüfen lassen.
Wäre es dann nicht logischer, den Wert des Energy Meters bei dessen Änderung zu bewerten? Also sowas wie

Code: Alles auswählen

when
	Item Sonne_Leistung changed
then
	// bei mehr als 1 kW
	if ((Sonne_Leistung.state as Number).intValue()>1000) {
		spuelmaschine.sendCommand(ON)
	}

Re: Rule nur zwischen 9 und 17, aber alle 5 Min

Verfasst: 6. Mai 2020 09:56
von int5749
Hallo Tokamak,
dies hatte ich auch zunächst eingebaut, jedoch kommt es dort zu sehr schnellen wechseln und dann wird die Rule alle paar Sekunden getriggert.
dies ist - meiner Meinung nach - für diesen Zweck nicht notwendig, daher habe ich mich entschieden nur noch alle 10 Min zu prüfen.
Derzeit sieht es bei mir im Probelauf wie folgt aus

Code: Alles auswählen

rule "Start Smart Devices"
when
	Time cron  "0 0/10 9-15 * * ?"			//alle 10 Minuten zwischen 9-15 Uhr
then
	if ((House_PowerOut.state as Number > 500) && (TillyRemoteStartAllowanceState.state == ON) && (TillyDoorState.state == CLOSED) && (TillyPowerState.state == ON)) {
		pushNotification("Tilly", "Ready to go, Remote Start is: " + TillyRemoteStartAllowanceState.state.toString)
	} else if ((now.getHourOfDay >= 15) && (TillyOperationState.state == "Ready") && (TillyRemoteStartAllowanceState.state == ON) && (TillyDoorState.state == CLOSED) && (TillyPowerState.state == ON)) {
		pushNotification("Tilly", "Jetzt aber los, es ist: " + now.getHourOfDay + " Uhr.")
	} else {
		pushNotification("Tilly", "Power out: " + House_PowerOut.state.toString + " W.")
	}
end
Ich prüfe von 9 - 15:50 bzw starte auf jeden Fall um 15:00 Uhr. Der else Part wird noch entfallen.

Bisher passen die Meldungen schon.