NEWS
[gelöst] Regenmenge täglich speichern
-
@liv-in-sky
Danke für das Skript.
Aber so ganz klappt es noch nicht. Ich habe die MinTemp und die MaxTemp und die Regenmenge. Diese muss ich nun "nur" noch in die DB schreiben. An der Stelle komme ich leider mit dem Skript nicht weiter. Ich muss:- Alle Werte in ein Array schreiben?
- Die Werte in ein json schrieben?
- Die Werte in die DB schreiben?
Kann ich die Werte nicht direkt in die DB schreiben? Ich habe mir die einzelnen Werte in Datenpunkten gemerkt. Diese werden automatisch aktualisiert. Eigentlich muss ich sie nur in die DB schreiben. also sowas wie:
sqltext=INSERT INTO wetter_aufzeichnung.wetter(DATUM,TempHigh,TempLow,Regenmenge) VALUES+
("${formatDate(getDateObject((new Date().getTime())), "TT.MM.JJJJ")}","${date1}",${temphigh},"${date2}",${templow} )
Aber wo gebe ich da die Datenpunkte an?Sorry für die für dich simplen Fragen, aber ich steige da noch nicht durch.
-
bin nicht am rechner - aber im script wird doch in eine sql db geschrieben - das passiert ja nur einmal um 23:59
soweit ich mich erinnere:
- es gibt einen täglichen eintrag mit den daten in eine sql-tabelle - um mitternacht
- es gibt eine json tabelle zum direkten ansehen in einer vis-
- um datenpunkte habe ich mich nciht gekümmert - ich weiß nichtmal, was da drin stehen soll entweder ist es der gesamt-wert von gestern oder der immer wieder aktualisierte wert unterm tag
kann erst morgen nochmal nachsehen.
das blockly mit dem sql ist doch schon drin - man muss halt eine tabelle anlegen. wie der sql-query heißt, ist in dem js-functions-blocky drin
beschreibe bitte nochmal genau, was du wann haben willst - damit ich morgen das nochmal überprüfen kann -
@liv-in-sky
OK, dann brauche ich die json Tabelle nicht, da ich es nicht darstellen möchte. Ich möchte die Werte nur in die DB schreiben.
Es ist ein SQL Befehl in Java drin. Ich wollte aber die Werte aus Datenpunkten nehmen, um sie in die DB zu schreiben. Dazu muss ich den SQL Befehl ändern, aber ich weiß nicht so recht wie...
Ich möchte die Werte gerne hier eintragen:
Also in die DB iobroker.Wetter(Datum, Durchschnittstemp,...) -
@liv-in-sky
OK, dann brauche ich die json Tabelle nicht, da ich es nicht darstellen möchte. Ich möchte die Werte nur in die DB schreiben.
Es ist ein SQL Befehl in Java drin. Ich wollte aber die Werte aus Datenpunkten nehmen, um sie in die DB zu schreiben. Dazu muss ich den SQL Befehl ändern, aber ich weiß nicht so recht wie...
Ich möchte die Werte gerne hier eintragen:
Also in die DB iobroker.Wetter(Datum, Durchschnittstemp,...)Ich bin einen Schritt weiter. Ich kann jetzt Werte an die DB übergeben, allerdings wird das Datum nicht angezeigt. Ich denke es liegt am Format. Was mache ich falsch?

Das kommt in die DB:

Anstelle von Jahr und Monat und Tag kommen nur 0. Ich habe die Datumsspalte in der Datenbank als Date formatiert.
-
Ich bin einen Schritt weiter. Ich kann jetzt Werte an die DB übergeben, allerdings wird das Datum nicht angezeigt. Ich denke es liegt am Format. Was mache ich falsch?

Das kommt in die DB:

Anstelle von Jahr und Monat und Tag kommen nur 0. Ich habe die Datumsspalte in der Datenbank als Date formatiert.
versuche es mal mit text im Datumsfeld
oder : ich glaube man kann sowas auch automatisch generieren lassen - evtl hilft google weiter - also wenn du einen eintrag in die datenbank machst, dass dann autom ein datum generiert wird - das datumsfeld als text ist eigentlich keine gute lösung, dass werd ich auch bei mir ändern
so stellt man z.b. den automatischen timestamp - der wird gesetzt, wenn ein eintrag in die sql-db erzeugt wird - danach kann man dann besser suchen - man muss nur noch en eigentlichen wert in die db geben

wenn ich das datum selbst eingeben möchte, geht es bei mir damit (der letzte wert - DatumSQL):
INSERT INTO wetter_aufzeichnung.wetter(DATUM,ZeitHoch,TempHigh,ZeitTief,TempLow,DurchschnittTemp,linux_ts,DatumSQL) VALUES ("07.04.2021","14:38",5.2,"14:42",3.5,4.3,"1617800869469","2021-04-07")
evtl musst du noch anführungszeichen einfügen
nicht getestet:

-
versuche es mal mit text im Datumsfeld
oder : ich glaube man kann sowas auch automatisch generieren lassen - evtl hilft google weiter - also wenn du einen eintrag in die datenbank machst, dass dann autom ein datum generiert wird - das datumsfeld als text ist eigentlich keine gute lösung, dass werd ich auch bei mir ändern
so stellt man z.b. den automatischen timestamp - der wird gesetzt, wenn ein eintrag in die sql-db erzeugt wird - danach kann man dann besser suchen - man muss nur noch en eigentlichen wert in die db geben

wenn ich das datum selbst eingeben möchte, geht es bei mir damit (der letzte wert - DatumSQL):
INSERT INTO wetter_aufzeichnung.wetter(DATUM,ZeitHoch,TempHigh,ZeitTief,TempLow,DurchschnittTemp,linux_ts,DatumSQL) VALUES ("07.04.2021","14:38",5.2,"14:42",3.5,4.3,"1617800869469","2021-04-07")
evtl musst du noch anführungszeichen einfügen
nicht getestet:

@liv-in-sky super, die Hochkommata sind die Lösung. Danke!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
