Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. TibberLink Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

TibberLink Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
615 Beiträge 85 Kommentatoren 193.5k Aufrufe 78 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H HomeUser

    Für den Abruf der 15-Minuten-Werte müsste nach meinem Verständnis der neue Parameter im Aufruf der Tibber-API verwendet werden und dann der folgende Abschnitt im Adapter angepasst werden:

    tibberAPICaller.ts an Zeile 228

    				for (const price of pricesToday) {
    					const hour = new Date(price.startsAt.substr(0, 19)).getHours();
    					await this.fetchPrice(homeId, `PricesToday.${hour}`, price);
    				}
    				if (Array.isArray(pricesToday) && pricesToday[2]?.startsAt) {
    					// Got valid pricesToday
    					void this.checkAndSetValue(
    						`Homes.${homeId}.PricesToday.jsonBYpriceASC`,
    						JSON.stringify(pricesToday.sort((a, b) => a.total - b.total)),
    						"prices sorted by cost ascending as json",
    					);
    					exDate = new Date(pricesToday[2].startsAt);
    					if (exDate && exDate >= today) {
    						return true;
    					}
    

    Leider hätte ich erst in gut 2 Wochen Zeit mich experimentell darun zu versuchen. Die Hoffnung lebt, dass es bis dahin schon umgesetzt ist :-)

    B Offline
    B Offline
    bakerman23
    schrieb am zuletzt editiert von
    #587

    @homeuser die Preise muss man nicht öfters abrufen. Nach Veröffentlichung ist der ja fix.
    Wichtig wäre zu wissen, wie die calculation damit umgeht, das die Datenpunkte bisher auf ein stündliches Zeitfenster ausgelegt sind.

    R 1 Antwort Letzte Antwort
    0
    • B bakerman23

      @homeuser die Preise muss man nicht öfters abrufen. Nach Veröffentlichung ist der ja fix.
      Wichtig wäre zu wissen, wie die calculation damit umgeht, das die Datenpunkte bisher auf ein stündliches Zeitfenster ausgelegt sind.

      R Offline
      R Offline
      ReblausGT
      Developer
      schrieb am zuletzt editiert von
      #588

      Sorry das ich mich rar gemacht hatte - der Umbau des Adapters war doch etwas umfangreicher. Bis man alles findet wo man früher mal einfach von vollen Stunden ausgegangen ist dauert... :grimacing:
      Zeitgleich hatte ein wenig mit der neuen DIY Heizung zu tun.... :blush:

      Die 6.0.0 solltet ihr jetzt auch vom latest repo regulär abrufen können. Eigentlich müsste alles laufen und immer und überall mit 15 Minuten rechnen..
      Stellen für die Berechnungskanäle mit Parameter "AmountHours" sind immernoch Stunden .... da kann man aber auch 0,75 schreiben ....

      HAPPY TESTING!!!! Wäre toll wenn es viele hier mal ausprobieren - ich würde das gerne möglichst zügig in den stable geben. Bin ja für den Start des 15-Minuten zum 01.Okt. doch schon recht spät dran. :confounded:

      L 1 Antwort Letzte Antwort
      0
      • R ReblausGT

        Sorry das ich mich rar gemacht hatte - der Umbau des Adapters war doch etwas umfangreicher. Bis man alles findet wo man früher mal einfach von vollen Stunden ausgegangen ist dauert... :grimacing:
        Zeitgleich hatte ein wenig mit der neuen DIY Heizung zu tun.... :blush:

        Die 6.0.0 solltet ihr jetzt auch vom latest repo regulär abrufen können. Eigentlich müsste alles laufen und immer und überall mit 15 Minuten rechnen..
        Stellen für die Berechnungskanäle mit Parameter "AmountHours" sind immernoch Stunden .... da kann man aber auch 0,75 schreiben ....

        HAPPY TESTING!!!! Wäre toll wenn es viele hier mal ausprobieren - ich würde das gerne möglichst zügig in den stable geben. Bin ja für den Start des 15-Minuten zum 01.Okt. doch schon recht spät dran. :confounded:

        L Offline
        L Offline
        lesiflo
        Most Active
        schrieb am zuletzt editiert von lesiflo
        #589

        @reblausgt Hab's mal installiert und getestet, läuft soweit. Allerdings haben die 15 Minuten für mich keinen richtigen Mehrwert. Wenn man einen PV-Speicher hat bügelt der einiges aus. Wäre es möglich einen Schalter einzubauen um zwischen 15 und 60 Minuten zu switchen? Ansonsten klasse Arbeit!

        bf9af0f8-d4c1-461b-82be-4ba4b42d34dc-image.png

        R P 2 Antworten Letzte Antwort
        0
        • L lesiflo

          @reblausgt Hab's mal installiert und getestet, läuft soweit. Allerdings haben die 15 Minuten für mich keinen richtigen Mehrwert. Wenn man einen PV-Speicher hat bügelt der einiges aus. Wäre es möglich einen Schalter einzubauen um zwischen 15 und 60 Minuten zu switchen? Ansonsten klasse Arbeit!

          bf9af0f8-d4c1-461b-82be-4ba4b42d34dc-image.png

          R Offline
          R Offline
          ReblausGT
          Developer
          schrieb am zuletzt editiert von
          #590

          @lesiflo said in TibberLink Adapter:

          Wäre es möglich einen Schalter einzubauen um zwischen 15 und 60 Minuten zu switchen?

          Ich hatte befürchtet dass die Frage kommt :disappointed_relieved: :blush:

          L T 2 Antworten Letzte Antwort
          0
          • R ReblausGT

            @lesiflo said in TibberLink Adapter:

            Wäre es möglich einen Schalter einzubauen um zwischen 15 und 60 Minuten zu switchen?

            Ich hatte befürchtet dass die Frage kommt :disappointed_relieved: :blush:

            L Offline
            L Offline
            lesiflo
            Most Active
            schrieb am zuletzt editiert von lesiflo
            #591

            @reblausgt Wenn nicht wäre auch nicht schlimm, habe das schon mit meinem Script gelöst. :wink: Allerdings muß ich noch schauen wie das mit den Zeiträumen dann passt.

            P 1 Antwort Letzte Antwort
            0
            • L lesiflo

              @reblausgt Wenn nicht wäre auch nicht schlimm, habe das schon mit meinem Script gelöst. :wink: Allerdings muß ich noch schauen wie das mit den Zeiträumen dann passt.

              P Offline
              P Offline
              pingo
              schrieb am zuletzt editiert von
              #592

              @ReblausGT Vielleicht machst Du einfach zusätzlich Objekte für die Stundenpreise? Sind ja immer nur 4 Objekte zusammengezählt und durch 4 geteilt. So helfe ich mir aktuell.
              Ansonsten funktioniert Version 6.0.0 hier perfekt. Danke

              1 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                ArnoD
                schrieb am zuletzt editiert von
                #593

                Wenn ich die Tibber API Beschreibung richtig verstehe kann man beides abrufen:

                • The Subscription.priceInfo field (i.e. the type PriceInfo) now takes an optional argument resolution that can either be HOURLY or QUARTER_HOURLY.

                Bei Stundenwerten wird von Tibber der Durchschnittspreis angegeben.

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  lesiflo
                  Most Active
                  schrieb am zuletzt editiert von lesiflo
                  #594

                  Moin,
                  wäre es möglich noch einen zusätzlichen Rechnerkanal mit einzubauen der die Stunden/Slots anhand des Akkustandes und Verbrauch pro Stunde ermittelt? Beispiel Akku hat noch 4 kWh, Verbrauch 0,4 kWh macht dann 10 Stunden an denen der Akku entladen werden könnte. Vorgaben wären dann Rest Akku und Verbrauch pro Stunde. Eventuell auch noch gesamt Akku um die Gesamtstunden anzuzeigen.

                  1 Antwort Letzte Antwort
                  0
                  • L lesiflo

                    @reblausgt Hab's mal installiert und getestet, läuft soweit. Allerdings haben die 15 Minuten für mich keinen richtigen Mehrwert. Wenn man einen PV-Speicher hat bügelt der einiges aus. Wäre es möglich einen Schalter einzubauen um zwischen 15 und 60 Minuten zu switchen? Ansonsten klasse Arbeit!

                    bf9af0f8-d4c1-461b-82be-4ba4b42d34dc-image.png

                    P Offline
                    P Offline
                    Peter c
                    schrieb am zuletzt editiert von
                    #595

                    @lesiflo said in TibberLink Adapter:

                    Wenn man einen PV-Speicher hat bügelt der einiges aus.

                    Deine Darstellung der Strompreise sieht sehr übersichtlich aus. Mit was hast Du das erzeugt? Ist das VIS oder was anderes?

                    1 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      lesiflo
                      Most Active
                      schrieb am zuletzt editiert von
                      #596

                      @peter-c Mit vis. Guckst du hier: vis

                      1 Antwort Letzte Antwort
                      0
                      • R ReblausGT

                        @lesiflo said in TibberLink Adapter:

                        Wäre es möglich einen Schalter einzubauen um zwischen 15 und 60 Minuten zu switchen?

                        Ich hatte befürchtet dass die Frage kommt :disappointed_relieved: :blush:

                        T Offline
                        T Offline
                        THELOH
                        schrieb am zuletzt editiert von THELOH
                        #597

                        Hat sich erledigt, ich habe meine Alias(e) angepasst.

                        @reblausgt Ich hätte die gleiche Bitte.
                        Ich sortiere die Preise um zu den günstigsten Stunden die teuersten Stunden mit dem Speicher zu eliminieren und nutze die Preise sehr oft an verscheidenen Stellen. Ich würde mich jedoch freuen, wenn beides angebiten wird. Alte Strucktur der 1h Datenpunkte ohne Änderungen der Bezeichnungen etc und einmal ein neuer Ordner mit den 15min Werten. So kann sich jeder das schnappen, was er benötigt.
                        Das wäre zauberhaft :)

                        1 Antwort Letzte Antwort
                        0
                        • H Online
                          H Online
                          HansJochen
                          schrieb am zuletzt editiert von HansJochen
                          #598

                          Hallo zusammen,

                          die Flexcharts / ECharts Integration in den Tibberlink Adapter ist absolut klasse. Ich habe mir das Standard-Template so angepasst, dass im Diagramm die aktuelle Zeit mit einer vertikalen Linie markiert wird.
                          Sieht dann so aus:
                          Bildschirmfoto_20251102_154501.png

                          Falls das jemand nutzen möchte:

                          {
                          	backgroundColor: "rgb(255, 255, 255)",
                          	title: {
                          		text: "Tibber Preis",
                          		textStyle: {
                          			color: "#ffffff"
                          		}
                          	},
                          	tooltip: {
                          		trigger: "axis",
                          		axisPointer: {
                          			type: "cross"
                          		}
                              },    
                          
                          	grid: { // Randabstände
                          		left: "10%", right: "4%", top: "8%", bottom: "8%"
                          	},
                          	xAxis: {
                          		type: "category",
                          		boundaryGap: false,
                          		data: %%xAxisData%%
                          	},
                          	yAxis: {
                          		type: "value",
                          		axisLabel: {formatter: "{value} €"},
                          		axisPointer: {
                          			snap: true
                          		}
                          	},
                          	visualMap: {
                          		min: 0.2,
                          		max: 0.4,
                          		inRange: {
                          			color: ["green", "yellow", "red"] // Verlauf von grün über gelb nach rot
                          		},
                          		show: false
                          	},
                          	series: [
                          		{
                          			name: "Preis",
                          			type: "line",
                          			step: "end",
                          			symbol: "none",
                          			data: %%yAxisData%%,
                          
                          			markArea: {
                          				itemStyle: {
                          					color: "rgba(120, 200, 120, 0.2)"
                          				},
                          				data: [
                          					%%CalcChannelsData%%
                          				]
                          			},
                          			markLine: {
                                      data: [   
                                      {
                                         name: 'jetzt', xAxis: ("0"+new Date().getDate()).slice(-2)+"."+("0"+(new Date().getMonth()+1)).slice(-2)+"." + "\n" + ("0"+new Date().getHours()).slice(-2)+":"+("0"+(Math.floor(new Date().getMinutes()/15)*15).toString()).slice(-2)}
                                         
                                            ]   
                                      }
                          	    }
                              ]
                          
                          };
                          
                          R 1 Antwort Letzte Antwort
                          1
                          • H HansJochen

                            Hallo zusammen,

                            die Flexcharts / ECharts Integration in den Tibberlink Adapter ist absolut klasse. Ich habe mir das Standard-Template so angepasst, dass im Diagramm die aktuelle Zeit mit einer vertikalen Linie markiert wird.
                            Sieht dann so aus:
                            Bildschirmfoto_20251102_154501.png

                            Falls das jemand nutzen möchte:

                            {
                            	backgroundColor: "rgb(255, 255, 255)",
                            	title: {
                            		text: "Tibber Preis",
                            		textStyle: {
                            			color: "#ffffff"
                            		}
                            	},
                            	tooltip: {
                            		trigger: "axis",
                            		axisPointer: {
                            			type: "cross"
                            		}
                                },    
                            
                            	grid: { // Randabstände
                            		left: "10%", right: "4%", top: "8%", bottom: "8%"
                            	},
                            	xAxis: {
                            		type: "category",
                            		boundaryGap: false,
                            		data: %%xAxisData%%
                            	},
                            	yAxis: {
                            		type: "value",
                            		axisLabel: {formatter: "{value} €"},
                            		axisPointer: {
                            			snap: true
                            		}
                            	},
                            	visualMap: {
                            		min: 0.2,
                            		max: 0.4,
                            		inRange: {
                            			color: ["green", "yellow", "red"] // Verlauf von grün über gelb nach rot
                            		},
                            		show: false
                            	},
                            	series: [
                            		{
                            			name: "Preis",
                            			type: "line",
                            			step: "end",
                            			symbol: "none",
                            			data: %%yAxisData%%,
                            
                            			markArea: {
                            				itemStyle: {
                            					color: "rgba(120, 200, 120, 0.2)"
                            				},
                            				data: [
                            					%%CalcChannelsData%%
                            				]
                            			},
                            			markLine: {
                                        data: [   
                                        {
                                           name: 'jetzt', xAxis: ("0"+new Date().getDate()).slice(-2)+"."+("0"+(new Date().getMonth()+1)).slice(-2)+"." + "\n" + ("0"+new Date().getHours()).slice(-2)+":"+("0"+(Math.floor(new Date().getMinutes()/15)*15).toString()).slice(-2)}
                                           
                                              ]   
                                        }
                            	    }
                                ]
                            
                            };
                            
                            R Offline
                            R Offline
                            ReblausGT
                            Developer
                            schrieb am zuletzt editiert von
                            #599

                            @hansjochen said in TibberLink Adapter:

                            Ich habe mir das Standard-Template so angepasst, dass im Diagramm die aktuelle Zeit mit einer vertikalen Linie markiert wird.
                            Falls das jemand nutzen möchte:

                            JA! hier ich!!! Cool, das wollte ich schon die ganze Zeit!! Darf ich das im Adapter als Beispiel veröffentlichen?

                            H 1 Antwort Letzte Antwort
                            0
                            • R ReblausGT

                              @hansjochen said in TibberLink Adapter:

                              Ich habe mir das Standard-Template so angepasst, dass im Diagramm die aktuelle Zeit mit einer vertikalen Linie markiert wird.
                              Falls das jemand nutzen möchte:

                              JA! hier ich!!! Cool, das wollte ich schon die ganze Zeit!! Darf ich das im Adapter als Beispiel veröffentlichen?

                              H Online
                              H Online
                              HansJochen
                              schrieb am zuletzt editiert von
                              #600

                              Hi @reblausgt ,

                              danke für Dein Feedback.

                              Klar, bau es gerne ein. Ich habe das ja hier gepostet, weil ich dachte, dass es auch für andere praktisch sein kann.

                              R 1 Antwort Letzte Antwort
                              0
                              • H HansJochen

                                Hi @reblausgt ,

                                danke für Dein Feedback.

                                Klar, bau es gerne ein. Ich habe das ja hier gepostet, weil ich dachte, dass es auch für andere praktisch sein kann.

                                R Offline
                                R Offline
                                ReblausGT
                                Developer
                                schrieb am zuletzt editiert von
                                #601

                                Mal was anderes.... die X-Achse mit Strings war ein Entwurf der 1h Zeitscheiben.... jetzt, mit den 15 Minuten Scheiben überlege ich ob man das doch lieber im category time ändern sollte.... das zerschmeißt dann halt alles was man sich da schon an template gebastelt hatte.... Ist das ne Katastrophe? oder Überwiegen die Vorteile?

                                H 1 Antwort Letzte Antwort
                                0
                                • S Online
                                  S Online
                                  Schimi
                                  schrieb am zuletzt editiert von
                                  #602

                                  Ich brauche mal ne Erklärung zum "Batterie laden" Kanal nach der 15min Umstellung :-)

                                  a5dfc580-d177-40be-aaad-749936c05b44-image.png

                                  Wenn ich die AmountHours auf z.B. "0,5" stelle, schaltet er dann jede verfügbaren 30min Slot, wo der Preis 25% unter dem höchsten Tagespreis ist auf true? (den highest nutze ich nicht)

                                  1 Antwort Letzte Antwort
                                  0
                                  • R Offline
                                    R Offline
                                    ReblausGT
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #603

                                    @schimi said in TibberLink Adapter:

                                    Ich brauche mal ne Erklärung zum "Batterie laden" Kanal nach der 15min Umstellung :-)

                                    Er sucht die 2 billigsten 15 Minuten und lädt die Batterie. Dann nimmt er den Preis der teuersten Phase = die teuerste Wattstunde im Speicher und rechnet dazu den Wirkungsgradverlust hinzu.... alles was da drunter liegt sperrt er das Entladen, was darüber liegt wird entladen.

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • R ReblausGT

                                      Mal was anderes.... die X-Achse mit Strings war ein Entwurf der 1h Zeitscheiben.... jetzt, mit den 15 Minuten Scheiben überlege ich ob man das doch lieber im category time ändern sollte.... das zerschmeißt dann halt alles was man sich da schon an template gebastelt hatte.... Ist das ne Katastrophe? oder Überwiegen die Vorteile?

                                      H Online
                                      H Online
                                      HansJochen
                                      schrieb am zuletzt editiert von
                                      #604

                                      @reblausgt

                                      Gute Frage. Für mich war das mein erster Berührpunkt mit ECharts. So, wie es jetzt ist, passt es bei mir mit der Skalierung relativ gut. Je nach Fenstergröße auf unterschiedlichen Größen wählt ECharts hier recht vernünftig, welche Punkte auf der Skala weggelassen werden. Beispielsweise sehe ich in dem kleinen Ausschnitt, den ich dem Chart in meiner Visualisierung gönne, die vollen Stunden und wenn ich das Chart alleine im Browser Fullscreen öffne auch die Viertelstunden.

                                      Ich habe mir aber jetzt gerade eine Echart Demo angeschaut (https://echarts.apache.org/examples/en/editor.html?c=area-time-axis), da lässt sich in dem Chart mit dem Mausrad zoomen. Das geht bei uns nicht. Ob die String-Skala der Grund ist, weiß ich nicht. Das könnte ich mir aber vorstellen.

                                      Was wohl in jedem Fall schöner wäre: Es wäre halt der Weg, den ECharts für Zeitserien vorsieht. Das Datum würde nicht ständig wiederholt, sondern nur einmal angezeigt und ansonsten nur die Uhrzeit. Die X-Achse wäre also etwas übersichtlicher.

                                      Mir persönlich wäre die Änderung nicht wichtig, das Template wäre aber leicht anzupassen. Ich kann da bei Bedarf auch gerne unterstützen. Wer sich beispielsweise veränderte Tooltips eingebaut hat, müsste halt selbst noch mal Hand anlegen. Ich würde aber vermuten, wer das hinbekommen hat, wird auch an dem Umbau nicht scheitern.

                                      Übrigens: Ich vermute, dass es einige Nutzer gibt, die mit ECharts keine Berührpunkte hatten und die in ihrer Automatisierung nur für die Tibberpreise benutzen. Dann ist es schon etwas knifflig, die URL für die generierten Charts herauszufinden und die Templates in den Editor zu kopieren könnte auf manche auch etwas abschreckend wirken. Vermutlich benutzen die Meisten eines der Standard Templates ohne Veränderungen.

                                      Da könnte es aus meiner Sicht helfen, wenn die URL im Adapter direkt angezeigt würde und es eine Auswahl der Art "Standard Darstellung", "alternative Darstellung" oder "benutzerdefinierte Darstellung" gäbe und damit der ganze Flexchart Hintergrund samt Erklärungen, Beispielen und Editor nur sichtbar wird, wenn man zuvor "benutzerdefiniert" ausgewählt hat.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Online
                                        S Online
                                        Schimi
                                        schrieb am zuletzt editiert von
                                        #605

                                        ist das was?

                                        {
                                        	backgroundColor: "#ffffff",
                                        
                                        	title: {
                                        		text: "Tibber Preis",
                                        		left: "center",
                                        		textStyle: { color: "#333", fontSize: 16 }
                                        	},
                                        
                                        	tooltip: {
                                        		trigger: "axis",
                                        		axisPointer: { type: "cross" },
                                        		valueFormatter: value => value.toFixed(3) + " €"
                                        	},
                                        
                                        	grid: {
                                        		left: "8%", right: "4%", top: "10%", bottom: "10%"
                                        	},
                                        
                                        	xAxis: {
                                        		type: "time",
                                        		name: "Zeit",
                                        		axisLabel: {
                                        			formatter: value => {
                                        				const date = new Date(value);
                                        				const hours = date.getHours().toString().padStart(2, "0");
                                        				const minutes = date.getMinutes().toString().padStart(2, "0");
                                        				return hours + ":" + minutes;
                                        			}
                                        		},
                                        		splitLine: { show: false }
                                        	},
                                        
                                        	yAxis: {
                                        		type: "value",
                                        		name: "Preis (€)",
                                        		axisLabel: { formatter: "{value} €" },
                                        		splitLine: { show: true }
                                        	},
                                        
                                        	visualMap: {
                                        		show: false,
                                        		min: 0.2,
                                        		max: 0.4,
                                        		inRange: {
                                        			color: ["green", "yellow", "red"]
                                        		}
                                        	},
                                        
                                        	series: [
                                        		{
                                        			name: "Preis",
                                        			type: "line",
                                        			symbol: "none",
                                        			step: "end",
                                        			data: %%yAxisData%%, // Format: [ [timestamp, value], [timestamp, value], ... ]
                                        
                                        			markArea: {
                                        				itemStyle: { color: "rgba(120, 200, 120, 0.2)" },
                                        				data: [ %%CalcChannelsData%% ] // z. B. [[{ xAxis: "2025-11-04T10:00" }, { xAxis: "2025-11-04T14:00" }]]
                                        			},
                                        
                                        			markLine: {
                                        				symbol: "none",
                                        				label: {
                                        					formatter: "Jetzt",
                                        					position: "end",
                                        					color: "#333"
                                        				},
                                        				lineStyle: { color: "red", type: "solid" },
                                        				data: [
                                        					{
                                        						xAxis: new Date().toISOString()
                                        					}
                                        				]
                                        			}
                                        		}
                                        	]
                                        }
                                        
                                        
                                        H 1 Antwort Letzte Antwort
                                        0
                                        • S Schimi

                                          ist das was?

                                          {
                                          	backgroundColor: "#ffffff",
                                          
                                          	title: {
                                          		text: "Tibber Preis",
                                          		left: "center",
                                          		textStyle: { color: "#333", fontSize: 16 }
                                          	},
                                          
                                          	tooltip: {
                                          		trigger: "axis",
                                          		axisPointer: { type: "cross" },
                                          		valueFormatter: value => value.toFixed(3) + " €"
                                          	},
                                          
                                          	grid: {
                                          		left: "8%", right: "4%", top: "10%", bottom: "10%"
                                          	},
                                          
                                          	xAxis: {
                                          		type: "time",
                                          		name: "Zeit",
                                          		axisLabel: {
                                          			formatter: value => {
                                          				const date = new Date(value);
                                          				const hours = date.getHours().toString().padStart(2, "0");
                                          				const minutes = date.getMinutes().toString().padStart(2, "0");
                                          				return hours + ":" + minutes;
                                          			}
                                          		},
                                          		splitLine: { show: false }
                                          	},
                                          
                                          	yAxis: {
                                          		type: "value",
                                          		name: "Preis (€)",
                                          		axisLabel: { formatter: "{value} €" },
                                          		splitLine: { show: true }
                                          	},
                                          
                                          	visualMap: {
                                          		show: false,
                                          		min: 0.2,
                                          		max: 0.4,
                                          		inRange: {
                                          			color: ["green", "yellow", "red"]
                                          		}
                                          	},
                                          
                                          	series: [
                                          		{
                                          			name: "Preis",
                                          			type: "line",
                                          			symbol: "none",
                                          			step: "end",
                                          			data: %%yAxisData%%, // Format: [ [timestamp, value], [timestamp, value], ... ]
                                          
                                          			markArea: {
                                          				itemStyle: { color: "rgba(120, 200, 120, 0.2)" },
                                          				data: [ %%CalcChannelsData%% ] // z. B. [[{ xAxis: "2025-11-04T10:00" }, { xAxis: "2025-11-04T14:00" }]]
                                          			},
                                          
                                          			markLine: {
                                          				symbol: "none",
                                          				label: {
                                          					formatter: "Jetzt",
                                          					position: "end",
                                          					color: "#333"
                                          				},
                                          				lineStyle: { color: "red", type: "solid" },
                                          				data: [
                                          					{
                                          						xAxis: new Date().toISOString()
                                          					}
                                          				]
                                          			}
                                          		}
                                          	]
                                          }
                                          
                                          
                                          H Online
                                          H Online
                                          HansJochen
                                          schrieb am zuletzt editiert von
                                          #606

                                          @schimi sagte in TibberLink Adapter:

                                          ist das was?

                                          Kunst am Bau? :)

                                          Bildschirmfoto_20251104_184922.png

                                          S 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          513

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe