FHEM Forum

FHEM => Automatisierung => Thema gestartet von: accessburn am 09 April 2018, 14:05:16

Titel: [gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 09 April 2018, 14:05:16
Hallo, ich habe zwei LaCrosse, einer vor dem Haus, einer Hinter dem Haus. Bisher hat ein Notify immer den Azimuth abgefragt und dann den Wert des nicht durch Sonne beeinflussten Sensors in einen Dummy geschrieben, der dann ins Log. Seit Februar läuft das schreiben in den Dummy nicht mehr und ich weiß nicht woran es liegt.

Kann mal jemand schauen?


Norify:
Zitatdefmod aussentemp_notify notify LaCrosse_(28|1A):(temperature|humidity).* {\
if ( ReadingsVal("Twilight", "azimuth", 361) > 78 && ReadingsVal("Twilight", "azimuth", 361) < 180 && Value("Sommerzeit") ne "off") {\ \
  fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_28") ;;;;\
}else{\
   fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;;;; \
}\ \
}

setstate aussentemp_notify 2018-04-09 14:57:18
setstate aussentemp_notify 2018-04-08 20:19:01 state active

Associate:
ZitatProbably associated with
LaCrosse_1A    T: 27.7 H: 34 D: 10.4   LaCrosse
LaCrosse_28    T: 21.5 H: 50 D: 10.6   LaCrosse
Sommerzeit     off   dummy
Twilight            6   Twilight
aussentemp_dummy    ? ? ?     dummy

Dummy
Zitatdefmod aussentemp_dummy dummy

setstate aussentemp_dummy 2018-02-08 19:51:04 humidity: 73
setstate aussentemp_dummy 2018-02-08 19:51:04 temperature: -0.1

LaCrosse_1A:
Zitatdefmod LaCrosse_1A LaCrosse 1A
attr LaCrosse_1A IODev myJeeLink
attr LaCrosse_1A alias Temp_außen_Wohnzimmerfenster
attr LaCrosse_1A group Temperatur
attr LaCrosse_1A icon scene_x-mas
attr LaCrosse_1A room Außen

setstate LaCrosse_1A T: 27 H: 31 D: 8.4
setstate LaCrosse_1A 2018-04-09 14:54:58 battery ok
setstate LaCrosse_1A 2018-04-09 14:54:58 dewpoint 8.4
setstate LaCrosse_1A 2018-04-09 14:54:58 humidity 31
setstate LaCrosse_1A 2018-04-09 13:59:55 statHumidityTendency 1h: -5 2h: -8 3h: -13 6h: -35
setstate LaCrosse_1A 2018-04-09 13:59:55 statTemperatureTendency 1h: +2.8 2h: +5.1 3h: +7.4 6h: +16.9
setstate LaCrosse_1A 2018-04-09 14:54:58 state T: 27 H: 31
setstate LaCrosse_1A 2018-04-09 14:54:58 temperature 27

LaCrosse_28:
Zitatdefmod LaCrosse_28 LaCrosse 28
attr LaCrosse_28 IODev myJeeLink
attr LaCrosse_28 alias Temp_außen_Haustür
attr LaCrosse_28 group Temperatur
attr LaCrosse_28 icon fts_door
attr LaCrosse_28 room Außen

setstate LaCrosse_28 T: 21.6 H: 50 D: 10.7
setstate LaCrosse_28 2018-04-09 14:55:26 battery ok
setstate LaCrosse_28 2018-04-09 14:55:26 dewpoint 10.7
setstate LaCrosse_28 2018-04-09 14:55:26 humidity 50
setstate LaCrosse_28 2018-04-09 14:55:26 state T: 21.6 H: 50
setstate LaCrosse_28 2018-04-09 14:55:26 temperature 21.6
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 09 April 2018, 14:48:39
hast du evtl. die namen geändert??

poste doch mal bitte ein list von den sensoren und vom notify.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 09 April 2018, 14:57:35
Die beiden LaCrosse hab ich noch angehängt und das Notify oben editiert, brauchst du noch etwas?

Ne, die Namen sind unverändert.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 08:28:32
also....
ein _list_ ist das immer noch nicht  ::)
list <devicename> in die kommandozeile von fhem eingeben, und das ergebnis dann in code(!)-tags hier posten. <devicename> bitte mit dem korrekten namen ersetzen.


dein notify funktioniert?? also wird aufgerufen?? (ansonsten nochmal neu erstellen. mit hilfe vom eventmonitor zb)
und nur die logik darin passt nicht??

dann lass dir doch mal die von dir verwendeten elemente (Event und Name) ausgeben per log.
vielleicht sieht man da dann schon den fehler.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 08:55:37
Internals:
   DEF        28
   IODev      myJeeLink
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2018-04-10 08:52:29
   MSGCNT     8586
   NAME       LaCrosse_28
   NR         436
   STATE      T: 21.1 H: 53 D: 11.1
   TYPE       LaCrosse
   addr       28
   battery_new 0
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 8640
   myJeeLink_RAWMSG OK 9 40 1 4 187 53
   myJeeLink_TIME 2018-04-10 08:52:29
   previousH  53
   previousT  21.1
   sensorType 0=T(H)
   READINGS:
     2018-04-10 08:52:29   battery         ok
     2018-04-10 08:52:29   dewpoint        11.1
     2018-04-10 08:52:29   humidity        53
     2018-04-10 08:52:29   state           T: 21.1 H: 53
     2018-04-10 08:52:29   temperature     21.1
Attributes:
   IODev      myJeeLink
   alias      Temp_außen_Haustür
   group      Temperatur
   icon       fts_door
   room       Außen


Internals:
   DEF        1A
   IODev      myJeeLink
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2018-04-10 08:53:37
   MSGCNT     8130
   NAME       LaCrosse_1A
   NR         111
   STATE      T: 13 H: 73 D: 8.3
   TYPE       LaCrosse
   addr       1A
   battery_new 0
   bufferedH 
   bufferedT 
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 8163
   myJeeLink_RAWMSG OK 9 26 1 4 106 73
   myJeeLink_TIME 2018-04-10 08:53:37
   previousH  73
   previousT  13
   sensorType 0=T(H)
   READINGS:
     2018-04-10 08:53:37   battery         ok
     2018-04-10 08:53:37   dewpoint        8.3
     2018-04-10 08:53:37   humidity        73
     2018-04-10 07:59:55   statHumidityTendency 1h: +0 2h: +1 3h: +2 6h: +11
     2018-04-10 07:59:55   statTemperatureTendency 1h: +0.9 2h: +0.6 3h: -0.2 6h: -2.9
     2018-04-10 08:53:37   state           T: 13 H: 73
     2018-04-10 08:53:37   temperature     13
   helper:
     _98_statistics STATISTICS
Attributes:
   IODev      myJeeLink
   alias      Temp_außen_Wohnzimmerfenster
   group      Temperatur
   icon       scene_x-mas
   room       Außen


Ja das Notify wird aufgerufen, die Uhrzeit im State ändert sich ständig.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 10:36:44
Zitat von: accessburn am 10 April 2018, 08:55:37
Ja das Notify wird aufgerufen, die Uhrzeit im State ändert sich ständig.

dann weiter mit der liste :)

Zitat von: nils_ am 10 April 2018, 08:28:32
dann lass dir doch mal die von dir verwendeten elemente (Event und Name) ausgeben per log.
vielleicht sieht man da dann schon den fehler.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: rvideobaer am 10 April 2018, 10:40:30
Hallo,

Ich habe bei mir ein ähnliches Problem das ich auch mit 2 Sensoren gelöst habe. Aber ich erstelle ein userReading in dem ich die beiden Temp. Vergleiche und die niedrigste in das Reading schreiben lasse.

Gruß Rolf
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 10:44:52
Okay, hat ein wenig gedauert bis ich rausgefunden habe was du meinst  :D

Das Log spuckt nun brav folgendes aus:
Zitat2018.04.10 10:43:02 1: LaCrosse_1A aktiv


LaCrosse_(28|1A):(temperature|humidity).* {
if ( ReadingsVal("Twilight", "azimuth", 361) > 78 && ReadingsVal("Twilight", "azimuth", 361) < 180 && Value("Sommerzeit") ne "off") {\
   fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_28") ;; fhem(Log 1, "LaCrosse_28 aktiv");;
}else{
   fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;; fhem(Log 1, "LaCrosse_1A aktiv");;
}\
}


Also am Notify scheint es nicht zu liegen.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 10:58:30
Teste doch mal folgendes:
...
fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;; fhem(Log 1, "$NAME aktiv");;

...
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 11:17:22
Produziert auch munter Einträge:

Zitat2018.04.10 11:16:07 1: LaCrosse_1A aktiv

Ich war auch mal so frei und hab ein $EVENT dahinter gesetzt um zu schauen ob überhaupt etwas drin steht, scheint so...

Zitat018.04.10 11:26:07 1: LaCrosse_1A aktiv temperature: 21.4
2018.04.10 11:26:07 1: LaCrosse_1A aktiv humidity: 53
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 11:47:45
Scheint so, als würde $EVENT durch setreading nicht mehr als 2 Argumente verstanden?!? Könnte es sein, dass der Doppelpunkt neuerdings Probleme macht?

Zeiche doch mal $EVTPART0 und $EVTPART1 mit auf, vielleicht bekommt man den damit auf einfache Weise weg.
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 11:52:58
fhem(Log 1, "$NAME aktiv - $EVTPART0 - $EVTPART1");;

Zitat2018.04.10 11:52:15 1: LaCrosse_28 aktiv - temperature: - 21.2
2018.04.10 11:52:15 1: LaCrosse_28 aktiv - humidity: - 53


Hab mal zusätzlich ein neues Reading schreiben lassen. "Test" wird ganz normal geschrieben, Temperatur und Humidity nicht.

fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;;fhem(Log 1, "$NAME aktiv - $EVTPART0 - $EVTPART1");;fhem("setreading aussentemp_dummy test $EVTPART1");;
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 11:58:26
Wenn es am Doppelpunkt liegt (kann grad nicht selbst testen): Geht denn ein
setreading aussentemp_dummy temperature: 21.2
in der Kommandozeile?
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 12:00:30
Du bist auf dem richtigen Weg würde ich sagen:

ZitatWARNING: unsupported character in reading temperature: (not A-Za-z/\d_\.-)
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 12:07:46
OK, Treffer ::) .

Du könntest noch eine Auswertung machen, ob es ein Temperatur- oder Humidity-Event ist und dann den passenden Klartext mit
$EVTPART1 verwenden bzw. den Textbaustein vorab als Variable (z.B. $myreading) ermitteln (mit $myreading "temperature" oder "humidity", je nach $EVTPART0)...
Titel: Antw:Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 12:12:09
Okay, ich bastel das mal. Meld mich da...
Danke schon mal  :)


Kann ich $EVTPART0 direkt in der IF-Abfrage nutzen oder muss ich das erst extra auslesen?

if ($EVTPART0 eq "temperature" ...



Würde dann aus meiner Sicht so aussehen:
LaCrosse_(28|1A):(temperature|humidity).* {
if ( ReadingsVal("Twilight", "azimuth", 361) > 78 && ReadingsVal("Twilight", "azimuth", 361) < 180 && Value("Sommerzeit") ne "off") {\
if ($EVTPART0 eq "temperature:") {\
fhem("setreading aussentemp_dummy temperature $EVTPART1") if ($NAME eq "LaCrosse_28") ;;
}\
if ($EVTPART0 eq "humidity:") {\
fhem("setreading aussentemp_dummy humidity $EVTPART1") if ($NAME eq "LaCrosse_28") ;;
}\
}else{
if ($EVTPART0 eq "temperature:") {\
fhem("setreading aussentemp_dummy temperature $EVTPART1") if ($NAME eq "LaCrosse_1A") ;;
}\
if ($EVTPART0 eq "humidity:") {\
fhem("setreading aussentemp_dummy humidity $EVTPART1") if ($NAME eq "LaCrosse_1A") ;;
}\
}\
}




Okay, geht alles... Läuft wieder wie am Schnürchen  ;D
Danke Beta-User und auch den anderen die sich beteiligt haben  ;)
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 12:46:29
schön das es läuft!


