XML auslesen was sich nach und nach füllt. Nur wie?

Begonnen von AK-868, 16 Januar 2015, 09:00:30

Vorheriges Thema - Nächstes Thema

AK-868

Hallo zusammen.

Ich stehe vor einem ungelösten Problem.

Im Bezug auf mein Projekt

http://forum.fhem.de/index.php/topic,32030.0.html

Möchte ich gern folgendes auslesen: Rückgabeformat .xml

http://192.168.0.16:80/fsapi/GET_NOTIFIES?pin=1234&sid=2017521190

Nur jedes mal wenn ich die Seite aufrufe ist diese komplett Leer.

Lasse ich diese im Browser geöffnet, kommen alle möglichen Events rein. Z.b. wenn ich am Radio die Lautstärke ändere. Egal ob direkt am Gerät oder per App.
Deswegen heisst das Teil vermutlich GET_NOTIFIES. ;)

Wie stelle ich das an das in meinem Modul zu speichern und die Verbindung offen zu halten.

Grüße
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Markus Bloch

Hi,

das klingt stark nach fehlenden Headern im Request (z.B. Cookies, Referer, usw.).

So wie du das ganze beschreibst, klingt das für mich nach einem unendlichen HTTP Stream wo dann die Events übertragen werden. So etwas ist mit den HTTPUtils nicht direkt möglich. So etwas könnte man mit DevIo implementieren, wo man in der InitFn den initialen HTTP Request sendet und dann nur noch via ReadFn die Events einliest und verarbeitet.

Beschreib doch mal etwas genauer wie das ganze funktioniert.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

AK-868

Hallo Markus,


vielen Dank für deine Antwort. Ich würde das gern näher erklären wie das Funktioniert. Kann es aber leider nicht.

Auch beim Sniffen ist mir das nicht so genau aufgefallen.

Wenn ich die Seite öffne (Browser) ist nichts enthalten.

Drehe ich zum Beispiel am Lautstärke-Regler, wird der neue Wert übermittelt und per Browser ausgegeben.

Wie könnte ich das raus bekommen, ich glaube der Browser gibt wenig Infos.

Grüße
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


herrmannj

Hi,

das wird umfangreicher.

Kurzform:
socket öffnen (nonblocking).
Den Socket in der select loop registrieren.
Im Modul eine readfn definieren.
fhem meldet sich dann bei Dir sobald Daten bereitstehen.

Vergleichbare Techniken findest Du zB im HMLAN modul, dort könntest Du beginnen Dich einzulesen.

vg
jörg

Markus Bloch

Ein TCP-Dump der das ganze aufzeichnet wäre schonmal ein Anfang. Dann kann man genau sehen wie das ganze läuft.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

herrmannj


AK-868

Hallo Markus, danke für deine Antworten...

Ich werde mir das alles anlesen und möchte es lernen.

Jemand (Schroediman) hat mich vollsändig überholt und alles das (einfach so ohne fragen) schon eingebaut.

Wenn du Interesse hast, kannst du dir das mal anschauen. Wie ich finde super Arbeit. http://forum.fhem.de/index.php/topic,32030.0.html

Vllt. schaust du mal drüber und wenn du noch Verbesseringsvorschläge hast immer her damit.

Ich danke dir sehr für deine Hilfe und wenn ich darf werde ich noch bei anderen vorhaben bei dir nachfragen ;)

Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


justme1968

falls du doch noch selber basteln möchtest schau dir mal das harmony modul an.

das öffnet ein socker, hält es offen, baut alle daten die nacheinander rein kommen zusammen und parsed die darin enthaltenen daten. ohne das FHEM dabei blockiert wird.

genau das prinzip das herrmannj  oben skizziert hat.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968