Diskussions-Thread zum RSS-Workshop

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

Vorheriges Thema - Nächstes Thema

moonsorrox

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

moonsorrox

#136
da diese Frage sicher öfter kommt

@der-Lolo
Rückgängig machen geht so:
Im Firefox auf Extras/Einstellungen.../Anwendungen den Dateityp "webfeed" zu finden und wieder auf "Vorschau in Firefox" umstellen! ..

dann kannste wieder auf myrss.jpg klicken und das Bild kommt
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

moonsorrox

ZitatDie Pfeile werden über eine Funktion errechnet, die einen (neuen) Messwert mit einem anderen (alten) vergleicht und für eine Wertsänderung den entsprechenden Pfeil zurückliefert.

Oh Oh, dass ist wieder was spezielles... ich lasse es erst mal bin so zufrieden  8)
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

Wenn Du das genau wissen willst, da steckt eine ganze Menge dahinter.

Du brauchst pro Messwert 3 dummy-Devices


define temperatur_alt dummy
define temperatur_neu dummy
define temperatur_sig dummy
attr temperatur_sig verbose 2


dann brauchst Du ein notify, das auf die Temperatur triggert:

define notify_temperatur owo.c_temperature.* { n_tempCheck }

dieses notify ruft die Funktion n_tempCheck auf, diese Funktion liegt in der 99_myUtils.pm


sub n_tempCheck {
my $a;
$a = Value('out_balkon_neu');
CommandSet(undef, "out_balkon_alt $a");
$a = ReadingsVal("out_Balkon","temperature","");
CommandSet(undef, "out_balkon_neu $a");
return;
}


In der Layout-Datei des RSS befindet sich dieser Eintrag

text x y { my $t = tendenz(Value("out_balkon_alt"), Value("out_balkon_neu"),Value("out_balkon_sig")); CommandSet(undef, "out_balkon_sig $t"); $t.ReadingsVal("out_Balkon","temperature","n/a "). "°C";  }


dadurch wird vor der Ausgabe der Temperatur erst die Funktion "tendenz" aufgerufen, die ebenfalls in der 99_myUtils liegt:


sub tendenz($$;$) {
#↑→↓
my ($alt,$neu,$t) = @_;
return '↑' if ($alt < $neu); # steigend
return $t if ($alt == $neu); # gleich
return '↓' if ($alt > $neu); # fallend
}


und den entsprechenden Pfeil vor die eigentliche Temperaturangabe setzt.

Das war auch schon das ganze Geheimnis  :P
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#139
Zitat von: moonsorrox am 18 April 2014, 18:59:16
Schön wäre es jetzt noch wenn wir einen Beitrag eröffnen mit diversen Beispielen/Screenshots wer was schon umgesetzt hat im Statusbild

Die Idee finde ich nicht schlecht, mich interessiert eigentlich auch, wie der Workshop in Ergebnisse umgesetzt wird.

Hier könnt Ihr loslegen: http://forum.fhem.de/index.php/topic,22630.0.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

Zitat von: betateilchen am 18 April 2014, 20:05:51
Wenn Du das genau wissen willst, da steckt eine ganze Menge dahinter.
Ich habe es geahnt 8)

Du nutzt aber auch für die Temperatur deine eigenen Temeraturfühler soweit ich das sehe, weil da etwas von Balkon steht..! Ich habe bisher nur einen Aussenfühler im Norden
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

#141
ich wollte ja auch nur das Prinzip beschreiben ;)

Meine Haupt-Statussseite hat übrigens ein Layout, das aus ca. 1400 Zeilen besteht - nur so als Anhaltspunkt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

Hallo betateilchen,

ich habe den Workshop aufmerksam verfolgt und bin auch schon am basteln und und einstellen. Wo ich allerdings nicht weiterkomme ist die Umwandlung des Datumsformates in ein einigermaßen lesbares Format. Ich habe gesehen, das du eine Funktion "ts2text" verwendest, ich gehe mal davon aus, das du damit die Umwandlung machst. Ich habe hier im Forum schon versucht etwas zu finden, bin aber leider nicht fündig geworden.

Wenn ich dann irgendwann mal fertig bin, werde ich mein Ergebnis auch mal posten. ;-)

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

betateilchen

die ts2text liegt in meiner 99_myUtils.pm.


sub ts2text($){
# used generally
my ($i) = @_;
if ($i ne 'n/a'){
my $year  = substr($i,0,4);
my $month = substr($i,5,2);
my $day   = substr($i,8,2);
my $hh    = substr($i,11,2);
my $mm    = substr($i,14,2);
my $ss    = substr($i,17,2);
my $tx = "$day.$month.$year $hh:$mm:$ss";
return ($tx);
} else {
return ($i);
}
}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

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

moonsorrox

bei dem Beitrag mit den Pfeilen, woher nimmt er denn das "owo.c_temperature" da muss doch bei dir noch ein define existieren, oder irre ich mich.?
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

das ist das reading "c_temperature" aus dem device owo (das wir im Workshop definiert haben)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#147
ich habe das mal versucht umzusetzen und er sagt mir mir immer als Fehler beim rereadcfg "Unknown module owo.c_temperature.* "
deshalb verstehe ich das jetzt nicht, eben weil es ja erstellt haben.

Edit://
jetzt auf einmal geht das..! Ich habe meinen AussenFühler an stelle von deinem Balkonfühler eingesetzt und er zeigt mir die Temperatur an und vorher immer den Fehler mit dem Modul.

Jetzt habe ich mir mal ein zweite layout Datei erstellt, die ich über eine entsprechende html Datei aufrufe mit deinem Beispiel aus der Nachlese, hier wiederum zeigt er mir nichts an..!
Heißt deine Wetterkarte nicht und auch keine Temperatur ist zu sehen...
Ja klar weil ich die Werte von dir nicht nehmen kann, mit dem Balkon da drin ;) und ich denke ganz einfach du fragst deine Wetterstation ab....  8) was bin ich doch blöd...
Fällt mir noch ein was ich noch nehmen könnte sind die Luftfeuchtigkeit von meinem Aussen Sensor... :)

Was aber noch nicht geht sind die Pfeile...! naja ist wohl zu spät  8)
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: moonsorrox am 18 April 2014, 23:49:02
ich habe das mal versucht umzusetzen und er sagt mir mir immer als Fehler beim rereadcfg "Unknown module owo.c_temperature.* "

Es gibt auch kein Modul namens "owo.c_temperature" - Du hast irgendwo einen Fehler in einem define eingebaut.

Es sollte geben:

ein device namens "owo"
dieses device hat den type "openweathermap"
und hat ein reading "c_temperature" sobald eine Station mit set festgelegt wurde

Dann gibt es ein notify das auf c_temperature von owo triggert => das ergibt die regexp owo.c_temperature

Du scheiterst grade an simpelsten fhem-Grundlagen, nicht an RSS ;)


Zitat von: moonsorrox am 18 April 2014, 23:49:02
Was aber noch nicht geht sind die Pfeile...! naja ist wohl zu spät  8)

Ich sag mal so: bis die Pfeile so funktioniert haben, wie ich es wollte, habe ich mehrere Tage gebastelt.
Und solange die dummy und die notify und die Funktionen in der 99_myUtils nicht exakt korrekt sind, wirst Du keine Pfeile sehen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

moonsorrox

#149
Momentan grad wieder mal geschaut und gesehen das mir meine Temperatur angezeigt wird weil ich die ja über Außenfühler nehme, aber die ganze owo Geschichte seit 11.23 Uhr nix mehr macht... Also Hector & Pascal sind weg und auch Luftfeuchtigkeit  8)
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