Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. TibberLink Adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    TibberLink Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @SMS last edited by paul53

      @sms sagte: Wie kann ich denn das hier auswerten?

      Bitte das komplette JSON in Code tags zeigen und angeben, welche Werte benötigt werden.

      EDIT: Beispiel für eine Lesekonvertierung in einem Alias vom Typ "Zahl":

      JSON.parse(val)[0].cost
      
      SMS 1 Reply Last reply Reply Quote 0
      • Merlin123
        Merlin123 @SMS last edited by

        @sms In Blockly gibt es den Block, damit kann man Attribute aus nem Json rausziehen. Schau Dir mal die Doku dazu an.

        Screenshot 2025-01-02 195210.png

        1 Reply Last reply Reply Quote 0
        • Merlin123
          Merlin123 @ReblausGT last edited by

          @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?)

          Screenshot 2025-01-02 195928.png

          Lösche ich den Teil raus, den Du geschrieben hast, kommt das raus:

          Screenshot 2025-01-02 200430.png

          Was für Preise der da aber anzeigt ist mir etwas rätselhaft.... Sind "etwas" niedrig 😛

          R 1 Reply Last reply Reply Quote 0
          • R
            ReblausGT Developer @Merlin123 last edited by ReblausGT

            @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.0

            ja, 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.

            Screenshot 2025-01-02 195928.png

            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 APP

            Stell 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.

            Merlin123 1 Reply Last reply Reply Quote 0
            • SMS
              SMS @paul53 last edited by

              @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 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @SMS last edited by

                @sms sagte: Wert "totalCost"

                Dann Lesekonvertierung

                JSON.parse(val)[0].totalCost
                
                SMS 1 Reply Last reply Reply Quote 0
                • Merlin123
                  Merlin123 @ReblausGT last edited by Merlin123

                  @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?

                  mcm1957 1 Reply Last reply Reply Quote 0
                  • mcm1957
                    mcm1957 @Merlin123 last edited by

                    @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 1 Reply Last reply Reply Quote 0
                    • Merlin123
                      Merlin123 @mcm1957 last edited by

                      @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

                      R mcm1957 2 Replies Last reply Reply Quote 0
                      • R
                        ReblausGT Developer @Merlin123 last edited by

                        @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 mcm1957 2 Replies Last reply Reply Quote 0
                        • Merlin123
                          Merlin123 @ReblausGT last edited by

                          @reblausgt Dank dir 🙂

                          Meine Frage bzgl. Markierung und der Hinweis zu den Preisen hast Du gesehen?

                          R 2 Replies Last reply Reply Quote 0
                          • R
                            ReblausGT Developer @Merlin123 last edited by

                            @merlin123 said in TibberLink Adapter:

                            Im Chart wird aber z.B. 0,3ct/kWh angezeigt, sind aber 0,3€/kWh

                            im 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?

                            1 Reply Last reply Reply Quote 0
                            • R
                              ReblausGT Developer @Merlin123 last edited by

                              @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 🙂

                              Merlin123 1 Reply Last reply Reply Quote 0
                              • Merlin123
                                Merlin123 @ReblausGT last edited by Merlin123

                                @reblausgt Danke für den Tipp mit der Beschriftung 🙂

                                Geht jetzt 🙂

                                Screenshot 2025-01-02 233045.png

                                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:

                                Screenshot 2025-01-02 235228.png

                                Sind das zu viele "Auto_laden" Blöcke? Oder hat das ne andere Ursache?

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  ReblausGT Developer @Merlin123 last edited by ReblausGT

                                  @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.

                                  Merlin123 1 Reply Last reply Reply Quote 0
                                  • S
                                    Steve 1 last edited by Samson71

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • SMS
                                      SMS @paul53 last edited by

                                      @paul53 Wie würde denn mein Blockly aussehen? Kannst du oder jemand mir dabei helfen?

                                      Danke!

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • Merlin123
                                        Merlin123 @ReblausGT last edited by

                                        @reblausgt Leerzeichen: OK 🙂

                                        so... nachdem heute der neue Tag ist sieht die Anzeige so aus:
                                        Screenshot 2025-01-03 083952.png

                                        Vorschläge:

                                        1. 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)
                                        2. 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! 👍

                                        R 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @SMS last edited by

                                          @sms sagte in: Wie würde denn mein Blockly aussehen?

                                          Blockly_temp.JPG

                                          Merlin123 1 Reply Last reply Reply Quote 0
                                          • Merlin123
                                            Merlin123 @paul53 last edited by Merlin123

                                            @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.
                                            totalCost

                                            Dann 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ück

                                            EDIT: Hab das auf Grund des Hinweises von Homoran etwas umformuliert

                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            488
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            79
                                            566
                                            94042
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo