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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Lesen/Schreiben von Datenpunkten via Internet

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Lesen/Schreiben von Datenpunkten via Internet

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
18 Beiträge 7 Kommentatoren 1.4k Aufrufe 9 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.
  • BananaJoeB BananaJoe

    @iobaer Also so ganz ohne Portweiterleitung wird schwer, aber ich hab mir mal so etwas ähnliches gebaut.
    Mit Python und dem Flask-Modul.
    Flask wartet auf eine URL und übergibt die einzelnen Pfade der URL an das Script:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    #import sys
    import os
    import subprocess
    from functools import wraps
    from flask import Flask, request, Response
    app = Flask(__name__)
    
    
    @app.route('/')
    def hello():
        return "Start Radio By URL! Use /Name_or_Group_of_Echo/stationid"
    
    
    #Schalten nur nach Anmeldung, siehe http://flask.pocoo.org/snippets/8/
    def check_auth(username, password):
        # This function is called to check if a username /
        # password combination is valid.
    
        return username == 'alexa' and password == 'manfred'
    
    def authenticate():
        # Sends a 401 response that enables basic auth
        return Response(
        'Could not verify your access level for that URL.\n'
        'You have to login with proper credentials', 401,
        {'WWW-Authenticate': 'Basic realm="Login Required"'})
    
    def requires_auth(f):
        @wraps(f)
        def decorated(*args, **kwargs):
            auth = request.authorization
            if not auth or not check_auth(auth.username, auth.password):
                return authenticate()
            return f(*args, **kwargs)
        return decorated
    
    @app.route('/<echodevice>/<stationid>')
    @requires_auth
    def EchoPlayRadio(echodevice, stationid):
        #print("http://192.168.1.246:5001/" +  echodevice +"/" + stationid)
        #print("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -r " + stationid)
        # Abfragen ob Radio schon spielt oder nicht
        if echodevice == "Erdgeschoss":
            #Nachfolgend mit Prüfung
            echostatus = subprocess.check_output("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -q | grep currentState | cut -d'" + '"' + "' -f 4", shell=True)
            #Eventuelles "neue Zeile" am Ende entfernen (ja, war notwendig)
            echostatus = echostatus.rstrip()
            #echostatus = os.system("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -q | grep currentState | cut -d'" + '"' + "' -f 4")
            #print("Der Status ist:" + echostatus + ":")
            if echostatus == "PLAYING":
                os.system("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -e pause")
            else:
                os.system("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -r " + stationid)
                # NDR2 StationID: s56857
                # http://192.168.1.246:5001/Keller/s56857
                # Lautstärke setzen
                #os.system("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -e vol:70")
            return ('OK'), 200
        else:
            if stationid == "stop":
                os.system("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -e pause")
                return ('OK'), 200
            else:
                os.system("/alexa_remote/alexa_remote_control.sh -d " + echodevice + " -r " + stationid)
                return ('OK'), 200
        return ('OK'), 200
    
    if __name__ == '__main__':
        #print("Starte RadioByURL")
        app.run(host='0.0.0.0', port=5001)
    
    

    Obiges Beispiel horcht auf Port 5001 und erwartet so etwas wie

    http://alexa:manfred@192.168.1.8/kueche/1234

    kueche und 1234 hast du danach als Werte zur Verfügung. Das Beispiel oben nutzt auch die Basis Authentifizierung
    Ich rufe in dem Bespiel ein Script auf (/alexa_remote/alexa_remote_control.sh), aber es ginge auch ein SimpleAPI Aufruf etc.

    https ginge natürlich auch, man müsste halt ein Zertifikat einbinden und Flask als https starten lassen.

    Das Skript lief bei mir als Dienst unter Ubuntu, hier eine Beispiel-Service-Beschreibung:

    [Unit]
    Description=Echo Radio URL Service
    After=syslog.target
    
    [Service]
    Type=simple
    WorkingDirectory=/gpio/flask
    ExecStart=/gpio/flask/RadioByURL.py
    SyslogIdentifier=echoradiourl
    StandardOutput=syslog
    StandardError=syslog
    Restart=always
    RestartSec=3
    
    [Install]
    WantedBy=multi-user.target
    
    

    Für mein Beispiel müsstest du also eine Portweiterleitung auf Port 5001 auf den Rechner machen auf dem das Skript läuft. Aber es ist mit einer Anmeldung abgesichert

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von OliverIO
    #7

    @bananajoe sagte in Lesen/Schreiben von Datenpunkten via Internet:

    Aber es ist mit einer Anmeldung abgesichert

    hehe
    Bei solchen aussagen möchte ich dann immer gerne mal auf die aktuell aktiven Sicherheitsmeldungen zur jeweiligen Programmiesprache hinweisen:
    https://www.cvedetails.com/vulnerability-list/vendor_id-10210/product_id-18230/Python-Python.html
    und im speziellen gerade diesen
    https://www.cvedetails.com/cve/CVE-2021-29921/

    Software, die nach außen hin mit einer Portfreigabe offen ist, ist meiner Meinung nach extrem schwer abzusichern. Deswegen würde ich nur einer Software vertrauen, die extra dafür gedacht ist offen im Internet zu stehen.

    Wenn du da einen Fehler machst, dann ist er in deinem Netzwerk drin.
    Oder hast du da noch zusätzliche Absicherungen drin, wie bspw das die Applikation in einem separaten Netzwerksegment steht, so das, wenn jemand zugriff auf den Rechner hat zumindest nicht auch auf die anderen Rechner zugriefen kann?
    Oder der Software zumindest einen eigenen User auf dem Rechner verpassen oder läuft die Software sogar als root, weil man dann ja keine Probleme mit den blöden Berechtigungen hat.

    Ihr müsst euch ja mal vorstellen was das eigentlich bedeutet, in einen Rechner einzubrechen: Über die vorhandenen Möglichkeiten lokal Befehle ausführen zu können. Auch python hat Befehle um auf die Betriebssystemebene zu kommen. Wenn man mal da angekommen ist, dann kommen noch die Sicherheitslücken des Betriebssystems um sich höherwertige Rechte zu verschaffen. Damit ist der Rechner kompromittiert und darf komplett neu aufgesetzt werden. und wer ist den in der Lage herauszufinden wie lange der Rechner schon kompromittiert ist und ob nicht auch schon die Backups verseucht sind.
    Wenn der Angreifer dann auch noch über das Netz Zugriff auf andere Rechner hat, dann hilft nur noch alles löschen und Neuinstallieren.

    ja ihr seit meistens Privatleute, da lohnt es sich nicht so anzugreifen. aber Teilnehmer eines Botnetzes zu sein um Spam zu versenden, DDos-Attacken auszuführen oder wieder als Attack-Relay zu dienen um den Ursprung des Angriffes zu verschleiern könnte schon sein.

    Stellt keine Software mit einer Portfreigabe offen ins Netz, ausser die Software ist dafür ausdrücklich gemacht (Router, Nextcloud, Webserver)
    Ansonsten Zugriff nur über VPN.
    Die Methode von @IOBaer ist schon nicht schlecht, da hier die Verbindung von innen nach außen aufgemacht wird. Aber dann steht der Webspace offen im Netz. Um die Basis (OS,Webserver) kümmert sich der Anbieter. Um die Software musst dich auch selbst kümmern. Wenn man da die Möglichkeiten des Zugriffs auf den eigenen Rechner einschränkt, dann ist das Risiko kalkulierbar (das absetzen von Shellbefehlen würde ich auch über diese Möglichkeit nicht umsetzen).

    Nachtrag weil es so schön ist:
    https://vulmon.com/searchpage?q=flask

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    BananaJoeB 1 Antwort Letzte Antwort
    1
    • OliverIOO OliverIO

      @bananajoe sagte in Lesen/Schreiben von Datenpunkten via Internet:

      Aber es ist mit einer Anmeldung abgesichert

      hehe
      Bei solchen aussagen möchte ich dann immer gerne mal auf die aktuell aktiven Sicherheitsmeldungen zur jeweiligen Programmiesprache hinweisen:
      https://www.cvedetails.com/vulnerability-list/vendor_id-10210/product_id-18230/Python-Python.html
      und im speziellen gerade diesen
      https://www.cvedetails.com/cve/CVE-2021-29921/

      Software, die nach außen hin mit einer Portfreigabe offen ist, ist meiner Meinung nach extrem schwer abzusichern. Deswegen würde ich nur einer Software vertrauen, die extra dafür gedacht ist offen im Internet zu stehen.

      Wenn du da einen Fehler machst, dann ist er in deinem Netzwerk drin.
      Oder hast du da noch zusätzliche Absicherungen drin, wie bspw das die Applikation in einem separaten Netzwerksegment steht, so das, wenn jemand zugriff auf den Rechner hat zumindest nicht auch auf die anderen Rechner zugriefen kann?
      Oder der Software zumindest einen eigenen User auf dem Rechner verpassen oder läuft die Software sogar als root, weil man dann ja keine Probleme mit den blöden Berechtigungen hat.

      Ihr müsst euch ja mal vorstellen was das eigentlich bedeutet, in einen Rechner einzubrechen: Über die vorhandenen Möglichkeiten lokal Befehle ausführen zu können. Auch python hat Befehle um auf die Betriebssystemebene zu kommen. Wenn man mal da angekommen ist, dann kommen noch die Sicherheitslücken des Betriebssystems um sich höherwertige Rechte zu verschaffen. Damit ist der Rechner kompromittiert und darf komplett neu aufgesetzt werden. und wer ist den in der Lage herauszufinden wie lange der Rechner schon kompromittiert ist und ob nicht auch schon die Backups verseucht sind.
      Wenn der Angreifer dann auch noch über das Netz Zugriff auf andere Rechner hat, dann hilft nur noch alles löschen und Neuinstallieren.

      ja ihr seit meistens Privatleute, da lohnt es sich nicht so anzugreifen. aber Teilnehmer eines Botnetzes zu sein um Spam zu versenden, DDos-Attacken auszuführen oder wieder als Attack-Relay zu dienen um den Ursprung des Angriffes zu verschleiern könnte schon sein.

      Stellt keine Software mit einer Portfreigabe offen ins Netz, ausser die Software ist dafür ausdrücklich gemacht (Router, Nextcloud, Webserver)
      Ansonsten Zugriff nur über VPN.
      Die Methode von @IOBaer ist schon nicht schlecht, da hier die Verbindung von innen nach außen aufgemacht wird. Aber dann steht der Webspace offen im Netz. Um die Basis (OS,Webserver) kümmert sich der Anbieter. Um die Software musst dich auch selbst kümmern. Wenn man da die Möglichkeiten des Zugriffs auf den eigenen Rechner einschränkt, dann ist das Risiko kalkulierbar (das absetzen von Shellbefehlen würde ich auch über diese Möglichkeit nicht umsetzen).

      Nachtrag weil es so schön ist:
      https://vulmon.com/searchpage?q=flask

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      schrieb am zuletzt editiert von BananaJoe
      #8

      @oliverio selbstverständlich hast du recht. Aber man kann an den Wahrscheinlichkeiten arbeiten:

      • Host (und Python) auf aktuellen Stand halten
      • keine Allerweltsports nehmen. Ports gibt es von 1 bis 65535 und das Scannen kostet viel Zeit
      • GeoIP-Blocking verwenden. Entweder auf der Firewall so das diese z.B. auf diesen Port nur Zugriffe aus Deutschland zulässt oder im Python
      • Reverse Proxy davor verwenden und auf dem Port nur auf einen bestimmten DNS Namen hören, gerne Subdomain aka "mein44dienst-geheim.mydomain.de"
      • https verwenden um das eventuelle abfangen von Passwörtern zu verhinden

      Jedes dieser Dinge wird die Wahrscheinlichkeit auf einen Hack um ein vielfaches senken

      Alternativ: VPN verwenden. Auch nicht 100% sicher. Aber was ist das schon

      Zusätzlich: Monitoring! Um Einbruchsversuche / Einbrüche zu erkennen

      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

      OliverIOO 1 Antwort Letzte Antwort
      0
      • BananaJoeB BananaJoe

        @oliverio selbstverständlich hast du recht. Aber man kann an den Wahrscheinlichkeiten arbeiten:

        • Host (und Python) auf aktuellen Stand halten
        • keine Allerweltsports nehmen. Ports gibt es von 1 bis 65535 und das Scannen kostet viel Zeit
        • GeoIP-Blocking verwenden. Entweder auf der Firewall so das diese z.B. auf diesen Port nur Zugriffe aus Deutschland zulässt oder im Python
        • Reverse Proxy davor verwenden und auf dem Port nur auf einen bestimmten DNS Namen hören, gerne Subdomain aka "mein44dienst-geheim.mydomain.de"
        • https verwenden um das eventuelle abfangen von Passwörtern zu verhinden

        Jedes dieser Dinge wird die Wahrscheinlichkeit auf einen Hack um ein vielfaches senken

        Alternativ: VPN verwenden. Auch nicht 100% sicher. Aber was ist das schon

        Zusätzlich: Monitoring! Um Einbruchsversuche / Einbrüche zu erkennen

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #9

        @bananajoe

        ja Security ist alle nur die Wahrscheinlichkeit zu minimieren und möglichst viele Hürden aufbauen.

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        I 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @bananajoe

          ja Security ist alle nur die Wahrscheinlichkeit zu minimieren und möglichst viele Hürden aufbauen.

          I Offline
          I Offline
          IOBaer
          schrieb am zuletzt editiert von
          #10

          Hallo zusammen,

          danke für die Antworten. Welchen Vorteil gäbe es denn bei der Methode von @OliverIO im Vergleich zur SimpleAPI?

          Wie geschrieben, auf Powerweiterleitungen will ich hier komplett verzichten. Viele unterschätzen glaube ich, welcher Aufwand da eigentlich betrieben werden müsste (echte DMZ etc.) - selbst in vielen Firmen werden Ports oftmals nur weitergeleitet.

          Mein PHP-Projekt funktioniert soweit gut, allerdings wäre es gut zu wissen, ob ihr in Abfragen alle 5 Sekunden ein Problem für den ioBroker seht? Ich würde vermuten eher nicht, da ja ioBroker-intern auch laufend irgendwelche Aktualisierungen stattfinden.

          1 Antwort Letzte Antwort
          0
          • I IOBaer

            Hallo zusammen,

            hat sich jemand schon damit beschäftigt, auf einzelne Datenpunkte in ioBroker aus dem Internet zuzugreifen, ohne dafür eine Portweiterleitung oder VPN zu nutzen? Ich denke da z.B. an einen Webspace beim Provider. Anwendungsfall wäre z.B. das Öffnen des Garagentores (ja, mit Telegram geht das natürlich deutlich eleganter).

            Die idealen Lösungen sind wohl die Cloud-Angebote von ioBroker selbst. Ich habe bislang auch keinen Adapter gefunden, der dies ansonsten umsetzen würde. Einzig https://github.com/Mic-M/iobroker-geofency-php geht für das Geofencing einen ähnlichen Weg.

            Meine primitive Idee, wenn es nur um einzelne Datenpunkte geht, ist derzeit:

            • PHP-Skript auf Webspace legen, das mit zwei Variablen, die in de URL übergeben werden, aufgerufen wird: Datenpunkt und Wert (Skript gesichert z.B. durch htaccess)
            • PHP-Skript schreibt den Wert in eine Textdatei auf dem Webserver, z.B. Datenpunktname.txt mit Inhalt "true".
            • Ein ioBroker-Skript fragt z.B. alle 5 Sekunden diese Datei ab und aktualisiert einen Datenpunkt.
            • Umgekehrt kann natürlich auch die Textdatei auf dem Webserver bei Änderungen seitens ioBroker aktualisiert werden.

            Ich habe testweise mal etwas gebastelt, das auch funktioniert. Seht ihr GET-URL-Abfrageintervalle z.B. alle 5 Sekunden (oder gar noch kürzer) problematisch für ioBroker oder dessen Host?

            Gerne auch alternative Ideen.

            Samson71S Offline
            Samson71S Offline
            Samson71
            Global Moderator
            schrieb am zuletzt editiert von
            #11

            @iobaer sagte in Lesen/Schreiben von Datenpunkten via Internet:

            hat sich jemand schon damit beschäftigt, auf einzelne Datenpunkte in ioBroker aus dem Internet zuzugreifen, ohne dafür eine Portweiterleitung oder VPN zu nutzen? Ich denke da z.B. an einen Webspace beim Provider. Anwendungsfall wäre z.B. das Öffnen des Garagentores (ja, mit Telegram geht das natürlich deutlich eleganter).

            Warum kein VPN? Ich öffne genau damit mein Garagentor. Per Handy lässt sich der Aufbau der notwendigen VPN-Verbindung automatisch erledigen. Passendes Widget auf die Oberfläche legen und mit einem Klick ist die Toröffnung erledigt.

            Markus

            Bitte beachten:
            Hinweise für gute Forenbeiträge
            Maßnahmen zum Schutz des Forums

            I 1 Antwort Letzte Antwort
            0
            • Samson71S Samson71

              @iobaer sagte in Lesen/Schreiben von Datenpunkten via Internet:

              hat sich jemand schon damit beschäftigt, auf einzelne Datenpunkte in ioBroker aus dem Internet zuzugreifen, ohne dafür eine Portweiterleitung oder VPN zu nutzen? Ich denke da z.B. an einen Webspace beim Provider. Anwendungsfall wäre z.B. das Öffnen des Garagentores (ja, mit Telegram geht das natürlich deutlich eleganter).

              Warum kein VPN? Ich öffne genau damit mein Garagentor. Per Handy lässt sich der Aufbau der notwendigen VPN-Verbindung automatisch erledigen. Passendes Widget auf die Oberfläche legen und mit einem Klick ist die Toröffnung erledigt.

              I Offline
              I Offline
              IOBaer
              schrieb am zuletzt editiert von
              #12

              @samson71 Ist alles bekannt und nutze ich ebenfalls bereits so. Geht mir hier eher um die technischen Möglichkeiten. Die PHP-Lösung funktioniert und die zeitliche Differenz (maximal 5 Sekunden aktuell) ist aus meiner Sicht absolut in Ordnung für einen Schaltvorgang.

              Vielleicht kann einer der ioBroker-Programmierer ja noch was zur Systembelastung von so kurzen JS-Abfragen (http-GET) sagen (alle 5 Sekunden oder noch kürzer).

              OliverIOO 1 Antwort Letzte Antwort
              0
              • I IOBaer

                @samson71 Ist alles bekannt und nutze ich ebenfalls bereits so. Geht mir hier eher um die technischen Möglichkeiten. Die PHP-Lösung funktioniert und die zeitliche Differenz (maximal 5 Sekunden aktuell) ist aus meiner Sicht absolut in Ordnung für einen Schaltvorgang.

                Vielleicht kann einer der ioBroker-Programmierer ja noch was zur Systembelastung von so kurzen JS-Abfragen (http-GET) sagen (alle 5 Sekunden oder noch kürzer).

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #13

                @iobaer
                Eigentlich ist das für iobroker kein Problem.
                Du kannst ja mal die Systemauslastung deines Adapters/Skripts und die des gesamten Systems im Auge behalten.
                Dann solltest du noch in die Richtlinien deines Providers schauen, ob den da alle 5 Sekunden eine Anfrage eintreffen darf. Hast du Webspace oder einen virtuellen Server?
                Bei den günstigeren Preismodellen kalkulieren die eher damit, das die Teile größtenteils nix machen. Wenn du da alle 5 Sekunden drauf feuerst und das irgendwo in den AGBs ausgeschlossen oder mit Quota belegt ist, dann ist irgendwann dicht.

                Hier ein Auszug von ionos

                2.1.4. Fair Use-Pflichten
                https://www.ionos.de/terms-gtc/terms-server/
                Sie verpflichten sich, den exzessiven Verbrauch von Ressourcen zu vermeiden. Ausschlaggebend ist ein Leistungsabfall der Plattform, der Verdacht auf betrügerisches Verhalten (Fraud) oder die Beeinträchtigung der Rechte Dritter. Weiterhin verpflichten Sie sich, jede Störung zu vermeiden, die zu einem Leistungsabfall der Plattform, auf dem sich die Ressource befindet, führt und die Erbringung des Dienstes oder die Rechte Dritter, die die Infrastruktur teilen, beeinträchtigen würde.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                BananaJoeB 1 Antwort Letzte Antwort
                1
                • OliverIOO OliverIO

                  @iobaer
                  Eigentlich ist das für iobroker kein Problem.
                  Du kannst ja mal die Systemauslastung deines Adapters/Skripts und die des gesamten Systems im Auge behalten.
                  Dann solltest du noch in die Richtlinien deines Providers schauen, ob den da alle 5 Sekunden eine Anfrage eintreffen darf. Hast du Webspace oder einen virtuellen Server?
                  Bei den günstigeren Preismodellen kalkulieren die eher damit, das die Teile größtenteils nix machen. Wenn du da alle 5 Sekunden drauf feuerst und das irgendwo in den AGBs ausgeschlossen oder mit Quota belegt ist, dann ist irgendwann dicht.

                  Hier ein Auszug von ionos

                  2.1.4. Fair Use-Pflichten
                  https://www.ionos.de/terms-gtc/terms-server/
                  Sie verpflichten sich, den exzessiven Verbrauch von Ressourcen zu vermeiden. Ausschlaggebend ist ein Leistungsabfall der Plattform, der Verdacht auf betrügerisches Verhalten (Fraud) oder die Beeinträchtigung der Rechte Dritter. Weiterhin verpflichten Sie sich, jede Störung zu vermeiden, die zu einem Leistungsabfall der Plattform, auf dem sich die Ressource befindet, führt und die Erbringung des Dienstes oder die Rechte Dritter, die die Infrastruktur teilen, beeinträchtigen würde.

                  BananaJoeB Online
                  BananaJoeB Online
                  BananaJoe
                  Most Active
                  schrieb am zuletzt editiert von BananaJoe
                  #14

                  @oliverio
                  Also ich habe einen IONOS V Server M auf dem meine Homepage läuft.
                  Die hat so mehr als 12.000 Seitenaufrufe pro Monat + wird Regelmäßig von den Suchmaschinen durchgeackert (mindestens einmal am Tag)
                  Dazu läuft auf dem Ding ein Zabbix-Agent für das Monitoring welches die Werte von 120 Datenpunkten im Minutentakt (aber nicht alle gleichzeitig) an den Hauptserver sendet.
                  Zusätzlich wird 1x am Tag ein Backup per Veeam-Agent zur mir nach Hause und in die Firma gemacht.

                  Und ich habe bisher keinen Ärger bekommen, und erwarte das auch nicht. Der Netzwerkverkehr ist trotz allen überschaubar, genauso wie CPU und RAM Nutzung.

                  Wenn ich mein Zabbix betrachte sollte er sich bei alle 5 Sekunden abfragen keine Sorgen machen müssen.
                  Doof finde ich die Lösung trotzdem. Weil halt alle 5 Sekunden gepollt wird. Eine Lösung über einen offenen Port wäre "Push" und würde nur dann Arbeit und Datenverkehr erzeugen wenn etwas passiert,

                  Alternativ wäre eine Technik wie sie auch bei vielen anderen Diensten verwendet wird:

                  • Client (also dein ioBroker zuhause) fordert die Textdatei an - mit großen Timeout, z.B. 1h oder 8h
                  • Server (die Kiste z.B. bei IONOS wo dein PHP läuft) nimmt die Anfrage an ... beantwortet diese aber erst wenn es eine a.) Änderung gibt oder b.) der Timeout sich nähert
                  • Client bekommt Antwort und stellt gleich wieder eine neuen Anfrage

                  Da müssen natürlich Mechanismen rein die bei einem Verbindungsabbruch greifen etc.
                  Aber genau so arbeiten z.B. viele Apps, WhatsApp zum Beispiel. So kommt neues immer sofort/zeitnah rein ohne das ständig gepollt werden muss.

                  Bei IONOS sind das übrigens echte VMware-VMs, ich bin sehr angetan über die Geschwindigkeit mit der die VM läuft

                  ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                  OliverIOO I 2 Antworten Letzte Antwort
                  1
                  • BananaJoeB BananaJoe

                    @oliverio
                    Also ich habe einen IONOS V Server M auf dem meine Homepage läuft.
                    Die hat so mehr als 12.000 Seitenaufrufe pro Monat + wird Regelmäßig von den Suchmaschinen durchgeackert (mindestens einmal am Tag)
                    Dazu läuft auf dem Ding ein Zabbix-Agent für das Monitoring welches die Werte von 120 Datenpunkten im Minutentakt (aber nicht alle gleichzeitig) an den Hauptserver sendet.
                    Zusätzlich wird 1x am Tag ein Backup per Veeam-Agent zur mir nach Hause und in die Firma gemacht.

                    Und ich habe bisher keinen Ärger bekommen, und erwarte das auch nicht. Der Netzwerkverkehr ist trotz allen überschaubar, genauso wie CPU und RAM Nutzung.

                    Wenn ich mein Zabbix betrachte sollte er sich bei alle 5 Sekunden abfragen keine Sorgen machen müssen.
                    Doof finde ich die Lösung trotzdem. Weil halt alle 5 Sekunden gepollt wird. Eine Lösung über einen offenen Port wäre "Push" und würde nur dann Arbeit und Datenverkehr erzeugen wenn etwas passiert,

                    Alternativ wäre eine Technik wie sie auch bei vielen anderen Diensten verwendet wird:

                    • Client (also dein ioBroker zuhause) fordert die Textdatei an - mit großen Timeout, z.B. 1h oder 8h
                    • Server (die Kiste z.B. bei IONOS wo dein PHP läuft) nimmt die Anfrage an ... beantwortet diese aber erst wenn es eine a.) Änderung gibt oder b.) der Timeout sich nähert
                    • Client bekommt Antwort und stellt gleich wieder eine neuen Anfrage

                    Da müssen natürlich Mechanismen rein die bei einem Verbindungsabbruch greifen etc.
                    Aber genau so arbeiten z.B. viele Apps, WhatsApp zum Beispiel. So kommt neues immer sofort/zeitnah rein ohne das ständig gepollt werden muss.

                    Bei IONOS sind das übrigens echte VMware-VMs, ich bin sehr angetan über die Geschwindigkeit mit der die VM läuft

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #15

                    @bananajoe
                    Ich sehe du hast genügend technisches Hintergrundwissen.
                    ich wollte es nur erwähnen, das umso kleiner das eingekaufte Produkt ist,
                    es da evtl. Probleme geben könnte. du hast ja schon einen etwas größeren Server.

                    Die Formulierung ist ja auch sehr interpretationswürdig bezüglich exzessiv.
                    Wenn man aber das kleinste Webspace-Produkt mit Skriptfähigkeiten hat, könnte es sein, das bei über 17000 Zugriffen an einem Tag bei dem dann noch PHP angeworfen wird irgend jemand sagt, das passt da nicht. Hängt aber davon ab, wie eng die ihre internen Grenzen setzen.
                    Jedes Produkt ist ja irgendeinem physischen Server zugeordnet. Je nach Kalkulation werden dann auf diesen Server dann uU mehrere (100e) zugeordnet. Wenn dann da mehrere auf solche Ideen kommen, dann merken die anderen Kunden auf diesem Server das uU schon.
                    Aber alles gut

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • I IOBaer

                      Hallo zusammen,

                      hat sich jemand schon damit beschäftigt, auf einzelne Datenpunkte in ioBroker aus dem Internet zuzugreifen, ohne dafür eine Portweiterleitung oder VPN zu nutzen? Ich denke da z.B. an einen Webspace beim Provider. Anwendungsfall wäre z.B. das Öffnen des Garagentores (ja, mit Telegram geht das natürlich deutlich eleganter).

                      Die idealen Lösungen sind wohl die Cloud-Angebote von ioBroker selbst. Ich habe bislang auch keinen Adapter gefunden, der dies ansonsten umsetzen würde. Einzig https://github.com/Mic-M/iobroker-geofency-php geht für das Geofencing einen ähnlichen Weg.

                      Meine primitive Idee, wenn es nur um einzelne Datenpunkte geht, ist derzeit:

                      • PHP-Skript auf Webspace legen, das mit zwei Variablen, die in de URL übergeben werden, aufgerufen wird: Datenpunkt und Wert (Skript gesichert z.B. durch htaccess)
                      • PHP-Skript schreibt den Wert in eine Textdatei auf dem Webserver, z.B. Datenpunktname.txt mit Inhalt "true".
                      • Ein ioBroker-Skript fragt z.B. alle 5 Sekunden diese Datei ab und aktualisiert einen Datenpunkt.
                      • Umgekehrt kann natürlich auch die Textdatei auf dem Webserver bei Änderungen seitens ioBroker aktualisiert werden.

                      Ich habe testweise mal etwas gebastelt, das auch funktioniert. Seht ihr GET-URL-Abfrageintervalle z.B. alle 5 Sekunden (oder gar noch kürzer) problematisch für ioBroker oder dessen Host?

                      Gerne auch alternative Ideen.

                      P Offline
                      P Offline
                      peterfido
                      schrieb am zuletzt editiert von
                      #16

                      @iobaer
                      Das Garagentor ist doch evtl.in WLAN Reichweite.
                      Ansonsten nehme ich entweder VPN, Telegram oder doorio. Letzteres ist Zuhause anrufen und eine Pin eingeben.

                      VPN per wireguard kann ständig verbunden bleiben. Den Server dafür habe ich auf dem Intel NUC laufen.

                      Gruß

                      Peterfido


                      Proxmox auf Intel NUC12WSHi5
                      ioBroker: Debian (VM)
                      CCU: Debmatic (VM)
                      Influx: Debian (VM)
                      Grafana: Debian (VM)
                      eBus: Debian (VM)
                      Zigbee: Debian (VM) mit zigbee2mqtt

                      1 Antwort Letzte Antwort
                      0
                      • BananaJoeB BananaJoe

                        @oliverio
                        Also ich habe einen IONOS V Server M auf dem meine Homepage läuft.
                        Die hat so mehr als 12.000 Seitenaufrufe pro Monat + wird Regelmäßig von den Suchmaschinen durchgeackert (mindestens einmal am Tag)
                        Dazu läuft auf dem Ding ein Zabbix-Agent für das Monitoring welches die Werte von 120 Datenpunkten im Minutentakt (aber nicht alle gleichzeitig) an den Hauptserver sendet.
                        Zusätzlich wird 1x am Tag ein Backup per Veeam-Agent zur mir nach Hause und in die Firma gemacht.

                        Und ich habe bisher keinen Ärger bekommen, und erwarte das auch nicht. Der Netzwerkverkehr ist trotz allen überschaubar, genauso wie CPU und RAM Nutzung.

                        Wenn ich mein Zabbix betrachte sollte er sich bei alle 5 Sekunden abfragen keine Sorgen machen müssen.
                        Doof finde ich die Lösung trotzdem. Weil halt alle 5 Sekunden gepollt wird. Eine Lösung über einen offenen Port wäre "Push" und würde nur dann Arbeit und Datenverkehr erzeugen wenn etwas passiert,

                        Alternativ wäre eine Technik wie sie auch bei vielen anderen Diensten verwendet wird:

                        • Client (also dein ioBroker zuhause) fordert die Textdatei an - mit großen Timeout, z.B. 1h oder 8h
                        • Server (die Kiste z.B. bei IONOS wo dein PHP läuft) nimmt die Anfrage an ... beantwortet diese aber erst wenn es eine a.) Änderung gibt oder b.) der Timeout sich nähert
                        • Client bekommt Antwort und stellt gleich wieder eine neuen Anfrage

                        Da müssen natürlich Mechanismen rein die bei einem Verbindungsabbruch greifen etc.
                        Aber genau so arbeiten z.B. viele Apps, WhatsApp zum Beispiel. So kommt neues immer sofort/zeitnah rein ohne das ständig gepollt werden muss.

                        Bei IONOS sind das übrigens echte VMware-VMs, ich bin sehr angetan über die Geschwindigkeit mit der die VM läuft

                        I Offline
                        I Offline
                        IOBaer
                        schrieb am zuletzt editiert von
                        #17

                        @bananajoe Ich habe mal mit zwei Bekannten Rücksprache gehalten, die bei Providern arbeiten - und mich auf Webhosting bezogen. Kurzform: die Abfragen im z.B. 5-Sekunden-Takt sind kein Problem.

                        Ich teste das die Tage mal (bewusst nicht auf einem externen VPS oder dedicated Server, sondern einem Webhosting-Paket), ggf. auch mit kürzeren Abfragezeiten und warte ab, ob sich wer meldet ;-)

                        A 1 Antwort Letzte Antwort
                        0
                        • I IOBaer

                          @bananajoe Ich habe mal mit zwei Bekannten Rücksprache gehalten, die bei Providern arbeiten - und mich auf Webhosting bezogen. Kurzform: die Abfragen im z.B. 5-Sekunden-Takt sind kein Problem.

                          Ich teste das die Tage mal (bewusst nicht auf einem externen VPS oder dedicated Server, sondern einem Webhosting-Paket), ggf. auch mit kürzeren Abfragezeiten und warte ab, ob sich wer meldet ;-)

                          A Online
                          A Online
                          Ahnungsbefreit
                          schrieb am zuletzt editiert von
                          #18

                          @iobaer Auch auf die Gefahr hin, mir den Unmut von Dir und den anderen Postern in diesem Threat zuzuziehen: Warum bitte investiert ihr soviel Zeit in die Entwicklung einer eigenen Lösung, anstatt die paar Euro für iot/SimpleAPI auszugeben und damit auch das ioBroker Projekt zu unterstützen, von dem wir alle ja profitieren???

                          Wenn meine Antwort hilfreich war, dürft Ihr das gerne durch einen "Upvote" (der kleine "^" unten rechts) zum Ausdruck bringen.

                          1 Antwort Letzte Antwort
                          1
                          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

                          643

                          Online

                          32.7k

                          Benutzer

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