Beiträge von Ruco


    Euer Problem hängt damit zusammen das in der index.php kein $database definiert wird und somit dort auch nicht verwendet werden kann


    Also bei mir klappt das mit dem $database. Siehe Anhang hier & Beitrag 62.
    &database ist doch in der config.php definiert. Und die wird doch in der index.php eingebunden.

    Zitat

    Ich frag mich allerdings schon die Ganze Zeit was ihr da überhaupt vor habt. Als ich letzten Monat bei der Sache mit mehreren Datenbanken half dacht ich mir erst nichts böses, mehrere Datenbanken auf einer Webseite zu visualisieren ist ja noch Oke... Aber sofern ihr die ganze Zeit nur ein und den selben MySQL ...

    Was towi macht weiss ich nicht.
    Ich habe für jedes Projekt eine eigene Datenbank. Möchte auch nicht alle Projekt-Daten in einer DB haben.
    Zudem gibt es bereits einen zweiten Pi zum Aufzeichnen. Da tut man sich mit einer einzigen DB etwas schwer.
    Erfassungszeitraum pro Projekt geht bis zu 4 Monate. (Beitrag 1)
    Zum Beispiel Projekt:
    -Keller
    -Dach
    -Garage
    -Werkstatt
    -Wohnraum 1 bis x

    Derzeit lasse ich es hier aber noch in der Wohnung laufen. Hab nicht damit gerechnet das es so informativ & interessant ist.
    Du siehst, es passt es so wie es ist und ich es mir vorstellte :thumbs1:

    Bis auf einen Haken den ich recht spät erkannte. Wenn ich mir die Daten aus einem, vor 4 Wochen, abgeschlossenem Projekt ansehen möchte, dann geht das nicht so einfach.
    Ist kann z.B. die letzten 2/3 /7 Tage nicht sehen. (No Data for Display).
    Weil ja von der realen/aktuellen Zeit ausgehen "abgefragt" wird. Und nicht vom letzten Eintrag aus. Tja, und je älter die Datenbank, um so problematischer.
    Das konnte ich selbst noch nicht lösen. Darum hatte ich nachgefragt. :s
    Oder wäre es gar besser das fertige Projekt als exl zu exportieren und da drauf zu zugreifen?

    Naja, und das Sunset/Sunrice Geheimnis wird sich auch noch irgendwann mal lüften :D

    Naja. Als ein Problem würde ich das mit der Chart-Darstellung nicht nennen.
    Es wurde ja nur nichts angezeigt weil ja auch keine Zeitangabe mit übergeben wurde. (index.php?period=12h)
    Das hattest du ja dann gemacht nachdem du auf einen entsprechenden Link geklickt hast ;)
    Könnte man aber noch ergänzen.

    Und um auf die Frage zu Antworten. Ja, ist "gelöst".
    Die Datenbank wird direkt mit einer Zeit aufgerufen. Kannste auch ändern wie du magst.
    [code=php]<option value="index.php?period=12h">Schrank</option>[/php]


    Wie das Auswahlmenü aussieht? So:

    Danke dir!

    Das ist dann doch etwas zu heftig mit den Sessions.
    Ich hab es jetzt recht einfach gelöst und es klappt so wie ichs mir vorgestellt hatte :D
    Fehlt jetzt nur noch der letzte Zeitpunkt der Datenbank und nicht der realen Zeit als Ausgangspunkt. :daumendreh2:
    Falls es wen interessiert:


    • Die data.php habe ich nach "include" verschoben und alle Pfade entsprechend angepasst.
    • Den "include"-Ordner hab ich 3x kopiert und umbenannt. (include-testlauf, include-schrank, usw....)
    • Die Datenbanknamen in der config.php in jedem "include-xy"-Ordner eingetragen
    • In der index.php die 3. Zeile angepasst. Zum Beispiel: require_once('include-schrank/global.php');
    • Den Pfad der "data.php im Abschnitt der Charts angepasst $.getJSON("include-schrank/data.php?type=temp&period=........
    • Das erstellte Auswahlmenü an einem passenden Platz eingefügt. Code siehe unten.
    • Die index.php mehrmals kopiert, umbenannt (In meinem Fall fürs erste 2x) und wieder alle 3 Pfade angepasst.

    auswahl.php
    [code=php]<form name="jump">
    <select name="menu">
    <option value="#">Datenbank wählen</option>
    <option value="temperaturen.php?period=12h">Temperaturen</option>
    <option value="testlauf.php?period=12h">Testlauf</option>
    <option value="index.php?period=12h">Schrank</option>
    </select>
    <input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="OK">
    </form>
    <?php
    echo "<p class='text'> Die ausgewählte Datenbank ist: <b> $database </b></p>\n";
    ?>[/php]

    Das Auswahlmenü habe ich zwischen die div der tempchart und der humchart gelegt.
    [code=php]echo "<div id='content'>\n";
    echo " <div id='tempchart'> </div>\n";
    include "auswahl.php";
    echo " <div id='humchart'> </div>\n";
    [/php]

    Die auswahl.php liegt bei den anderen Seiten. Also nicht in einem Ordner.

    Der Zeitpunkt der Anzeige wird doch ich der data.php geregelt, oder?
    Möchte hier nochmal auf dies eingehen und hab einen Satz ergänzt:

    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Was mir jetzt aber erst einmal richtig aufgefallen und ein Problem ist, ist folgendes.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Wenn die Datenbank schon etwas älter ist (als Beispiel: der letzte Eintrag 3 Wochen her ist) und man die letzten 24 Stunden oder 7 Tage ansehen möchte, dann wird nix angezeigt.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Es wird also von der aktuellen Zeit ausgegangen. Es werden leider nicht die letzten 24 Stunden oder 7 Tage der gewählten Datenbank angezeigt.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Lässt sich das ändern??[/font]

    Müsste da viel ergänzt oder geändert werden?
    Ist doch ab Zeile 45 In der data.php, oder?


    Zur Datenbankauswahl ist mir noch etwas eingefallen.
    Werde das heute Nacht mal testen. Das sollte dann klappen :)

    Ja super! Soweit klappt das aufs erste mal. :thumbs1:
    Hatte endlich Zeit das zu testen. Hat leider etwas gedauert, tschuldige.

    Allerdings springt die ausgewählte Datenbank immer zurück auf die erste, wenn man den Anzeigezeitraum ändert. Zum Beispiel von 12 auf 24 Stunden geht.
    Ein einfaches "Neu laden" der Seite geht auch nicht mehr.

    Was mir jetzt aber erst einmal richtig aufgefallen und ein Problem ist, ist folgendes.
    Wenn die Datenbank schon etwas älter ist (als Beispiel mal 3 Wochen) und man die letzten 24 Stunden oder 7 Tage ansehen möchte, dann wird nix angezeigt.
    Es wird also von der aktuellen Zeit ausgegangen. Es werden leider nicht die letzten 24 Stunden oder 7 Tage der gewählten Datenbank angezeigt.
    Lässt sich das ändern??

    Ich überlege wie man eine Auswahl von mehreren Datenbanken mit in die Index bekommt.
    Hab jetzt 3 Datenbanken und 3 einzelne Ordner mit der Index drin. Eine Seite wäre mir aber lieber.

    Die config.php wird ja zusammen mit der funktions.php eingelesen.
    Versuche grad verschiedene Datenbanken aus einer config zu wählen.
    Vielleicht wäre es einfacher je Datenbank eine eigene config.php zu wählen. So als Auswahlmenü bzw Auswahlliste.

    Haste einen Tip für mich das zu realisieren?
    Hab da eben einen hänger beim Denken.

    Mein Ansatz:
    Die funktions.php und die config.php doch einzeln in die die index.php einbinden.
    Also ohne der global.php

    [code=php]<?php
    //------------------------------------------------------
    require_once('include/global.php');
    //------------------------------------------------------
    ?>[/php]

    Und dann nur die config.php Auswählen. In etwa so >>> https://jsfiddle.net/k7r3xcn1/2/
    Würde das gehen?
    Da hängt es grad etwas bei mir.

    Es läuft und läuft und läuft.... sehr schön.
    Das war die Kurzfassung. Mehr brauchts eigentlich nicht :thumbs1: :danke_ATDE:
    Großes, ganz großes Lob an dich, Meigrafd!


    Etwas länger.
    Was mir bis jetzt "aufgefallen" ist und deine tolle Arbeit abrunden würde:
    (Ist keine Kritik oder Genörgel! :cool: )

    # Schaut man sich den Datensatz ab 4 Wochen und mehr an (Auflösung war hier 10 Minuten), dann haut das im Browser ganz schön rein. Ok, bei der Datenmenge :D
    Kein Wunder das man bei solch einer Ansicht "normal" einen Mittelwert nimmt. Das war aber hier ja bewusst nicht gewollt. Es sollen ja die Originaldaten eingesehen werden können. Und das geht dann mit der Zoomfunktion recht gut. Ein Schieberegler (slider) wäre hier doch wirklich sinnvoll. Dann können gezoomte Werte einfach verschoben werden.


    # Einträge in der Datenbank korrigieren ist, wegen der "timestamp", etwas umständlich. Hin und wieder gibts doch mal Ausreißer oder eine Fehlmessung. Muß dazusagen das es nur die DHTs betrifft. Die Messung der DS18B20 waren bis jetzt immer OK.
    Also erst das angezeigte Datum in timestamp umrechnen und es dann in der Datenbank suchen.
    Hier wäre eine weitere Spalte mit dem/der umgerechneten timestamp hilfreich. Sollte jetzt nicht so häufig vorkommen, die Feuchtesensoren halten sich aber noch nicht ganz dran. Es spart halt das umrechnen.

    # Die Ausgabe der dht.py. Ob die 14 Nachkommastellen jetzt eine Auswirkung auf die Einträge hat weiß ich nicht. Wenn nicht, dann ist es eh unwichtig. Wird ja per Cron ausgeführt und nicht händisch im Terminal. Von daher,pffffffffff

    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]pi@raspberrypi[/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"] [/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]~ $[/font][font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"] sudo /usr/local/sbin/dht.py[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Innen -> 21.399999618530273C , 49.79999923706055%[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Aussen -> 21.200000762939453C , 99.30000305175781%[/font]

    # Wo fängt der Tag an und wo ist das Ende?
    Da muss ich öfters nachsehen. Das springt nicht so ins Auge. Liegt aber an den Charts selbst. Hier wäre ein alternierender Hintergrund besser. Tag/Nacht. (06bis18 & 18bis06Uhr)
    Noch besser: Sunset/Sunrise :D ala Tafkas.


    Der letzte Punkt ist immernoch ein Wunschpunkt. Wäre echt super wenn das klappen würde.
    Ich selbst bekomme das einfach nicht hin. Wie du selbst sagtest, echt kniffelig.
    Evtl hier ein extra Thema dafür?

    Im Anhang 2 Beispiele.
    - Eine Fehlmessung von den DHT22er
    - Einmal Feuchteverlauf in der Schlafphase. Hier sieht man schön wie die Feuchtigkeit ansteigt und wie es nach dem Lüften ist.
    (Uhrzeit ist korrekt. War Nachtschicht)

    Hi,
    Das er nur temp auslesen kann weiß er doch.
    Ich glaub du verstehst ihn falsch.

    Wo keine Werte da auch keine Charts!

    Ist nicht ganz richtig. (wenn man spießig sein will)
    Die Chart sieht man, nur ohne Inhalt (also den Linien).
    Man kann also nur den Text das keine Daten vorhanden sind lesen.

    Und genau das sieht er. Allerdings nur bei der Hum-Chart.
    Die Temp-Chart ist komplett verschwunden (er hatte sie aber schon gesehen).
    Er sieht also kein weisses Feld oder sonst was.
    Als würde es nur eine einzige Chart geben, keine 2.
    Die Temp-Chart ist weg und die Hum-Chart ist nach oben gerutscht.
    Und das kam erst nachdem er Daten gesammelt hatte.
    So hab ich es verstanden.

    Er sollte mal ein Bildschirmfoto bringen.


    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]°C ist "temp"[/font]


    Richtig, aber woher kommt die -> [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]°C <- in seiner Terminalausgabe?[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Bei mir kommt das nicht. Nur der Wert selber.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Beispiel zum Vergleich:[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]

    Zitat

    [/font]

    Zitat


    pi@raspberrypi ~ $ /home/pi/temp.py
    Raumluft -> 19.0

    Ok, hab die Ausgabe gesehen.

    Muß ich doch mal die Skripte vergleichen. Ich habe nämlich nicht das " °C " dabei stehen.
    So spontan seh ich das auch nicht auf github im 1wire.py.
    Wo kommt das her?

    meigrafd
    Können Umlaute eigentlich Probleme machen?


    Momentan schaut´s mit demTemperturwerten so aus:


    Da du dich ja schon ein wenig in der index.php versucht hast, ersetz die mal lieber durch eine neue. Ohne Änderungen.
    Dann ist diese Fehlerquelle schonmal ausgeschlossen.
    Die temp & hum Chart sind in DIV-Container. Wenn dieser leer ist (weil z.B. die Chart nicht generiert wird) , dann wird das div auch nicht "eingeblendet" und das andere DIV rutscht nach oben.
    Will da aber jetzt aber nicht weiter auf dieses verhalten eingehen. Ist eine andere Geschichte.
    Zumindest sieht es bis jetzt so aus als würde deine Chart nicht erstellt werden.
    Da du sie aber schon mal gesehen hast, als deine Datenbank noch leer war, tippe ich auf einen Fehler in der selbigen.


    Hast du phpmyadmin?
    Wenn nein, dann mal installieren. Ist halt einfacher.
    Dann kannst du zum testen auch bequem ein paar Werte von Hand eintragen.
    Für die Werte in "timestamp" ist sowas hilfreich: _Link_


    Was kommt eigentlich raus wenn du das 1wire.py im Terminal per Hand anstößt?

    Ok, du meinst Zeile 102-107, richtig?
    Da geht leider nix.

    Das Ergebnis:


    __________Edit____________

    Ich hab eben mal in die Datenbank gesehen.
    Dort sehen die Einträge anders aus. Also nicht wie die Ausgabe vom Terminal.
    Eine Stelle nach dem Komma. ;)


    Bis jetzt läuft es ganz gut und ich hab noch keine Fehler gehabt/entdeckt.
    Im Anhang sind die Bilder von der Datenbank und der Chart.