WiFi Thermometer für 10 Euro selbst gebaut (Web UI, REST API)

  • Ich hab jetzt mal nach dem Vorbild von Paul_44 folgendes Skript erstellt:

    pasted-from-clipboard.png


    Das scheint auch zu laufen. Aber

    a) wo finde ich dann die ausgelesenen Werte unter "objekte"? Ich finde dort kein Temp_1

    b) wie kann ich so 2 Sensoren einbinden?


    oder verstehe ich etwas grundsätzlich falsch?

  • Somit geht's auch bei mir :)

    Hallo Paul_44,


    ich habe Dein Skript mal verwendet. Aber ich bekomme irgendwie kein Objekt zustande, das ich dann weiter verwenden könnte.


    Mein JSON sieht so aus:

    Mein Skript so:

    Woher weiß das Skript, wo "Temp_1" abzulegen ist, bzw. wo finde ich das in dieser Form?


    Dank im Voraus,

    W

  • Hab mir auch selbst geholfen. Es war das fehlende "http://" und - eher unerwartet - die Benennung des scripts.

  • So, nun habe ich aber doch noch Fragen:

    Ich befürchte, dass die Datenbank sehr groß wird und den Speicher überfordert, wenn ich einige Daten 1 Jahr vorhalten will.

    Nun bin ich auf die Idee gekommen, die Originalwerte, die im Skript ja minütlich abgerufen werden, nur 1 Woche zu behalten und daneben jeweils Tages- und Wochen-Mittelwerte vorzuhalten für 1 Jahr.


    Aber wie mache ich das?

    Zunächst scheint die API ja minütliche und tägliche Mittelwerte auszugeben:

    Quote

    aber:

    - Es scheint Mittelwerte immer nur für einen Sensor zu geben. Ist das korrekt oder ist da eine Einstellung falsch?

    - der Minuten-Mittelwert hat keinen "name"-Tag.

    - der 24h-Mittelwerte wird ans "NaN" ausgegeben.


    WIe wäre das sonst machbar?



    So komme ich da wohl nicht heran.

  • Mist. Jetzt muss doch bitte noch mal jd. helfen.

    Plötzlich bekomme ich minütliche javascript.0 (1265) Warnungen. Das scheint etwas mit Trunkierung von Werten zu tun zu haben. Woran kann das liegen?

    Es sieht so aus:

    pasted-from-clipboard.png

  • - Es scheint Mittelwerte immer nur für einen Sensor zu geben. Ist das korrekt oder ist da eine Einstellung falsch?

    - der Minuten-Mittelwert hat keinen "name"-Tag.

    - der 24h-Mittelwerte wird ans "NaN" ausgegeben.


    Die Mittelwerte werden nur für einen Sensor berechnet, lässt sich über die Konfig (Sensoren tauschen) umstellen.
    Die Mittelwerte sind Teil des Sensorobjektes und haben daher keine eigene Einheit und Namen.
    Der 24 h Mittelwert wird erst ausgegeben, wenn das Thermometer 24 h gelaufen ist.

    Generell würde ich die Mittelwerte allerdings nicht mit loggen. Je nach dem was für einen Datenbank du einsetzt, gibt es bessere Möglichkeiten die Messwerte zeitlich zu komprimieren (der entsprechende Mittelwert wird dann im Nachgang von der Datenbank berechnet).


    Beste Grüße
    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • Mist. Jetzt muss doch bitte noch mal jd. helfen.

    Plötzlich bekomme ich minütliche javascript.0 (1265) Warnungen. Das scheint etwas mit Trunkierung von Werten zu tun zu haben. Woran kann das liegen?

    Es sieht so aus:

    pasted-from-clipboard.png

    Wie sehen denn die beiden States aus? Hat "Temp2IoT.aussen" vielleicht einen anderen Datentyp?


    Beste Grüße

    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • Danke. Ich habe einen erfolgreich zum laufen bekommen. Beim zweiten zeigt der Flasher immer "require GPIO". Was fehlt da?

  • ... und: kann man auch 4 Sensoren anschließen? Gibt das api das her?

    Möglich wäre das, allerdings müsste die Software dazu auch entsprechend erweitert (ggf. wäre allerdings eine andere/generische Architektur besser geeignet) werden.

    Beste Grüße

    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • Hallo Maker7,


    erst einmal vielen Dank für deine Umsetzung.


    Es funktioniert zwar alles, aber irgendwie komme ich nicht weiter, wie ich die Daten nun in iobroker bekomme. Hat jemand eine Idee, welchen Adapter ich dafür verwenden muss?


    Vielen Dank.


    Viele Grüße

    MarkM

    Viele Grüße,

    MarkM


    Intex Frame Pool Ultra Quadra XTR 549 x 274 x 132 cm

    Sandfilterbehälter d 500 mm mit 6-Wege-Ventil mit Aqua Vario Plus

    Solarabsorber Steinbach Sonnenkollektor Exklusiv 4x

    Steinbach Poolrunner Battery+

    Poollab 1.0

    PH803W

    GT-PH - PH Elektrode (Doppelmembran) / GT RX - REDOX Platin Elektrode

    2x Kampa Schlauchpumpe 1,8 L/h

    Temperaturmessung "Temp2IoT" von maker7

    Homemtic Steuerung mit ioBroker und OpenHAB

    Solarfolie Light Blue 400 GeoBubble

    Bautagebuch

  • Hallo Elias,


    vielen Dank für deine Antwort. Leider bin ich nicht so gut mit den Skripten. Ich werde es aber versuchen. Bis jetzt konnte ich noch keine Temperatur im iobroker erfassen. Wahrscheinlich liegt es daran, dass ich noch keinen Sensor angelötet habe und er mit auf dem Wemos noch -127°C anzeigt (mir fehlt aktuell noch 1 Widerstand zum finalen Zusammenbau).


    Werde berichten, ob es funktioniert hat.


    Viele Grüße

    MarkM

    Viele Grüße,

    MarkM


    Intex Frame Pool Ultra Quadra XTR 549 x 274 x 132 cm

    Sandfilterbehälter d 500 mm mit 6-Wege-Ventil mit Aqua Vario Plus

    Solarabsorber Steinbach Sonnenkollektor Exklusiv 4x

    Steinbach Poolrunner Battery+

    Poollab 1.0

    PH803W

    GT-PH - PH Elektrode (Doppelmembran) / GT RX - REDOX Platin Elektrode

    2x Kampa Schlauchpumpe 1,8 L/h

    Temperaturmessung "Temp2IoT" von maker7

    Homemtic Steuerung mit ioBroker und OpenHAB

    Solarfolie Light Blue 400 GeoBubble

    Bautagebuch

  • Hallo Elias,


    irgendwie stehe ich auf dem Schlauch. Kannst du mal schauen, ob du meinen Fehler findest?


    Temp2IoT_iobroker_Probleme.jpg


    Vielen Dank.


    Viele Grüße

    MarkM

    Viele Grüße,

    MarkM


    Intex Frame Pool Ultra Quadra XTR 549 x 274 x 132 cm

    Sandfilterbehälter d 500 mm mit 6-Wege-Ventil mit Aqua Vario Plus

    Solarabsorber Steinbach Sonnenkollektor Exklusiv 4x

    Steinbach Poolrunner Battery+

    Poollab 1.0

    PH803W

    GT-PH - PH Elektrode (Doppelmembran) / GT RX - REDOX Platin Elektrode

    2x Kampa Schlauchpumpe 1,8 L/h

    Temperaturmessung "Temp2IoT" von maker7

    Homemtic Steuerung mit ioBroker und OpenHAB

    Solarfolie Light Blue 400 GeoBubble

    Bautagebuch

  • Hi Mark,


    der von dir angelegte State entspricht nicht der im Skript angegebenen Struktur.


    Unter Userdata sollte folgende Struktur angezeigt werden.

    Es muss also erst ein "Device" angelegt werden und darunter der "State".


    [Blocked Image: https://raw.githubusercontent.com/100prznt/Temp2IoT/master/docu/iobroker_objects.png]


    Beste Grüße

    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • Hallo zusammen,

    erstmal vielen Dank für dieses wunderbare Projekt! Genau nach so etwas habe ich schon lange gesucht.

    Nachdem ich mittlerweile alles zum laufen gebracht habe, möchte ich meinen WeMos gerne an einer Solarzelle mit Akku betreiben.

    Hierfür möchte ich, zu Schonung des Akkus, den Deep Sleep nutzen, damit die Daten nur einmal alle 15min abgegriffen werden, bevor der WeMos wieder schlafen geht.

    Ich habe bisher herausgefunden, dass hierfür D0 und RST gebrückt werden müssen und der Code (ESP.deepSleep("WERT")) entsprechend angepasst werden muss.


    Leider kenne ich mir mit der Programmierung hierfür zu wenig aus.


    Kann mir hier vielleicht jemand weiterhelfen?


    Vielen Dank & Grüße

    Pascal

  • Hallo Pascal,


    so wie das Projekt jetzt angelegt ist wird das nicht funktionieren. Da der D1 mini als Server arbeitet und Daten nicht selbstständig sendet. Für deinen beschrieben Anwendungsfall muss der D1 mini einen Client darstellen, welcher in seinen Wachphasen die Daten einen einen Server schickt. Visualisierung und Konfiguration erfolgt dann idealerweise auch auf dem Server.

    Ich habe das Projekt ohne weitere Änderung im Gewächshaus im Betrieb. Auch autark mit Solarzelle und Akku. Wenn du also Platz hast, wähle Akku und Zelle einfach etwas größer. Andernfalls müsstest du die Softwarearchitektur maßgeblich ändern, bzw. ein neues Projekt aufsetzen. (Als Beispiel könntest du das "iSpindel" Projekt hernehmen ;) )

    Beste Grüße

    Elias

    Intex Ultra Frame 488x122 • Aqua Vario Plus • Zirkel-Filter SF 500 • 50er Verrohrung • Mini-Skimmer • Astral Multiflow ELD • PoolLAB 1.0 • FlowCalcEzoGateway

  • Hallo Elias,


    vielen Dank für deine schnelle Antwort.


    Solarzelle (6V 333mA) und Akku (2200mAh) habe ich schon hier rumliegen.


    Da die Daten über ioBroker abgefragt werden, müsste es doch möglich sein, dass dieser die Abfrage kontinuierlich macht und man in der Wachphase einen Delay einbaut, damit auch tatsächlich Daten erfasst werden.


    Beispiel: Abfrage 1x pro Minute - Wemos Delay 2min - Deep Sleep 15min

    Somit sollte doch sichergestellt sein, dass immer aktuelle Daten erfasst werden, oder?


    Viele Grüße

    Pascal

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!