FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Bartimaus am 24 November 2015, 12:10:48

Titel: HTTPMOD Abfrageinterval
Beitrag von: Bartimaus am 24 November 2015, 12:10:48
Hallo,

ich möchte via HTTPMOD den Status meines DunePlayers auslesen. Über ein DOIF würde ich dann bei Status "paused" z.B. das Licht hochdimmen, bzw. bei Status "Play" das Licht herunterdimmen. Soweit so gut.

Dazu ist es aber erforderlich, das das Abfrageinterval auf 1-2 sek. steht. Ist das kritisch für die Systembelastung ?

LG
Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: rudolfkoenig am 24 November 2015, 12:18:18
Hängt vom verwendeten Server-Hardware, Anzahl und Art der Notifies/FileLogs/etc, und der sonstigen Peripherie (HomeMatic/etc) ab. Generell ist Pollen keine gute Idee.
Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: Bartimaus am 24 November 2015, 14:08:32
Danke. Hm, der Banana ist schon recht kraftvoll, habe aber viele 1wireDevices, sehr viele DOIFs etc. Ich werds ausprobieren und per htop beobachten.

Kann man das Intervall bei HTTPMOD per "set / attr <Device> Intervall XY" ändern> ? Analog zu 1wire-Devices ?
Dann könnte ich ein Notify basteln, welches dieses temporär rauf oder runtersetzt.

Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: ph1959de am 24 November 2015, 15:04:01
"help httpmod" (im Befehls-Eingabefeld)

Suche nach "interval" ... führt Dich zu

Set-Commands

    as defined by the attributes set.*Name If you set the attribute enableControlSet to 1, the following additional built in set commands are available:
        interval
        - set new interval time in seconds and restart the timer
        - ...


Peter
Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: Bartimaus am 24 November 2015, 15:30:20
Ok, danke.
Komme an meinen FHEM Server gerade nicht dran. Werde ich nachher ausgiebigst probieren.
Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: Bartimaus am 24 November 2015, 17:47:59
Sorry, komme da nicht weiter. Und die Beispiele in der commandref/wiki verstehe ich auch nicht.

Dies liefert mir mein Dune, dabei möchte ich "NUR" <command_result>
<param name="protocol_version" value="3"/>
<param name="player_state" value="file_playback"/>
<param name="playback_state" value="paused"/>


"playback_state" als Reading dargestellt haben. Wer kann mir da helfen ?

"help httpmod" in der FHEM-Kommandozeile liefert mir:

Unknown command help, try help.
Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: ph1959de am 25 November 2015, 07:07:34
Zitat von: Bartimaus am 24 November 2015, 17:47:59
Sorry, komme da nicht weiter. Und die Beispiele in der commandref/wiki verstehe ich auch nicht.

Dies liefert mir mein Dune, dabei möchte ich "NUR" <command_result>
<param name="protocol_version" value="3"/>
<param name="player_state" value="file_playback"/>
<param name="playback_state" value="paused"/>


"playback_state" als Reading dargestellt haben. Wer kann mir da helfen ?

Du brauchst sowas:

reading01Name   playbackState
reading01Regex  <regulärer Ausdruck, der den gewünschten Wert zurückliefert>

wobei Du den readingXXName selbst wählen kannst und (dafür gibt es reichlich Tools) den regulären Ausdruck (http://www.fhemwiki.de/wiki/Regul%C3%A4rer_Ausdruck) zusammenstellen musst, der Dir den gewünschten Teilstring aus Deinem HTML Datenstrom extrahiert.

Zitat von: Bartimaus am 24 November 2015, 17:47:59
"help httpmod" in der FHEM-Kommandozeile liefert mir:
Unknown command help, try help.

Auf welchem Stand ist denn Dein Fhem? Insbesondere 98_help.pm und 98_HTTPMOD.pm?

Peter
Titel: Antw:HTTPMOD Abfrageinterval
Beitrag von: Bartimaus am 19 Dezember 2015, 17:07:32
Hallo,

ich habe jetzt wie folgt definiert:

reading01Name Status
reading01Regex \bplaying?|paused?\b


Verbose habe ich mal Testweise auf 5 gesetzt.

Im Logfile steht nun
2015.12.19 17:03:22 5: DuneWz: Read starts extracting all Readings from HTTP Response to Update
2015.12.19 17:03:22 5: DuneWz: ExtractReading Status with regex /\bplaying?|paused?\b/...
2015.12.19 17:03:22 5: DuneWz: ExtractReading sets Status to
2015.12.19 17:03:22 4: DuneWz: Read response to Update matched Reading(s) Status
2015.12.19 17:03:22 5: DuneWz: HandleSendQueue called, qlen = 0


Ein Reading01 mit Name "Status" wird nicht angelegt.

Leider verstehe ich das ProgrammierEnglisch in der Hilfe/Wiki nicht wirklich.... :-[

Was fehlt denn noch ?