NEWS
TibberLink Adapter
-
-
@merlin123 und wie? Habe ich noch nie gemacht.
-
@merlin123 said in TibberLink Adapter:
Irgendwas mache ich falsch... Ich habe jetzt das Template in den JSON Editor der Instanz kopiert (also die 3 Eintr
ä
ge, die da drin waren, durch das Template ersetzt) und es wird auch ein JSON erzeugt.
Versuche ich aber
http://192.168.0.251:8082/flexcharts/echarts.html?source=state&id=tibberlink.0.Homes.xxx.PricesTotal.jsonFlexCharts
in einem iFrame anzuzeigen kommt nix.l
ö
sch mal das aus dem erzeugten JSON raus und schau ob er es dann darstellt - das w
ä
r mal die halbe Miete:markArea: { itemStyle: { color: "rgba(120, 200, 120, 0.2)" }, data: [ %%CalcChannelsData%% ] }Es hat bei Dir den Channel Data nicht eingetragen... evtl. hast Du auch nur Channel Typen die noch nicht unterst
ü
tzt sind (die GIT Version von Gestern Abend kann da schon wieder mehr) - f
ü
r den Fall dass keine Channel Daten vorhanden sind muss ich den Platzhalter noch passend ersetzen.... sehr gut! Da hast Du einen Bug gefunden 
Was mir auch aufgefallen ist:
Ich habe den TriggerPrice ge
ä
ndert, das Diagramm wurde aber nicht aktualisiertStimmt. Die Rohdaten werden schon erzeugt - ich muss nur noch einen Trigger freischalten dass er den jsonFlexCharts neu erstellt (aufgrund der Aufteilung der Programmteile gibt es da noch ein zu umschiffendes Hindernis) - aber das kommt noch... akut hilft ein Adapterneustart zum Probieren, oder die n
ä
chste volle Stunde.Zudem habe ich gestern evtl. eine L
ö
sung gefunden f
ü
r das "zu viel Text bei mehreren Channels" Problem:

@reblausgt Ich hatte "Beste Kosten" als Typ gew
ä
hlt.Hab eben nochmal von Git geladen, ist weiterhin die Version 4.2.0
JSON sieht so aus: (Hab jetzt nicht verglichen, ob das identisch ist)
option = { backgroundColor: "rgb(232, 232, 232)", title: { text: "Tibber Price", }, tooltip: { trigger: "axis", axisPointer: { type: "cross" } }, grid: { // Randabstände left: "10%", right: "4%", top: "8%", bottom: "8%" }, xAxis: { type: "category", boundaryGap: false, data: ["02.01.\n00:00","02.01.\n01:00","02.01.\n02:00","02.01.\n03:00","02.01.\n04:00","02.01.\n05:00","02.01.\n06:00","02.01.\n07:00","02.01.\n08:00","02.01.\n09:00","02.01.\n10:00","02.01.\n11:00","02.01.\n12:00","02.01.\n13:00","02.01.\n14:00","02.01.\n15:00","02.01.\n16:00","02.01.\n17:00","02.01.\n18:00","02.01.\n19:00","02.01.\n20:00","02.01.\n21:00","02.01.\n22:00","02.01.\n23:00","03.01.\n00:00","03.01.\n01:00","03.01.\n02:00","03.01.\n03:00","03.01.\n04:00","03.01.\n05:00","03.01.\n06:00","03.01.\n07:00","03.01.\n08:00","03.01.\n09:00","03.01.\n10:00","03.01.\n11:00","03.01.\n12:00","03.01.\n13:00","03.01.\n14:00","03.01.\n15:00","03.01.\n16:00","03.01.\n17:00","03.01.\n18:00","03.01.\n19:00","03.01.\n20:00","03.01.\n21:00","03.01.\n22:00","03.01.\n23:00","04.01.\n00:00"] }, yAxis: { type: "value", axisLabel: {formatter: "{value} ct/kWh"}, axisPointer: { snap: true } }, visualMap: { min: 0.2, max: 0.3, inRange: { color: ["green", "yellow", "red"] // Verlauf von grün über gelb nach rot }, show: false }, series: [ { name: "Total", type: "line", step: "end", symbol: "none", data: [0.2059,0.2047,0.207,0.2112,0.218,0.2387,0.2828,0.3205,0.3475,0.3543,0.3532,0.3456,0.3409,0.3384,0.3483,0.3577,0.3678,0.3848,0.3849,0.3685,0.3576,0.3454,0.3378,0.301,0.3213,0.307,0.304,0.3026,0.2951,0.2979,0.3023,0.2962,0.3011,0.299,0.2953,0.2867,0.2861,0.2955,0.2967,0.3044,0.3284,0.3417,0.3398,0.3396,0.3377,0.3312,0.3198,0.3083,0.3083], markArea: { itemStyle: { color: "rgba(120, 200, 120, 0.2)" }, data: [ %%CalcChannelsData%% ] } } ] };In der Instanz sieht es so aus: (Muss da bei Zielzustand was rein? Wenn ja: Was?)

L
ö
sche ich den Teil raus, den Du geschrieben hast, kommt das raus:
Was f
ü
r Preise der da aber anzeigt ist mir etwas r
ä
tselhaft.... Sind "etwas" niedrig 
-
@reblausgt Ich hatte "Beste Kosten" als Typ gew
ä
hlt.Hab eben nochmal von Git geladen, ist weiterhin die Version 4.2.0
JSON sieht so aus: (Hab jetzt nicht verglichen, ob das identisch ist)
option = { backgroundColor: "rgb(232, 232, 232)", title: { text: "Tibber Price", }, tooltip: { trigger: "axis", axisPointer: { type: "cross" } }, grid: { // Randabstände left: "10%", right: "4%", top: "8%", bottom: "8%" }, xAxis: { type: "category", boundaryGap: false, data: ["02.01.\n00:00","02.01.\n01:00","02.01.\n02:00","02.01.\n03:00","02.01.\n04:00","02.01.\n05:00","02.01.\n06:00","02.01.\n07:00","02.01.\n08:00","02.01.\n09:00","02.01.\n10:00","02.01.\n11:00","02.01.\n12:00","02.01.\n13:00","02.01.\n14:00","02.01.\n15:00","02.01.\n16:00","02.01.\n17:00","02.01.\n18:00","02.01.\n19:00","02.01.\n20:00","02.01.\n21:00","02.01.\n22:00","02.01.\n23:00","03.01.\n00:00","03.01.\n01:00","03.01.\n02:00","03.01.\n03:00","03.01.\n04:00","03.01.\n05:00","03.01.\n06:00","03.01.\n07:00","03.01.\n08:00","03.01.\n09:00","03.01.\n10:00","03.01.\n11:00","03.01.\n12:00","03.01.\n13:00","03.01.\n14:00","03.01.\n15:00","03.01.\n16:00","03.01.\n17:00","03.01.\n18:00","03.01.\n19:00","03.01.\n20:00","03.01.\n21:00","03.01.\n22:00","03.01.\n23:00","04.01.\n00:00"] }, yAxis: { type: "value", axisLabel: {formatter: "{value} ct/kWh"}, axisPointer: { snap: true } }, visualMap: { min: 0.2, max: 0.3, inRange: { color: ["green", "yellow", "red"] // Verlauf von grün über gelb nach rot }, show: false }, series: [ { name: "Total", type: "line", step: "end", symbol: "none", data: [0.2059,0.2047,0.207,0.2112,0.218,0.2387,0.2828,0.3205,0.3475,0.3543,0.3532,0.3456,0.3409,0.3384,0.3483,0.3577,0.3678,0.3848,0.3849,0.3685,0.3576,0.3454,0.3378,0.301,0.3213,0.307,0.304,0.3026,0.2951,0.2979,0.3023,0.2962,0.3011,0.299,0.2953,0.2867,0.2861,0.2955,0.2967,0.3044,0.3284,0.3417,0.3398,0.3396,0.3377,0.3312,0.3198,0.3083,0.3083], markArea: { itemStyle: { color: "rgba(120, 200, 120, 0.2)" }, data: [ %%CalcChannelsData%% ] } } ] };In der Instanz sieht es so aus: (Muss da bei Zielzustand was rein? Wenn ja: Was?)

L
ö
sche ich den Teil raus, den Du geschrieben hast, kommt das raus:
Was f
ü
r Preise der da aber anzeigt ist mir etwas r
ä
tselhaft.... Sind "etwas" niedrig 
@merlin123 said in TibberLink Adapter:
@reblausgt Ich hatte "Beste Kosten" als Typ gew
ä
hlt.
Hab eben nochmal von Git geladen, ist weiterhin die Version 4.2.0ja, das bleibt auch so bis die released wird - vor 5 Minuten aktualisiert... jetzt schreibt er einen Dummy in das JSON wenn kein Channel Daten liefert
In der Instanz sieht es so aus: (Muss da bei Zielzustand was rein? Wenn ja: Was?)
Muss nichts rein - ist optional. Wenn Du einen Zielzustand eingibst dann wird der direkt geschaltet, bzw. beschrieben mit den Werten die Du vorgibst. Wenn du keinen State ausw
ä
hlst macht er einen "Output" im Folder des Channels.
Was f
ü
r Preise der da aber anzeigt ist mir etwas r
ä
tselhaft.... Sind "etwas" niedrig 
Ä
h - ja die sind gut. W
ü
rde ich nehmen.... Kann es sein dass du den Demo Token im Adapter hast? Da kommen solche Preise raus.
Eigentlich sind das die "Total" Preise... Und bei mir auch identisch mit denen der Handy APPStell doch mal den Channel so ein, dass er "Einschaltet" .... wenn du im States-Folder des Channels dann den Channel aktivierst, dann sollte auch ein state OutputJSON bef
ü
llt werden.... Das sind die Daten die dann auch in den Graph kommen. -
@paul53 Hier w
ä
re der Wert "totalCost" f
ü
r mich interessant:[{"from":"2025-01-01T00:00:00.000+01:00","to":"2025-01-02T00:00:00.000+01:00","cost":1.5221652831,"unitPrice":0.210564,"unitPriceVAT":0.033619,"consumption":7.229,"consumptionUnit":"kWh","totalCost":1.4510258931,"unitCost":1.5221652831,"currency":"EUR"}] -
@paul53 Hier w
ä
re der Wert "totalCost" f
ü
r mich interessant:[{"from":"2025-01-01T00:00:00.000+01:00","to":"2025-01-02T00:00:00.000+01:00","cost":1.5221652831,"unitPrice":0.210564,"unitPriceVAT":0.033619,"consumption":7.229,"consumptionUnit":"kWh","totalCost":1.4510258931,"unitCost":1.5221652831,"currency":"EUR"}] -
@merlin123 said in TibberLink Adapter:
@reblausgt Ich hatte "Beste Kosten" als Typ gew
ä
hlt.
Hab eben nochmal von Git geladen, ist weiterhin die Version 4.2.0ja, das bleibt auch so bis die released wird - vor 5 Minuten aktualisiert... jetzt schreibt er einen Dummy in das JSON wenn kein Channel Daten liefert
In der Instanz sieht es so aus: (Muss da bei Zielzustand was rein? Wenn ja: Was?)
Muss nichts rein - ist optional. Wenn Du einen Zielzustand eingibst dann wird der direkt geschaltet, bzw. beschrieben mit den Werten die Du vorgibst. Wenn du keinen State ausw
ä
hlst macht er einen "Output" im Folder des Channels.
Was f
ü
r Preise der da aber anzeigt ist mir etwas r
ä
tselhaft.... Sind "etwas" niedrig 
Ä
h - ja die sind gut. W
ü
rde ich nehmen.... Kann es sein dass du den Demo Token im Adapter hast? Da kommen solche Preise raus.
Eigentlich sind das die "Total" Preise... Und bei mir auch identisch mit denen der Handy APPStell doch mal den Channel so ein, dass er "Einschaltet" .... wenn du im States-Folder des Channels dann den Channel aktivierst, dann sollte auch ein state OutputJSON bef
ü
llt werden.... Das sind die Daten die dann auch in den Graph kommen.@reblausgt Die Versionsnummer bei
Ä
nderungen gleich zu lassen finde ich nicht gut. Man wei
ß
dann nie, welche Version man gerade installiert hat. Jede
Ä
nderung (oder mehrere, wenn sie zeitgleich aktiv werden) sollte eine neue Versionsnummer ausl
ö
sen.Demo Token habe ich nicht. Die Preise werden sonst richtig angezeigt
Das OutpurJSON sieht so aus:
[ { "hour": 0, "startsAt": "2025-01-02T00:00:00.000+01:00", "total": 0.2059, "output": true }, { "hour": 1, "startsAt": "2025-01-02T01:00:00.000+01:00", "total": 0.2047, "output": true }, { "hour": 2, "startsAt": "2025-01-02T02:00:00.000+01:00", "total": 0.207, "output": true }, { "hour": 3, "startsAt": "2025-01-02T03:00:00.000+01:00", "total": 0.2112, "output": true }, { "hour": 4, "startsAt": "2025-01-02T04:00:00.000+01:00", "total": 0.218, "output": true }, { "hour": 5, "startsAt": "2025-01-02T05:00:00.000+01:00", "total": 0.2387, "output": true }, { "hour": 6, "startsAt": "2025-01-02T06:00:00.000+01:00", "total": 0.2828, "output": true }, { "hour": 7, "startsAt": "2025-01-02T07:00:00.000+01:00", "total": 0.3205, "output": true }, { "hour": 8, "startsAt": "2025-01-02T08:00:00.000+01:00", "total": 0.3475, "output": true }, { "hour": 9, "startsAt": "2025-01-02T09:00:00.000+01:00", "total": 0.3543, "output": true }, { "hour": 10, "startsAt": "2025-01-02T10:00:00.000+01:00", "total": 0.3532, "output": true }, { "hour": 11, "startsAt": "2025-01-02T11:00:00.000+01:00", "total": 0.3456, "output": true }, { "hour": 12, "startsAt": "2025-01-02T12:00:00.000+01:00", "total": 0.3409, "output": true }, { "hour": 13, "startsAt": "2025-01-02T13:00:00.000+01:00", "total": 0.3384, "output": true }, { "hour": 14, "startsAt": "2025-01-02T14:00:00.000+01:00", "total": 0.3483, "output": true }, { "hour": 15, "startsAt": "2025-01-02T15:00:00.000+01:00", "total": 0.3577, "output": true }, { "hour": 16, "startsAt": "2025-01-02T16:00:00.000+01:00", "total": 0.3678, "output": true }, { "hour": 17, "startsAt": "2025-01-02T17:00:00.000+01:00", "total": 0.3848, "output": true }, { "hour": 18, "startsAt": "2025-01-02T18:00:00.000+01:00", "total": 0.3849, "output": true }, { "hour": 19, "startsAt": "2025-01-02T19:00:00.000+01:00", "total": 0.3685, "output": true }, { "hour": 20, "startsAt": "2025-01-02T20:00:00.000+01:00", "total": 0.3576, "output": true }, { "hour": 21, "startsAt": "2025-01-02T21:00:00.000+01:00", "total": 0.3454, "output": true }, { "hour": 22, "startsAt": "2025-01-02T22:00:00.000+01:00", "total": 0.3378, "output": true }, { "hour": 23, "startsAt": "2025-01-02T23:00:00.000+01:00", "total": 0.301, "output": true } ]Preise in Euro, sieht richtig aus...
Im Chart wird aber z.B. 0,3ct/kWh angezeigt, sind aber 0,3
€
/kWh
Das generierte Chart wird jetzt auch angezeigt.
Wie mache ich da jetzt die Stunden sichtbar, wo der Preis unterhalb des Triggerpreises liegt? -
@reblausgt Die Versionsnummer bei
Ä
nderungen gleich zu lassen finde ich nicht gut. Man wei
ß
dann nie, welche Version man gerade installiert hat. Jede
Ä
nderung (oder mehrere, wenn sie zeitgleich aktiv werden) sollte eine neue Versionsnummer ausl
ö
sen.Demo Token habe ich nicht. Die Preise werden sonst richtig angezeigt
Das OutpurJSON sieht so aus:
[ { "hour": 0, "startsAt": "2025-01-02T00:00:00.000+01:00", "total": 0.2059, "output": true }, { "hour": 1, "startsAt": "2025-01-02T01:00:00.000+01:00", "total": 0.2047, "output": true }, { "hour": 2, "startsAt": "2025-01-02T02:00:00.000+01:00", "total": 0.207, "output": true }, { "hour": 3, "startsAt": "2025-01-02T03:00:00.000+01:00", "total": 0.2112, "output": true }, { "hour": 4, "startsAt": "2025-01-02T04:00:00.000+01:00", "total": 0.218, "output": true }, { "hour": 5, "startsAt": "2025-01-02T05:00:00.000+01:00", "total": 0.2387, "output": true }, { "hour": 6, "startsAt": "2025-01-02T06:00:00.000+01:00", "total": 0.2828, "output": true }, { "hour": 7, "startsAt": "2025-01-02T07:00:00.000+01:00", "total": 0.3205, "output": true }, { "hour": 8, "startsAt": "2025-01-02T08:00:00.000+01:00", "total": 0.3475, "output": true }, { "hour": 9, "startsAt": "2025-01-02T09:00:00.000+01:00", "total": 0.3543, "output": true }, { "hour": 10, "startsAt": "2025-01-02T10:00:00.000+01:00", "total": 0.3532, "output": true }, { "hour": 11, "startsAt": "2025-01-02T11:00:00.000+01:00", "total": 0.3456, "output": true }, { "hour": 12, "startsAt": "2025-01-02T12:00:00.000+01:00", "total": 0.3409, "output": true }, { "hour": 13, "startsAt": "2025-01-02T13:00:00.000+01:00", "total": 0.3384, "output": true }, { "hour": 14, "startsAt": "2025-01-02T14:00:00.000+01:00", "total": 0.3483, "output": true }, { "hour": 15, "startsAt": "2025-01-02T15:00:00.000+01:00", "total": 0.3577, "output": true }, { "hour": 16, "startsAt": "2025-01-02T16:00:00.000+01:00", "total": 0.3678, "output": true }, { "hour": 17, "startsAt": "2025-01-02T17:00:00.000+01:00", "total": 0.3848, "output": true }, { "hour": 18, "startsAt": "2025-01-02T18:00:00.000+01:00", "total": 0.3849, "output": true }, { "hour": 19, "startsAt": "2025-01-02T19:00:00.000+01:00", "total": 0.3685, "output": true }, { "hour": 20, "startsAt": "2025-01-02T20:00:00.000+01:00", "total": 0.3576, "output": true }, { "hour": 21, "startsAt": "2025-01-02T21:00:00.000+01:00", "total": 0.3454, "output": true }, { "hour": 22, "startsAt": "2025-01-02T22:00:00.000+01:00", "total": 0.3378, "output": true }, { "hour": 23, "startsAt": "2025-01-02T23:00:00.000+01:00", "total": 0.301, "output": true } ]Preise in Euro, sieht richtig aus...
Im Chart wird aber z.B. 0,3ct/kWh angezeigt, sind aber 0,3
€
/kWh
Das generierte Chart wird jetzt auch angezeigt.
Wie mache ich da jetzt die Stunden sichtbar, wo der Preis unterhalb des Triggerpreises liegt?@merlin123 said in TibberLink Adapter:
@reblausgt Die Versionsnummer bei
Ä
nderungen gleich zu lassen finde ich nicht gut. Man wei
ß
dann nie, welche Version man gerade installiert hat. Jede
Ä
nderung (oder mehrere, wenn sie zeitgleich aktiv werden) sollte eine neue Versionsnummer ausl
ö
sen.Jede neue Release hat zwingend eine neue Releasenummer. Der Maintainer kann neben den Releaseversionen (a.b.c) auch prereleases (a.b.c-alpha.x) erstellen und via npm anbieten.
Wenn du direkt von Github installierst musst du selbst wissen warum du das tust. Da dies nur f
ü
r konkrete Tests in Abstimmung mit dem Dev sinnvoll iat, sind Versionsnummern hier irrelevant. Github Installationen haben per Definition keine definierte Versionsnummer. (Du sieht aber die Github SHA - damit kannst ggF auf Github checken welchen Satnd du installiert hats.)Generell gilt:
Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.
GitHub Versionen k
ö
nnen sich jederzeit (auch kurzfristig)
ä
ndern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardm
ä
ß
igen Umgebung erst im Zuge der Releaseerstellung ge
ä
ndert wird.Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalit
ä
t - unter Inkaufnahme des erh
ö
hten Risikos - nat
ü
rlich erfolgen.Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erh
ö
hter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.Und falls es irgendwie unklar ist:
ioBroker unterst
ü
tzt folgende Arten von Installation:-
aus dem STABLE Repository
Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Nat
ü
rlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern. -
aus dem LATEST Repository
Das sind Adapter Releases die neu erstellt wurden und nur rudiment
ä
r getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind prim
ä
r f
ü
r unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases k
ö
nnen durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten au
ß
er man braucht irgenein neues Feature (z.B. neues Ger
ä
t) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist. -
direkt von GITHUB
Von Installationen direkt aus Giuthub wird definitiv abgeraten au
ß
er auf Anweisung des Maintainers und f
ü
r den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben. -
direkt von npm
Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren m
ö
chte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist.
Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudiment
ä
ren Review unterzogen und sollten mit dem Attribut "vollst
ä
ndig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits f
ü
r solche Adapter ist mit sicherheit minimalistisch. -
-
@merlin123 said in TibberLink Adapter:
@reblausgt Die Versionsnummer bei
Ä
nderungen gleich zu lassen finde ich nicht gut. Man wei
ß
dann nie, welche Version man gerade installiert hat. Jede
Ä
nderung (oder mehrere, wenn sie zeitgleich aktiv werden) sollte eine neue Versionsnummer ausl
ö
sen.Jede neue Release hat zwingend eine neue Releasenummer. Der Maintainer kann neben den Releaseversionen (a.b.c) auch prereleases (a.b.c-alpha.x) erstellen und via npm anbieten.
Wenn du direkt von Github installierst musst du selbst wissen warum du das tust. Da dies nur f
ü
r konkrete Tests in Abstimmung mit dem Dev sinnvoll iat, sind Versionsnummern hier irrelevant. Github Installationen haben per Definition keine definierte Versionsnummer. (Du sieht aber die Github SHA - damit kannst ggF auf Github checken welchen Satnd du installiert hats.)Generell gilt:
Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.
GitHub Versionen k
ö
nnen sich jederzeit (auch kurzfristig)
ä
ndern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardm
ä
ß
igen Umgebung erst im Zuge der Releaseerstellung ge
ä
ndert wird.Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalit
ä
t - unter Inkaufnahme des erh
ö
hten Risikos - nat
ü
rlich erfolgen.Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erh
ö
hter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.Und falls es irgendwie unklar ist:
ioBroker unterst
ü
tzt folgende Arten von Installation:-
aus dem STABLE Repository
Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Nat
ü
rlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern. -
aus dem LATEST Repository
Das sind Adapter Releases die neu erstellt wurden und nur rudiment
ä
r getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind prim
ä
r f
ü
r unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases k
ö
nnen durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten au
ß
er man braucht irgenein neues Feature (z.B. neues Ger
ä
t) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist. -
direkt von GITHUB
Von Installationen direkt aus Giuthub wird definitiv abgeraten au
ß
er auf Anweisung des Maintainers und f
ü
r den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben. -
direkt von npm
Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren m
ö
chte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist.
Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudiment
ä
ren Review unterzogen und sollten mit dem Attribut "vollst
ä
ndig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits f
ü
r solche Adapter ist mit sicherheit minimalistisch.@mcm1957 Und diese Antwort sagt mir jetzt was in Bezug auf "Neue Version = neue Versionsnummer"?
Ich habe lediglich gesagt, dass aus meiner Sicht eine neue Version eine neue Versionsnummer bekommen sollte, sobald diese "irgendwo" ver
ö
ffentlicht wird.
Ich empfinde eine saubere Versionierung auch (oder vielleicht sogar gerade) bei Tests sehr wichtig und sinnvoll.Ich hab ja oben das beste Beispiel geliefert:
Ich hatte V4.2.0 installiert. Nachdem ich neu von Git installiert hatte, stand da weiterhin 4.2.0.
Wurde jetzt wirklich die neue Version installiert? Oder ging vielleicht was schief?
und: Ich schreibe "bei V4.2.0" ist mir XY aufgefallen. Ein anderer sagt "N
ö
, das geht bei mir mit 4.2.0". Kein Mensch kann dann sagen, ob beide wirklich auf der gleichen Version sind.-Das macht einfach alles unn
ö
tig kompliziert und ist halt sehr einfach vermeidbar.Und wie gesagt: Das ist lediglich meine Meinung zu dem Thema Versionsnummern
-
-
@mcm1957 Und diese Antwort sagt mir jetzt was in Bezug auf "Neue Version = neue Versionsnummer"?
Ich habe lediglich gesagt, dass aus meiner Sicht eine neue Version eine neue Versionsnummer bekommen sollte, sobald diese "irgendwo" ver
ö
ffentlicht wird.
Ich empfinde eine saubere Versionierung auch (oder vielleicht sogar gerade) bei Tests sehr wichtig und sinnvoll.Ich hab ja oben das beste Beispiel geliefert:
Ich hatte V4.2.0 installiert. Nachdem ich neu von Git installiert hatte, stand da weiterhin 4.2.0.
Wurde jetzt wirklich die neue Version installiert? Oder ging vielleicht was schief?
und: Ich schreibe "bei V4.2.0" ist mir XY aufgefallen. Ein anderer sagt "N
ö
, das geht bei mir mit 4.2.0". Kein Mensch kann dann sagen, ob beide wirklich auf der gleichen Version sind.-Das macht einfach alles unn
ö
tig kompliziert und ist halt sehr einfach vermeidbar.Und wie gesagt: Das ist lediglich meine Meinung zu dem Thema Versionsnummern
@merlin123 Martin hat schon Recht... eigentlich sind das Arbeitsst
ä
nde und keine Releases - damit keine Versionsnummer....
Aber Du hast auch Recht... wenn wir hier im Forum
ü
ber St
ä
nde reden sollte man eine Build Nummer dazu haben. Daher:
Auf GIT gibt es jetzt eine 4.2.0-beta1 .... die aktualisiert die jsonFlexChart jetzt immer auch gleich bei
Ä
nderung der dynamischen Channel Config - nicht nur zur vollen Stunde -
@merlin123 Martin hat schon Recht... eigentlich sind das Arbeitsst
ä
nde und keine Releases - damit keine Versionsnummer....
Aber Du hast auch Recht... wenn wir hier im Forum
ü
ber St
ä
nde reden sollte man eine Build Nummer dazu haben. Daher:
Auf GIT gibt es jetzt eine 4.2.0-beta1 .... die aktualisiert die jsonFlexChart jetzt immer auch gleich bei
Ä
nderung der dynamischen Channel Config - nicht nur zur vollen Stunde@reblausgt Dank dir

Meine Frage bzgl. Markierung und der Hinweis zu den Preisen hast Du gesehen?
-
@reblausgt Dank dir

Meine Frage bzgl. Markierung und der Hinweis zu den Preisen hast Du gesehen?
@merlin123 said in TibberLink Adapter:
Im Chart wird aber z.B. 0,3ct/kWh angezeigt, sind aber 0,3
€
/kWhim Template steht
axisLabel: {formatter: "{value} ct/kWh"},... da muss dann EUR oder
€
rein... soll ja so sein dass man sich das umbauen kann... du kannst ja auch einen BAR Graph daraus machen oder zur Not einen POLAR Chart....Wie mache ich da jetzt die Stunden sichtbar, wo der Preis unterhalb des Triggerpreises liegt?
der Channel ist auf active = true? Der Preis hoch genug?
-
@reblausgt Dank dir

Meine Frage bzgl. Markierung und der Hinweis zu den Preisen hast Du gesehen?
-
@merlin123
FYI: bei der achse geht auch sowas:axisLabel: { formatter: function (value) { return value * 100 + " ct/kWh"; } }da kann man zur Not auch in andere W
ä
hrungen umrechnen 
@reblausgt Danke f
ü
r den Tipp mit der Beschriftung 
Geht jetzt


Muss dann morgen mal schauen wie das Diagramm aussieht, wenn es noch keine Preise vom Folgetag gibt

Wann wird das Diagramm denn neu erzeugt? Zur vollen Stunde oder wenn es neue Preise gibt?NACHTRAG:
Da ist doch noch ein Wurm drin...Der Trigger steht auf 0.303, er zeigt aber f
ü
r den 3.1. nicht alle Stunden an:
Sind das zu viele "Auto_laden" Bl
ö
cke? Oder hat das ne andere Ursache? -
@reblausgt Danke f
ü
r den Tipp mit der Beschriftung 
Geht jetzt


Muss dann morgen mal schauen wie das Diagramm aussieht, wenn es noch keine Preise vom Folgetag gibt

Wann wird das Diagramm denn neu erzeugt? Zur vollen Stunde oder wenn es neue Preise gibt?NACHTRAG:
Da ist doch noch ein Wurm drin...Der Trigger steht auf 0.303, er zeigt aber f
ü
r den 3.1. nicht alle Stunden an:
Sind das zu viele "Auto_laden" Bl
ö
cke? Oder hat das ne andere Ursache?@merlin123 said in TibberLink Adapter:
Der Trigger steht auf 0.303, er zeigt aber f
ü
r den 3.1. nicht alle Stunden an:Sind das zu viele "Auto_laden" Bl
ö
cke? Oder hat das ne andere Ursache?Block Anzahl ist nicht begrenzt. Er macht aber was er soll.... der BestCost Typ arbeitet immer pro Kalendertag. Nachts um 0:00 w
ü
rde sich dann das Ergebnis
ä
ndern.
F
ü
r andere Zeitr
ä
ume nimm die LTF Variante.
Graph JSON wird jetzt jede Stunde neu geschrieben (wenn der aktuelle Preis empfangen wird). Und nach
Ä
nderungen der Einstellung.Du kannst
ü
brigens ruhig Leerzeichen in den Channel Namen verwenden. -
Hallo liebe Leute,
ich bin seit 1.1. diesen Jahres Tibber-Kunde.
Auf meinem Handy l
ä
uft alle sehr gut.
Beim einrichten des Tibberlink-Adapters komme ich nicht weiter.
ich habe den API-Token eingetragen, bei Tibber-Haus sollte sich, nach lesen von diversen Anleitungen,
nach Neustart ein Wert eintragen.
Es passiert aber nichts, habe alles ausprobiert, wieder und wieder und jetzt frage ich euch wie es richtig gemacht wird.Freue mich auf eure Hilfe.
PS: Habe die neueste Version 4.1.0
-
@merlin123 said in TibberLink Adapter:
Der Trigger steht auf 0.303, er zeigt aber f
ü
r den 3.1. nicht alle Stunden an:Sind das zu viele "Auto_laden" Bl
ö
cke? Oder hat das ne andere Ursache?Block Anzahl ist nicht begrenzt. Er macht aber was er soll.... der BestCost Typ arbeitet immer pro Kalendertag. Nachts um 0:00 w
ü
rde sich dann das Ergebnis
ä
ndern.
F
ü
r andere Zeitr
ä
ume nimm die LTF Variante.
Graph JSON wird jetzt jede Stunde neu geschrieben (wenn der aktuelle Preis empfangen wird). Und nach
Ä
nderungen der Einstellung.Du kannst
ü
brigens ruhig Leerzeichen in den Channel Namen verwenden.@reblausgt Leerzeichen: OK

so... nachdem heute der neue Tag ist sieht die Anzeige so aus:

Vorschl
ä
ge:- Optional getrennte Diagramme f
ü
r heute und morgen. Ich pers
ö
nlich finde es verwirrend, wenn das Diagramm einmal nur heute und einmal heute und morgen anzeigt. (Vielleicht zur Erkl
ä
rung: Ich bin neuodivers und f
ü
r mich ist es einfacher, wenn Dinge immer gleich sind) - Anzeige der Bl
ö
cke auch f
ü
r morgen. Gerade beim Auto Laden ist es ja oft so, dass die billigen Stunden Nachts sind. Und dann die Ladestunden nicht zu sehen ist nicht optimal.
Und allgemein: Danke f
ü
r Deine Arbeit! Ist echt klasse! 
- Optional getrennte Diagramme f
-
@paul53 ne... Da wo "Wert" ist kommt der Wert des DPs mit dem JSON rein (also das passt). Bei Attribut der Name des Attributes, z.B.
totalCostDann liefert der Block bei dem JSON aus dem DP
[{"from":"2025-01-01T00:00:00.000+01:00","to":"2025-01-02T00:00:00.000+01:00","cost":1.5221652831,"unitPrice":0.210564,"unitPriceVAT":0.033619,"consumption":7.229,"consumptionUnit":"kWh","totalCost":1.4510258931,"unitCost":1.5221652831,"currency":"EUR"}]1.4510258931
zur
ü
ckEDIT: Hab das auf Grund des Hinweises von Homoran etwas umformuliert
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


