Jump to content

m2andyou

Members
  • Gesamte Inhalte

    21
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von m2andyou

  1. Hallo,

     

    ich habe seit Dienstag die Wetterstation und den Temperatur/Luftfeuchte Sensor TH-6148 in Betrieb.

     

    Seitdem musste ich jetzt schon zum dritten Mal die Batterien wechseln beim Temperatur/Luftfeuchte Sensor TH-6148

     

    Das ist doch auch nicht ganz normal?

    Bereits wenige Stunden nach dem einlegen neuer Batterien kann ich feststellen, dass das Display keine Werte mehr anzeigt, und dann bekommt das System irgendwann auch keine neuen Daten mehr.

     

    Ich hatte jetzt mal die Batterien vor dem einlegen gemessen und die sind ok, bin gespannt wie lange die jetzt durchhalten.

     

    Gruß

  2. Hallo,

     

    ich bräuchte mal Hilfe. Und zwar würde ich gerne die Temperatur der Abluft unseres Kamin an Ende des Schornsteins messen. Allerdings weis ich nicht genau welche der Bricks ich dafür verwenden kann/sollte.

     

    Da der Kamin nach oben offen ist bräuchte ich einen Temperaturfühler mit einer gewissen Zuleitung (1-2 Meter), die Bricks könnte ich direkt unter dem Dach geschützt anbringen.

     

    Für eure Hilfe/Empfehlung wäre ich sehr dankbar.

     

  3. Hallo,

     

    Kann man beim Master Brick Fehlerprotokolle auslesen, wenn es denn welche gibt?

    Ich habe zwei unabhängige Master Bricks bei mir im Netzwerk, die seit kurzem regelmäßig abstürzen und dann erst wieder nach dem trennen vom Strom starten. Erst per POE jetzt per USB ich dachte erst dass die Stromversogrung Probleme macht. Aber das Problem besteht weiterhin. Ich hatte auch angefangen alles zurück zu bauen. Also Portfreigaben gelöscht und Progrmme mit Callbacks gestoppt. Aber dennoch stürzen die teilweise mal innerhalb von ein paar Stunden und dann mal wider von ein paar Minuten ab.

     

    Gruß

  4. Danke für den Tipp,

    das wäre natürlich gar nicht gut, hab den RED Brick noch keine 2 1/2 Monate.

     

    Beim Versuch den Befehl auszuführen erhalte ich die Info, dass es /dev/sda1 nicht gibt.

    Per

    fdisk -l

    bekomme ich "/dev/mmcblk0". Allerdings führt dann der Versuch es zu restaurieren zu folgendem Fehler:

     

    root@red-brick:/media# fsck -y /dev/mmcblk0

    fsck from util-linux 2.25.2

    e2fsck 1.42.12 (29-Aug-2014)

    /dev/mmcblk0 is in use.

    e2fsck: Cannot continue, aborting.

     

    Aber macht wirklich den Eindruck als wäre die SD Karte defekt.

    Jetzt sind nach einem Neustart wieder LOG Dateien aufgetaucht, die ich längst gelöscht habe dafür das Dritte Programm wieder weg.

     

    Gruß

  5. Hallo,

     

    ich habe in den letzten Tage beobachtet, dass mein RED Brick seine Programme verliert.

     

    Per IP habe ich über den Browser eine 500 Fehler Seite gesehen.

    Per Brick Viewer konnte ich noch die Programme abfragen, aber auch hier teils bizarre Reaktionen vom RED.

    Nach einem Neustart und wieder Hochladen des dritten Programms ging dann erst mal wieder alles. Jetzt ist es aber wieder soweit. Per Browser sehe ich nur zwei statt drei Programme, und die Namen der Programme sind mit "<unknown>" betitelt.

    Das dritte Programm fehlt vollständig. Per Brick Viewer sehe ich diese inkl. Namen aber die Dateien sind einfach weg (nur beim Dritten Programm). Beim Versuchen diese zwei Dateien wieder zu laden erhalte ich dann folgenden Fehler: ...error: Could not open target file home/tf/programs/Klingel/bin/klingel_red.php: Could not open file object: E_UNKNOWN_ERROR (1)".

    Angeblich läuft das Programm auch noch. Beim Beenden (exit) erscheint dann folgender Fehler unter Stauts > Sheduler  "Could not create stdout log file: API_E_UNKNOWN_ERROR (1)".

    Beim Versuch das dritte Programm zu löschen erscheint folgender Fehler: "Could not delete program [Klingel]:

     

    Could not purge program object 673: E_DOES_NOT_EXIST (133)"

     

    Weis jemand einen Rat was da los ist?

    Die Auslastung liegt bei der CPU bei 0-10%, der RAM bei ca. 50%

     

    Gruß

  6. Hallo,

     

    ich habe mal eine Frage zum Interrupt beim Industrial Digital In 4 Bricklet mit PHP.

     

    Aus der Doku geht folgendes hervor:

     

    // Enable interrupt on pin 0
    $idi4->setInterrupt(1 << 0);

     

    setzte ich statt 0 die 15 um auf alle vier Eingänge eine Reaktion zu erhalten passiert nichts, wenn ich aber "1 << " wegfallen lasse funktioniert es.

     

    Für was also ist das "1 << " zuständig? Irgendwie steh ich da auf dem Schlauch.

     

    Gruß

  7. Hallo,

     

    ich habe kürzlich das gleiche Problem (2x) gehabt und bin diese Woche auf dieses Thema hier gestoßen, daraufhin habe ich mir etwas programmiert, dass mich über einen Ausfall informiert.

     

    Heute um 17 Uhr hat sich dann mein Alarm gemeldet, dass das System offline ist (zum 3. mal in kurzer Zeit).

     

    Folgender Aufbau:

     

    - Master Brick (2.0, FW: 2.2.2)

    -> mit 2x Industrial QuadRelay Bricklet

    - Ethernet Extension mit PoE (zur Stromversorgung)

    - Master Brick (2.0, FW: 2.2.2)

    -> mit LCD Bricklet, Barometer Bricklet, 2x Temperatur Bricklet

     

    Bis auf die Firmware der Master Bricks ist alles auf dem aktuellen Stand.

     

    Im Abstand von 5 Minuten wird die Temperatur und der Luftdruck ausgelesen und auf dem LCD Display ausgegeben über die QuadRelay Bricklets steuere ich die Funkfernbedienung.

     

    Das ganze System auch in diesem Aufbau ist schon länger im Einsatz über ein Jahr.

     

    Der Fehler äußert sich dann wie folgt:

    -> alle LEDs aus, nur die grüne LED an der Ethernet Extension ist an. Die LEDs am Switch sind aus und an der Extension ebenfalls, nur die POE LED am Switch zeigt an, dass noch Strom fließt. PING und Zugriff über den Brick Viewer geht verständlicherweise auch nicht.

     

    Fehlerbehebung ist recht einfach indem das LAN Kabel kurz gezogen und wieder gesteckt wird dann läuft alles weiter ohne Probleme.

     

    Ich bin mal gespannt wann der nächste Ausfall ist. Woher das kommt kann ich mir aktuell gar nicht erklären.

     

    Gruß

  8. Klasse Sache, danke Dir.

     

    Jetzt bin ich allerdings am überlegen, wie man da am besten den Cache baut, will ja nicht bei jeder Prüfung Deinen Server beanspruchen, da kommt aktuell schon ganz schön was zusammen an Anfragen die bearbeitet werden wollen.

     

    Meine erste Überlegung war, dass ich das ganze über ein Datei Cache anlege, sprich prüfe, ob eine Datei mit heutigem Tag im Cache liegt und da einfach notiere, ob es ein Feiertag ist oder nicht, keine Datei vorhanden, dann wird Deine API befragt und das Ergebnis in Dateiform festgehalten.

     

    Zweite Überlegung ist, einfach alle Feiertage einmalig in eine Tabelle zu schreiben, drückt die Anfragen natürlich auf ein Minimum, allerdings sind ggf. Fehlerkorrekturen nicht aktuell...

     

    Aktuell habe ich aber das Problem, dass gestern Früh einige Aktionen stecken geblieben sind, keine Wichtigen, aber trotzdem merkwürdig, eventuell wurde der Cronjob nicht korrekt ausgelöst und daher die Schaltung verpasst. Ohne Großartig einzugreifen (Datum manuell auf zukünftig gesetzt) ist es wieder ohne Probleme gestartet, dafür müsste ich noch ein Fallback einbauen, dass wenn die Schnittstelle mal nicht erreicht werden kann trotzdem keine Aktion hängen bleibt.

     

    Und ein kurzes Update an der Stelle noch, ich habe am noch zwei bzw. drei weitere Aktionen eingebunden in wenigen Minuten.

    Die ganze Zeit bin ich davon ausgegangen über das Hardware Hacking der Funksteckdosen die vier Steckdosen zu schalten, allerdings habe ich die Verschaltung von "Geräten" und Bedingungen nun soweit, dass ich das auch gut für andere "Geräte" verwenden kann. In dem Fall habe ich das LCD Display als Gerät hinzugefügt und eine Aktion angelegt, die alle 60 Minuten das Backlight einfach ausschaltet, zudem habe ich das 7 Segment Display mit eingebunden und lass über die Aktion einfach alle 10 Minuten die Temperatur updaten, und um 5 Minuten versetzt die Luftfeuchtigkeit.

    Der einzige Eingriff in den ganzen Code betrifft eigentlich nur diese paar Zeilen

     

    elseif($row['action']==1 && $device['device_id']==7){
    // Turn backlight on
      $lcd->backlightOn();
    }
    elseif($row['action']==0 && $device['device_id']==7){
    // Turn backlight on
      $lcd->backlightOff();
    }

     

    Eigentlich aus dem Grund weil dazu noch die passenden Bibliotheken von TF hinzu müssen, aber das ist ja kein Aufwand.

     

    Gruß

  9. Hallo,

     

    das letzte Update ist jetzt schon über eine Woche her.

    Seitdem hat sich viel getan. Ich habe jetzt so einiges hinzugefügt, das insgesamt zu einem ruhigeren Konzept führt.

     

    1. Es können jetzt Aktionen angelegt werden und dort individuell welche Geräte zugehörig sind.

     

    2. Außerdem können Bedingungen hinterlegt werden, zum Beispiel an welchen Wochentagen die Aktion ausgeführt werden soll.

     

    Die Option für Feiertage befindet sich bereits auch schon in der Auswahlliste, allerdings bin ich mir noch nicht ganz sicher wie genau ich das hinterlege, wahrscheinlich in einer extra Tabelle, in der man die Feiertage eintragen kann, es gibt ja feste und variable, wobei die auch wieder von Bundesland zu Bundesland unterschiedlich sind.

     

    Gruß

     

     

  10. Hallo,

     

    ich möchte euch hier kurz mein kürzlich fertiggestelltes Projekt zeigen. Es handelt sich dabei um die Darstellung diverser Temperatur-, Luftdruck- und Luftfeuchtigkeitsdaten auf einer Windows Phone 8.1 Live Tile.

     

    Angefangen hat alles vor mehr als einem Jahr mit dem Hardware Hacking Paket, das habe ich dazu verwendet vier Steckdosen fernzusteuern. Das habe ich auch gleich erweitert um die Erfassung von Umgebungsdaten wie Temperatur, Luftfeuchtigkeit und Luftdruck.

     

    Da ich auch ein Windows Phone zur Verfügung habe und man dort Live Tiles (APP Icons mit Infos) anzeigen lassen kann habe ich mich da mal dran gesetzt und lass die Daten auch dort anzeigen, so hat man es immer im Blick.

     

    Das ganze sieht wie folgt aus und führt beim Klick dann zur WebApp (bei Windows Phone leider als ganz normaler Tab).

     

    wp_ss_20141019_0001.jpg

     

    wp_ss_20141019_0002.jpg

     

    Das ganze kann man wie folgt in eine bestehende Website integrieren:

     

    <!-- IE11 pinning and live tiles -->
    <meta name="application-name" content="Home"/>
    <meta name="msapplication-config" content="browserconfig_home.xml" />
    

     

    in der browserconfig_home.xml stehen dann weitere Anweisungen für den Internet Explorer.

     

    Eigentlich relativ selbsterklärend, die unter <tile> stehenden Gebilde sind die Hintergrundlogos.

    Polling-uri wird nach der Frequency aufgerufen (hier alle 30 Minuten, kürzer geht nicht, weitere Möglichkeiten sind 90 Minuten 120, ...).

    Cycle bezieht sich darauf, wenn es mehrere Layouts gibt die dann auf der Tile rotieren, in dem Fall nicht vorhanden.

     

    <?xml version="1.0" encoding="utf-8"?>
    <browserconfig>
      <msapplication>
        <tile>
          <square70x70logo src="icons/tile/tiny.png"/>
          <square150x150logo src="icons/tile/square.png"/>
          <wide310x150logo src="icons/tile/wide.png"/>
          <square310x310logo src="icons/tile/large.jpg"/>
          <TileColor>#328ef1</TileColor>
        </tile>
        
        <notification>
          <polling-uri src="notifications/home.xml"/>
          <frequency>30</frequency>
          <cycle>0</cycle>
        </notification>
        
      </msapplication>
    </browserconfig>

     

     

    Die home.xml sieht dann zum Beispiel (teilweise gekürzt) so aus:

     

    <tile>
    <visual version="2">
        	<binding template="TileSquare150x150Text01" fallback="TileSquareText01">
          		<text id="1"><?php echo date("d.m. H:i"); ?>h</text>
          		<text id="2"><?php echo $temp_serverschrank; ?> °C - Netzwerk</text>
          		<text id="3"><?php echo $temperatur_zimmer; ?> °C - Zimmer</text>
          		<text id="4"><?php echo $temperatur_fenster; ?> °C - Außen</text>
        	</binding>
        	<binding template="TileWide310x150BlockAndText01" fallback="TileWideBlockAndText01">
          		<text id="1"><?php echo date("H:i"); ?> Uhr</text>
          		<text id="2"><?php echo date("d.m.y"); ?></text>
          		<text id="3"><?php echo $temperatur_zimmer; ?> °C - Zimmer</text>
          		<text id="4"><?php echo $temperatur_fenster; ?> °C - Außen</text>
          		<text id="5"><?php echo $temp_serverschrank; ?> °C - Netzwerkschrank</text>
          		<text id="6"><?php echo date("d.m.y"); ?></text>
        	</binding>
    </visual>
    </tile>

     

    Laut Microsoft Dokumentation sollte das eigentlich so auch direkt in Windows 8.x funktionieren und dort in der Kachelübersicht funktionieren, tut es leider nicht. Da ich kein Fan von Windows bin und schon gar nicht von der Kacheloberfläche auf einem Desktopsystem habe ich hier bisher auch noch keine Bemühungen unternommen etwas dagegen zu unternehmen.

  11. So kurzes Resume der heutigen Arbeit.

     

    Die Weboberfläche (mit responsive Design) nimmt Gestalt an, nachdem die Auslösung der Aktionen soweit ganz gut funktioniert.

     

    Anbei mal ein paar Screenshots. So ganz zufrieden bin ich nicht, ich will noch einen einfachen Kalender einblenden, der das Datum dann im richtigen Format einfügt.

     

    Außerdem fehlt noch die Bearbeiten Funktion in der Übersicht, Löschen kann man Einträge ja schon genau so wie neue Eintragen.

     

    Gruß

    Bildschirmfoto_2014-10-15_um_23_39_13.thumb.png.3927220db739e2ec63b164ec84031f78.png

    Bildschirmfoto_2014-10-15_um_23_39_30.thumb.png.b9c9ae156434aa427aca66b15898032a.png

    Bildschirmfoto_2014-10-15_um_23_39_57.thumb.png.cf98c205c1ddf7b6afe01f5840ec42f0.png

    Bildschirmfoto_2014-10-15_um_23_40_08.thumb.png.b895be6966316be2c0116a2b25cf876b.png

  12. An einer Stelle muss man denke ich Abstriche machen  ;)

     

    Wenn ich das Datum update habe ich es mit der Abfrage nicht so schwer,

    wenn nicht müsste ich zum Beispiel bei "Wiederholung jeden 5. Tag" eine SQL Abfrage basteln, die zu einem gewissen Startzeitpunkt berechnet ob es denn jetzt auch der 5. Tag ist, könnte denke ich bei mehr als 2 bis 3 Varianten etwas kompliziert werden.

     

    Alle Eventualitäten wird man da auch nicht abdecken können, wenn ich an Programmierungen denke wie "Licht an jeden Tag um 7 aber nicht Mittwochs da schon um 6 und an Samstagen, Sonntagen und Feiertagen an Urlaubstagen natürlich erst recht nicht ...." soll ja Leute geben die wollen das so  ;D

     

    Oder seh ich das an der Stelle falsch?

  13. Ok, in einem Punkt muss ich Dir recht geben, wenn es nur einmalig sein soll kann man es löschen. Aber wenn ich zum Beispiel eine vergangene Aktion mal prüfen will "warum ist denn das Licht heute an?" kann ich das so natürlich nicht machen, dann ist es nun mal so.

     

    Bei den Wiederkehrenden Ereignissen mache ich keinen neuen Eintrag, den bereits existierenden Update ich auf das nächste Datum. Die Done Markierung ist hier dann natürlich auch unnötig.

     

    mysql_query("UPDATE `zeitschaltung` SET `time`=DATE_ADD('$row[time]', INTERVAL $row[repeatintervall] DAY) WHERE `ID`=$row[iD]");

  14. ohje Priorisierung soweit will ich an der Stelle mal noch gar nicht gehen.

     

    Ich habe aber jetzt zum Testen mal die Datenbanktabelle ergänzt um "repeat" und "repeatintervall" ist repeat auf 0 ist es eine einmalige Aktion, der Datensatz wird in dem Fall dann einfach als "done" markiert und nicht wieder ausgeführt.

     

    In dem Versuch will ich mal probieren, dass repeat=1 (1 für Tage) und dann als repeatintervall=7 (eben eine Woche) am Ende der Aktion neu in die Datenbank als neuer Ausführungszeitpunkt geschrieben wird, soetwas lässt sich ja noch ganz gut umsetzen.

     

    Gruß

  15. Hallo,

     

    ich habe heute Abend hier mal rein geschaut und da bin ich auf diese Thema gestossen, ich habe mir das schon länger mal gedacht, dass eine Art Zeitschaltuhr was tolles wäre, gerade wenn man mal im Urlaub sein sollte könnte man so Leben simulieren ;)

     

    Ich hab mich mal dran gesetzt, Datenbank erstellt (ähnliche Struktur wie auch hier oben) und mit Testdaten gefüllt.

     

    Da ich bereits die ganze Zeit schon eine Art APP hatte um die vier Steckdosen zu steuern hatte ich es einfach und da konnte ich die ganzen Schaltvorgänge kopieren. (Hardware Hacking Kit)

     

    Ich muss eigentlich nur noch eine Oberfläche für das Eintragen von Aktionen programmieren und schon ist Version 1 fertig. Allerdings wäre mir ein schönerer Rhythmus noch lieber. Zum Beispiel täglich, an Werktagen etc. dafür habe ich aber spontan noch keine Lösung wie ich das lösen könnte.

     

    Gruß

    Bildschirmfoto_2014-10-13_um_23_03_13.png.6259ebd19a1b3773c7404dbb83e6bcd3.png

×
×
  • Neu erstellen...