Ankündigung

Einklappen
Keine Ankündigung bisher.

Misterhouse => Wetterdaten in iPhone Visu

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Zum Stammtisch kommst du aber trotzdem oder?

    Auch wenn Du dann zwei davon um dich rum hast?


    zu Joerg:
    Zitat von JoergA Beitrag anzeigen
    So, Auftrag ausgeführt und wie von RaK angegeben eingebunden und EIB5 Item erstellt. Ergebnis => siehe Bild (Temperatur ohne Wert )
    Danke für deine Mail habe es mittlerweile auch hinbekommen!

    Gruß
    Christoph
    Angehängte Dateien

    Kommentar


      #17
      Hallo RaK,

      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!!

      Gruß,
      Joerg

      Kommentar


        #18
        Zitat von chrismave Beitrag anzeigen
        Zum Stammtisch kommst du aber trotzdem oder?

        Auch wenn Du dann zwei davon um dich rum hast?
        Hi Christoph,

        genau deshalb versuche ich zu kommen

        Gruß,
        Joerg

        Kommentar


          #19
          Zitat von RaK Beitrag anzeigen
          3) Ich habe file_read noch nie benutzt. Ich mache das immer mit open, close wie hier beschrieben.
          ???

          Dein Code war doch

          my $text = file_read $f_weather_page;

          Nun bin ich völlig werde aber mal da schauen Außerdem bringt mir morgen ein Kollege ein Buch mit: Perl in 21 Tagen. Mal sehen wie dies ist.

          Gruß,
          Joerg

          Kommentar


            #20
            Immer meint, wenn ich das brauche .

            Das file bekommst du in ein array so
            Code:
            open(FILE,"dateiname.html");
            my @lines = <FILE>;
            close(FILE);
            Das ist aber nicht die feine englische Art. Denn wenn das file 5GB hat, dann liest Perl brav das ganze File in ein Array. Besser ist mit einer
            Code:
            while(<FILE>) {
             $zeile = $_;
              # hier was mit der Zeile machen
            }
            Das ist Ressourcen schonender. Neverless. Bring es erst mal zum laufen, dann reden wir über weitere Feinheiten.

            Kommentar


              #21
              Zitat von JoergA Beitrag anzeigen
              ???

              Dein Code war doch

              my $text = file_read $f_weather_page;
              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.

              Kommentar


                #22
                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

                Besten Gruß,
                Joerg

                Kommentar


                  #23
                  Hi

                  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.

                  mfg, Lons

                  Kommentar


                    #24
                    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..

                    Makki
                    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                    -> Bitte KEINE PNs!

                    Kommentar


                      #25
                      Danke, der Tip mit der Ramdisk war der bringer.
                      Manchmal denkt man einfach zu umständlich.
                      Funktioniert jetzt 1A.

                      Danke, Lons

                      Kommentar


                        #26
                        Hi,

                        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.

                        Naja, vielleicht kann mir ja jemand helfen.

                        Vielen Dank und Gruß

                        Blutwurst

                        Kommentar


                          #27
                          Hallo,

                          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 ;-)
                          Angehängte Dateien

                          Kommentar


                            #28
                            Zitat von blutwurst Beitrag anzeigen
                            Hallo,

                            anbei der Screenshot von den Wetterdaten im Iphone-Look.
                            Wetterdaten kommen von Google-Wetter.
                            Sehr hübsch, stell doch deinen Code mal ein, mit dem du das erzeugst.

                            Gruß!

                            Kommentar


                              #29
                              Hallo,

                              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.

                              ... kann aber noch paar Tage dauern, .....

                              Gruß

                              blutwurst

                              Kommentar


                                #30
                                sieht gut aus, dann warten wir gespannt noch ein paar Tage ...
                                Gruß,
                                Marc

                                Kommentar

                                Lädt...
                                X