FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: siggel am 12 April 2020, 19:24:42

Titel: Korrekturvorschläge 39_alexa
Beitrag von: siggel am 12 April 2020, 19:24:42
Hallo zusammen,

bei Nutzung des Moduls sind mir ein paar Dinge aufgefallen, die ggf. korrigiert werden sollten:

Ansonsten super Sache, vielen Dank!

Titel: Antw:Korrekturvorschläge 39_alexa
Beitrag von: justme1968 am 12 April 2020, 20:43:05
1. könnte ab morgen behoben sein. bitte mal testen.

2. da intern die gleichen routinen verwendet werden habe ich auf den ersten blick noch keine idee warum das verhalten
    unterschiedlich ist. mal sehen...

3. das log device ist nur zum anschauen der logs über einen klick links oben in der detail ansicht des alexa device.
    es soll weder ein sichtbares fhem device sein noch sich umbenennen oder in irgendwelche räume schieben lassen.
Titel: Antw:Korrekturvorschläge 39_alexa
Beitrag von: mimue am 06 September 2020, 13:52:59
Zitat von: justme1968 am 12 April 2020, 20:43:05
1. könnte ab morgen behoben sein. bitte mal testen.

"morgen" war wohl am 13. April, oder irre ich mich ?

Zitat
3. das log device ist nur zum anschauen der logs über einen klick links oben in der detail ansicht des alexa device.
    es soll weder ein sichtbares fhem device sein noch sich umbenennen oder in irgendwelche räume schieben lassen.

Ich bin eher zufällig beim Aufräumen auf den Sachverhalt gestossen. Ich fände es schöner, wenn das Logging sich an den allgemeinen Usancen von FHEM orientiert, und alle Einträge in eine Standard-FileLog-Datei ausgegeben würden.

Bei Durchsicht des Codes für 39_alexa.pm fällt auf, daß "alexa-%Y-%m-%d.log" als Logdatei fest codiert ist. Wozu ein eigenes "device" alexaFHEMlog benötigt wird, erschließt sich ebenfalls nicht wirklich.

Auf Zeile 260 findet sich ein Vergleich, dessen Signifikanz mir rätselhaft erscheint:


if( $logfile && $logfile ne 'FHEM' )


Ansonsten stimme ich siggel zu: "Super Sache", Danke dafür.
Titel: Antw:Korrekturvorschläge 39_alexa
Beitrag von: justme1968 am 06 September 2020, 17:44:11
es ist ein standard file log device bzw. kann alles was ein standart file log device im bezug auf benennung, rotation und betrachten aus fhemweb auch kann. aber der zweck ist ein anderer und die einträge sind die ausgaben von alexa-fhem und haben nichts mit dem normalen format von fhem log fies zu tun die zum platten verwendet werden. ausserdem braucht das modul die kontrolle darüber weil ausgaben direkt geparsed und umgeleitet werden.

es ist nichts fest codiert. mit dem alexaFHEM-log attribut kannst du den namen genau so wie bei jedem anderen file log device nach wunsch ändern.

wenn FHEM als name verwendet wird landen die ausgaben im normalen haupt log von fhem.
Titel: Antw:Korrekturvorschläge 39_alexa
Beitrag von: mimue am 07 September 2020, 05:25:02
Zitat von: justme1968 am 06 September 2020, 17:44:11
wenn FHEM als name verwendet wird landen die ausgaben im normalen haupt log von fhem.

Vermutlich soll das meine Frage nach der Sinnhaftigkeit von Zeile 260 sein. Mag sein, daß der Effekt so eintritt, wie von Dir beschrieben. Allerdings bezweifle ich, daß Zeile 260 irgendeiner Logik folgt.

Eine Variable per && mit sich selbst zu verknüpfen, und anschlißend zu schauen, ob da Ergebnis "FHEM" ist, erscheint mir mehr als fragwürdig.

Zur Logdatei soviel: Wenn sie als Status - Merker gebraucht wird, sollte sie auch so heißen. Ein device vom Typ FileLog sollte sich auch so verhalten wie es dem Typ entspricht.
Titel: Antw:Korrekturvorschläge 39_alexa
Beitrag von: betateilchen am 07 September 2020, 08:49:11
Zitat von: mimue am 07 September 2020, 05:25:02
Allerdings bezweifle ich, daß Zeile 260 irgendeiner Logik folgt.

Eine Variable per && mit sich selbst zu verknüpfen, und anschlißend zu schauen, ob da Ergebnis "FHEM" ist, erscheint mir mehr als fragwürdig.

Allerdings bezweifle ich, dass Du genug Ahnung von perl hast, um eine solche Aussage treffen zu können.

if( $logfile && $logfile ne 'FHEM' )


Die Abfrage mit zwei Bedingungen, die beide erfüllt sein müssen, um "wahr" zu ergeben, hat also durchaus einen Sinn.
Wenn die Variable gar keinen Inhalt hat, wird die zweite Prüfung nicht mehr ausgeführt.
Würde man die erste Prüfung weglassen und die Variable ggf. ohne Inhalt auf "ungleich FHEM" prüfen, gäbe es eine perl Warnung im Logfile.
Titel: Antw:Korrekturvorschläge 39_alexa
Beitrag von: justme1968 am 07 September 2020, 09:51:56
ich weiss nicht was ein status merker sein soll. aber:

- du scheinst denn unterschied zwischen daten log und fehler/info log nicht zu verstehen
- wie oben geschrieben ist es kein daten log sondern ein fehler/info log das nicht zum plotten sondern zum anschauen ist
- genau so wie das haupt fhem log das auch kein 'normales' file log device ist.