Nachlese zum RSS Workshop - Zeigt her Eure Ergebnisse!

Begonnen von betateilchen, 18 April 2014, 20:09:20

Vorheriges Thema - Nächstes Thema

Gerd.Ternes

#45
Zunächst einmal vielen Dank für die Anregungen und Beispiele. Sogar mir als "relativem" Laien ist es gelungen ein (für mich) ansprechendes Resultat zu erzielen. Ich würde jedoch gerne noch auf meine Seite einen entsprechenden Wetterforecast einbauen. Leider fehlt mir im Augenblick der entscheidende Tip (vielleicht übersehe ich hier ja auch etwas).
Daher meine Frage: woher erhalte ich eine entsprechende gif datei bzw. wie würde ein befehlssyntax aussehen um die Daten in mein Bild einzubauen.

Danke im Voraus.

Gelöst! Nach einigen Recherchen habe ich die Lösung im Forum gefunden.

Dennis D.

Hallo zusammen,

wie bekomme ich das eigentlich hin, dass ich z.B. den Meldungstext von Wetterwarnungen in einer Textbox ausgeben bzw. anzeigen lassen kann?

Gruß,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

moonsorrox

äh was meinst du, die reine Textbox..?

wenn dann so z.B.

textbox 0.15 450 600 { utf8ToLatin1 (ReadingsVal("deinGDS","a_headline","")) }


oder so


textbox 50 280 380 { ReadingsVal("deinGDS","a_description","") }
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

betateilchen

Zitat von: Dennis D. am 17 Juli 2014, 09:35:34
wie bekomme ich das eigentlich hin, dass ich z.B. den Meldungstext von Wetterwarnungen in einer Textbox ausgeben bzw. anzeigen lassen kann?

Indem Du die commandref zu 02_RSS liest.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Hollo

#49
So, Zeit für ein "Update"...

Ich habe mittlerweile einen für mich sehr guten Stand erreicht, der sich leicht anpassen lässt.
Darin habe ich eigentlich alles aus dem RSS-Workshop und dem webViewControl (FullscreenBrowser) zusammengefasst.
Die Kombination finde ich super, da damit speziell angepasste Übersichten generiert werden können.

Zielsetzung:   "weniger ist mehr"
   ->   übersichtliche Seiten mit wichtigen Infos
   ->   "Klima" aussen/innen, Multimedia, Licht
   ->   bei den Devices wird angezeigt was nicht im "Normalzustand" ist

Umsetzung:   einzelne html-seiten mit eingebetteten rss-bildern mit entsprechenden rss-configs

Hinweis:   ich habe mir fuer diesen Zweck einen zusätzlichen Google-Account angelegt;
      dadurch habe ich bei Bedarf Zugriff auf Updates, eine eigene Mailadresse für FHEM,
      aber es werden keine Kontakte, Termine etc. angezeigt, verändert etc.


cfg-Dateien für die RSS-Bilder:
-------------------------------

rss.cfg      "Standard-Layout" für beliebige Seiten
   ->   enthält nur einen "Kopf" mit Datum/Uhrzeit

rss.layout   "Layout" für RSS-Bilder   
   ->   X-Koordinaten als relative Angaben, optimiert für 1024px, passend ab 800px
   ->   y-Koordinaten als absolute Angaben, passend ab 600px
   ->   Titelzeile mit Datum, Uhrzeit, Außen- und Innentemperatur
   ->   aktuelle Statusangaben nach Rubriken; angezeigt wird nur was nicht aus ist
   ->   Zusatzinfos wie Schaltzeiten in optimierter Form
   ->   Wetterinfos aktuell und Vorhersage
   ->   Anzeige der Müllabfuhrtermine (morgen/heute) mit entsprechenden Bildern
   ->   bei vorliegender Wetterwarnung wird die Headline unten hervorgehoben ausgegeben, mit Wettericons
   ->   die Wetterwarnung wird als Text ausgegeben
   ->   alle Wetterinfos sind in der Zeichenanzahl begrenzt, damit es in den verfügbaren Platz passt
   ->   für ausführliche Infos gibt es ja die Warnungs-Seite

rsswarn.cfg   "Layout" für RSS-Wetterwarnung-Detail-Bild; basiert auf rss.cfg
   ->   siehe myrss_warn

rsswetter.cfg   "Layout" für RSS-Wetter-Detail-Bild; basiert auf rss.cfg
   ->   siehe myrss_wetter


RSS-Definitionen in FHEM:
-------------------------

myrss_800   PNG, auf 800x600 definiert; nutzt rss.layout
   ->   wenn ich mal eben vom Handy den aktuellen Stand gucken will,
      vermeidet zu viel scrollen
   ->   für Anzeige auf einem kleinen Test-Tablet in meinem Arbeitszimmer

myrss_1024   PNG, auf 1024x730 definiert; nutzt rss.layout
   ->   für Anzeige auf Tablet und PC; wird in den html-Seiten benutzt

myrss_warn   PNG, auf 1024x730 definiert; nutzt rsswarn.cfg
   ->   für Anzeige auf Tablet und PC; wird in den html-Seiten benutzt
   ->   Detailinfos in voller Länge zu Wetterwarnungen (Warnung, Hinweise, Zeitraum, Ausgabezeit)

myrss_wetter   PNG, auf 1024x730 definiert; nutzt rsswetter.cfg
   ->   für Anzeige auf Tablet und PC; wird in den html-Seiten benutzt
   ->   Detailinfos zum Wetter (Tagesplot wie im Workshop, Vorhersage)


HTML-Dateien für den Webserver:
-------------------------------

status.html   Browser-Startseite für die Infos
   ->   myrss_1024 eingebettet
   ->   Dateien für webViewControl eingebettet; Text- und Sprachausgabe
   ->   automatischer Refresh alle 5 Minuten
   ->   per imagemap 3 Bereiche (Panel, Wetter, Warnungen)

warnung.html   Browser-Seite für die Detail-Infos zu Wetterwarnungen
   ->   myrss_warn eingebettet
   ->   Dateien für webViewControl eingebettet; Text-/Sprachausgabe, Voicecontrol
   ->   Infobild direkt vom DWD eingebettet, um zusätzliche SETs und GETs zu vermeiden
   ->   Hinweis bei keiner Warnung mit DWD-Bild Deutschland
   ->   Detailinfos in voller Länge bei Warnung mit DWD-Bild NRW
   ->   automatischer Reload zurück nach status.html nach 1 Minute
   ->   zusätzlich "zurück-Button" per imagemap Icon oben rechts als HOME-Button auf status.html

wetter.html   Browser-Seite für die Detail-Infos zum Wetter
   ->   Dateien für webViewControl eingebettet; Text-/Sprachausgabe, Voicecontrol
   ->   Wettervorhersage in waagerechter Form
   ->   Wettergrafik aus Workshop
   ->   automatischer Reload zurück nach status.html nach 1 Minute
   ->   zusätzlich "zurück-Button" per imagemap Icon oben rechts als HOME-Button auf status.html

panel.html   Browser-Seite als Bedienfeld für Schaltvorgänge
   ->   panel.css eingebunden für Optik
   ->   Dateien für webViewControl eingebettet; Text-/Sprachausgabe, Voicecontrol
   ->   automatischer Reload zurück nach status.html nach 1 Minute
   ->   zusätzlich ein Zurück-Button auf status.html


ToDo:
-----

- Panel muss an einigen Stellen noch mit "Leben" gefüllt werden
- Umstellung des "System-Bereiches" zur Anzeige von Terminen, Neu-Email-Info, Server-Infos o.ä.
- Testserie für Pro & Contras unterschiedlicher Konfigurationen mit mehreren Tablets
- Tablet An-/Einbau in schick (welche Möglichkeiten etc.)
- Umstellung auf Neuladen der Status-Seite durch FHEM, damit bei Display aus kein "Traffic/Bildgenerierung" erfolgt


Bei Fragen einfach drauf los, kostet nix und hilft vielleicht auch anderen weiter.

Gruß,
Hollo
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

marko67

#50
Dann möchte ich auch mal meine Ergebnisse vorstellen.
Viele Grüsse an moonsorrox der mir etwas auf die Sprünge geholfen hat ;-)

