Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
ich bin "leider" kein HS Jünger , wäre diesem aber sicherlich nicht abgeneigt. Aber: Auch da ist ja nicht alles easy going.
Ich bin bekennender Dummy und stehe dazu. Bis vor ein paar Tagen war perl für mich eine engl. Perle mit Schreibfehler und ich zu Hause Misterhouse
Aber: Nun versuche ich dies mal zu verstehen. Da ich aber mit Programmieren nicht beruflich zu tun habe, bleiben mir nur lange Threats von denen andere wie ich lernen können oder PM's.
Mit open / close, bekomme ich das file gar nicht ich ein array daher gegoogelt und file_read. Das file habe ich über WinSCP gecheckt und es ist immer neu und an der entsprechenden Stelle finde ich die Temp. Eine genauere Suche wollte ich später probieren, wenn ich das Problem mit dem auslesen gelöst bekommen habe.
man perle endet bei mir in einer Meldung, das dies Handbuch nicht installiert ist und daher habe ich gegoogelt und gegoogelt und dann noch gegoogelt aber nichts gescheites gefunden.
Auch wenn dies wieder ein langer Threat von einem <> HS Jünger ist
DANKE für Geduld und Hilfe!!
Da muss ich dir recht geben . Ich scheine das ja auch zu nutzen und bei mir geht es ohne close. Ergo sind wir da keinen Schritt weiter. Sorry, so aus der Ferne kann ich da nichts zu sagen.
Es ist vollbracht
Ich habe nochmals eine andere Seite gewählt und das Problem gefunden. Die Seite wurde in dem Array immer hinten angehangen, so das an der entsprechenden Stelle natürlich noch die alten Info's standen. Also leere ich das Array einfach nach der Abfrage und schwupps, es geht.
Für alle die es interessiert::
Code:
my $WeatherURL = "[url=http://www.wetter.com/wetter_aktuell/aktuell/?id=DE0006935]Wetter Mettmann, Nordrhein-Westfalen, Deutschland Wetter :: Aktuelles Wetter :: wetter.com[/url]";
my $WeatherFile = "mettmann";
my $TempME = "";
my @page;
#Unterverzeichnis muss existieren
my $f_weather_page = "$config_parms{data_dir}/weather/$WeatherFile.txt";
$p_weather_page = new Process_Item;
$v_weather_page = new Voice_Cmd('[Get,Read,Show,Short] internet weather');
$v_weather_page-> set_info("Weather conditions and forecast for $config_parms{city}, $config_parms{state} $config_parms{country}");
$v_weather_page-> set_authority('anyone');
# Hiermit laden wir das file alle 5min, bei restart/reload oder manuell
if ((said $v_weather_page eq 'Get') || ($New_Minute && ($Minute % 5) == 4) || $Startup || $Reload) {
if (&net_connect_check) {
set $p_weather_page "wget $WeatherURL -O $f_weather_page";
print_log "########## Retrieving $WeatherFile weather...";
# Use start instead of run so we can detect when it is done
start $p_weather_page;
} else {
#speak "Sorry, you must be logged onto the net";
}
}
if (done_now $p_weather_page) {
@page = file_read $f_weather_page;
foreach(@page)
{
if ($_ =~ /"temp_observe"/) {
print_log $_, "\n";
($TempME) = $_ =~ />(\d+\.\d+)/;
# Manchmal hat die Temperatur keinen Punkt :-/
if( length($TempME) > 0 ) {
last;
}
else {
($TempME) = $_ =~ />(\d+)/;
}
}
}
undef @page;
print_log "########## aktuelle Temp:", $TempME, "\n";
# Dann die Entsprechenden Variablen setzten und schupps hast du die daten in MH/Auf dem Bus
set $Aussentemp $TempME;
}
Aber warum der folgende Code
Code:
open(HANDLE, "<$f_weather_page");
while (<HANDLE>) {
if ($_ =~ /"temp_observe"/) {
my $tmp_line = "$_";
last;
}
}
close(HANDLE);
nicht funtz, habe ich nicht gefunden
Es scheint mir, das unter MH das Array dann nicht gefüllt wird. Wenn ich das Script auf meinem PC unter einen Perl Interpreter laufen lasse, geht es . Aber, ich bin ja auch kein Perlist
Da mein Misterhouse auf ner CF läuft, würde mich interessieren ob's da ne möglichkeit gibt die Webseite
statt in ne Datei in den Ram zu legen und von dort auszulesen.
Oder die Daten einfach direkt online holen, eben ohne zwischenspeichern.
bzgl. Flash: Packe ins init-script Deiner Wahl z.B.:
(von irgendwo kopiert, habs nicht erfunden)
Code:
# Max time to wait for writeout (s)
MAX_AGE=900
CENT_AGE=$((100 * $MAX_AGE))
# Max percent of mem to use for dirty pages
DRATIO=30
# Once we write, do so until this many percent of mem is still in use
DBRATIO=0
echo -n 0 >> /proc/sys/vm/swappiness
echo -n $MAX_AGE >> /proc/sys/vm/laptop_mode
echo -n $CENT_AGE >> /proc/sys/vm/dirty_writeback_centisecs
echo -n $CENT_AGE >> /proc/sys/vm/dirty_expire_centisecs
echo -n $DRATIO >> /proc/sys/vm/dirty_ratio
echo -n $DBRATIO >> /proc/sys/vm/dirty_background_ratio
Damit wird in dem Fall generell nur alle 900 sek/15 minuten auf die "Platte" rausgeschrieben ohne gross was an OS oder Applikationen umzubiegen.
Edit: nur der vollstandigkeit halber, das gilt für Kernel 2.6
Alternative: Verzeichnis mit tmpfs (ramdisk) mounten und das File dorthin schreiben..
naja, ob,s hierher gehört:
habe mir die wetterdaten von Google geparst, incl. Icon, klappt auch super im Iphoneskin. Fehlt nur noch die Kosmetik, dann lade ich mal nen screenie hoch.
habe zwar Wetterstation, aber die kann ja keine Vorhersage machen ;-).
...weiter bin ich leider noch nicht, bzw. kann nun über die vorhergesagte min und max Temp. evtl in die Heizungssteuerung eingreifen. (ist aber noch Wunschdenken)
daher Meine Frage:
hat jemand ne Siemens/Novelan WP mit WPR-C Reglung schon mal ausgelesen?
Welche Strings man seriell senden muss, bevor ich mit nem Portmonitor arbeiten muss lieber mal dumm gefragt.
anbei der Screenshot von den Wetterdaten im Iphone-Look.
Wetterdaten kommen von Google-Wetter.
Ist noch etwas anpassungsfähig, da Text zu lang bei Hochkanntformat.
Gruß
Blutwurst
PS: für das bescheidene Wetter kann ich leider nichts ;-)
wollte den code vorab noch etwas anpassen, damit die daten alle in der mh.private.ini eingestellt werden können.
Grob zum Ablauf:
die Wetterdaten kommen von Google Weather.
Hier bekommt man ein xml datei welche ich alle 3 stunden aktualisiert im /tmp verzeichnis ablege.
Daraus werden dann die Temperaturen in Variablen gespeichert und können im MH weiterbenutzt werden.
Die Wettericons werden im graphics verzeichnis von MH abgelegt.
Hier kann die Visu dann zugreifen.
sobald ich noch die Anpassungen gemacht habe stelle ich es rein.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar