Hi all,
Ich würde gerne die Restlaufzeit eines Titels realisieren und im FTUI darstellen.
vorübergehend habe ich das folgend realisiert
define currentTrackremaining_dummy_Reading dummy
define currentTrackremaining_Dummy at +*00:00:01 {fhem "set currentTrackremaining_dummy_Reading ". strftime ("%H:%M:%S",localtime(ReadingsVal("Sonos_Schlafzimmer","currentTrackDurationSec",0) - ReadingsVal("Sonos_Schlafzimmer","currentTrackPositionSimulatedSec",0)-3600))}
Der currentTrackremaining_Dummy läuft natürlich immer, auch wenn kein Titel gespielt wird. - verschwendet eigentlich nur Resourcen von Fhem
Frage:
Gibt es ein Reading von Sonos das ich auslesen kann?
oder
Kann ich ein DOIF basteln, dass nur startet wenn "transportState" "playing" akitv ist?
für eure Hilfe wäre ich sehr dankbar
lg
Warum nutzt du nicht einen userReadings-Eintrag in dem Gerät Sonos_Schlafzimmer?
Das sollte nur triggern, wenn sich die currentTrackDurationSec ändert, und kann dann direkt die Restlaufzeit in dem Sonos_Schlafzimmer setzen, z.B. als Reading myRemainingTime...
Vorteile:
- Event-Basiert, wird also nur ausgewertet, wenn sich ein relevanter Wert ändert => geringst mögliche Systembelastung
- Direkt da, wo man es vermutet (beim Sonos...)
Hallo Beta-User
Vielen Dank für die rasche Antwort
Wie realisiere ich das am besten?
1. Schritt: commandref zu userreadings lesen (+ggf. Wiki).2. Schritt: selber versuchen... Basis ist ja schon in dem at.
Wenn's dann nicht will, code Posten...
hab's hinbekommen - Danke für den Hinweis Beta-User
Userreading
currentTrackremaining:currentTrackPositionSimulatedSec:.* {strftime ("%H:%M:%S",localtime(ReadingsVal("Sonos_Schlafzimmer","currentTrackDurationSec",0) - ReadingsVal("Sonos_Schlafzimmer","currentTrackPositionSimulatedSec",0)-3600))}
:)
:) Schön, dass es geklappt hat.
Setzt du den Thread noch auf [gelöst]? (Ja, kannst du selbst: ersten Beitrag editieren und da den Titel ändern.)