(GELÖST) wieviel darf im at DEF drin sein?

Begonnen von misux, 25 Februar 2018, 22:20:32

Vorheriges Thema - Nächstes Thema

nils_

Zitat von: misux am 01 März 2018, 10:07:37
Wenn also kein Wert zwischen den Klammern ist bedeutet das das isday()=0 und es ist nacht, und wenn ich da eine 1 reinpacke dann isday(1)=Tag richtig?
zwischen den klammern steht nichts, weil diese funktion keine parameter erwartet!

du wertest den rückgabewert von isday() aus -> 0 = Nacht, 1 = Tag
viele Wege in FHEM es gibt!

Otto123

#16
@misux einfach mal versuchen zu lesen:
https://fhem.de/commandref_DE.html#SUNRISE_EL
@nils Du hast nicht ganz recht, die Funktion erwartet zwar nicht unbedingt einen Parameter aber verarbeitet fast alle Parameter von sunrise_el!
Und Du hast mit der Rückgabe nicht ganz Recht, es ist eine boolsche Funktion, die gibt wahr und unwahr zurück. Wahr wird irgendwie in der Rückgabe auf 1 gemappt, aber unwahr nicht immer auf auf 0.
https://forum.fhem.de/index.php/topic,84883.msg772452.html#msg772452

Man kann die Klammer meines Wissen auch weglassen, wenn man keine Parameter übergibt, ich schreib sie immer hin.  :D
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

nils_

Zitat von: Otto123 am 01 März 2018, 12:00:41
@nils Du hast nicht ganz recht, die Funktion erwartet zwar nicht unbedingt einen Parameter aber verarbeitet fast alle Parameter von sunrise_el!
danke für die aufklärung. hab sie mir im code nicht angeschaut :) commandref hatte ich nix gefunden  ::)

Zitat von: Otto123 am 01 März 2018, 12:00:41
Und Du hast mit der Rückgabe nicht ganz Recht, es ist eine boolsche Funktion, die gibt wahr und unwahr zurück. Wahr wird irgendwie in der Rückgabe auf 1 gemappt, aber unwahr nicht immer auf auf 0.
https://forum.fhem.de/index.php/topic,84883.msg772452.html#msg772452
ja diese !1 bzw. !0 perl "problematik" hatte ich letztens hier auch gelesen.

aaaaaber in der commandref steht:
bei http://commandref.fhem.de/commandref_DE.html#SUNRISE_EL
Zitatisday()

liefert (int) 1 wenn Tag ist, (int) 0 wenn Nacht ist.

und bei den perl specials  http://commandref.fhem.de/commandref_DE.html#perl
ZitatWenn Sie das 99_SUNRISE_EL.pm Modul benutzen, haben Sie zugriff auf folgende Funktionen:
sunset($offset, $min, $max)
sunrise($offset, $min, $max)
isday()
Der Wert von "offset" wird in Sekunden angegeben und das Format für min/max ist "HH:MM" oderr "HH:MM:SS". isday gibt 1 zurück, wenn die Sonne sichtbar ist und ansonsten den Wert 0


Zitat von: Otto123 am 01 März 2018, 12:00:41
Man kann die Klammer meines Wissen auch weglassen, wenn man keine Parameter übergibt, ich schreib sie immer hin.  :D
mmmmh weiß ich nicht, ich würde sie auch immer hinschreiben....

viele Wege in FHEM es gibt!

Beta-User

Die "richtig verbindliche Doku" ist die englische Fassung:
ZitatAll functions take up to three arguments:

       
  • The first specifies an offset (in seconds), which will be added to the event.
  • The second and third specify min and max values (format: "HH:MM").
isday() can be used in some notify or at commands to check if the sun is up or down. isday() ignores the seconds parameter, but respects min and max. If min < max, than the day starts not before min, and ends not after max. If min > max, than the day starts not after max, and ends not before min.

Im Zweifel immer auch da mal reinsehen, ist vor allem in den Basissachen tatsächlich oft aufschlußreicher als die deutsche Fassung ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Otto123

#19
Aber der erste Parameter wird bei isday nicht ignoriert!

@nils probiere jetzt und heute Abend mal aus was isday und !isday dann tatsächlich zurückliefert :) ich war auch erstaunt.
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

Beta-User

Zitat von: Otto123 am 01 März 2018, 16:37:27
Aber der erste Parameter wird bei isday nicht ignoriert!
Wer sagt das jetzt Rudi? Das ist ein Auszug aus der aktuellen commandref...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Otto123

#21
Ich habe nix anderes gesagt :) dort steht der zweite Sekunden Parameter wird ignoriert. REAL und CIVIL und so kann man angeben min und max auch.
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

nils_

Zitat von: Beta-User am 01 März 2018, 16:33:56
Die "richtig verbindliche Doku" ist die englische Fassung:
Im Zweifel immer auch da mal reinsehen, ist vor allem in den Basissachen tatsächlich oft aufschlußreicher als die deutsche Fassung ;) .

ok stimmt, habe ich nicht gemacht. schande über mich  8)

Zitat von: Otto123 am 01 März 2018, 16:37:27
@nils probiere jetzt und heute Abend mal aus was isday und !isday dann tatsächlich zurückliefert :) ich war auch erstaunt.
ich glaub dir das ja. (kann es leider gerade nicht testen)
wollte nur auf die commandref verweisen, und da steht (int) 1 bzw. (int) 0. (für mich erstmal zahlen ;) )
viele Wege in FHEM es gibt!

Beta-User

Zitat von: Otto123 am 01 März 2018, 16:48:38
Ich habe nix anderes gesagt :) dort steht der zweite Parameter wird ignoriert. REAL und CIVIL und so kann man angeben min und max auch.
Hmmm, ich lese einen Unterschied zwischen "the second parameter" (deine Übersetzung bzw. Annahme, dass es sich bei dem "s" um einen typo handelt) und "the seconds parameter". Letzteres steht im Text, und der "seconds parameter" ist der erste der anzugebenden Parameter. Auch der Rest vom Text paßt zu diesem Verständnis, dass "seconds" der erste Parameter ist...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Otto123

Ähm, das stimmt ja so auch!
isday liefert jetzt eine 1 und nach Sonnenuntergang eine 0 aber die negation liefert jetzt keine 0 aber nach Sonnenuntergang ein 1
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

nils_

Zitat von: Otto123 am 01 März 2018, 16:56:31
isday liefert jetzt eine 1 und nach Sonnenuntergang eine 0 aber die negation liefert jetzt keine 0 aber nach Sonnenuntergang ein 1
ah ok , also reden wir doch über das selbe, oder?  ;)

Zitat von: nils_ am 01 März 2018, 16:25:47
ja diese !1 bzw. !0 perl "problematik" hatte ich letztens hier auch gelesen.
viele Wege in FHEM es gibt!

Otto123

#26
@beta-user Du hast Recht und ich auch :)

Es ist eine Frage der wundersamen Zählweise im Text.
ZitatAll functions take up to three arguments:
The first specifies an offset (in seconds), which will be added to the event.
The second and third specify min and max values (format: "HH:MM").
...
Optionally, for all functions you can set first argument which defines a horizon value

Also zu deutsch: nicht zweite Parameter wird ignoriert sondern die Sekunden (habe es oben geändert), aber die anderen gehen.

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