Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Günstigste Architektur Simple API (hochfrequente Requests)

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    312

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.9k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    782

Günstigste Architektur Simple API (hochfrequente Requests)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
simple-api
7 Beiträge 2 Kommentatoren 509 Aufrufe 2 Beobachtet
  • Ä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.
  • binaryaddictB Offline
    binaryaddictB Offline
    binaryaddict
    schrieb am zuletzt editiert von binaryaddict
    #1

    Servus zusammen,

    Ich habe mir ein Webfrontent gebaut, mit dem ich den Status verschiedener Gewerke aufbereite. Aktuell frage ich asynchron (je nach Gewerk zwischen 1 - 5 Sekunden) verschiedene Datenpunkt-Gruppen (ganze Datenpunkte via pattern) ab. Das Frontent selber läuft auf meinem Webserver und ist mit PHP umgesetzt. Der Webserver schickt Requests an meinen Pi im Heimnetz. Das lässt meinen Pi manchmal recht heiß laufen, wenn ich gerade entsprechend große Gewerke anzeige die jede Sekunde aktualisiert werden.

    Ich würde das gern ein wenig optimieren, und habe aktuell zwei Ideen:

    Alternative 1: Ich überwache per Blockly-Script jede relevante Datenpunkt-Gruppe und schreibe bei einer Änderung ein Flag. Nun würde ich in meiner Frequenz nur das Flag lesen, und ggf. bei Änderung die Datenpunkte wie gehabt.

    Alternative 2: Ich frage nicht mehr ganze Datenpunkte ab, sondern nur noch Plain-Values mit expliziten Datenpunkt-Bezeichnern. Damit müsste ich die Konfiguration und Logik auf dem Webserver etwas aufblähen, aber dieser ist potenter als der Pi.

    Welche Ansätze habt Ihr für die Simple API umgesetzt, bzw. welche Ansätze fallen Euch ein? Kann jemand von Euch meine beiden Alternativen bewerten, welche sinniger bzw. performanter und Pi-schonender ist?

    Besten Dank im Voraus.

    AlCalzoneA 1 Antwort Letzte Antwort
    0
    • binaryaddictB binaryaddict

      Servus zusammen,

      Ich habe mir ein Webfrontent gebaut, mit dem ich den Status verschiedener Gewerke aufbereite. Aktuell frage ich asynchron (je nach Gewerk zwischen 1 - 5 Sekunden) verschiedene Datenpunkt-Gruppen (ganze Datenpunkte via pattern) ab. Das Frontent selber läuft auf meinem Webserver und ist mit PHP umgesetzt. Der Webserver schickt Requests an meinen Pi im Heimnetz. Das lässt meinen Pi manchmal recht heiß laufen, wenn ich gerade entsprechend große Gewerke anzeige die jede Sekunde aktualisiert werden.

      Ich würde das gern ein wenig optimieren, und habe aktuell zwei Ideen:

      Alternative 1: Ich überwache per Blockly-Script jede relevante Datenpunkt-Gruppe und schreibe bei einer Änderung ein Flag. Nun würde ich in meiner Frequenz nur das Flag lesen, und ggf. bei Änderung die Datenpunkte wie gehabt.

      Alternative 2: Ich frage nicht mehr ganze Datenpunkte ab, sondern nur noch Plain-Values mit expliziten Datenpunkt-Bezeichnern. Damit müsste ich die Konfiguration und Logik auf dem Webserver etwas aufblähen, aber dieser ist potenter als der Pi.

      Welche Ansätze habt Ihr für die Simple API umgesetzt, bzw. welche Ansätze fallen Euch ein? Kann jemand von Euch meine beiden Alternativen bewerten, welche sinniger bzw. performanter und Pi-schonender ist?

      Besten Dank im Voraus.

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von AlCalzone
      #2

      @binaryaddict Sinnvoller wäre eine dauerhafte Verbindung basierend auf socket.io, wo nicht (unnötig) gepollt wird. Da kannst du auf mehrere Patterns subscriben, eingangs einmal die Werte lesen, und dir bei Änderungen die neuen Werte schicken lassen (so wie in ioBroker Skripten auch).

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      binaryaddictB 1 Antwort Letzte Antwort
      0
      • AlCalzoneA AlCalzone

        @binaryaddict Sinnvoller wäre eine dauerhafte Verbindung basierend auf socket.io, wo nicht (unnötig) gepollt wird. Da kannst du auf mehrere Patterns subscriben, eingangs einmal die Werte lesen, und dir bei Änderungen die neuen Werte schicken lassen (so wie in ioBroker Skripten auch).

        binaryaddictB Offline
        binaryaddictB Offline
        binaryaddict
        schrieb am zuletzt editiert von
        #3

        @alcalzone said in Günstigste Architektur Simple API (hochfrequente Requests):

        @binaryaddict Sinnvoller wäre eine dauerhafte Verbindung basierend auf socket.io, wo nicht (unnötig) gepollt wird. Da kannst du auf mehrere Patterns subscriben, eingangs einmal die Werte lesen, und dir bei Änderungen die neuen Werte schicken lassen (so wie in ioBroker Skripten auch).

        Danke für den Tipp. Hast Du hierzu ein paar weiterführende Links auf etwaige Referenzimplementierungen zur Hand? Was muss ich ioBroker-seitig tun, um eine eingehende Verbindung bereitzustellen? socket.io scheint kein eigenständiger Adapter zu sein. Steht der Serverteil ioBroker-seitig von Haus aus zur Verfügung?

        AlCalzoneA 1 Antwort Letzte Antwort
        0
        • binaryaddictB binaryaddict

          @alcalzone said in Günstigste Architektur Simple API (hochfrequente Requests):

          @binaryaddict Sinnvoller wäre eine dauerhafte Verbindung basierend auf socket.io, wo nicht (unnötig) gepollt wird. Da kannst du auf mehrere Patterns subscriben, eingangs einmal die Werte lesen, und dir bei Änderungen die neuen Werte schicken lassen (so wie in ioBroker Skripten auch).

          Danke für den Tipp. Hast Du hierzu ein paar weiterführende Links auf etwaige Referenzimplementierungen zur Hand? Was muss ich ioBroker-seitig tun, um eine eingehende Verbindung bereitzustellen? socket.io scheint kein eigenständiger Adapter zu sein. Steht der Serverteil ioBroker-seitig von Haus aus zur Verfügung?

          AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #4

          @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

          socket.io scheint kein eigenständiger Adapter zu sein

          Doch, klick mal auf den Link in meinem vorherigen Post :)
          Alternativ hat der web-Adapter auch socket.io an Bord.

          Zur Referenzimplementierung könnte folgender Thread etwas helfen:
          https://forum.iobroker.net/topic/52798/solved-benutze-socket-io-adapter-in-react-app

          Mit PHP ist das allerdings etwas komplizierter, da wirst du nicht umhin kommen, https://github.com/ioBroker/socket-client/ mehr oder weniger zu portieren. Der interessante Teil steckt in Connection.ts, wo die Methoden zum Datenzugriff implementiert sind.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          binaryaddictB 1 Antwort Letzte Antwort
          1
          • AlCalzoneA AlCalzone

            @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

            socket.io scheint kein eigenständiger Adapter zu sein

            Doch, klick mal auf den Link in meinem vorherigen Post :)
            Alternativ hat der web-Adapter auch socket.io an Bord.

            Zur Referenzimplementierung könnte folgender Thread etwas helfen:
            https://forum.iobroker.net/topic/52798/solved-benutze-socket-io-adapter-in-react-app

            Mit PHP ist das allerdings etwas komplizierter, da wirst du nicht umhin kommen, https://github.com/ioBroker/socket-client/ mehr oder weniger zu portieren. Der interessante Teil steckt in Connection.ts, wo die Methoden zum Datenzugriff implementiert sind.

            binaryaddictB Offline
            binaryaddictB Offline
            binaryaddict
            schrieb am zuletzt editiert von
            #5

            @alcalzone said in Günstigste Architektur Simple API (hochfrequente Requests):

            @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

            socket.io scheint kein eigenständiger Adapter zu sein

            Doch, klick mal auf den Link in meinem vorherigen Post :)
            Alternativ hat der web-Adapter auch socket.io an Bord.

            Zur Referenzimplementierung könnte folgender Thread etwas helfen:
            https://forum.iobroker.net/topic/52798/solved-benutze-socket-io-adapter-in-react-app

            Mit PHP ist das allerdings etwas komplizierter, da wirst du nicht umhin kommen, https://github.com/ioBroker/socket-client/ mehr oder weniger zu portieren. Der interessante Teil steckt in Connection.ts, wo die Methoden zum Datenzugriff implementiert sind.

            Den hab ich mir schon angeschaut. Ich war verwirrt, weil ich socket.io bei den Adaptern zwar mit der Suche finde, jedoch nicht installieren kann. Installiert scheint er aber auch nicht zu sein, zumindest seh ich ihn nicht bei meinen Instanzen.

            Mit einer Beispieldatei konnte ich schon eine Verbindung herstellen (die läuft scheinbar über den web-Adapter). Da gibt es aber noch vieeeeele Feinheiten zu erforschen :D Beispielsweise ist mir aktuell noch rätselhaft, wie man das vernünftig absichert. Weil ich letztenendes JS mit der Config und Authentifizierung ausliefern muss, die ja im Klartext lesbar ist. Aber ich wühl mich mal durch.

            Besten Dank für die weiteren Links!

            AlCalzoneA 1 Antwort Letzte Antwort
            0
            • binaryaddictB binaryaddict

              @alcalzone said in Günstigste Architektur Simple API (hochfrequente Requests):

              @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

              socket.io scheint kein eigenständiger Adapter zu sein

              Doch, klick mal auf den Link in meinem vorherigen Post :)
              Alternativ hat der web-Adapter auch socket.io an Bord.

              Zur Referenzimplementierung könnte folgender Thread etwas helfen:
              https://forum.iobroker.net/topic/52798/solved-benutze-socket-io-adapter-in-react-app

              Mit PHP ist das allerdings etwas komplizierter, da wirst du nicht umhin kommen, https://github.com/ioBroker/socket-client/ mehr oder weniger zu portieren. Der interessante Teil steckt in Connection.ts, wo die Methoden zum Datenzugriff implementiert sind.

              Den hab ich mir schon angeschaut. Ich war verwirrt, weil ich socket.io bei den Adaptern zwar mit der Suche finde, jedoch nicht installieren kann. Installiert scheint er aber auch nicht zu sein, zumindest seh ich ihn nicht bei meinen Instanzen.

              Mit einer Beispieldatei konnte ich schon eine Verbindung herstellen (die läuft scheinbar über den web-Adapter). Da gibt es aber noch vieeeeele Feinheiten zu erforschen :D Beispielsweise ist mir aktuell noch rätselhaft, wie man das vernünftig absichert. Weil ich letztenendes JS mit der Config und Authentifizierung ausliefern muss, die ja im Klartext lesbar ist. Aber ich wühl mich mal durch.

              Besten Dank für die weiteren Links!

              AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #6

              @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

              jedoch nicht installieren kann. Installiert scheint er aber auch nicht zu sein, zumindest seh ich ihn nicht bei meinen Instanzen.

              Ggf. musst du einfach nur eine Instanz hinzufügen? https://www.iobroker.net/#en/documentation/tutorial/adapter.md?creationofaninstanceofanadapter

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              binaryaddictB 1 Antwort Letzte Antwort
              0
              • AlCalzoneA AlCalzone

                @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

                jedoch nicht installieren kann. Installiert scheint er aber auch nicht zu sein, zumindest seh ich ihn nicht bei meinen Instanzen.

                Ggf. musst du einfach nur eine Instanz hinzufügen? https://www.iobroker.net/#en/documentation/tutorial/adapter.md?creationofaninstanceofanadapter

                binaryaddictB Offline
                binaryaddictB Offline
                binaryaddict
                schrieb am zuletzt editiert von
                #7

                @alcalzone said in Günstigste Architektur Simple API (hochfrequente Requests):

                @binaryaddict sagte in Günstigste Architektur Simple API (hochfrequente Requests):

                jedoch nicht installieren kann. Installiert scheint er aber auch nicht zu sein, zumindest seh ich ihn nicht bei meinen Instanzen.

                Ggf. musst du einfach nur eine Instanz hinzufügen? https://www.iobroker.net/#en/documentation/tutorial/adapter.md?creationofaninstanceofanadapter

                Oh mann, da scheint mein Hirn noch nicht mitaufgestanden zu sein. Oder es hat sich noch nicht an die neue Oberfläche gewöhnt 🤦
                Danke für Deine Geduld - nu hab ich eine Instanz. Wobei wahrscheinlich die größere Herausforderung sein wird die Schnittstelle entsprechend zu implementieren.

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                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

                297

                Online

                32.9k

                Benutzer

                83.0k

                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