Sunrise/Sunset Definitionen

Begonnen von stobor, 02 November 2013, 20:15:47

Vorheriges Thema - Nächstes Thema

stobor

Hallo,

Es gibt ja verschiedene Möglichkeiten, den Zeitpunkt von Sunrise/Sunset zu definieren (http://fhem.de/faq.html#faq20).

Wie kann ich denn diesen Wert in der fhem.cfg setzen? Ist das überhaupt möglich? Das wäre doch super. Dann muss man nicht immer die 99_SUNRISE_EL.pm ändern. Oder gibt es einen anderen Weg?

Für die Standortkoordinaten ist das ja problemlos möglich:
attr global latitude 52.769
attr global longitude 8.985


Damit werden dann ja die Default-Werte in 99_SUNRISE_EL.pm überschrieben:
   ############################
   # If set in global, use longitude/latitude
   # from global, otherwise set Frankfurt/Germany as
   # default
   $long = AttrVal("global", "longitude", "8.686");
   $lat  = AttrVal("global", "latitude", "50.112");


Ich bin leider nicht so fit im Coding und Nutzung der Source-Verwaltung. Hat jemand die Möglichkeit, das zu erweitern?

Danke
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Zrrronggg!

#1
Ich verstehe die Frage nicht.

Oder sagen wir mal anders: Hast du den Sunrise Eintrag in der Commandref gesehen?

http://fhem.de/commandref.html#SUNRISE_EL

Wenn nicht lese den mal und wenn dann noch Fragen sind her damit.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

stobor

Ich habe bisher in der fhem.cfg bspw. Folgendes verwendet:

define FlurlichtAn at *{sunset(0,"16:00","22:00")} {...

und in der 99_SUNRISE_EL.pm habe ich manuell immer
$altit=-0.833;
gesetzt.

D.h., ich hätte altit gar nicht ändern müssen, sondern nur die -0.833 in den sunset-Befehl mit aufnehmen müssen? Also so:

define FlurlichtAn at *{sunset(-0.833,"16:00","22:00")} {...

Oder wie?

Danke für Hilfe.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Puschel74

Moin,

Sunset kann noch viel mehr.

sunset(REAL,.....)
sunset(HORIZON,....
etc.

Du kannst sunset (und auch sunrise) ganz deinen Wünschen anpassen.
siehe comamndref.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

stobor

Wäre denn mein Ansatz zunächst richtig, wenn ich Folgendes schreibe:

define FlurlichtAn at *{sunset(-0.833,"16:00","22:00")} {...

Oder wäre die Syntax falsch, oder gibt's damit andere Probleme?

Danje
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Puschel74

Hallo,

Zitatdefine FlurlichtAn at *{sunset(-0.833,"16:00","22:00")} {...
sollte falsch sein da sunset/sunrise hier eine Zeitangabe in Sekunden erwartet.
Also evtl. so
define FlurlichtAn at *{sunset(-1800,"16:00","22:00")} {...
schaltet 1800 Sekunden vor Sonnenuntergang.

Aber
define FlurlichtAn at *{sunset(REAL,"16:00","22:00")} {...
sollte wieder klappen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ph1959de

Zitat von: Puschel74 am 03 November 2013, 08:29:32
Aber
define FlurlichtAn at *{sunset(REAL,"16:00","22:00")} {...
sollte wieder klappen.
Wenn ich die Syntax richtig verstanden habe, dann sollte in dem obigen Beispiel nach dem "REAL" noch der Offset-Wert kommen, es sollte also so aussehen:
define FlurlichtAn at *{sunset(REAL,0,"16:00","22:00")} {...
(siehe auch das Beispiel in der commandref: http://fhem.de/commandref.html#SUNRISE_EL)

Gruß, Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Puschel74

Hallo,

ZitatWenn ich die Syntax richtig verstanden habe, dann sollte in dem obigen Beispiel nach dem "REAL" noch der Offset-Wert kommen,

Jep. Oder so  ;D

Da ich nur den Offset verwende ohne REAL etc. habe ich mal nicht in der commandref geschaut  8)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Dietmar63

define FlurlichtAn at *{sunset("HORIZON=-8.33",0,"16:00","22:00")} {...
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

stobor

Zitat von: Dietmar63 am 03 November 2013, 11:35:14
define FlurlichtAn at *{sunset("HORIZON=-8.33",0,"16:00","22:00")} {...

-8.33 oder -0.833 ?
Na, ich probier's mal aus.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Dietmar63

Wenn du -8.33 angibst, wird die Zeit berechnet, wann die Sonne -8.33 grad unter dem Horizont ist

Gesendet von meinem HTC Desire S mit Tapatalk

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

moonsorrox

ich find das schon extrem was alles damit zu machen ist, dem Spieltrieb sind da keine Grenzen gesetzt diese ganzen Angaben "REAL", "CIVIL", "NAUTIC", "ASTRONOMIC", "HORIZON"

Da stellt sich die Frage was macht hier am meisten Sinn, schreibt doch mal wie ihr das so macht,
Also bei mir ist das in den Rollläden drin und in der Beleuchtung

Rollläden ist fast am Anschlag, damit meine ich heute gehen sie um 17:11 Uhr runter, die nächsten Tage wird das ja weniger  und dann greift die 17Uhr Zeit, aber ich weiß auch nicht was in unseren Breitengraden sinnvoll ist.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Puschel74

Hallo,

Zitataber ich weiß auch nicht was in unseren Breitengraden sinnvoll ist.

Das kann ich (und auch alle anderen hier) dir sagen

was Du für sinnvoll haltest bzw. was den WAF Richtung 100% laufen lässt  ;D
Es muss ja dir und deiner Familie passen.
Wobei sich da die Familie lieber (an-)passt  8)

Aber wie du schon geschrieben hast

Zitatdem Spieltrieb sind da keine Grenzen gesetzt

So ist es. Man kann alle Uhrzeiten ausprobieren.
Dank sunrise/sunset recht simpel indem man nur einen Parameter, eben den Offset, neben der "Sonnenstand-Angabe" verändern muss um täglich angepasste Zeiten zu bekommen.
Aber das ausprobieren muss jeder selbst übernehmen.

Grüße

P.S.: Rollläden laufen mit sunset/sunrise. Beleuchtung mit Twilight.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

ich persönlich befasse mich nicht mit REAL, CIVIL und so weiter. Ich nehme nur einen offset wie -1800  oder auch + 3600 um die richtige Uhrzeit zu finden. Richtige Uhrzeit ist natürlich die, die meine Frau gut findet.

Wenn du meinst sunset hätte viele Optionen, dann sieh dir mal Twilight an. Das ist von Leuten geschrieben,  die meinten, man müsse noch den Wetterbericht (Nebel, Regen, Bewölkung hat auch Einfluss auf die Lichtverhältnisse), die Höhe über dem Meeresspiegel,  die Stärke der Mondprotuberanzen und den negativen Senkelhub der Beschattgrenzenaufquellung mit berücksichtigen. DA kannst du Sachen einstellen.

Da kommt mir gerade eine Theorie in den Sinn: Vielleicht kann man den Zustand einer Ehe daran messen, wieviel Aufwand jemand treiben muss, um das Licht abends WAF-konform bei Dämmerung einzuschalten. LOL
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

Hallo,

OT
ZitatMondprotuberanzen
Ich dachte sowas gibt es nur bei Sternen  ;D

ZitatDa kommt mir gerade eine Theorie in den Sinn:
Man(n) könnte auch sagen das sowas nicht den Zustand der Ehe widerspiegelt sondern die Liebe zu seiner Frau  8)

Aber stimmt schon - bei twilight kannst du so gut wie alles abfragen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

PeMue

Hey Leute,

ich denke, ich bin ein halbwegs gebildeter Mitteleuropäer, aber bei
Zitat... Stärke der Mondprotuberanzen und den negativen Senkelhub der Beschattgrenzenaufquellung mit berücksichtigen.
muss selbst ich die Segel streichen.
Ich bleibe bei sunrise und sunset mit einem gewissen Offset, basta. Der Uniroll funktioniert sowieso nur manchmal, was bei manchen Leuten echt erheiternd wirkt. Aber der WAF ist hier 100 %, weil sie nicht mehr über's Sofa lehnen muss  ;D

Gruß und schönen Abend.

PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Puschel74

Hallo,

OT
Zitatweil sie nicht mehr über's Sofa lehnen muss
Was dich aber nicht sehr erfreut nehme ich mal an  8)

Was wir auf uns nehmen um den WAF nach oben zu bringen (als Rechtfertigung für Spielereien die uns Spaß machen)  ;D

BTT

Grüße

P.S.: Kann die letzten Beiträge ein Admin nach Off-Topic verschieben bitte  ;D
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

moonsorrox

@puschel könntest du mal deinen Twilight Code für die Beleuchtung posten, ich finde nur immer welche mit anderen Abhängigkeiten die ich nicht wirklich brauche. Auch der im Wiki hat andere Dinge mit drin.

Würde gern einfach mal schauen ob das mit der Beleuchtung, besser ist da ich einen etwas vergewaltigten Sunset/Sunrise drin habe der so aussieht
define AussenLampeEin at *{sunset("HORIZON=-14",0,"18:00","22:00")} set AussenLampe on
define AussenLampeAus at *{sunset("HORIZON=-36",0,"22:45","23:20")} set AussenLampe off
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Puschel74

Hallo,

Zitat@puschel könntest du mal deinen Twilight Code für die Beleuchtung posten,

Klar kann ich das:

define zuhause_on notify EG_Eingang_Bewegungsmelder:on.* {
  my $light = ReadingsVal("myTwilight", "light", 99);
  my $fhttk_eing_tuer = ReadingsVal("EG_Eingangstuer", "Window", "nA");
  if ( $fhttk_eing_tuer eq "Closed" ) {
    if ($light < 6) {
      fhem ("set EG_Eingang_Licht_innen on-for-timer 30; set EG_Vorraum_Licht on-for-timer 48");
    }
  }
  fhem ("define EG_Eingang_Bewegungsmelder_Aus at +00:00:10 set EG_Eingang_Bewegungsmelder off") if (Value("EG_Eingang_Bewegungsmelder_Aus") eq "");
}


Eigentlich ist das eine Kopie aus dem DEF des notify.
Das define habe ich nur hinzu gefügt damit es etwas übersichtlicher wird.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

moonsorrox

#19
vielen Dank das werde ich mal bei mir zuhause einbauen und schauen wie die Zeiten für meine Beleuchtung dann aussehen.

den Teil brauche ich doch nicht, denn dieses habe ich ja nicht, oder?
my $fhttk_eing_tuer = ReadingsVal("EG_Eingangstuer", "Window", "nA");
  if ( $fhttk_eing_tuer eq "Closed" ) {
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Puschel74

Hallo,

Zitatmy $fhttk_eing_tuer = ReadingsVal("EG_Eingangstuer", "Window", "nA");
  if ( $fhttk_eing_tuer eq "Closed" ) {

Nein - das ist nur unsere Haustür.
Ich frage damit nur ab ob die Tür geschlossen ist.

Twilight kannst du aber auch recht gut in einen Plot einbauen um zu sehen wann welche Helligkeitsstufe erreicht wird.
Mal schauen ob ich das noch finde dann poste ich das mal.
So hab ich für mich kontrolliert ob alles <6 für mich ok ist und danach erst den Code gebaut.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

stobor

Zitat von: Dietmar63 am 03 November 2013, 11:35:14
define FlurlichtAn at *{sunset("HORIZON=-8.33",0,"16:00","22:00")} {...

Ich hab's jetzt einmal probiert.

define FlurlichtAn at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} {...

Liefert bei der originalen 99_SUNRISE_EL.pm genau die gleichen Schaltzueiten in der WebGUI wie meine erste Version mit der geänderten 99_SUNRISE_EL.pm.

Danke für eure Hilfe.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Zrrronggg!

ZitatStärke der Mondprotuberanzen und den negativen Senkelhub der Beschattgrenzenaufquellung mit berücksichtigen.

Gibts beides selbstredend nicht, ich wollte damit nur zum Ausdruck bringen, das ich Twilight für überkandidelt halte.

ZitatIch bleibe bei sunrise und sunset mit einem gewissen Offset, basta.

Eben. Ich auch.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

Zitat von: Zrrronggg! am 03 November 2013, 20:26:02
Gibts beides selbstredend nicht, ich wollte damit nur zum Ausdruck bringen, das ich Twilight für überkandidelt halte.

Eben. Ich auch.

ich habe ja das Problem mit dem Ausschalten bei sunrise da komme ich ja nicht zurück bis vor 0Uhr.
sunset schaltet ein alles OK aber sunrise auch zurück gerechnet ich sage mal {sunrise(-25200)}  geht eben nur bis 0Uhr ich möchte aber 23:20 ausschalten
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

Äh... warum will man sunset verwenden und dann so weit zurück gehen?
Nur mal interessehalber gefragt.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

weil ich nicht weiß welchen Wert ich dann nehmen soll damit sich das nach sunrise/sunset ändert, klar könnte ich es als festen Wert eingeben.
Ich würde es am liebsten so machen das er automatisch noch am selben Tag wieder ausschaltet aber eben spätestens so 23:45Uhraber eben vorher sich nach ss richtet. Evtl. stehe ich ja auch dem Schlauch..
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

Ich verstehe deine Antwort nicht.

Versuch doch mal zu sagen was genau du machen willst.

Die Lampe soll unter der und der Bedingung angehen und dann und dann wieder aus....
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

Die Bedingung Lampe EIN funktioniert ja mit
define AussenLampeEin at *{sunset("HORIZON=-14",0,"18:00","22:00")} set AussenLampe on


Die Bedingung AUS soll dann eben auch automatisch so weit gegen Mitternacht gehen und ausschalten bis meine Zeit wann sie spätestens ausgehen soll erreicht ist diese Zeit soll dann irgend eine Zeit zwischen22:55 bis 23:20 sein.

Ich habe das momentan so, ist sicher nicht ideal, oder?

define AussenLampeAus at *{sunset("HORIZON=-36",0,"22:55","23:20")} set AussenLampe off


Hoffe das es halbwegs erklärt ist
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

Ganz verstehe ich das immer noch nicht:

ZitatDie Bedingung AUS soll dann eben auch automatisch so weit gegen Mitternacht gehen und ausschalten bis meine Zeit wann sie spätestens ausgehen soll erreicht ist diese Zeit soll dann irgend eine Zeit zwischen22:55 bis 23:20 sein.

Äh... WANN soll die Lampe ausgehen? Unter "so weit gegen Mitternacht gehen und ausschalten bis meine Zeit wann sie spätestens ausgehen soll erreicht ist diese Zeit soll dann irgend eine Zeit zwischen22:55 bis 23:20" kann ich mir nix vorstellen.

Ich biete dir mal ein paar Optionen an:

- 3 Stunden nach dem angehen
- um 22:50
- um 22:50 aber nicht am Wochenden, da erst um 23:50
- 3 Stunden bevor es hell wird
- wenn es hell wird
- 2 Stunden nach dem es hell wird

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

#29
OK, also die Variante 1 wäre gut 3 Std. später - kann ich ja jederzeit erhöhen und die Variante 3.  ist fast noch besser die Zeit kann ich ja dann auch anpassen.
Zitat
1. Variante - 3 Stunden nach dem angehen
3. Variante - um 22:50 aber nicht am Wochenden, da erst um 23:50

was ich damit sagen will - ich möchte keine feste Zeit haben die sollte sich ändern und das mit dem WoE finde ich auch gut
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

define FlurlichtAn at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set lamp1 on ;; define Lampe_später_aus at +03:00:00 set lamp1 off

Die Lampe wird angemacht wann immer es lauf Sunset und deinen Sunset-Parametern Zeit ist, 3 Stunden später geht sie aus.

Für "WE länger" gibt's mehrere Möglichkeiten ich denke noch bisschen nach, welche ich die beste finde.

Wenn ich ein bisschen Kritik über darf: Ich hab's ja jetzt , aber du bist schwer zu verstehen.
Du formulierts irgendwie ungenau und unvollständig, sodass zumindest ich nicht direkt kapiere, was du genau willst.

Ich habs zwar jetzt verstanden aber in deinem letzten Post steht z.b.

Zitatich möchte keine feste Zeit haben die sollte sich ändern

DU weisst was du damit meinst (und ich jetzt auch) aber jeder andere kann mit so einem Satz weniger anfangen.
Was soll denn "Zeit soll sich verändern" heissen? Ich könnte dir ja z.b. einen Code basteln wo die Lampe jeden Tag zu einer anderen Uhrzeit ausgeht, mal 2 Minuten nach dem sie angemacht wurde, mal 11 Stunden und am nächsten Tag nach 4 Stunden und 12 Minuten. Da würde die Zeit sich ja auch verändern, aber das ist ja trotzdem nicht was du willst.

Schreib doch anstelle dessen:
"Die Lampe soll nicht um einen bestimmte Uhrzeit ausgehen, sondern xy Stunden nach dem sie angegangen ist."

Ganz generell kommt man mit FHEM weiter, wenn man eindeutig beschreiben kann, was man will. D.H. Fhem kann nur so Kram wie
"immer wenn x, soll y passieren"
Und das muss man vorher auch in normaler Sprache formulieren können, sonst hat man's schwer.



[/size]
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

#31
OK ich danke dir und erst Recht für das Verständnis mir zu zuhören :D :D..

Klar Kritik ist immer gut... kein Problem, man stellt sich manchmal doof an etwas richtig zu beschreiben...!

Also auf den Einfall zu kommen und das so zu machen wie du es mir hier anbietest dauert eben, bin doch noch ganz am Anfang ;)
{sunset("HORIZON=-0.833",0,"16:00","23:20")}
Damit ist es mir auch klar, die Zeit verschiebt sich automatisch mit dem sunset Wert.

Ich wollte damit erreichen das die Beleuchtung Außen jeden Tag zu einer anderen Zeit ausgeht(was ja jetzt mit den 3Std getan ist)
OK Danke nochmals
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

#32
Wenn du ausserdem noch willst, dass die Lampe spätestens um 23:50 ausgeht, dann kannst du einfach noch eine weitere Zeile hinzufügen:

define Lamp_23_aus at *23:50:00 set lamp1 off

dann geht sie 3 Stunden nach einschalten aus, jedoch spätestens um 23:50 Uhr


Der Name des defines (hier "Lamp_23_aus") ist egal und dient nur der bessern Lesbarkeit.

define FlunzDdOOsen66 at *23:50:00 set lamp1 off

würde genauso funktionieren.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

stobor

Ich habe jetzt ja die ursprüngliche 99_SUNRISE_EL.pm im Einsatz uns schalte per

define LichtAn at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} {

Allerdings scheint jetzt die isday() Funktion auch später zu greifen. Kann das sein? Ich nutze isday() wie folgt:

define PIR_West_aus notify Bewegungsmelder_West:on {\
if (Value("PIR_Automatik") eq "on" && !isday()) {\
  fhem "set Licht on-for-timer 192";;
...\


Als ich noch die 99_SUNRISE_EL.pm auf meine sunset-Parameter angepasst hatte, schien isday() eher zu schalten.
Kann ich das auch beeinflussen?

Danke
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Puschel74

Hallo,

Zitatschien isday() eher zu schalten

Dafür lass ich solche Daten (Uhrzeiten) in die Datenbank loggen und bastel mir dann einen Plot dazu.
Nach ein paar Tagen Laufzeit kann man schön sehen wann die Funktionen auslösen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

stobor

Schön wäre ja aber zu wissen, wie man das beeinflussen kann.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

Zrrronggg!

ZitatAls ich noch die 99_SUNRISE_EL.pm auf meine sunset-Parameter angepasst hatte, schien isday() eher zu schalten.
Kann ich das auch beeinflussen?

Isday unterscheided Tag und Nacht so wie sunset und sunrise OHNE jeden Parameter schalten würde. Ich vermute, dass du durch deine Veränderungen im 99_SUNRISE_EL.pm isday beeinflusst hast.
Welche Paramter auch bei isday anwendbar sind weiss ich nicht, geht auch aus der Commandref nicht hervor. Ich nehme mal an das CIVIL, REAL etc auch gehen.

Wenn nicht:
entweder
- doch in 99_SUNRISE_EL.pm rumfummeln oder
- eigene Iday basteln:

Dazu einen Dummy erzeugen, der z.d. TAG heisst.

Zitatdefine dummy TAG

diesen dann mit sunrise und sunset befüllen wie du willst

Zitatdefine IST_NACHT at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set TAG Nacht 
define IST_TAG at *{sunrise()} set TAG Tag

Und dann später auf den Wert von TAG testen:


Zitatdefine PIR_West_aus notify Bewegungsmelder_West:on {\
if (Value("PIR_Automatik") eq "on" && (Value("TAG") eq "Nacht" {\
  fhem "set Licht on-for-timer 192";;
...\






FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

#37
ich muss hier jetzt nochmal fragen da die Zeit bei mir nicht greift
ich habe die Einschaltzeit jetzt so
define AussenLampeEin at *{sunset("HORIZON=-12",0,"17:30","22:30")} set AussenLampe on
das ergibt für morgen 17:59 Uhr

Auschaltzeit habe ich so:
define AussenLampeAus at *{sunset("HORIZON=-0.833",0,"22:45","23:45")} set AussenLampe off ;; define AussenLampeAus at +05:00:00 set AussenLampe off
es bleibt also immer 22:45 Uhr, wann greift dann die 5 Std. sollte doch eigentlich 5 Std. später also 23 Uhr werden
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

Zitates bleibt also immer 22:45 Uhr, wann greift dann die 5 Std. sollte doch eigentlich 5 Std. später also 23 Uhr werden

In dem Konstrukt GAR NICHT.

1.
Zitatdefine AussenLampeAus at *{sunset("HORIZON=-0.833",0,"22:45","23:45")} set AussenLampe off
macht die Lampe um 22:45 aus. IMMER. Und zwar weil
Zitatsunset("HORIZON=-0.833"
immer oder je nach Breitengrad fast immer vor 22:45 ist.  Dass dann der Nachsatz
Zitatdefine AussenLampeAus at +05:00:00 set AussenLampe off
die Lampe 5 Stunden später NOCH MAL aus macht... sieht man nicht, die Lampe ist ja schon aus.

Mit anderen Worten: Du machst mit deinem Konstrukt die Lampe 5 Stunden aus nachdem sie ausgeschaltet wurde... klingt nicht wie das was man will? Eben.
Und ausserdem formulierst du dein sunset so, dass es identisch ist mit "at 22:45:00".

2. Ferner wird 
Zitatdefine AussenLampeAus at +05:00:00 set AussenLampe off
gar nicht erzeugt, denn der Name diesen Defines ist ja der SELBE wie
Zitatdefine AussenLampeAus at *{sunset("HORIZO..
. Das geht aber nicht, eine define kann es nur einmal geben. Daher wird FHEM das zweite nicht anlegen und im Log die Fehlermeldung rausgeben: "Please delete AussenLampeAus first"

Beachte, dass mein ursprünglicher Vorschlag

define FlurlichtAn at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set lamp1 on ;; define Lampe_spaeter_aus at +03:00:00 set lamp1 off

folgende Unterschiede aufweist:

1. Die Lampe geht 5 Stunden aus nachdem sie EINGESCHALTET wurde.
2. die beiden defines haben unterschiedliche Namen.
3. das zweite define heisst nicht "Lampe_aus" sondern "Lampe_spaeter_aus". Obgleich der Name des Defines an sich für die Funktion egal ist und auch "uezelgoe4354_tt" heissen könnte, so sind kleine Tricks wie das einfuegen von "_spaeter_" in den Namen eine zusätzliche Sicherheit, dass man nicht aus Versehen 2 Sachen gleich nennt.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

ph1959de

@Zrrronggg! - super erklärt. Danke dafür.

Aber:
Zitat von: Zrrronggg! am 08 November 2013, 00:44:27
define FlurlichtAn at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set lamp1 on ;; define Lampe_spaeter_aus at +03:00:00 set lamp1 off

folgende Unterschiede aufweist:

1. Die Lampe geht 5 Stunden aus nachdem sie EINGESCHALTET wurde.
das müssten 3 Stunden sein (sonst hab ich das Beispiel doch noch nicht verstanden), richtig?

Gruß, Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Zrrronggg!

Zitatdas müssten 3 Stunden sein
Korrekt, men Fehler, sorry.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

#41
also ich dachte auch das ich es verstanden habe, aber dem ist wohl nicht so... :'(

ich habe das jetzt im Einsatz:
define AussenLampeEin at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set AussenLampe on ;; define Lampe_spaeter_aus at +05:00:00 set AussenLampe off

attr AussenLampeAus alias Beleuchtung 3x LED Aus
attr Lampe_spaeter_aus alias Beleuchtung 3x LED Aus
attr AussenLampeAus group Zeiten
attr Lampe_spaeter_aus group Zeiten
attr AussenLampeAus room 2_Licht Eingang
attr Lampe_spaeter_aus 2_Licht Eingang


das einschalten sehe ich in der fhem Weboberfläche aber ich bekomme den Ausschaltzeitpunkt nicht zu sehen, der ja entweder 3, 4 oder auch 5 Std. später sein sollte.
Und ich bekomme folgende Meldungen:

Please define AussenLampeAus first
Please define Lampe_spaeter_aus first
Please define AussenLampeAus first
Please define Lampe_spaeter_aus first
Please define AussenLampeAus first
Please define Lampe_spaeter_aus first



Ich habe das jetzt erst einmal so gelöst:

So für das Einschalten: ergibt für heute eine Zeit von 17:58:12 Uhr
define AussenLampeEin at *{sunset("HORIZON=-12",0,"17:30","22:30")} set AussenLampe on
attr AussenLampeEin alias Beleuchtung 3x LED An
attr AussenLampeEin group Zeiten
attr AussenLampeEin room 2_Licht Eingang


und so für das Ausschalten: ergibt heute eine Zeit von 23:17:13 Uhr
define AussenLampeAus at *{sunset(21600,"22:55","23:45")} set AussenLampe off
attr AussenLampeAus alias Beleuchtung 3x LED Aus
attr AussenLampeAus group Zeiten
attr AussenLampeAus room 2_Licht Eingang


Das gehörte noch zu einer anderen Frage aber weil ich editiert habe, paßt da nicht mehr:
Zitatwenn das gehen würde, wäre es schön wenn ich dann auch ein nicht vor 22:30Uhr und nicht nach 23:55Uhr mit rein bringen kann, dann wäre die Zeit variabel und würde sich zwischen 22:30 und 23:55 Uhr ändern
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Zrrronggg!

#42
Zitatattr AussenLampeAus alias Beleuchtung 3x LED Aus
attr Lampe_spaeter_aus alias Beleuchtung 3x LED Aus
attr AussenLampeAus group Zeiten
attr Lampe_spaeter_aus group Zeiten
attr AussenLampeAus room 2_Licht Eingang
attr Lampe_spaeter_aus 2_Licht Eingang

das geht nicht. Du kannst Geräten Attribute geben aber nicht "defines" die Aktionen sind.

Lampe_spaeter_aus

ist ja kein Geräte, sondern vielmehr eine definiert Aktion, die unter bestimmten Bedingungen das Gerät AussenLampe ausschaltet.

also: Wenn du das definierte "anfassen" kannst, dann kannst du ihm attribute geben.

Ausserdem gibst du noch mit

Zitatattr AussenLampeAus group Zeiten
etwas ein Attribut, was es nicht mal gibt, weder als Gerät noch als Aktion....
Nirgendwoe definiert, oder?

define AussenLampeAus at *{sunset(21600,"22:55","23:45")} set AussenLampe off


Okay langsam hab ich dich verloren. Ich hab dir einen Code vorgeschlagen, der geht. Ich verstehe langsam nicht mehr, was dein Problem ist. Die Lampe geht auch dann aus, wenn du an der Weboberfläche die Stelle wo man sehen könnte wann die ausgeht nicht gleich findest  ;-)

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Puschel74

Hallo,

ZitatDu kannst Geräten Attribute geben aber nicht "defines" die Aktionen sind.
ZitatWenn du das definierte "anfassen" kannst, dann kannst du ihm attribute geben.

Fast.
Ich kann einem notify oder einem at als Attribut durchaus einen Raum zuordnen in dem dieses notify/at dann auch dargestellt wird.

Bedingt aber das dieses notify/at zum Zeitpunkt der Attribut-Zuweisung natürlich bereits existieren muss.
Notfalls muss ich diese Zurodnung dann eben auch in den Code mit einbauen sonst hagelt es die geposteten Fehlermeldungen.

Ich kann jetzt allerdings nur für das Attribut room sprechen da ich dieses so auch verwende und meine notifys/at in die jeweiligen Räume verteile.
Ob und welche anderen Attribute noch gehen kann ich (noch) nicht sagen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

Jetzt bin ich verwirrt... dachte das die Attribute richtig, dann doch nicht... jetzt doch wieder... Egal die lasse ich erst mal weg kann ich danach immer noch probieren.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Puschel74

Hallo,

um die Verwirrung hoffentlich etwas zu lösen.

Code von moonsorrox

define AussenLampeEin at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set AussenLampe on ;; define Lampe_spaeter_aus at +05:00:00 set AussenLampe off

attr AussenLampeAus alias Beleuchtung 3x LED Aus
attr Lampe_spaeter_aus alias Beleuchtung 3x LED Aus
attr AussenLampeAus group Zeiten
attr Lampe_spaeter_aus group Zeiten
attr AussenLampeAus room 2_Licht Eingang
attr Lampe_spaeter_aus 2_Licht Eingang


kann nicht funktionieren da
a) nirgendwo eine
ZitatAussenLampeAus
definiert wurde (in der gesamten Zeile kommt AusenLampeAus nicht ein einziges mal vor und
b)
ZitatLampe_spaeter_aus
erst erstellt wird wenn AussenLampeEin abgearbeitet wird.

Da also beide Definitionen (noch) nicht in FHEM existieren kommt es zu deiner Fehlermeldung.

Beispiel von mir wie es klappt:
*02:00:00 {
if ($we) {
    fhem("define OG_Zimmer_Rollo_hoch at {sunrise(1800,'08:00','09:00')} set OG_Zimmer_Rollo off");
    fhem("attr OG_Zimmer_Rollo_hoch room 32_Rollo");
    fhem("define OG_Zimmer_Rollo_runter at {sunset(-1800,'16:00','20:15')} set OG_Zimmer_Rollo on");
    fhem("attr OG_Zimmer_Rollo_runter room 32_Rollo");
  }
  if (!$we) {
    fhem("define OG_Zimmer_Rollo_hoch at {sunrise(1800,'07:00','09:00')} set OG_Zimmer_Rollo off");
    fhem("attr OG_Zimmer_Rollo_hoch room 32_Rollo");
    fhem("define OG_Zimmer_Rollo_runter at {sunset(-1800,'16:00','20:00')} set OG_Zimmer_Rollo on");
    fhem("attr OG_Zimmer_Rollo_runter room 32_Rollo");
  }
}

Um 2 Uhr wird geprüft ob Wochenende ist oder nicht und entsprechend die Defines für OG_Zimmer_Rollo_hoch und OG_Zimmer_Rollo_runter erzeugt.
Da nun das Define existiert kann ich diesem auch ein Attribut zuweisen.

Oder, Zrrronggg! hatte schon auch recht, ich kann nur etwas ein Attribut zuweisen das ich in FHEM auch sehen kann.
Jeder Code wird grundsätzlich erstmal im Raum Unsorted aufgelistet.
Sobald er dort erscheint kann ich ihn in einen anderen Raum verschieben - ihm das Attribut room zuweisen.

Was bei dir eventuell klappen würde wäre folgendes:
define AussenLampeEin at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set AussenLampe on ;; define Lampe_spaeter_aus at +05:00:00 set AussenLampe off;; attr Lampe_spaeter_aus room 2_Licht Eingang
Wobei ich mir nicht sicher bin ob das Leerzeichen zwischen 2_Licht und Eingang dem nicht ein Schnippchen schlagen dürfte.
Besser wäre es den Raum 2_Licht_Eingang zu nennen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Zrrronggg!

define AussenLampeEin at *{sunset("HORIZON=-0.833",0,"16:00","22:00")} set AussenLampe on ;; define Lampe_spaeter_aus at +05:00:00 set AussenLampe off;; attr Lampe_spaeter_aus room 2_Licht Eingang

Also bei mir haben Räume mit Leerzeichen nicht geklappt.

Ich bin mir auch nicht sicher, worum es hier geht.  Wenn's nur um Kontrolle geht, dass Lampe_spaeter_aus auch angelegt wurde: Das sähe man ja in "everything". Ich kann mir nur schwer vorstellen, dass man jeden Tag kontrollieren will, wann die Lampe genau ausgeht um überrascht festzustellen, dass es heute 3 Minuten früher oder später als gestern sein wird. Ausserdem ist meiner Erfahrung anch der WAF schlecht, wenn in einem Raum bestimmte  Angaben mal zu sehen sind und mal nicht. Im Vorliegenden Fall würde sich ja die Anzeige des Raumes "2_Licht_Eingang" 2x am Tag ändern.

Also moonsorrox, worum gehts dir? Gelegentlich mal kontrollieren können, wann die Lampe ausgeht? Dann einfach in "everything" nachsehen, fertig.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

moonsorrox

#48
@Zrrronggg
also erst einmal vielen Dank für deine Bemühungen, mir zu helfen, deine Fragen beantworte ich jetzt mal und hoffentlich eindeutig..

Also mit den Räumen und den Leerzeichen hat bei mir bisher geklappt. Ich zeige das auch mal an einem Bild und funktioniert hat es. Aber zu meiner Entschuldigung ich wusste nicht das dies mit den Leerzeichen Probleme machen kann...!

Jetzt sieht es so aus und ja es funktioniert so: Zeiten sind momentan aus meinem letzten Test, hatte die auschaltzeit auf 5min gesetzt zum probieren
define AussenLampeEin at *{sunset("HORIZON=-0.833",0,"18:25","22:00")} set AussenLampe on ;; define Lampe_spaeter_aus at +00:05:00 set AussenLampe off ;; attr Lampe_spaeter_aus room 2_Licht Eingang
attr AussenLampeEin room 2_Licht Eingang
attr AussenLampeEin alias Beleuchtung 3x LED An
attr AussenLampeEin group Zeiten

so sieht es in der Weboberfläche aus: Bild1

Es geht eigentlich nicht um die Kontrolle, sondern mehr darum, dass ich dachte wenn keine Zeit angezeigt wird, dass irgend etwas in meinem Code falsch ist, egal ob nun in meinem definierten Raum oder in Unsorted oder auch Everything.
Ich dachte weiterhin das die Anzeige auch eine Kontrolle ist, dies war also ein Trugschluss meinerseits. Deshalb hatte ich auch angenommen es geht nicht.
Es geht mir also nicht um das kontrollieren, obwohl ich eingestehen muss das ich es noch öfter kontrolliere - Grund dafür ist ein defekter Switch der mich einiges an Nerven gekostet hat, den ich aber schon zurück geschickt habe.

Ansonsten geht es mir nur um die variable Ein/Ausschaltung der Lampen es sollte eben nicht jeden Tag der selbe Ausschaltzeitpunkt sein also so bis er die definierten Zeiten "Nicht vor" und "Nicht nach" erreicht hat.
Der Einschaltpunkt ändert sich ja mit Sunset und das wollte ich auch mit der Ausschaltzeit erreichen

Hoffentlich ist es verständlich erklärt ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Hakter51

Hallo,

Hat schonmal einer eine Funktion die Sonnenwende/Mittag ausgibt Programmiert.

Ich hatte gedacht das ich wie folgt Mittag mit Loggen könnte. Falsch gedacht.

#define Sonnemittag1 at *{sunrise(0)+sunset(0)-sunrise(0)} set SonneDA * 100

Hat einer eine Idee?
Pollin AVR-NET-IO mit Ethersex => Ethersex 4 x 1-Wire, 1 x DHT22, 1 x LCD, 1 x ADC (LDR)
Raspberry PI mit FHEM5.6 Phillips Hue, Phillips, PIONEER AVR VSX2021, Eltako Funk  (EnOcean), MAX!, Fritz 546e

Puschel74

Hallo,

Zitat*{sunrise(0)+sunset(0)-sunrise(0)}

Sonnenaufgang+Sonnenuntergang-Sonnenaufgang = ????
Richtig. Das ergibt Sonnenuntergang.
Logisch weil: 6 + 13 - 6 = (nein keine Fangfrage) 13 ergibt.

Ich bin nur grad am grübeln wieviel sich Mittag täglich von 12:00 Uhr wegbewegt.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

locodriver

Wie wär's mit:

(SA+SU)/2 ?

Das ergibt (mathematisch) den Durchschnitt - ob das meteorologisch stimmt, weiß ich aber nicht.

Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Hakter51

Hallo,
Sorry Stimmt natürlich 7+17-7 Uhr quatsch .


Wollte es auch so schreiben.
#define Sonnemittag1 at *{sunrise(0)+((sunset(0)-sunrise(0))/2)} set SonneDA * 100.

[/size]Beispiel  7  + ((17-7)/2) = 7+5 = 12uhr


Sonnenhöchststand ist leider nicht immer 12 Uhr.[/size][size=78%] [/size][/size][size=78%]z.b. [/size][/size][size=78%] Portugal oder Polen geht die Sonne zu unterschiedlichen Uhrzeiten auf und unter.   Ob es meteorologisch auch der Höchststand ist keine Ahnung. [/size]
[/size]
[/size][size=78%]Aber Puschel hat recht! Einmal für den Standort errechnet kann ich auch z.b. 12 Uhr verwenden.[/size]
[/size]
[/size][size=78%]Mein Problem mit der Rechnung war, dass keine Uhrzeit als Ergebnis heraus kam. [/size]
[/size]
Pollin AVR-NET-IO mit Ethersex => Ethersex 4 x 1-Wire, 1 x DHT22, 1 x LCD, 1 x ADC (LDR)
Raspberry PI mit FHEM5.6 Phillips Hue, Phillips, PIONEER AVR VSX2021, Eltako Funk  (EnOcean), MAX!, Fritz 546e

locodriver

#53
Man kann den "Mittag" auch aus der geogr. Lange ermitteln:

15° entsprechen einer Stunde Differenz. D.h. in Görlitz steht die Sonne um 12 Uhr (MEZ) im Zenit, weil es auf dem 15. Längengrad liegt und dieser die Mitte der MEZ-Zeitzone bildet. Um 13Uhr MEZ steht dann die Sonne in London im Zenit - also nur die geogr. Länge in's Verhältnis zur Zeit setzen!

PS Die Sonne kann natürlich nur zwischen nördlichem und südlichem Wendekreis im Zenit stehen, also ist der höchste Punkt der Tagesbahn der Sonne gemeint.
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Jippy

Moin zusammen,

ich beschäftige mich seit kurzen mit sunrise/sunset und habe ein paar Verständnisfragen...
Wenn ich ,,sunset_abs" verwende, wird der Befehl 2x kurz hintereinander ausgeführt.
DEF:
*{sunset_abs("CIVIL",+900,"17:45","21:45")} set Rollo_Kueche off

Log:
2020.03.18 19:21:13 5: exec at command Rollo_Kueche_runter
2020.03.18 19:21:13 3: CUL_HM set Rollo_Kueche off
2020.03.18 19:21:13 5: redefine at command Rollo_Kueche_runter as *{sunset_abs("CIVIL",+900,"17:45","21:45")} set Rollo_Kueche off
2020.03.18 19:23:01 5: exec at command Rollo_Kueche_runter
2020.03.18 19:23:01 3: CUL_HM set Rollo_Kueche off
2020.03.18 19:23:01 5: redefine at command Rollo_Kueche_runter as *{sunset_abs("CIVIL",+900,"17:45","21:45")} set Rollo_Kueche off

Mit DEF:
*{sunset("CIVIL",+900,"17:45","21:45")} set Rollo_Kueche off
wird der Befehl nur 1x ausgeführt.

Das mit der doppelten Ausführung aus der oberen DEF liegt wohl daran, dass nach dem ausführen eine Neuberechnung für den eigentlich nächsten Tag erfolgt. In der ersten Jahreshälfte verschiebt sich aber die Sonnenuntergangszeit täglich um ein paar Minuten nach hinten, somit ist die neu berechnete Sonnenuntergangszeit am aktuellen Tag noch nicht erreicht und der Befehl wird ein zweites mal ausgeführt.
Zusammengefasst:
1. Jahreshälfte: ,,sunset_abs" + ,,sunrise"
2. Jahreshälfte: ,,sunset" + ,,sunrise_abs"

Habe ich das so richtig verstanden?
Wenn ja meine Frage, kann man die Neuberechnung irgendwie um z. B. 10 Min. rauszögern oder kann man dafür einen festen Zeitpunkt z. B. 01:00 Uhr festlegen?
Ansonsten müsste man 2x im Jahr die DEF-Einträge anpassen?!


Da ich mehrere Beiträge gelesen habe in den ,,sunrise_rel" favorisiert wurde, wollte ich das auch mal testen. Irgendwie bekomme ich das aber nicht hin...
DEF:
*{sunset_rel("CIVIL",+900,"17:45","21:45")} set Rollo_Kueche off

Unter ,,Readings" – ,,state" wird mir dann die noch verbleibende Zeit bis zur nächsten Ausführung angezeigt (z. B. ,,Next: 09:30:00" wenn es 10:00 Uhr ist und die nächste Schließzeit 19:30 Uhr ist).
Das müsste soweit noch alles richtig sein.
Ich hätte jetzt aber gedacht, dass die ,,Next:" Zeit quasi runter zählt, also das dort noch 08:30:00 steht wenn ich um 11:00 Uhr wieder schaue. Das passiert aber nicht. Nur wenn ich beim DEF ein modify mache, wird die Zeit aktualisiert. Somit fährt dann auch der Rolladen nicht um 19:30 Uhr runter.
Was mache ich hier falsch, muss ich noch zusätzlich etwas definieren?

Über Tipps würde ich mich sehr freuen.

Zrrronggg!

#55
Ich habe jetzt nicht sofort eine Antwort, aber 2 Anmerkungen:

Wenn

{sunset("CIVIL",+900,"17:45","21:45")} set Rollo_Kueche off

geht, und deine Theorie richtig ist, müsste es dann ja MORGEN 2 Schaltungen geben. Hast du das mal probiert?


Ferner: CIVIL ist default, brauchst du als nicht angeben. Schadet natürlich auch nicht. Zu REL kann ich nichts sagen, benutze ich nicht. Ich verwende nur stumpf

{sunset(+X,"xx:yy","zz:ff")} set blubber

und das funktioniert bei mir. Wenn ich es recht überlege, würde ich aber gar nicht so ohne weiteres merken, wenn es eine zweite Schaltung gäbe, da ich nur Licht schalte. Und 2x on oder 2x off macht dann weiter nichts.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Jippy

Hallo Zrrronggg!,

mit sunset müsste es meiner Meinung nach ab ca. 21 Juni 2 Schaltungen geben, wenn die Tage wieder kürzer werden...

Otto123

Hi,

meines Wissens macht sunrise und sunset doch genau in diesen Fällen (Verwendung im at) das Richtige. Beide Funktionen sind extra dafür gebaut.

Also im at (normale Zeitschaltung) immer sunrise und sunset verwenden. Die anderen Funktionen sind für Spezialfälle.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Prof. Dr. Peter Henning

Und vielleicht nicht den uralten Thread wieder hervorkramen - das verwirrt nur.

LG

pah