Diskussions-Thread zum RSS-Workshop

Begonnen von betateilchen, 15 April 2014, 19:54:33

Vorheriges Thema - Nächstes Thema

der-Lolo

Hallo Strauch,
postest Du auch mal deine Sonos einblendung - mein erster versuch das aktuell abspielende Cover einzublenden endete kläglich...

Danke.

strauch

Meiner auch, mal funktionierts mal nicht. Ich weiß nicht ob hier das zuschlägt was betateilchen geschrieben hat, das man keine selbstgenerierten Bilder einbinden kann. Ich hab schon überlegt Sonos auf eine andere FHEM Instanz auszulagern. Zumal es auch immer wieder Probleme mit meinem FHEM Server macht.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

yogiflop

Ich hätte da nochmal ein Problem mit String, ich denke ich schmeiße da wieder ein paar Sachen durcheinander ....

condition { (substr(ReadingsVal("Abfuhrkalender.cal.dum","state",""),0,6) . "20" . substr(ReadingsVal("Abfuhrkalender.cal.dum","state",""),6,2)) eq date }


Er soll eigentlich nur das Datum eines Kalendereintrages mit dem aktuellen vergleichen. Da aber das Kalenderdatum im Format "TT.MM.JJ" ausgegeben wird, musste ich mir noch eine "20" dazwischen bauen.

Da meckert er leider etwas wenn ich die Zeile direkt in FHEM probiere (dann ohne condition).

Bareword "date" not allowed while "strict subs" in use at (eval 40971) line 1.


gruß
Marc
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

der-Lolo

danke strauch, da hast du gerade unbewusst mit dem Zaunpfahl gewunken - Sonos läuft bei mir ja schon seperat...
Asche auf mein Haupt.

yogiflop

...... und die Fragezeichen werden nicht weniger ..... ich glaube ich werde zu alt für sowas ;-)

1. betateilchen hat geschrieben, das er das RSS-Bild auf einen anderen Server kopiert. Jetzt steht die erste Blase da und fragt sich, wie man eine Datei die von einer Webseite generiert wird kopieren kann.

2. momentan noch sehr oft Probleme mit openweathermap das dort ständig Abbrüche sind.

3. das Problem aus 2 Posts weiter oben.

gruß
Marc
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

Benni


Zitat von: yogiflop am 22 April 2014, 20:29:47
wie man eine Datei die von einer Webseite generiert wird kopieren kann.


Ich hole mir die Datei momentan per wget ab.

Eine weitere Möglichkeit wäre das mit curl zu machen.

Aber wahrscheinlich gibt es, wie immer,  auch eine noch elegantere Möglichkeit :)

Dr. Boris Neubert

Save as... aus dem Browser heraus?

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

yogiflop

Zitat von: Dr. Boris Neubert am 22 April 2014, 20:38:14
Save as... aus dem Browser heraus?

Grüße
Boris

nicht wenn ich das als CronJob alle 5 Minuten laufen lassen möchte ..... sorry ... hätte  ich beischreiben sollen ....
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

Zitat von: Benni am 22 April 2014, 20:36:35
Ich hole mir die Datei momentan per wget ab.

ich auch :)


wget "http://127.0.0.1:8083/fhem/rss/dualpng.png" -O dualpng.png
scp dualpng.png pi@192.168.123.140:/var/www/tab/dualpng.png
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

noch ein Tipp zum Mülleimerkalender:

Es ist sehr viel einfacher, sich die Abfuhrtermine in ein .holiday File zu schreiben und das Modul 95_holiday zu verwenden ;) Man muss zwar dann für jedes Jahr die Datei EINMAL neu erstellen, aber ich habe das gestern in 15 Minuten erledigt. Einen Kalender bei Google muss man schließlich auch darauf kontrollieren, abweichende Abfuhrtermine (z.B. wegen Feiertagen) manuell zu korrigieren - das dauert mindestens genauso lange.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

Zitat von: betateilchen am 22 April 2014, 21:07:37
noch ein Tipp zum Mülleimerkalender:

Es ist sehr viel einfacher, sich die Abfuhrtermine in ein .holiday File zu schreiben und das Modul 95_holiday zu verwenden ;) Man muss zwar dann für jedes Jahr die Datei EINMAL neu erstellen, aber ich habe das gestern in 15 Minuten erledigt. Einen Kalender bei Google muss man schließlich auch darauf kontrollieren, abweichende Abfuhrtermine (z.B. wegen Feiertagen) manuell zu korrigieren - das dauert mindestens genauso lange.

Unsere Samtgemeinde bietet den Abfuhrkalender jahresweise als ical-download an, und den kann ich dann (inkl. Feiertagsabweichungen) direkt in den Kalender einmal importieren.
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

eine fortschrittliche Gemeinde :) Hier in der Stadt geht das nach Bezirken...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Icebear am 21 April 2014, 19:15:23
Folgendes fehlt mir eigentlich beim definieren des RSS
3. ein Push/Pop befehl um die Einstellungen zu sichern. Das macht in bezug auf conditions sinn da ich bevor ich die Anweisung der condition ausführe alles sichere (farben, fonts, turtle position schriftgröße) um auch bei ausgeführter condition den zustand vorher zurückholen kann. Es ist mir klar das ich das natürlich auch manuell alles passend setzen kann aber es würde die arbeit imho erleichtern.

Bitteschön :)


Index: 02_RSS.pm
===================================================================
--- 02_RSS.pm (revision 5603)
+++ 02_RSS.pm (working copy)
@@ -431,6 +431,7 @@

   my @layout= split("\n", $layout);

+  my %params2;
   my %params;
   $params{font}= "Arial";
   $params{pt}= 12;
@@ -566,6 +567,10 @@
             $params{y} = $y;
             my $arg= AnalyzePerlCommand(undef, $arg);
             RSS_itemImg($S,$x,$y,$scale,$imgtype,$srctype,$arg,%params);
+          }  elsif($cmd eq "push") {
+            %params2 = %params;
+          }  elsif($cmd eq "pop") {
+            %params = %params2;
           } else {
             Log3 $name, 1, "$name: Illegal command $cmd in layout definition.";
           }


Falls Du das im Modul verankert haben willst (ich sehe die Notwendigkeit eigentlich immer noch nicht wirklich gegeben) musst Du Boris als Modul-Maintainer überzeugen. Die korrekte Forumrubrik für 02_RSS.pm ist das Unterforum "Frontends"
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

strauch

Hallo betateilchen,

würde mich über deine Meinung freuen: Ich überlege gerade wie ich am Besten Readings "umschreibe". Als Beispiel, ich habe sowohl FHT Tür Fensterkontakte, als auch Homematic im Einsatz. Die FHTTK sagen Open oder Closed. Die Homematic sagen open oder closed. Die Heizkörperregler sagen z.B. manual oder manu. Das würde ich gerne angleichen. Macht es Sinn und vor allem klappt das dies bei der Ausgabe durch ein irgendwie eingebundenes s/manu/manual/
anzupassen, oder soll ich soetwas am Besten direkt im Device ändern durch eventMap?

Bisher hat mich das nicht weiter gestört, auf dem RSS Bild sieht es aber blöd aus.

Danke

strauch
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

betateilchen

Homematic und eventMap ist ziemlich gruslig, davon kann ich nur abraten.

Bau Dir am besten eine Funktion in der 99_myUtils, in der Du die Werte "normalisierst".


sub normalize ($) {
  my ($r) = @_;
  return 'manuell' if ($r eq 'manu');
  return 'manuell' if ($r eq 'manual');
  return 'offen' if ($r =~ m/pen$/);
  return 'zu' if ($r =~ m/losed$/);
  return '???'; #wichtig für unbekannten Status!
}


Im Layout verwendest Du dann die Funktion, um den Wert zu bekommen.

text .1 .1 { "Das Fenster ist: ". normalize(ReadingsVal('fenster1','state','zu')) }

(Ja, ich weiss, manu + manual kann man auch per regexp in EINER Zeile abfragen, aber ich wollte das Prinzip klarmachen.)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!