NEWS
[Eingestellt]: Differenz zweier Datums-DP
-
@CruziX Sehr gerne. Ich vermute, dass der Datentyp falsch ist. Nur habe ich keine Auswahl zur Einstellung eines Zeit-DP gefunden.
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1580367586937, "common": { "name": "ErfassterWasserstandDatum", "role": "", "type": "string", "desc": "Manuell erzeugt", "def": "", "read": true, "write": true }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.ErfassterWasserstandDatum", "type": "state" }
-
@HeinrichB sagte in Differenz zweier Datums-DP:
Hier einer der beiden. Angelegt beide als Zeichenkette, was vermutlich schon der Fehler ist
gut erkannt!
Also umwandeln in Zahl - mit Texten lässt sich schlecht rechnen
-
@Homoran und da habe wir die Frage. Wo umwandeln. im Skript oder bei der Anlage des DP? Das mit den Texten rechnen war mir schon klar, aber es wäre ja möglich gewesen, dass der Compiler ein typecast macht
-
@HeinrichB sagte in Differenz zweier Datums-DP:
wäre ja möglich gewesen, dass der Compiler ein typecast macht
Dann müsste der ja Gedanken lesen können.
@HeinrichB sagte in Differenz zweier Datums-DP:
Wo umwandeln. im Skript oder bei der Anlage des DP?
Egal - aber im DP ist entscheidend wie der Wert ankommt
-
@Homoran said in Differenz zweier Datums-DP:
Dann müsste der ja Gedanken lesen können.
Naja, da du der erfahrene ioBroker-Mann bist, lass ich das mal so stehen. Es gibt dynamische Typisierungen etc. Aber das ist eine andere Sache und nicht relevant.
Was mich natürlich dann interessiert, wie man ein Datum in der Form dd.mm.yy als Zahl anlegt.
Ich versuche es mal im Blockly selbst -
@HeinrichB sagte in Differenz zweier Datums-DP:
Es gibt dynamische Typisierungen etc.
korrekt - aber bei Konkatenation von zwei verschiedenen (Zahl und Text) - was dann?
Erst einmal:
Wo kommen die Werte deiner Datenpunkte her?
in welchem Format? -
@Homoran said in Differenz zweier Datums-DP:
korrekt - aber bei Konkatenation von zwei verschiedenen (Zahl und Text) - was dann?
Wie ich schrieb, habe ich eh den Verdacht gehabt, dass der Typ nicht stimmt. Es fehlt einfach in der Anlage der DP das Typ "datetime". Aber auch da keine Kritik an dem Admin, es ist nur eine Feststellung.
Die Punkte habe ich manuell angelegt, aber ich habe das Gefühl, dass es schon wieder so grundsätzlich wird. Darf ich das überhaupt alles machen, macht es auch Sinn, ...
-
@HeinrichB
Alles gut!Nur um dir hier speziell korrekt weiterzuhelfen (und in Zukunft die Probleme auszuräumen) brauche ich diese Infos.
Es gibt eine dynamische Typzuordnung - und da machst du gerade eine Rechnung indem du von einem Text ein Datum abziehstAlso müssen wir das geradebiegen
@HeinrichB sagte in Differenz zweier Datums-DP:
Die Punkte habe ich manuell angelegt
aber die Werte kommen irgendwo her - und da muss dann der DP richtig für eingestellt sein
-
@HeinrichB
In welcher Masseinheit soll die Zeitdifferenz ausgegeben werden ? -
Ich erkläre mal meine Ansatz, dann verstehst du mein Anliegen. Ich habe einen alten analogen Wasserzähler, dessen Daten ich hin und wieder manuell ablese und in Excel eintrage und dann auch eine Jahresprognose bei gleichbleibenden Verhalten mache. Das will ich in den ioBroker umziehen.
Also Ausgangswert und Datum ist die letzte Ablesung für die Jahresrechnung. Dazu habe ich zwei Datenpunkte manuell angelegt und die Daten eingetragen. Vebrauchsdifferenz und Zeitdifferenz werden linear auf 365 Tage extrapoliert (und auch hier: ich weiss, es ist eine Abschätzung und im Sommer ist alles anders und ja, die Differentiale aufintegriert wäre das genauere, aber es ist die einfachste machbare numerische Approximation und reicht mir aus; geht nicht an dich @Homoran, aber ich kenne die ganzen anderen Kameraden bei dem Thema zu gut).Mit den Basisdaten will ich dann die aktuellen Werte, eingegeben über die VIS, dann zur Prognose heranziehen. D.h. ich habe dazu aktuell die vier DP angelegt:
- zweimal numerische Werte: Ausgangs- und aktueller Wert
- zweimal die Daten (pl., Datum) als String (da habe ich ein DateTime gesucht o.ä.)
Das ich ein typ-mixing hatte, sah ich selbst, nur fand ich nix auf Anhieb, dass mir die Chance habe eine DateTime-DP anzulegen.
Danke
-
@paul53 Ist mir egal, da ich es dann auf Tage umrechne.
-
@HeinrichB
Das mit den Datenpunkten habe ich schon lange verstanden - deine Genauigkeit ist mir piep egal.Ich muss nur wissen wie die WERTE in den Datenpunkt kommen.
trägst du die auch manuell ein?Date-Time als Text ist ok, dann wandeln in Datum
-
@Homoran said in Differenz zweier Datums-DP:
Das mit den Datenpunkten habe ich schon lange verstanden - deine Genauigkeit ist mir piep egal.
So mag ich das; soll jeder für sich wissen;-)
Ich muss nur wissen wie die WERTE in den Datenpunkt kommen.
trägst du die auch manuell ein?Ja, so hatte ich es gemacht: Direkt über die Objekt-Maske.
Date-Time als Text ist ok, dann wandeln in Datum
Wo ginge das bei Blockly?
Danke
-
@HeinrichB sagte in Differenz zweier Datums-DP:
Ja, so hatte ich es gemacht: Direkt über die Objekt-Maske.
Schwere Geburt - Danke
Dann bitte die Typen der Datenpunkte anpassen@HeinrichB sagte in Differenz zweier Datums-DP:
Wo ginge das bei Blockly?
Da bin ich jetzt nicht ganz so fit.
Es gibt Konvertierungs-Blöcke, da ist auch ein "Nach Datum/Zeit" bei.Außerdem ein weiterer Schritt "Datum/Zeit nach Datumsobjekt"
Ein Datumsobjekt müssten die Millisekunden in Linuxtime sein, ebenso sollten so die Timestamps von ioBroker in diesem Format ankommen.Sehr viele Konjunktiva, da ich mir da nicht sicher bin
-
@Homoran Danke für die Hilfe. Ansonsten lasse ich es einfach so, wie es ist. Ich hatte es mir als eine einfache Sache vorgestellt und im Sinne der privaten Systemzusammenführung. Aber dann bleibe ich bei der XLS und danke für Support
-
@HeinrichB sagte in [Eingestellt]: Differenz zweier Datums-DP:
Ich hatte es mir als eine einfache Sache vorgestellt
Was ist denn jetzt nicht einfach??
Nur weil ich, der nicht skripten kann, es nicht weiß?
-
@Homoran Nein, es ist zuviel Aufwand für euch alle.
-
@HeinrichB sagte:
es ist zuviel Aufwand für euch alle.
Ist es nicht. Ein Datum im Format dd.mm.yyyy muss umgewandelt werden in ein Format yyyy-mm-dd, damit es konvertiert werden kann.
-
@paul53 Danke; ich probiere mich mal dran
-
@paul53 said in [Eingestellt]: Differenz zweier Datums-DP:
Ein Datum im Format dd.mm.yyyy muss umgewandelt werden in ein Format yyyy-mm-dd
Das war der Knackpunkt. Vielen Dank dafür. ich habe Deine Skripts lesen können und damit mein Skript aufgebaut. Nicht so generisch wie das Deinige aber es tut es
Danke