Ankündigung

Einklappen
Keine Ankündigung bisher.

Tipp: Magic Mirror

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

    #76
    Update.
    Die Übersetzung ist durch, (außer NL+FR die Komplimente) ,theoretisch sind weitere Sprachen möglich.

    Habe die wichtigsten Changes vom Originalautor und diesem Forum zusammengetragen, außerdem einen Umlaut-Error behoben.
    (Das Rad habe ich nicht neu erfunden, ich weiß )

    https://github.com/Dom1n1c/Smartmirror

    Wishlist:
    • Temperatur immer als Float ausgeben, damit die Zahlen besser eingerückt sind, auch bei ganzzahligen Werten.
    • Mittels Identifier nach dem host bzw seitennamen den Sprachmodus überschreiben (Grund, bei meinem Rapberry kann ich die Browser Locale nicht wechseln, auf dem PC klappt es)
      Die Url könnte dann http://smartmirror/?en oder de lauten.
    • Werte von OpenHAB darstellen, eventuell sogar als Graph


    Vielleicht kann man das Projekt wieder etwas beleben

    Kommentar


      #77
      Hallo Zusammen,

      Erst einmal vielen Dank für die zahlreichen Tipps und Hinweise die hier im Forum geteilt werden.

      Ich hatte als kleines "Ablenkungsprojekt" neben der Renovierungsphase unseres Hauses ebenfalls einen smarten Spiegel gebaut.

      Dom1n1c,
      Von Deiner Wishlist hatte ich den 1.Punkt wie folgt in der Wetter-Vorhersage umgesetzt:

      Code:
      row.append($('<td/>').addClass('temp-min').html(roundVal(forecast.temp_min).[B]toFixed(1)[/B])); //convert into specified number of decimals
      Dadurch werden ganzzahlige Temperaturwerte immer mit einer Nachkommastelle angezeigt.
      Screenshot.png


      Viele Grüße

      Thorsten
      Angehängte Dateien
      Herzliche Grüße,

      Thorsten

      Kommentar


        #78
        Vielen Dank, habe ich so ergänzt.. Ist eigentlich recht simpel, muss man sich aber mit befassen
        Hab dann lieber die Sprachsettings in Angriff genommen..

        Nun fehlt nur noch, dass ich werte von Openhab (Stromverbrauch) darstelle
        Sowie die Schaltung des Bildschirms per OpenHAB (das ist aber eher ein Linux Problem)

        Kommentar


          #79
          Nun habe ich für User, die statisch die seite auf z.B. deutsch anzeigen lassen wollen einen locale-override hinzugefügt.
          Weiterhin sind mehrere Ical-Kalender abrufbar (Beispiel: Feiertage in Deutschland+Private Termine)
          Bildschirm lässt sich per Openhab schalten.(Danke ans Forum) -> Link
          Aktuelle Version auf Github: Link
          Damit sollten nun die Anfragen aus den vorherigen Postings beantwortet sein.


          Ich würde gerne unterhalb der Temperatur eigene Messwerte eintragen (Netspeed,Stromverbrauch,Präsenzmelder, etc)
          Wie mache ich das am geschicktesten?

          Außerdem merke ich, dass mein RPi etwas an die Leistungsgrenzen stößt, die Fade-Zeiten sowie der Seitenaufbau ist nicht völlig flüssig.
          Hat jemand eine Alternative mit etwas mehr dampf unter der haube?
          (Anforderungen: Ein-Platinen-Rechner,USB,Ethernet,HDMI)

          Danke schonmal

          Kommentar


            #80
            Ich werfe mal den Odroid U3 in die Runde.Ist natürlich etwas teurer, aber rennt (etwas kleiner als der RasPi). Der RasPi2 ist auf jeden Fall wesentlich schneller als der 1er und hat den Vorteil, dass er großteils mechanisch kompatibel ist.

            Kommentar


              #81
              Also der RPi 2 ist schon ein ganzes Stück schneller, ich denke dass soll fürs erste reichen. Dann nutze ich den RPi B+ für leistungsärmere Applikationen

              Kommentar


                #82
                Hat jemand von euch weitere features zum Smartmirror beigetragen?
                Ideen die mir aktuell infallen:

                Weitere Messwerte von OpenHAB unter dem Temperaturreiter. (Temperatur-Innenraum, Stromverbrauch, usw)
                Abfahrtmonitor der Bahn/der Busse.
                Benzinpreise in der umgebung.

                Kommentar


                  #83
                  Aktuell ist es so, ich habe mehrere Benutzerprofile in der main.js angelegt und möchte nun mehrere Calender URLs übergeben.
                  (im Idealfall noch Parameter, wie in etwa der Synchchronisationszeitraum der Ical befehle)

                  Code:
                  case:'work':
                              var feed                = 'http://www.faz.net/rss/aktuell/';
                              var CALURL                 = 'http://www.schulferien.org/iCal/Feiertage/icals/Feiertage_Nordrhein_Westfalen_2015.ics';
                  nun würde ich gerne mehrere Kalender benutzen,im Falle von "Case: Work" einen Kalender der Arbeit, einen Ferienkalender etc..

                  Das ist die Funktion für den Kalender (gekürzt)

                  Code:
                  (function updateCalendarData()
                      {
                          var addr = encodeURI(CALURL);
                          new ical_parser("calendar.php?url="+addr, function(cal){
                              events = cal.getEvents();
                              eventList = [];
                  
                    // hier findet die Suche nach neuen Terminen statt innerhalb der Ical Datei
                  
                              setTimeout(function() {
                                  updateCalendarData();
                              }, 60000);
                          });
                      })();
                  Ich müsste also mehrfach die URL Kodieren und dann entsprechend an die calendar.php übergeben.
                  Wie mache ich das am besten?

                  Kommentar


                    #84
                    So, nach etlichen Stunden sägen, schleifen, kitten, schleifen, schleifen und lackieren konnte ich endlich die Elektronik reinbasteln und das fertige Produkt an meine Wand hängen. Der WAF ist zum Glück vollkommen erfüllt. :-)
                    Jetzt wird in nächster Zeit das UI noch weiter verfeinert. Derzeit zeige ich einige meiner Kalender an, die nächsten Geburtstage und auch wo Licht brennt bzw. Fenster offen sind. Wenn jemand Ideen hat was man noch sinnvolles anzeigen kann, immer her damit.
                    Am Plan steht jedenfalls noch so Sachen wie Waschmaschine, Alarme, Zirkulationspumpe, welche Steckdosen aktiv sind, ....
                    Aktiviert wird der Monitor über den Präsenzmelder in der Diele, d.h. der Pi läuft ständig und auch der Monitor. Per SSH schaltet openHAB den Monitor einfach an/aus.

                    _MG_4541.JPG _MG_4540.JPG _MG_4534.JPG _MG_4533.JPG _MG_4535.JPG
                    Zuletzt geändert von sheppard; 27.09.2015, 22:22. Grund: Bilder geändert, Text angepasst/ergänzt

                    Kommentar


                      #85
                      Zitat von Dom1n1c Beitrag anzeigen
                      Ich müsste also mehrfach die URL Kodieren und dann entsprechend an die calendar.php übergeben.
                      Wie mache ich das am besten?
                      Ich hab bei mir mehrere Kalender eingebunden. Ich hab dazu die PHP Datei vereinfacht/umgeschrieben, da ich da auch noch einen zweiten Teil mit den Geburtstagen im JS parse.

                      loadcalendar.php
                      PHP-Code:
                      <?php
                          
                          
                      // Define the helper function that retrieved the data and decodes the content.
                          
                      function get_url($calendar)
                          {
                              
                      //user agent is very necessary, otherwise some websites like google.com wont give zipped content
                              
                      $opts = array(
                                  
                      'http'=>array(
                                      
                      'method'=>"GET",
                                      
                      'header'=>"Accept-Language: en-US,en;q=0.8rn" .
                                                  
                      "Accept-Encoding: gzip,deflate,sdchrn" .
                                                  
                      "Accept-Charset:UTF-8,*;q=0.5rn" .
                                                  
                      "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 FirePHP/0.4rn",
                                      
                      "ignore_errors" => true     //Fix problems getting data
                                  
                      ),
                                  
                      //Fixes problems in ssl 
                              
                      "ssl" => array(
                                  
                      "verify_peer"=>false,
                                  
                      "verify_peer_name"=>false
                              
                      )
                              );
                              
                              
                      $context stream_context_create($opts);
                              
                              foreach(
                      $calendar as $cal)
                              {
                                  
                      $content .= file_get_contents($cal ,false,$context); 
                              }
                              
                              return 
                      $content;
                          }
                      ?>

                      calendar.php
                      PHP-Code:
                      <?php
                          
                          
                      include 'loadcalendar.php';

                          
                      // Set the url of the calendar feed.
                          
                      $calendar = [
                              
                      "Testeintrag 1"    => "XXXURL/basic.ics",
                              
                      "Testeintrag 2"    => "XXXURL/basic.ics",
                              
                      "Testeintrag 3"    => "XXXURL/basic.ics"
                          
                      ];
                          
                          
                      // Run the helper function with the desired URL and echo the contents.
                          
                      echo get_url($calendar);
                      ?>
                      Somit werden die Infos von allen Kalendern gebündelt und vom JS dann verarbeiten (sortiert, gekürzt, ....). Dort hab ich dann auch noch einige Anpassungen/Verbesserungen gemacht - ich verwende Google Calendar und da hats was mit den Notifications (Alarms) gehabt.
                      Ich hoff ich komm dann demnächst mal dazu den Code aufzuräumen und das Ganze auf meinen github fork zu stellen.

                      Kommentar


                        #86
                        Hallo Sheppard,
                        das Smartmirror Projekt wurde von mir weiterverfolgt,
                        zum einen ist es nun möglich mehrere Kalender zu definieren, als auch deren Farbe festzulegen.

                        Den Vorschlag mit den Mehreren Kalendern in der PHP hatte ich übrigens bis zuletzt in der Smartmirror Version 1 verwendet.
                        Ist nur etwas unpraktisch, wenn die Konfiguration auf 4 Dateien verteilt ist.
                        Außerdem benötigt der Wetterdienstleister nun einen APIKEY.
                        Daher auf GitHub die neue Version. (config.js nun zur Konfiguration)

                        Ich würde gerne einzelne Kalender kürzen, wie mache ich das am besten?
                        Es interessiert mich nicht wirklich ob in 3 Monaten der Müll abgeholt wird oder nicht, daher kann ich z.B. den Müllkalender auf zwei Wochen vorlauf, oder 4 events reduzieren.
                        Ein eventlist.slice(0,x) kürzt jedoch alle events...

                        Kommentar


                          #87
                          Hallo zusammen,
                          den Kalender habe ich zugegeben wieder gekickt, dafür habe ich ein kleines Script ergänzt, dass mir eine ToDo-Liste aus Dropbox anzeigt.
                          Die nützlichsten beiden Features sind aber sicherlich der Flurplan des Hauses, der offene Türen/Fenster und angeschaltete Lichter anzeigt, sowie die Wetter-Kurve. Mehr Details dazu hier im Blog.

                          MagicMirror1.JPG MagicMirror3.JPG

                          Kommentar


                            #88
                            Moin!

                            Ich bin gerade hierüber gestolpert und finde es passt ganz gut in diesen Thread hier. Das schöne daran finde ich, dass das Disply mit dem Spiegel so schön dünn ist.

                            Lest selbst:
                            https://medium.com/@maxbraun/my-bath...1ba#.u4rju36pe

                            Kommentar


                              #89
                              Hallo zusammen,

                              mir hat das Thema echt gut gefallen und so habe ich mich vor einiger Zeit an einen Nachbau gewagt. So ganz trivial war es nicht, ich würde es auch erst mal Rohbauzustand nennen aber es funktioniert weitestgehend. Vielen Dank an alle die ihre Zeit hierfür investiert haben und das ganze auch noch teilen. Im Moment bekomme ich ein Kalenderproblem leider nicht gelöst. Alle kurzfristigen Termine - im Stundenbereich - bekomme ich mit 2 Stunden Versatz angezeigt. Die .ics hole ich mir von meinem Owncloud Server, das funktioniert bestens mit diversen Apps die ich nutze. Hab mal versucht mich in das coding reinzuschaffen aber das fällt mir echt schwer weil's doch relativ komplex und nicht selfmade ist. Habt ihr das Problem nicht auch schon gehabt oder sitzt das möglicherweise vor der Tastatur?

                              Danke schon mal vorab falls jemand einen Tipp hat.
                              Gruss, Jo

                              Kommentar


                                #90
                                Guten Morgen!
                                Ich hab am Wochenende auch gebastelt und hab ein ähnliches Problem. Ich hab meinen iCal Kalender wunderbar einpflegen können, allerdings is die refresh Zeit bei mir nicht 2 Stunden sonder "nur" 5 min, was mich beim testen schon fast verzweifeln lies.
                                Mein erster Gedanke war einfach den refresh befehl in die index datei zu schreiben. allerdings läd dann die komplette seite neu, was für millisek auch eine weiße seite beinhaltet... Stroboskopeffekt umsonst quasi
                                Daher hier mal meine Frage: Kann ich irgendwie NUR den Kalender 1 mal pro minute refreshen lassen? Wenn ja, wie mach ich das am elegantesten?

                                Grüße, der Clyde

                                P.S.: Bilder werde ich mal nachliefern sobald ich den passenden Rahmen gabaut habe, momentan läufts noch in ner Testumgebung.
                                10 HOME
                                20 SWEET
                                30 GOTO 10

                                Kommentar

                                Lädt...
                                X