Vg Marko

frankbeckers

Nabend,

dann möchte ich auch mal meine Ergebnisse zu dem RSS Workshop zeigen. Es finden sich natürlich viele Ideen aus dem Workshop oder aus anderen "Zeigt her Eure Ergebnisse!"... aber auch ein paar eigene sind dabei.

Kalender
Die Kalender Funktionen hier aus diesem Thread wurden im groben übernommen, allerdings mit einer eigenen Berechung des Datums und des Wochentages... um von den Informationen aus dem Wetter Modul unabhängig zu sein. Die Rahmen sind statisch auf dem Hintergrund.

...
text   304 50 { use POSIX qw(strftime);; strftime("%a, %d. %b", localtime( time() + 1*24*60*60)) }
text   467 50 { use POSIX qw(strftime);; strftime("%a, %d. %b", localtime( time() + 2*24*60*60)) }
text   631 50 { use POSIX qw(strftime);; strftime("%a, %d. %b", localtime( time() + 3*24*60*60)) }
usw.
...



Wetter
Es wurde ein anderer Satz Icons für die Wettervorhersage genommen. Dabei habe ich einfach die Filenamen entsprechend umbenannt und in ein eigenes Verzeichnis gestellt

...
img 35 108 0.7 png file { "/opt/fhem/rss/weather/" . ReadingsVal("WetterNiederkassel","fc1_icon","na") . ".png" }
img 310 73 0.4 png file { "/opt/fhem/rss/weather/" . ReadingsVal("WetterNiederkassel","fc2_icon","na") . ".png" }
img 470 73 0.4 png file { "/opt/fhem/rss/weather/" . ReadingsVal("WetterNiederkassel","fc3_icon","na") . ".png" }
usw.
...



Abfall
Der Abfall Kalender basiert auf dem Modul HOLIDAY. Lediglich als Unterschied gibt es pro Tag eine CONDITION Abfrage.

...
condition { use POSIX qw(strftime);; (fhem("get abfall MM-DD ".strftime("%m-%d", localtime( time() + 0*24*60*60)) ,1) ne "none")}
img 65 200 0.3 png file { "/opt/fhem/rss/abfall.png" }
text 110 230 { use POSIX qw(strftime);; fhem("get abfall MM-DD ".strftime("%m-%d", localtime( time() + 0*24*60*60)) ,1) }
condition 1

condition { use POSIX qw(strftime);; (fhem("get abfall MM-DD ".strftime("%m-%d", localtime( time() + 1*24*60*60)) ,1) ne "none")}
img 314 120 0.25 png file { "/opt/fhem/rss/abfall.png" }
text 354 145 { use POSIX qw(strftime);; fhem("get abfall MM-DD ".strftime("%m-%d", localtime( time() + 1*24*60*60)) ,1) }
condition 1

usw.
...



Mond
Der Mond Kalender basiert auf dem Modul HOLIDAY. Lediglich als Unterschied gibt es pro Tag eine CONDITION Abfrage. (In dem Beispiel Screenshot ist der Mond Zustand am heutigen Tag, also dem Samstag eingeblendet) Da hier in diesem Haushalt die Eine oder Andere "Mondsüchtig" ist, stellt es eine Art von "Alarm" dar  ;) ;) ;)

...
condition { use POSIX qw(strftime);; (fhem("get mond MM-DD ".strftime("%m-%d", localtime( time() + 0*24*60*60) ) ,1) ne "none") }
img 200 40 0.6 png file { use POSIX qw(strftime);;  "/opt/fhem/rss/mond_" . fhem("get mond MM-DD ".strftime("%m-%d", localtime( time() + 0*24*60*60) ) ,1) . ".png" }
condition 1

condition { use POSIX qw(strftime);; (fhem("get mond MM-DD ".strftime("%m-%d", localtime( time() + 1*24*60*60) ) ,1) ne "none") }
img 408 30 0.3 png file { use POSIX qw(strftime);;  "/opt/fhem/rss/mond_" . fhem("get mond MM-DD ".strftime("%m-%d", localtime( time() + 1*24*60*60) ) ,1) . ".png" }
condition 1

usw.
...



Aussentemperatur
Die Werte für die Aussentemperatur und Luftfeuchte kommen von einem Homematic Sensor und werden in einem "flachen" Plot angezeigt.


Solar und Strom
Das "Haus" ist statisch im Hintergrund. Die Werte stammen aus Readings für den Wechselrichter und dem Stromzähler. Über dem Haus die Generierungsleistung der Solaranlage, unter dem Haus links die Einspeisung ins Netz und rechts der Bezug vom Energierversorger.

Der Plot zeigt den realen Stromverbrauch in Echtzeit im Haus. Rot=Bezug Grün=Einspeisung


Raum Temperaturen und Fenster/Türen Zustände
Die Grundrisse sind wieder statisch im Hintergrund enthalten. Die Temperaturen und Luftfeuchtigskeitswerte stammen aus dem entsprechenden Readings der Sensoren. Bei den Zuständen Fenster und Türen stammt die grüne Farbe statisch aus der Hintergrundgrafik. Erst wenn ein Fenster oder eine Türe offen ist, wird ein entsprechend farblich gekennzeichnetes Rechteck darüber gezeichnet.

...
condition { (ReadingsVal("CUL_HM_HM_SEC_RHS_238BD4","state",0) eq "tilted") }
rgb "ffff00"
rect 354 501 360 541 1
condition { (ReadingsVal("CUL_HM_HM_SEC_RHS_238BD4","state",0) eq "open") }
rgb "ff0000"
rect 354 501 360 541 1
condition 1

usw.
...



Waschmaschine, Trockner und Radiator
Die  Waschmaschine, der Trockner und ein strombetriebener Radiator werden im Zustand und Verbrauch dargestellt. Im ausgeschalteten Zustand sind die Gerät schwarz (=eine Grafik), eingeschaltet grün (=eine andere Grafik) mit den entsprechenden Verbrauchswerten.

...
halign "left"
img 380 460 1.0 png file { "/opt/fhem/rss/waschmaschine_aus.png" }
condition { (ReadingsVal("Waschmaschine","state",0) eq "on") }
img 380 460 1.0 png file { "/opt/fhem/rss/waschmaschine_ein.png" }
rgb "ff0000"
text 480 510 { ReadingsVal("Waschmaschine","power",0) }
condition 1

usw.
...



Webcam
Da der gesamte Bildaufbau des RSS Modul anscheinend synchron abläuft, legte der direkte Zugriff auf den Screenshot meiner Webcam das gesamte FHEM System für einige Sekunden still. Daher wird hier aus Sicht des RSS Modules ein "statisches" Bild angezeigt.

...
img  1050 440 0.35 jpeg file { "/opt/fhem/rss/wohnzimmer.jpg" }
...


Aber um trotzdem ein relativ aktuelles Bild zu bekommen startet Fhem selber durch eine AT Definition ein Update dieses Bildes. Hier die enstprechende Defintion dazu:

Internals:
   DEF        +*00:01:00 { system("/usr/bin/wget --quiet --user=*** --password=** --tries=5 -O /opt/fhem/rss/wohnzimmer.jpg http://192.168.47.11/snapshot.cgi&") }
   NAME       snapshotWohnzimmer
   NR         487
   NTM        21:59:38
   REP        -1
   STATE      Next: 21:59:38
   TRIGGERTIME 1405799978.82423
   TRIGGERTIME_FMT 2014-07-19 21:59:38
   TYPE       at
Attributes:
   room       Flatscreen
   verbose    0


Das wars....
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

betateilchen

Da hast Du Dir ja eine Menge Arbeit gemacht :)

Erlaube mir zwei Anmerkungen:

1. mathematische Berechnungen

1*24*60*60

Solche Berechnungen solltest Du aus Performancegründen vermeiden, weil jede Multiplikation Rechenzeit benötigt. Und eine Multiplikation mit 1 ist dabei völlig sinnlos. Besser wäre es, diese Werte als 86400 / 172800 / 259200 anzugeben, oder den Wert 86400 als Konstante zu definieren.

Die Berechnungen an sich würde ich ohnehin in eine Funktion in die 99_myUtils auslagern, dann kannst Du dir auch das mehrfache "use Posix..." sparen.


2. Mondphasen

Die Mondphasen für Deinen Standort kannst Du auch direkt aus dem Modul 98_geodata entnehmen, das Du in contrib findest. Dann brauchst Du dafür keinen Kalender pflegen. Die Mondphasen werden dabei aus der wunderground-API gelesen. Es stehen dann zwei Readings "moon_phase" und "moon_age_days" zur Verfügung.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dennis D.

Zitat von: moonsorrox am 17 Juli 2014, 12:42:22
...wenn dann so z.B.

textbox 0.15 450 600 { utf8ToLatin1 (ReadingsVal("deinGDS","a_headline","")) }

oder so

textbox 50 280 380 { ReadingsVal("deinGDS","a_description","") }


SUPER! Vielen Dank, funktioniert!

@ betateilchen: Ok, Frage war unnötig. Habe das "You can use { <perl special> } for <text>" in der command.ref überlesen. Schaue demnächst genauer hin, bevor ich frage  ;)

Gruß,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

frankbeckers

Zitat von: betateilchen am 20 Juli 2014, 14:35:47
Erlaube mir zwei Anmerkungen:

natürlich... nur so kann man lernen.

Zitat von: betateilchen am 20 Juli 2014, 14:35:47
1. mathematische Berechnungen

1*24*60*60

Solche Berechnungen solltest Du aus Performancegründen vermeiden, weil jede Multiplikation Rechenzeit benötigt. Und eine Multiplikation mit 1 ist dabei völlig sinnlos. Besser wäre es, diese Werte als 86400 / 172800 / 259200 anzugeben, oder den Wert 86400 als Konstante zu definieren.

Da ich die Berechnungen mehrfach für mehrere Tage brauchte, macht es sich bestimmt bemerkbar die Werte vorzuberechnen. Habe Deinen Vorschlag bereits umgesetzt.

Zitat von: betateilchen am 20 Juli 2014, 14:35:47
Die Berechnungen an sich würde ich ohnehin in eine Funktion in die 99_myUtils auslagern, dann kannst Du dir auch das mehrfache "use Posix..." sparen.

Ich bin (bis jetzt) kein Freund vom Auslagern. Ich habe diese Empfehlung von "Euch" schon oft gelesen. Bis jetzt habe ich aus Gründen der Lesbarkeit (für mich) aber immer den gesamten Code an den Stellen (notify's, at's, rss.layout etc.) liegen (alles auf einen Blick zu sehen). Gibt es denn einen anderen (mir bis jetzt unbekannten) trifftigen Grund Coding in 99_myUtils auszulagern?

Zitat von: betateilchen am 20 Juli 2014, 14:35:47
2. Mondphasen

Die Mondphasen für Deinen Standort kannst Du auch direkt aus dem Modul 98_geodata entnehmen, das Du in contrib findest. Dann brauchst Du dafür keinen Kalender pflegen. Die Mondphasen werden dabei aus der wunderground-API gelesen. Es stehen dann zwei Readings "moon_phase" und "moon_age_days" zur Verfügung.

Habe mir Dein Modul angeschaut. Da es aber die url Aufrufe synchron (blocking) macht, habe ich die Nutzung wieder verworfen. Ich versuche alle Blocking Aufrufe zu vermeiden... habe damit in der Vergangeheit zu viele schlechte Seiteneffekte gehabt. Ich erwarte von meiner Hausautomation sofortige Antwort in jeder Situation... das klappt aber mittlerweile eigentlich ganz gut.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

betateilchen

#55
Zitat von: frankbeckers am 25 Juli 2014, 20:45:29
Ich erwarte von meiner Hausautomation sofortige Antwort in jeder Situation

Wunschdenken  8) träum weiter *lach*
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeMue

Zitat von: frankbeckers am 25 Juli 2014, 20:45:29
Ich erwarte von meiner Hausautomation sofortige Antwort in jeder Situation ...
Die Frage, die sich mir stellt, ist: was bedeutet sofort? Innerhalb 1 ms? 1 s? Oder reichen auch 10 s?
Das ist m.E. das vieldiskutierte Thema Echtzeitbetriebssystem ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

frankbeckers

Zitat von: PeMue am 27 Juli 2014, 19:45:39
Die Frage, die sich mir stellt, ist: was bedeutet sofort? Innerhalb 1 ms? 1 s? Oder reichen auch 10 s?
Das ist m.E. das vieldiskutierte Thema Echtzeitbetriebssystem ...

Als erstes muss die Weboberfläche "sofort" reagieren, d.h. Der Seitenaufbau sollte "sofort" geschehen. In der Vergangeheit hatte ich halt oft den Fall, dass schon der Web Seitenaufbau sehr langsam war. Um bei Deinen Zahlen zu bleiben: 10 Sekunden ist ein absolutes NoGo.

Ich habe relativ viel Zeit in die Analyse "meiner" Probleme gesteckt. Geholfen hat "apptime" dabei sehr viel. Danach waren es primär die Netzwerk Zugriff von verschiedenen Modulen. Dabei habe ich für Presence meine eigene Lösung programmierte und manches durch Alternativen ersetzt. httpmod plus wendige Zeilen Code haben oft sehr geholfen. Für seriel angebundene Hardware habe ich mein eigenes Modul programmiert.

Zum Schluss musste dann auch der Raspberry ausgetauscht werden, denn der kann viele Plots zwar auf mehrere Prozesse verteilen, aber da er nur einen Rechnkern hat natürlich auch nur "sequentiell" verarbeiten. Hier hat meine neue Plattform Odroid U3 wäre Wunder bewirkt.

Oftmals waren es auch einfache Ideen. Um im Thema dieses Threads zu bleiben:

In meiner Rss Anzeige sind 3 Webcam Bilder einhalten. Wenn man aus dem rss.layout direkt die Bilder der Webcam anspricht, dann kann es zu starken Zeitverzögerungen im gesamten Fhem System kommen, denn Rss wird "sequentiell" komplett abgearbeitet. Und das Abrufen eines Webcam Bildes kann dann schonmal gerne 3 Sekunden dauern (natürlich abhängig von der Kamera, der Netzwerkverbindung und und und).

Ich habe hier dann folgendene Alternative eingesetzt:

Fhem startet alle 60 Sekunden einen at Timer, welcher mittels wget und dies als Hintergrundprozess gestartet ein Webcam Bild abruft und es unter einem festen Namen im Filesystem ablegt. Beim Abruf durch das rss Modul wird eben dieses "statische" Bild herangezogen. Damit hat sich die Laufzeit des rss Moduls drastisch reduziert.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

betateilchen

Zitat von: frankbeckers am 28 Juli 2014, 15:21:33
Fhem startet alle 60 Sekunden einen at Timer, welcher mittels wget und dies als Hintergrundprozess gestartet ein Webcam Bild abruft und es unter einem festen Namen im Filesystem ablegt.

Und warum verlegst Du diese Vorgehensweise nicht komplett ins Betriebssystem und machst das per cronjob? DAS würde wenigstens eine wirkliche Entlastung von fhem bringen. Fhem selbst ist doch auch nicht multiprozessfähig - egal wieviele "Hintergrund"-Prozesse Du daraus generierst.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Paul

Zitat von: frankbeckers am 25 Juli 2014, 20:45:29
Ich erwarte von meiner Hausautomation sofortige Antwort in jeder Situation

Zitat von: frankbeckers am 28 Juli 2014, 15:21:33
Als erstes muss die Weboberfläche "sofort" reagieren, d.h. Der Seitenaufbau sollte "sofort" geschehen.


Ich habe hier dann folgendene Alternative eingesetzt:

Fhem startet alle 60 Sekunden einen at Timer, welcher mittels wget und dies als Hintergrundprozess gestartet ein Webcam Bild abruft und es unter einem festen Namen im Filesystem ablegt. Beim Abruf durch das rss Modul wird eben dieses "statische" Bild herangezogen.



ist das nicht ein Widerspruch, da du immer ein "altes" Bild hast?
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic