neues Modul Astro.pm

Begonnen von Prof. Dr. Peter Henning, 05 Juli 2017, 21:39:21

Vorheriges Thema - Nächstes Thema

Invers

Egal , was man einstellt, die Meldungen kommen immer. Habe auch dieses Problem.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Ellert

Ich frage mich, warum an dieser Stelle im Modul "Log" verwendet wird, statt Log3.

Prof. Dr. Peter Henning

Weil "name" in dieser subroutine nicht bekannt ist.

LG

pah

Kicres

Hallo, seit einigen Tagen werden bei mir nur noch Events vom Reading "state" generiert, nicht jedoch von den übrigen Readings des Moduls Astro. Auch bspw. event-on-update-reading SunAlt erzwingt keine Events. Gab es eine Änderung am Modul, oder was kann ich falsch gemacht haben, um solch einen Effekt zu bekommen?
Schöne Grüße aus Braunschweig!
Kai

nils_

poste doch mal ein list von deinem device (in code-tags bitte!)
viele Wege in FHEM es gibt!

Kicres

Ist dies gemeint?


Internals:
   INTERVAL   300
   NAME       Astro
   NR         266
   STATE      Updated
   TYPE       Astro
   VERSION    1.48
   READINGS:
     2018-08-13 10:16:00   AstroTwilightEvening 23:18
     2018-08-13 10:16:00   AstroTwilightMorning 03:24
     2018-08-13 10:16:00   CivilTwilightEvening 21:25
     2018-08-13 10:16:00   CivilTwilightMorning 05:18
     2018-08-13 10:16:00   CustomTwilightEvening 20:40
     2018-08-13 10:16:00   CustomTwilightMorning 06:03
     2018-08-13 10:16:00   MoonAge         27.2
     2018-08-13 10:16:00   MoonAlt         15.4
     2018-08-13 10:16:00   MoonAz          97.9
     2018-08-13 10:16:00   MoonDec         7.3
     2018-08-13 10:16:00   MoonDiameter    32.4
     2018-08-13 10:16:00   MoonDistance    369274
     2018-08-13 10:16:00   MoonDistanceObserver 367638
     2018-08-13 10:16:00   MoonLat         3.5
     2018-08-13 10:16:00   MoonLon         167.6
     2018-08-13 10:16:00   MoonPhaseN      0.06
     2018-08-13 10:16:00   MoonPhaseS      Waxing Crescent
     2018-08-13 10:16:00   MoonRa          11.4
     2018-08-13 10:16:00   MoonRise        08:23
     2018-08-13 10:16:00   MoonSet         22:05
     2018-08-13 10:16:00   MoonSign        Maiden
     2018-08-13 10:16:00   MoonTransit     15:22
     2018-08-13 10:16:00   NauticTwilightEvening 22:15
     2018-08-13 10:16:00   NauticTwilightMorning 04:28
     2018-08-13 10:16:00   ObsAlt          80
     2018-08-13 10:16:00   ObsDate         13.08.2018
     2018-08-13 10:16:00   ObsDayofyear    225
     2018-08-13 10:16:00   ObsGMST         05:42:53
     2018-08-13 10:16:00   ObsHor          0
     2018-08-13 10:16:00   ObsIsDST        1
     2018-08-13 10:16:00   ObsJD           2458343.84
     2018-08-13 10:16:00   ObsLMST         06:24:49
     2018-08-13 10:16:00   ObsLat          52.276
     2018-08-13 10:16:00   ObsLon          10.483
     2018-08-13 10:16:00   ObsSeason       Summer
     2018-08-13 10:16:00   ObsSeasonN      2
     2018-08-13 10:16:00   ObsTime         10:16:00
     2018-08-13 10:16:00   ObsTimezone     2
     2018-08-13 10:16:00   SunAlt          37.3
     2018-08-13 10:16:00   SunAz           117.7
     2018-08-13 10:16:00   SunDec          14.6
     2018-08-13 10:16:00   SunDiameter     31.6
     2018-08-13 10:16:00   SunDistance     151559349
     2018-08-13 10:16:00   SunDistanceObserver 151555485
     2018-08-13 10:16:00   SunLon          140.5
     2018-08-13 10:16:00   SunRa           9.5
     2018-08-13 10:16:00   SunRise         05:57
     2018-08-13 10:16:00   SunSet          20:46
     2018-08-13 10:16:00   SunSign         Lion
     2018-08-13 10:16:00   SunTransit      13:22
     2018-08-13 10:16:00   state           Updated
Attributes:
   horizon    0
   interval   300
   room       Wettervorhersage


Im Device wird intern wohl alles schön alle 5 Minuten berechnet - im Frontend wird allerdings auch nur der state aktualisert ("updated"). Um die einzelnen Readings zu sehen, muss ich im Browser die Seite neu laden.

Im Event-Monitor kommt dann nur alle 5 Minuten

2018-08-13 10:21:00 Astro Astro Updated
2018-08-13 10:26:00 Astro Astro Updated


Kai

Prof. Dr. Peter Henning

In Version 1.48 wird beim Update der Datenwerte nur noch EIN Event generiert, nämlich für das Reading "state" - alle anderen Updates sind ohne Event und wedern darum nicht automatisch an das Frontend gemeldet.

Ich habe das in der Tat für eine gute Idee gehalten, damit weniger Events generiert werden - denn die dauerhafte Anzeige der Astro-Detailseite macht m.E. nicht viel Sinn.

Ist aber nur eine minimale Änderung im Code, wenn der allgemeine Wunsch besteht, kann ich das auch wieder rückggängig machen.

pah

Magic01

Hi,

also eigentlich kann man die events doch mi event-on-change-reading bzw. event-on-update-reading sehr schön steuern.
Nun hat man gar nicht die Möglichkeit auf irgendwelche geänderten Werte zu reagieren.

Ich hatte z.B. den Event zur Änderung des Sonnenwinkels genutzt um ggf. meine Rollläden herunterzufahren. Klar kann man das auch über einen Timer machen und dann schauen wie der Winkel ist usw...

Also ich wäre ganz Klar für das Standardverhalten, wie es auch die anderen Module machen, also da das vor der 1.48 war.

Grüße
Markus

Ellert

Ich halte die derzeitige Lösung für sinnvoll, man kann bei einem state-Event jedes beliebige Reading auswerten und ggf. ein userReadings für bestimmte Readings anlegen, wenn man Events benötigt.

Dann wird nicht jedes System mit Events zugemüllt, die man nicht benötigt. Ein Attribut zum ein- und ausschalten wäre vielleicht was.

Siehe auch https://forum.fhem.de/index.php/topic,64464.msg556958.html#msg556958

Benni

#249
Ich stehe der Idee auch eher zwiespältig gegenüber. Die Idee der Event-Reduzierung finde ich generell gut, aber damit dürften ja auch readingsGroup und readingsProxy für einzelne Readings des Astro-Moduls ausgehebelt sein. So was verwende ich teilweise für die Anzeige auf InfoPanel-Seiten. (Klar, könnte man das auch anders nachbauen!)

Ich finde jedenfalls auch, dass eine Steuerung bisher mit event-on-* schon gut möglich wäre.

Zitat von: Prof. Dr. Peter Henning am 17 August 2018, 19:00:05
Ist aber nur eine minimale Änderung im Code, wenn der allgemeine Wunsch besteht, kann ich das auch wieder rückgängig machen.
Dann spendier dem Modul doch einfach ein Attribut dafür. Default-Einstellung das neue Verhalten mit einem state-Event, optional das alte Verhalten mit Events für jedes Reading.

gb#

Prof. Dr. Peter Henning

Zitat
Nun hat man gar nicht die Möglichkeit auf irgendwelche geänderten Werte zu reagieren

Pardon, das ist Unsinn. Selbstverständlich kann man auf ein state-Event triggern.

LG

pah

Kicres

pah, vielen Dank für die Erläuterung.

Zitat von: Magic01 am 17 August 2018, 19:55:23
Hi,

also eigentlich kann man die events doch mi event-on-change-reading bzw. event-on-update-reading sehr schön steuern.
Nun hat man gar nicht die Möglichkeit auf irgendwelche geänderten Werte zu reagieren.

Ich hatte z.B. den Event zur Änderung des Sonnenwinkels genutzt um ggf. meine Rollläden herunterzufahren. Klar kann man das auch über einen Timer machen und dann schauen wie der Winkel ist usw...

Also ich wäre ganz Klar für das Standardverhalten, wie es auch die anderen Module machen, also da das vor der 1.48 war.

Grüße
Markus

Ich habe genau den gleichen Anwendungsfall wie Markus - Rolladensteuerung. Ich wünsche mir auch das alte Verhalten zurück.

Notgfalls müsste ein event-on-update/change-Rreading-Attribut auf ein (nicht-state-)Reading die Events erzwingen können - oder wenigstens eine Warnung auslösen.

Kai



CoolTux

Ich hätte bitte gerne auch das der User über Readingevents bestimmen kann.
Grund. Mein neues Modul soll modulfremde Devices steuern. Dazu können auch Events Deines Modules helfen und der User kann ein Device Deines Modules als Triggerdevice mit angeben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Prof. Dr. Peter Henning

OK, ich habe gerade Version 1.49 eingecheckt - jedes Update löst jetzt wieder eine ganze Anzahl von Events aus, aber nur, wenn sich das entsprechende Reading geändert hat.

Damit ist zwar die von manchen gewünschte Kontrolle noch nicht vollständig hergestellt - aber das würde auch etwas mehr Arbeit machen. Die kann ich wegen anderweitiger Pflichten erst wieder im Herbst bringen.

LG

pah

Magic01

Zitat von: Prof. Dr. Peter Henning am 18 August 2018, 09:55:04
Pardon, das ist Unsinn. Selbstverständlich kann man auf ein state-Event triggern.

LG

pah

Ja, kann man. Kommt aber direkt einem Timer gleich, nur das der Timer in diesem Fall im reload Timer des Moduls eingestellt wird.

Des weiteren kann man nun auch Werte des Moduls nicht mehr in der Datenbank abfragen bzw. In einen Plot aufnehmen.