die frage ist nur, hat sich daran etwas geändert? also an dem Teil des setzens....?
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 12:49:36
Das ist eine interne Änderung mir in den Weg gefallen. Das Regex nimmt den Doppelpunkt beim weiterreichen des Readings nicht an. Daher die Stückelung mit $EVTPART0 und 1. Dann kann ich temperature und humidity von Hand angeben und lasse den Punkt einfach weg.

Umständlich, aber geht :-)
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 12:51:38
ja genau..... umständlich :)

Änderung gab es:
https://svn.fhem.de/trac/browser/trunk/fhem/fhem.pl?rev=16087

https://forum.fhem.de/index.php/topic,83840


//edit:
evtl wäre es beim posten der list's eher aufgefallen.


sehen tut man es eigentlich auch hier:
Zitat von: accessburn am 09 April 2018, 14:05:16
Dummy

Zitatdefmod aussentemp_dummy dummy

setstate aussentemp_dummy 2018-02-08 19:51:04 humidity: 73
setstate aussentemp_dummy 2018-02-08 19:51:04 temperature: -0.1


aber die zusätzliche überprüfung auf einen _korrekten_ readingnamen, sollte eine Warnung im Log produzieren!
hast du da mal reingeschaut??
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 13:12:42
Das mit dem Log ist sicher richtig, aber da es erwiesenermaßen mal funktioniert hat, ist der Blick da rein nicht für jeden selbsterklärend ;) . Aber neben der Frage nach dem list und dem Hinweis auf die commandref sollte man zukünftig vielleicht auch standardmäßig einen Blick ins Log empfehlen ::) .

Und das mit dem Doppelpunkt ist so eine Sache, die muß man nicht mitbekommen haben, oder?

Na ja, schön jedenfalls, wenn es gelöst ist.
Und ein (ungetestetes)
my $myreading = $EVTPART0 eq "temperature:" ? "temperature" : "humidity";
vorneweg in Zeile 2 und der Verwendung der Variablen im Text hätte den Code auch etwas übersichtlicher halten können ;) .

Gruß, Beta-User
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 13:13:01
ich nochmal :D

kannst du es mal hiermit versuchen??
sollte im grunde so aussehen wie dein ursprüngliches notify, nur das der "störende" Doppelpunkt entfernt wird.


//EDIT: falschen code entfernt.... korrektur in den weiteren beiträgen!!
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 13:18:30
Coole Idee,

aber (https://perldoc.perl.org/functions/chop.html):
ZitatNote that chop (https://perldoc.perl.org/functions/chop.html#chop-VARIABLE) returns the last character.  To return all but the last character, use substr (https://perldoc.perl.org/functions/substr.html)($string, 0, -1) .
also
$EVTPART0 = substr($EVTPART0, 0, -1);
und mit $EVTPART0 weiterarbeiten oder eben in eine weitere Variable packen...
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 13:18:48
jetzt haben wir quasi gleichzeitig gepostet :D

Zitat von: Beta-User am 10 April 2018, 13:12:42
Das mit dem Log ist sicher richtig, aber da es erwiesenermaßen mal funktioniert hat, ist der Blick da rein nicht für jeden selbsterklärend ;) .
das kann schon sein, aber evtl. für uns als helfende ;)

Zitat von: Beta-User am 10 April 2018, 13:12:42
Aber neben der Frage nach dem list und dem Hinweis auf die commandref sollte man zukünftig vielleicht auch standardmäßig einen Blick ins Log empfehlen ::) .
ich hab ehrlich gesagt auch nicht daran gedacht, nur ist es mir aufgefallen das es eine warnung gibt, weil ich mir die änderungen in fhem.pl angeschaut habe.

Zitat von: Beta-User am 10 April 2018, 13:12:42
Und das mit dem Doppelpunkt ist so eine Sache, die muß man nicht mitbekommen haben, oder?
meinst du das prüfen darauf, oder das er da auftaucht wo er nix zu suchen hat??
mir ist er vorher nicht aufgefallen, aber ich bin mir da auch immer unsicher wo er hingehört und wo nicht bzw. ob er da richtig gewesen wäre.

Zitat von: Beta-User am 10 April 2018, 13:12:42
Na ja, schön jedenfalls, wenn es gelöst ist.
jepp, das sehe ich auch so.

Zitat von: Beta-User am 10 April 2018, 13:12:42
Und ein (ungetestetes)
my $myreading = $EVTPART0 eq "temperature:" ? "temperature" : "humidity";
vorneweg in Zeile 2 und der Verwendung der Variablen im Text hätte den Code auch etwas übersichtlicher halten können ;) .
über code lässt sich ja quasi endlos streiten :D
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 13:20:48
Zitat von: nils_ am 10 April 2018, 13:18:48
jetzt haben wir quasi gleichzeitig gepostet :D
...und schon wieder...

Daher nochmal der Hinweis:
substr() statt chop() wie vorhin gepostet :) .
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 13:21:12
Zitat von: Beta-User am 10 April 2018, 13:18:30
Coole Idee,

aber (https://perldoc.perl.org/functions/chop.html):also
$EVTPART0 = substr($EVTPART0, 0, -1);
und mit $EVTPART0 weiterarbeiten oder eben in eine weitere Variable packen...

argh... erwischt.... das hab ich auf die schnelle überlesen.  :-\ :-\ :-\

dann so?
LaCrosse_(28|1A):(temperature|humidity).* {
    my $r = substr($EVTPART0, 0, -1); #letztes Zeichen entfernen
   
    if ( ReadingsVal("Twilight", "azimuth", 361) > 78 && ReadingsVal("Twilight", "azimuth", 361) < 180 && Value("Sommerzeit") ne "off")
    {
        fhem("setreading aussentemp_dummy $r $EVTPART1") if ($NAME eq "LaCrosse_28");;
    }
    else
    {
        fhem("setreading aussentemp_dummy $r $EVTPART1") if ($NAME eq "LaCrosse_1A");;       
    }
}
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 13:38:32
Zitat von: nils_ am 10 April 2018, 13:21:12
dann so?
So sollte es passen.

[OT]
Ob man direkt mit fertigem Code aushelfen sollte, ist eine Frage, die sich immer mal wieder stellt.
Mir hat es sehr gefallen, dass accessburn hier die diversen Anregungen (und code-Schnipselchen) aufgegriffen hat und dann auch selbständig weiterentwickelt.

Mit dem Post hast du ihm die Möglichkeit genommen, den "erfolgreichen und eleganten" Code selbst fertig zu entwickeln und dann zu posten. Finde ich schade...

M.E. sollte man fertigen Code wirklich nur dann posten, wenn man ihn "sowieso" vorrätig hat oder das ganze zu kompliziert wird, um es  nachzuvollziehen oder zu erklären.

(Wenn es in 2 Tagen dann immer noch keinen update gegeben hätte, wäre es ok gewesen, damit eventuelle Nachahmer das auf die "elegante" Weise lösen können, und ja, mir ist klar, dass das Aufwand ist, das so nachzuhalten... Aber hier war es klar, dass das Problem zwar gelöst war, aber der code noch verbesserungsfähig).
[/OT]

Gruß, Beta-User
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: accessburn am 10 April 2018, 13:42:49
Die Idee mit substr ist ist mir tatsächlich nicht gekommen. Dabei nutze ich sie beruflich in PHP mindestens einmal die Woche. Macht Sinn, spart Zeilen und ist besser einzusetzen. Aber der Lernerfolg bleibt da ich das so lasse wie ich es gemacht habe bis ich es in ein paar Tagen weiter machen kann. Durch den Umzug kommt erst alles nacheinander. Aber trotzdem gut zu wissen.

:-* :-*
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: nils_ am 10 April 2018, 14:14:02
Zitat von: Beta-User am 10 April 2018, 13:38:32
So sollte es passen.

[OT]
Ob man direkt mit fertigem Code aushelfen sollte, ist eine Frage, die sich immer mal wieder stellt.
Mir hat es sehr gefallen, dass accessburn hier die diversen Anregungen (und code-Schnipselchen) aufgegriffen hat und dann auch selbständig weiterentwickelt.

Mit dem Post hast du ihm die Möglichkeit genommen, den "erfolgreichen und eleganten" Code selbst fertig zu entwickeln und dann zu posten. Finde ich schade...

M.E. sollte man fertigen Code wirklich nur dann posten, wenn man ihn "sowieso" vorrätig hat oder das ganze zu kompliziert wird, um es  nachzuvollziehen oder zu erklären.

(Wenn es in 2 Tagen dann immer noch keinen update gegeben hätte, wäre es ok gewesen, damit eventuelle Nachahmer das auf die "elegante" Weise lösen können, und ja, mir ist klar, dass das Aufwand ist, das so nachzuhalten... Aber hier war es klar, dass das Problem zwar gelöst war, aber der code noch verbesserungsfähig).
[/OT]

Gruß, Beta-User

so ich nochmal, auch OT, aber dann reichts hier auch für heute, oder? :D

also:
ich fand es auch gut, das er versucht hat den fehler zu verstehen und auch das er für sich die/eine lösung selbst erarbeitet hat.
grundsätzlich bin ich auch eher zurückhaltend mit dem posten von fertigen code-teilen. da aber die von mir vorgeschlagene lösung "quasi" dem notify aus seinem ersten post entspricht (mit der ergänzung den doppelpunkt zu entfernen), habe ich sie gepostet. (für mich sehen diese wilden if-verschachtelungen wirklich nicht schön aus, aber das ist meine persönliche meinung und keinerlei kritik!)
ob der code jetzt elegant ist? bestimmt nicht. da gibt es immer was zu verbessern.

trotzdem werde ich mir deine anmerkungen (ich will es nicht kritik nennen, denn so lese es nicht!) zu herzen nehmen, und zukünftig - im sinne des lernerfolges für die anderen - noch etwas länger mit dem posten von code warten ;)
Titel: Antw:[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen
Beitrag von: Beta-User am 10 April 2018, 14:37:58
Zitat von: nils_ am 10 April 2018, 14:14:02
so ich nochmal, auch OT, aber dann reichts hier auch für heute, oder? :D
Einen habe ich noch:
Man kann sich die weiteren ausdrücklichen if's ggf. noch sparen, wenn für den ersten Zweig die Bedingung (&& $NAME eq...)  in das oberste if wandert und der zweite Teil dann statt else mit elsif loslegt, gleich mit der Abfrage der Bedingung...

Aber jetzt ist wirklich gut :) .