Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter flexcharts - Stapeldiagramme und mehr

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter flexcharts - Stapeldiagramme und mehr

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

      @mcu Danke für den Hinweis. Nein, habe ich nicht abgefangen. Werde ich einbauen.

      Den Default ändere ich dann auch gleich. Gibt es eine Liste der bereits verwendeten Ports?

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @jrbwh last edited by

        @jrbwh
        https://mcuiobroker.gitbook.io/iobroker-tipps/tipps/allgemein/iobroker/ubersicht-ports

        jrbwh 2 Replies Last reply Reply Quote 0
        • jrbwh
          jrbwh @MCU last edited by

          @mcu Super. Danke!

          1 Reply Last reply Reply Quote 0
          • jrbwh
            jrbwh @MCU last edited by

            @mcu Habe den Default-Port jetzt auf 3100 geändert. Da grafana auf 3000 liegt, scheint mir das passend.
            Mein Versuch, einen Port-Konflikt abzufangen, funktioniert aber bisher nicht. Ich habe den Start des http-Servers in ein try-catch gepackt, trotzdem stürzt der Adapter im Konfliktfall ab und meldet für die Zeile von this.webServer.listen diesen Fehler: uncaught exception: listen EADDRINUSE: address already in use. Der Code sieht so aus:

            		try {
            			this.webServer.listen({port: this.config.port}, () => {
            				this.log.info(`Server started on localhost:${this.config.port}`);
            				this.setState('info.connection', true, true);
            			});
            		} catch (e) {
            			this.log.error(`Start of http server failed on localhost:${this.config.port} - err=${e.message}`);
            			this.setState('info.connection', false, true);
            		}
            

            Verstehe ich nicht. Wie hast Du das gelöst?

            L 1 Reply Last reply Reply Quote 0
            • L
              Lucky_ESA Developer Most Active @jrbwh last edited by

              @jrbwh Nimm die Funktion.

              const check_port = await this.getPortAsync(this.config.port);
              

              Ist der Prot belegt gibt check_port den nächsten freien wieder.

              Gruß//Lucky

              jrbwh 1 Reply Last reply Reply Quote 0
              • jrbwh
                jrbwh @Lucky_ESA last edited by

                @lucky_esa Wow, kaum macht man es richtig, funktioniert's.

                Vielen Dank für die super schnelle Hilfe!

                1 Reply Last reply Reply Quote 0
                • D
                  darkiop Most Active @jrbwh last edited by

                  @jrbwh sagte in Test Adapter flexcharts 0.0.1 - Stapeldiagramme und mehr:

                  An einem Skript für z.B. täglich gespeicherte Daten bin ich dran. Wie sieht denn Dein Datenformat konkret aus?

                  Ich bin leider immer noch nicht dazugekommen mich damit zu beschäftigen ... 😉 Aber der Winter ist ja lange 😄

                  Hier mal ein einfaches Beispiel wofür ich deine Charts verwenden würde:

                  160df428-d88c-4023-845d-08a329ef21cc-image.png

                  Die 3 Werte werden täglich um 23:59 ermittelt und in eine MariaDB mit dem SQL-Adapter geschrieben. Für das Chart stelle ich mir ein Balkendiagram mit den 3 Werten pro Tag und vielleicht 7 Tage zurück vor. In etwa so, nur eben xAxis.data ausgehende vom heutigen Tag -7d.

                  option = {
                    xAxis: {
                      type: 'category',
                      data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
                    },
                    yAxis: {
                      type: 'value'
                    },
                    series: [
                      {
                        data: [120, 200, 150, 80, 70, 110, 130],
                        type: 'bar'
                      },
                      {
                        data: [120, 200, 150, 80, 70, 110, 130],
                        type: 'bar'
                      },
                      {
                        data: [120, 200, 150, 80, 70, 110, 130],
                        type: 'bar'
                      }
                    ]
                  };
                  
                  jrbwh 1 Reply Last reply Reply Quote 0
                  • jrbwh
                    jrbwh @darkiop last edited by

                    @darkiop Das sollte mit dem Skript-Template direkt möglich sein, wie in meinem Post vom 31. Aug. 2024, 11:54 beschrieben. Folgendes musst Du anpassen:
                    "instanceHistory": Deine History-Instanz eintragen
                    "yAxis": Die 2te y-Achse entfernen
                    "mySeries.daily": Für die ersten 3 Zeilen Deine Datenpunkte eintragen, alles "stack_a" zuordnen (sofern es ein Stapeldiagramm mit einem Balken werden soll). Die restlichen Zeilen löschen.
                    "mySeries.monthly" und "mySeries.yearly": Alle Zeilen löschen, also nur [] übrig lassen
                    Aufrufen mit " ...params={"period":"daily", "start":7}

                    D 1 Reply Last reply Reply Quote 0
                    • L
                      legro @jrbwh last edited by legro

                      @jrbwh

                      Mir fehlte der direkte Link zur Installation. Dieser ist hier zu finden.

                      jrbwh 1 Reply Last reply Reply Quote 0
                      • jrbwh
                        jrbwh @legro last edited by

                        @legro Danke für den Hinweis. Habe den Link in der Beschreibung ergänzt.

                        L 1 Reply Last reply Reply Quote 0
                        • D
                          darkiop Most Active @jrbwh last edited by

                          @jrbwh Ja, kann ich bestätigen ... mit etwas selber code lesen hätt ich das auch hinbekommen ... aber wie gesagt, die Prios haben sich gerade verändert. Danke dir - ich werd mal schauen wie ich die Charts nutzen kann.

                          Hast du auch vorgesehen den Dark-Mode der echarts zu implementieren?

                          jrbwh 1 Reply Last reply Reply Quote 0
                          • jrbwh
                            jrbwh @darkiop last edited by

                            @darkiop Dark Mode war noch nicht drin. Habe ich eben mit V0.0.4 ergänzt. Aktivieren mit &darkmode im HTML-Aufruf.

                            1 Reply Last reply Reply Quote 0
                            • L
                              legro @jrbwh last edited by

                              @jrbwh

                              Ich bin verwirrt: Der von mir oben eingestellte Link zeigt nicht mehr auf die Installationsseite. Wo ist die Installationsanweisung abgeblieben?

                              jrbwh 1 Reply Last reply Reply Quote 0
                              • jrbwh
                                jrbwh @legro last edited by

                                @legro Ich habe die Installationsanleitung nach dem Hinweis von Martin rausgenommen.

                                Du kannst den Adapter aber einfach per npm installieren:

                                cd /opt/iobroker
                                npm i iobroker.flexcharts
                                

                                Dann in der Adapter-Ansicht eine Instanz ergänzen.

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Delphinis @jrbwh last edited by

                                  @jrbwh
                                  Hallo,
                                  bin sehr an diesem Adapter interessiert. Machst du da noch einen offiziellen Adapter draus?

                                  jrbwh 1 Reply Last reply Reply Quote 0
                                  • jrbwh
                                    jrbwh @Delphinis last edited by

                                    @delphinis Ja, da ist der Plan. Das Review zur Aufnahme ins Beta-Repo läuft, siehe PR.

                                    Du kannst den Adapter aber sofort über npm installieren:

                                    cd /opt/iobroker
                                    npm i iobroker.flexcharts
                                    
                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      Delphinis @jrbwh last edited by

                                      @jrbwh
                                      Danke, aber dann warte ich lieber den offiziellen Adapter ab 🙂 .

                                      jrbwh 1 Reply Last reply Reply Quote 0
                                      • jrbwh
                                        jrbwh @Delphinis last edited by

                                        @delphinis Der adapter ist jetzt im Beta-Repo verfügbar. Funktioniert jetzt als Web-Extension, d.h. der Web-Adapter (web.0) muss installiert sein und flexcharts ist dann unter Port 8082 erreichbar. Außerdem muss ein flexcharts in der Adresse vorangestellt werden, also z.B.

                                        http://localhost:8082/flexcharts/echarts.html?source=state&id=flexcharts.0.info.chart1
                                        

                                        Das Readme ist entsprechend angepasst.

                                        Freue mich auf Deine Rückmeldung.

                                        D 1 Reply Last reply Reply Quote 1
                                        • D
                                          Delphinis @jrbwh last edited by Delphinis

                                          @jrbwh
                                          Danke für die Meldung. Ich hab's natürlich sofort ausprobiert. Aber ich bekomme nur eine weisse Seite.
                                          Was ich gemacht hab:

                                          1. Beta im iob eingetragen
                                          2. Adapter installiert:
                                            832109ef-0705-4194-bb7b-15c6ad0c5e9d-grafik.png
                                          3. Datenpunkt "0_userdata.0.flexcharts.chart1" erzeugt und mit dem Beispiel von https://echarts.apache.org/examples/en/editor.html?c=line-simple befüllt.
                                          4. Neuer Browsertab mit URL =
                                            http://localhost:8082/flexcharts/echarts.html?source=state&id=0_userdata.0.flexcharts.chart1

                                          Es kommt zwar keine Fehlermeldung oder so aber nur eine weisse Seite.

                                          web.0 läuft natürlich

                                          Diese URL ist ein bisschen widersprüchlich, da hier oben in der Beschreibung mit
                                          http://localhost:8200/echarts.html?source=state&id= anfängt. Hab ich natürlich auch ausprobiert, aber da lädt keine Seite...

                                          Hab ich was vergessen?

                                          http://localhost:8082/flexcharts/echarts.html?source=state&id=flexcharts.0.info.chart1 läuft übrigens auch nicht, obwohl der Datenpunkt da und befüllt ist.

                                          Browser Firefox 131.0

                                          jrbwh 1 Reply Last reply Reply Quote 0
                                          • jrbwh
                                            jrbwh @Delphinis last edited by

                                            @delphinis Läuft der Browser auf dem gleichen System wie ioBroker? Wenn nicht, bitte localhost durch den Namen des ioBroker-Rechners ersetzen.
                                            Falls ja: Bitte überprüfe, ob beide Instanzen, also felxcharts.0 und web.0, aktiv sind. Wenn ja, stelle beide auf Log-Level debug um und schau, was web.0 protokolliert. Bei einem Neustart sollten diese Meldungen auftauchen:

                                            2024-10-05 08:55:54.421 - debug: web.0 (18006) Activating extensions
                                            2024-10-05 08:55:54.426 - info: web.0 (18006) Connecting extension "flexcharts/lib/web.js"
                                            2024-10-05 08:55:54.428 - info: web.0 (18006) Install extension on /flexcharts
                                            
                                            D 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            484
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            chart charts diagramme echarts visualisierung visualization
                                            18
                                            231
                                            20888
                                            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