[FTUI3] Chart - Jahresansicht um x Monate verschieben

Begonnen von Sailor, 14 November 2022, 16:41:30

Vorheriges Thema - Nächstes Thema

Sailor

Ein herzerfrischendes Moin vom achtern Diek vorweg!

Ich habe mal eine Frage zu den Charts unter ftui3

Wie kann ich die Jahres ansicht ueberreden jeweils im aktiven Jahr die Graphen immer von Mai bis Mai des darauf-folgenden Jahres darzustellen?

Mit

start-date = "May"
start-date = "01.05."
start-date = "01.05.2022"

funktioniert es nicht.


<ftui-chart unit="year" y-label="kWh" y-min="0" >
<ftui-chart-data fill log="DbLogEnergy" file="history" spec="CH_GasCalculator:CH_Gasmeter_value_EnergyMonthLast" start-date = "01.05.2022" color="blue" label="per Month" unit="kWh" type="line" point-radius="0"></ftui-chart-data>
<ftui-chart-controls units="year"></ftui-chart-controls>
</ftui-chart> 


Danke für Eure Hilfe!

Gruß
    Sailor
******************************
Man wird immer besser...

OdfFhem

@Sailor

ftui-chart-data hat zwar die entsprechenden Attribute; diese werden jedoch "gnadenlos" mit "unabhängigen" Berechnungen aus ftui-chart überschrieben.

Im Zweifel macht es aber auch keinen Sinn, start- und end-date pro ftui-chart-data festzulegen.
Besser wäre es, diese in ftui-chart vorzugeben, wo es bislang aber keine entsprechenden Attribute gibt ...

Interessant wird es auf jeden Fall, wenn man in solchen Fällen zusätzlich das ftui-chart-controls einbindet ...

Sailor

Hi OdfFhem

Zitat von: OdfFhem am 14 November 2022, 18:39:37

ftui-chart-data hat zwar die entsprechenden Attribute; diese werden jedoch "gnadenlos" mit "unabhängigen" Berechnungen aus ftui-chart überschrieben.

Im Zweifel macht es aber auch keinen Sinn, start- und end-date pro ftui-chart-data festzulegen.
Besser wäre es, diese in ftui-chart vorzugeben, wo es bislang aber keine entsprechenden Attribute gibt ...

Interessant wird es auf jeden Fall, wenn man in solchen Fällen zusätzlich das ftui-chart-controls einbindet ...

Danke für die Info, dennoch muss ich gestehen, dass ich (ggf. aufgrund Koffein-Mangels) nicht viel verstanden habe.

Den Start-Date wollte ich mit Beginn der Abrechnungsperiode des Gasversorgers auf Mai festlegen?
Wie gebe ich dem ftui-Chart etwas vor wo es bislang noch keine Attribute gibt?

Sorry und Danke

Gruß
    Sailor
******************************
Man wird immer besser...

OdfFhem

Zitat von: Sailor am 15 November 2022, 07:59:03
Danke für die Info, dennoch muss ich gestehen, dass ich (ggf. aufgrund Koffein-Mangels) nicht viel verstanden habe.

Ich habe vermutlich die Antwort zu allgemein formuliert.

Der erste Satz sollte die eigentliche Antwort sein und sagen, dass die genutzten Attribute aktuell keine Bedeutung haben. Demzufolge kann man Beginn/Ende eines Jahres (noch) nicht verschieben ...

Der Rest war eher für @setstate gedacht.

Falls Du an einer (kleinen) "Zwischenlösung" interessiert wärst, könnte ich einen Versuch starten ...

Sailor

Hi

Zitat von: OdfFhem am 15 November 2022, 09:01:26
Falls Du an einer (kleinen) "Zwischenlösung" interessiert wärst, könnte ich einen Versuch starten ...

Bin interessiert!

Habe mich schon gewundert, warum Start-Date nicht funktioniert.

Gruß
    Sailor
******************************
Man wird immer besser...

OdfFhem


Sailor

******************************
Man wird immer besser...

OdfFhem

#7
Dein oben angeführtes Beispiel abgewandelt (s.u.):

<ftui-chart year-date="12.12.2021" unit="year" y-label="kWh" y-min="0">
  <ftui-chart-data fill log="FileLog_ftuitest" spec="4:MQTT2_zigbee3_innrPlug3.statUserRead_energyConsHourLast" color="blue" label="per Month" unit="kWh" type="line" point-radius="0"></ftui-chart-data>
  <ftui-chart-controls units="year"></ftui-chart-controls>
</ftui-chart>

... ftui-chart enthält ein neues Attribut year-date
... ftui-chart-data übergibt kein Attribut start-date oder end-date - hätte auch keinerlei Auswirkung
... die Log-Quelle ist zufällig ausgewählt

Modul chart.component.js anpassen (Zeilennummern beziehen sich auf GitHub-Stand vom 18.11.2022):

... Zeile #14 (leicht) abändern:
import { dateFormat, dateFromString, getStylePropertyValue } from '../../modules/ftui/ftui.helper.js';

... hinter Zeile #207 eine neue Zeile ergänzen:
      yearDate: '',

... Zeile #253 (leicht) abändern:
        date = (this.yearDate) ? dateFromString(this.yearDate) : new Date();

... Zeile #255 (leicht) abändern:
        date.setFullYear(date.getFullYear() + offset, (this.yearDate) ? date.getMonth() : 0, (this.yearDate) ? date.getDate() : 1)


Das "neue, inoffizielle" Attribut year-date kann jedes Datum enthalten und
... gilt nur für den Betrachtungszeitraum "year"
    ... meint den initialen Beginn des Betrachtungszeitraumes "year"
    ... Verschiebung bleibt auch beim Vor- bzw. Rückschalten erhalten
... alle anderen Betrachtungszeiträume gehen immer von HEUTE aus

Sailor

Moin OdfFhem
Zitat von: OdfFhem am 19 November 2022, 15:24:50

Das "neue, inoffizielle" Attribut year-date kann jedes Datum enthalten und
... gilt nur für den Betrachtungszeitraum "year"
    ... meint den initialen Beginn des Betrachtungszeitraumes "year"
    ... Verschiebung bleibt auch beim Vor- bzw. Rückschalten erhalten
... alle anderen Betrachtungszeiträume gehen immer von HEUTE aus

Funktioniert auf der x-Achse schon mal super.
Jetzt muss ich nur noch auf die Daten warten  ;D.

Gruß
    Sailor
******************************
Man wird immer besser...