Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Auf Daten des ioBrokers von "Außen" zugreifen.

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Auf Daten des ioBrokers von "Außen" zugreifen.

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Martin 5 @Homoran last edited by

      @homoran sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

      wen soll der ioB steuern?

      Die Wallbox, Warmwasserboiler, den Speicher, eventuell die Wärmepumpe ...

      OliverIO 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @Martin 5 last edited by Codierknecht

        @martin-5 sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

        Javascript kennt z.B. keine typisierten Variablen

        Dann nimm Typescript

        Kann man Javascript auf mehrere Dateien verteilen, pro Klasse eine Datei, und dann importieren?

        Kann man ... wenn man denn unbedingt will.
        Aber im Gegensatz zu Deinem proprietären Java Programm liefert ioBroker ja schon fast alles mit.
        Da muss man nur noch die Logik implementieren. Um die Kommunikation per Modbus, HTTP, MQTT usw. kümmern sich die zu den Devices passenden Adapter.

        denn:

        Mit ioBroker zu arbeiten hätte immerhin den Vorteil das man nicht alles neu erfinden muss.

        Wenn ich mit ioBroker weiter mache werde ich euch noch ganz schön nerven.

        Tu Dir keinen Zwang an. Dafür treiben wir uns ja hier rum 😁

        1 Reply Last reply Reply Quote 1
        • OliverIO
          OliverIO @Martin 5 last edited by OliverIO

          @martin-5 sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

          Die Wallbox, Warmwasserboiler, den Speicher, eventuell die Wärmepumpe ...

          • dafür gibt es evtl je nach hersteller bereits adapter, die du über datenpunkte abfragen und auch steuern kannst.
          • ggfs. können die geräte auch bereits standardprotokolle wie bspw mqtt, dann kann es darüber eingebunden werden.
          • wenn es mal keine adapter gibt, dann kann man per javascript/typescript selbst die lücke füllen und ggfs per http requests oder andere protokolle dann selbst befehle senden und daten abfragen.
          • als weitere ausweichmöglichkeit wäre dann noch existierende npm packete einzubinden, falls zum gerät bereits ein packet existiert, das kann dann ebenfalls über den javascript/typescript adapter eingebunden werden.
          • oder dann noch node-red, da gibt es ebenfalls gelegentlich noch lösungen, die man darüber einbinden kann.

          aber von der priorität von oben nach unten.

          wenn du mal deine konkreten geräte mit hersteller/typ benennst, dann können wir schauen was man am besten nimmt.

          1 Reply Last reply Reply Quote 0
          • M
            Martin 5 last edited by

            @oliverio

            Wallbox: Autoid mit alternativer Software - http requests, eventuell auch mqtt möglich
            Warmwasserboiler: tasmota über http requests
            Speicher: muss ich noch bauen - mqtt
            Wärmepumpe: mqtt

            Die Boiler haben zwei Stufen, volle Leistung und halbe Leistung über eine Diode.

            Grüße Martin

            OliverIO 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @Martin 5 last edited by OliverIO

              @martin-5 sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

              Wallbox: Autoid mit alternativer Software - http requests, eventuell auch mqtt möglich

              da gibt es hier was
              https://github.com/evcc-io/evcc/discussions/2699
              evtl wohl auch modbus
              https://www.iobroker.net/#en/adapters/adapterref/iobroker.modbus/README.md
              oder auch hier
              https://www.goingelectric.de/forum/viewtopic.php?t=82899


              Speicher: muss ich noch bauen - mqtt

              warum bauen?
              hast du den mqtt adapter schon mal ausprobiert?
              https://www.iobroker.net/#en/adapters/adapterref/iobroker.mqtt/README.md


              Wärmepumpe: mqtt

              auch mqtt adapter


              Warmwasserboiler: tasmota über http requests

              https://github.com/ioBroker/ioBroker.sonoff
              oder wphl auch mqtt

              M 1 Reply Last reply Reply Quote 0
              • M
                Martin 5 @OliverIO last edited by

                @oliverio
                Danke für die Mühe das alles herauszusuchen. Aber das ist nicht mein Problem. Ich habe Daten über Modbus, Mqtt und Rest-Api (per Script) schon im ioBroker. Nun möchte ich die Daten aber nutzen und da bleibt, nach dem was ich bisher weiß, nur die Möglichkeit über Scripte oder außerhalb vom ioBroker (NodeRed, eigenes Programm ...).
                Zwischenzeitlich habe ich einen Rest-Api-Adapter gefunden der die Schnittstelle nach "draußen" bilden kann und, soweit ich es gelesen habe, kann der Mqtt-Adapter auch publischen. Damit wäre meine Anfangsfrage eigentlich geklärt. 😳

                Gibt es Beispielscripte auf die man aufbauen kann?

                Grüße Martin

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Martin 5 last edited by

                  @martin-5 sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

                  Aber das ist nicht mein Problem.

                  welches denn?

                  wenn

                  @martin-5 sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

                  Nun möchte ich die Daten aber nutzen

                  das ein Problem darstellt, dann bitte welches?

                  wofür nutzen?
                  wie nutzen?

                  @martin-5 sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

                  nur die Möglichkeit über Scripte oder außerhalb vom ioBroker (NodeRed, eigenes Programm ...).

                  Node red ist auch nur eine GUI für javascript.
                  Das gibt es aber als voll funktonsfähigen Adapter, das braucht nichts "außerhalb"!

                  Also ganz hab ich dein "Problem" nicht verstanden

                  M 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO last edited by

                    @martin-5

                    ich habe es auch noch nicht so genau verstanden was du mit "draussen" meinst.

                    im LAN
                    im Garten
                    vom Internet aus
                    eine visualisierung?

                    vom LAN aus kommst du ja schon auf die Daten.
                    Wenn du sie visualisiert haben willst, dann per vis/vis2 oder eine der anderen vielen visualisierungsadapter.

                    aus dem internet bietet sich mit wireguard oder tailscale an

                    mcm1957 M 2 Replies Last reply Reply Quote 0
                    • mcm1957
                      mcm1957 @OliverIO last edited by

                      Also ich verstehe das Ganze so:

                      @Martin-5 hat alle Daten die er braucht bereits in ioBroker drinnen.

                      Er will aber die Logic die er braucht unbedingt extern programmieren, da er nicht den java-script Adapter benutzen will und dort Scripts mit seiner Logic ablegen will. Wenn das eine fixe Forderung ist, dann muss er die Daten via REST Adapter vom ioBroker abholen und eben extern in welcher Software auch immer bearbeiten.

                      Allerdinsg erscheint (mir) das wenig sinnvoll. Zu seinen Argumenten gegen Javascript:

                      • javascript hat ekeine Typen und Klassen
                        -> stimmt nicht, wenn typen gewunschen sind, dann halt typescritp verwenden, Klassen kennt javascritp selbst.

                      • der Editor im javascript Adapetr ist nicht optinal
                        -> dann extern editieren. Gibt m.W. nach sogar ein Pluing für vsCode (Details kennen sicher hier einige)

                      • kein debugging
                        _> bin nicht sicher aber soweit ich weiß kennt der javascript Adapter auch Breakpoints. Debuig Ausgaben kennt er jedenfalls. Allerdings muss das ggF ein echter Kenner bestätigen / korrigieren.

                      Nur eines ist klar: ioBroker selbst ist nicht mit java programmierbar.

                      @Martin-5
                      Lass uns daher bitte wissen ob es noch offene Fragen gibt die wir beantworten können. Und schau dir die Möglichkeiten des java-script Adapters durchaus an und frag nach wenn dir was abgeht. Da du schreibst dass dein Programm "das ohne große Logik die verfügbare Energie an die Verbraucher verteilt" kann das ja keine komplexxe AI Implementierung sein. Aer ohne mehr Info weiß niemand das dein Java Programm nun tut und ob dieselbe Funktionlität trivial im javascript Adapter umsetzbar ist - oder nicht.

                      M 1 Reply Last reply Reply Quote 1
                      • M
                        Martin 5 @Homoran last edited by

                        @homoran sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

                        Also ganz hab ich dein "Problem" nicht verstanden

                        Die Frage war wie ich an die Daten komme die im ioBroker gesammelt werden. Es hilft ja nichts wenn ich mir alles in der Weboberfläche vom ioBroker ansehen kann. Diese Frage ist ja nun beantwortet, Rest-Api und Mqtt-Client.

                        1 Reply Last reply Reply Quote 0
                        • M
                          Martin 5 @OliverIO last edited by

                          @oliverio sagte in Auf Daten des ioBrokers von "Außen" zugreifen.:

                          ich habe es auch noch nicht so genau verstanden was du mit "draussen" meinst.

                          Außerhalb des ioBrokers. So wie man von einem Javascript mit getState auf einen Datenpunkt zugreift möchte ich von einem anderem Programm aus auf den Datenpunkt lesend und eventuell auch schreibend zugreifen.

                          1 Reply Last reply Reply Quote 0
                          • M
                            Martin 5 @mcm1957 last edited by Homoran

                            @mcm1957
                            Du hast es auf den Punkt gebracht.

                            Skriptsprachen haben ihre Berechtigung für kleinere Projekte, schnell zu ändern aber langsamer da bei jedem Durchlauf interpretiert wird. C++ Programme werden compiliert und laufen schneller, sind aber schlechter wenn es um schnelle Anpassungen geht.
                            Java liegt irgendwo dazwischen, ist dafür plattformunabhängig.

                            Hier mal ein Link zu meinem miniEm: (https://github.com/MartinDienert/miniEm_) (kleiner Energiemanager ☺ ) Projekt. Es ist keine große Logik dahinter aber besonders das Wallbox-Objekt ist schon etwas größer.
                            Es finde es komisch im Browserfenster zu programmieren, nach einem Plugin für vsCode suche ich mal.
                            Ich könnte natürlich einfach in Java weiter machen aber je mehr verschiedene Schnittstellen dazu kommen desto aufwendiger wird es, und hier soll der ioBroker ins Spiel kommen.

                            Wenn ich Fragen habe melde ich mich. ☺ Danke für eure Hilfe.

                            Grüße Martin

                            mcm1957 OliverIO 2 Replies Last reply Reply Quote 0
                            • mcm1957
                              mcm1957 @Martin 5 last edited by mcm1957

                              @martin-5 said in Auf Daten des ioBrokers von "Außen" zugreifen.:

                              Skriptsprachen haben ihre Berechtigung für kleinere Projekte, schnell zu ändern aber langsamer da bei jedem Durchlauf interpretiert wird.

                              Da hast du im Prinzip recht. Nur ist node.js/javascript (an das du hier wahrscheinlich denkst) keine interpretierte Sprache sondern wird mittels JIT Kompilation sehr wohl in Maschinencode übersetzt. node.js / javascript sollte nicht mit javascript für den Browser aus den 80er Jahren in einen Topf geworfen werden. Und platformunabhängig ist node.js allemal 🙂 - hier aber zumindest bsiher kein relevantes Thema.

                              Siehe z.B. https://www.geeksforgeeks.org/javascript/is-javascript-interpreted-or-compiled/

                              1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Martin 5 last edited by

                                @martin-5

                                dann könntest du dir das noch anschauen.
                                damit kannst du dann mit dem iobroker direkt kommunizieren und wirst aktiv benachrichtigt wenn sich ein datenpunkt ändert.
                                https://github.com/socketio/socket.io-client-java

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Martin 5 last edited by

                                  @mcm1957

                                  Aha, danke.

                                  1 Reply Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active last edited by

                                    @Martin-5
                                    Deinen Ansatz in Java (die dunkle Seite der Macht) in allen Ehren, aber warum das Rad nochmal neu erfinden?
                                    Wenn Du schon mit ioBroker arbeitest (und die Daten dort zur Verfügung hast), hast Du doch schon das komplette Rüstzeug.

                                    Es gibt vermutlich die passenden Adapter für Deine Hardware. Sonst hättest Du die Daten ja nicht im ioBroker.
                                    Auch sämtliche benötigten Schnittstellen/Protokolle stehen zur Verfügung. MQTT, Modbus, REST, HTTP GET/POST usw.

                                    Zur Visualisierung stehen gleich mehrere Möglichkeiten bereit: Vis/Vis2, Jarvis, iQontrol, Lovelace, WebUI und nicht zu vergessen der Energiefluss-Adapter.

                                    Für meine Begriffe wäre also lediglich die "Logik" übrig. Also sowas wie: "Wenn Auto voll geladen und PV-Überschuss, dann schalte den Heizstab der WP an" oder Dinge in der Art. Und sowas lässt sich mit den angesprochenen Logikmaschinen (JS, TS, NodeRed usw.) eigentlich ziemlich einfach implementieren.

                                    Ich gebe zu, dass der Umstieg von anderen Sprachen zu JS/TS etwas holprig sein kann. Aber das ist keine Hexenwerk ... insbesondere von Java sollte das keine unüberwindliche Hürde sein.
                                    Und wie bereits erwähnt darf man NodeJS nicht mit JS im Browser in einen Topf werden. Das sind zwei ziemlich unterschiedliche paar Schuhe.

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      Martin 5 @Codierknecht last edited by

                                      @codierknecht
                                      Ich werde mal versuchen das miniEm-Projekt (Java) im ioBroker schrittweise umzusetzen.
                                      Wie würdet ihr das machen? Für jedes Gerät ein extra Script und dann ein Script für den Ablauf oder alles in einem großen Script?

                                      Codierknecht 1 Reply Last reply Reply Quote 0
                                      • Codierknecht
                                        Codierknecht Developer Most Active @Martin 5 last edited by Codierknecht

                                        @martin-5
                                        Da IMHO die Gefahr besteht, dass bei einem Script je Gerät ein Script Werte aus einem anderen Script benötigt, würde ich das in ein einziges Script packen.

                                        Auch immer dran denken: ioBroker läuft an der Ecke Ereignisgesteuert.
                                        Wenn also z.B. anhand der aktuellen PV-Leistung etwas zu entscheiden und zu steuern ist, legt man einen Trigger auf den DP "PV-Leistung" und entscheidet dort, was jetzt passieren soll und reagiert entsprechend.
                                        Also in etwa nach einem solchen Muster:
                                        085f6460-e117-40a8-816a-926ea6c2afa7-image.png

                                        Edit - etwas OT:
                                        Auch ich bin es mit Delphi eigentlich gewohnt, in Klassen zu denken.
                                        Mit Vererbung, überladenen Methoden, Eventhandlern und dem ganzen Zipp und Zapp.

                                        Muss ich aber in ioBroker nicht. Das haben andere schon längst gemacht und (als Adapter) bereitgestellt.
                                        Ich muss also lediglich auf die Änderungen von Werten "horchen" und darauf mit ein paar Zeilen Code reagieren.
                                        Da wären jetzt komplexe Klassen wie mit Kanonen auf Spatzen schießen.

                                        Bei der Adapterentwicklung sieht das schon wieder anders aus. Aber soweit sind wir ja hier noch nicht 😉

                                        M 1 Reply Last reply Reply Quote 2
                                        • M
                                          Martin 5 @Codierknecht last edited by

                                          @codierknecht
                                          Dank für die weitere Erläuterung.
                                          Wie gehe ich mit Funktionen um die ich in mehreren Scripten verwenden möchte? Kann ich Funktionen aus einem anderem Script verwenden oder muss ich die immer in das entsprechende Script kopieren?

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          728
                                          Online

                                          32.3k
                                          Users

                                          81.1k
                                          Topics

                                          1.3m
                                          Posts

                                          6
                                          27
                                          546
                                          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