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. Skripten / Logik
  4. [gelöst] Datenpunkte zyklisch oder ereignisgesteuert lesen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    480

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

[gelöst] Datenpunkte zyklisch oder ereignisgesteuert lesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
53 Beiträge 10 Kommentatoren 6.2k Aufrufe 6 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.
  • H hub01

    @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

    Mal vorweg - der effektive Lastunterschied in einzelnen Fällen ist auf jeden Fall minimal. Es geht hier eher um den generellen Ansatz. Ich habe mehrfach Systeme gesehen die durch eine grössere Anzahl von Heartbeat getriebenen Einzelfunktionen plötzliche Lastspitzen hatten - immer dann wenn durch den Heartbeat alle Skripte gleichzeitig arbeiten wollten.

    das mit den Heartbeat habe ich nicht verstanden. Ist das nicht ein Problem der Adapter?
    Oder könnte z.B. ein hängender Adapter mein Skript blockieren?

    Ausgehend davon das sich der "Überschuss" häufiger als alle 15 Sekunden ändert:

    • vorheriger wert =< "Genügend Überschuss für +1 A" > "Genügend Überschuss für +1 A" => Timeout setzen, 15 s. Wenn der auslöst, Ladestrom +1A
    • aktueller Wert <= "Genügend Überschuss für +1 A" - Timeout löschen.

    Wenn der Überschuss sich geändert hat nachschauen:

    • vorheriger wert =< "Überschussgrenze für Phasenumschaltung" und aktueller Wert > "Überschussgrenze für Phasenumschaltung" => Timeout setzen, 5 min. Wenn der auslöst, Phasenumschaltung
    • aktueller Wert <= "Überschussgrenze für Phasenumschaltung" - Timeout löschen.

    Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
    Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.
    Auf der anderen Seite will ich bei Zeitverzögerungen diese auch als Fortschrittsbalken auf der Visu. sehen. (in meiner Hardcopy der Teil links oben / Schaltfreigaben)

    Beim Rest ist es oft schwierig, wenn man nicht das ganze Skript kennt.
    Deswegen eine kurze Erklärung, warum ich zyklisch programmiere, unabhängig davon, dass ich es leichter verstehe.

    Fast alle Funktionen sind vom Überschuss abhängig. Der Überschuss wird aus den 3 Energiewerten vom Energiemeter gebildet. Diese ändern sich zw. 2 und bis zu 8 Sekunden. Die 2 Sekunden sind vermutlich die Pollzeit vom Adapter oder vom Energiemeter. Ereignisgesteuert würden meine Routinen somit im 2/3 bis 8/3 Sekundentakt laufen.

    Meine zyklisches Programm teilt sich auf in:

    • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
    • alle 2 Sekunden: Überschuss ermitteln
    • alle 15 Sekunden: Routine für (langsames) Hochschalten
    • alle 5 Sekunden: Routine für (schnelles) Runterschalten

    Das Ein-/Ausschalten werde ich noch überdenken.
    Beim Rest denke ich, dass ich langsamer und ressourcenschonender bin.

    CodierknechtC Offline
    CodierknechtC Offline
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #33

    @hub01
    Ich vermute trotzdem, dass ein solches zyklisches Vorgehen mehr Last produziert als Trigger.
    Besonders die kurzen Zyklen von 0,5 bzw. 2 Sekunden.

    Ich würde auf die 3 Eingangswerte einen Trigger legen und in dessen Ereignisbehandlung mit Schwellwerten arbeiten.
    Erst bei Änderungen über dem Schwellwert erfolgt dann die weitere Verarbeitung.
    Ich nehme dazu einfach mal an, dass man Änderungen unterhalb des Schwellwertes der Einfachheit halber ignorieren kann. Wie man den jeweiligen Schwellwert dann definiert, ist Ansichtssache.

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    1 Antwort Letzte Antwort
    0
    • H hub01

      @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

      Mal vorweg - der effektive Lastunterschied in einzelnen Fällen ist auf jeden Fall minimal. Es geht hier eher um den generellen Ansatz. Ich habe mehrfach Systeme gesehen die durch eine grössere Anzahl von Heartbeat getriebenen Einzelfunktionen plötzliche Lastspitzen hatten - immer dann wenn durch den Heartbeat alle Skripte gleichzeitig arbeiten wollten.

      das mit den Heartbeat habe ich nicht verstanden. Ist das nicht ein Problem der Adapter?
      Oder könnte z.B. ein hängender Adapter mein Skript blockieren?

      Ausgehend davon das sich der "Überschuss" häufiger als alle 15 Sekunden ändert:

      • vorheriger wert =< "Genügend Überschuss für +1 A" > "Genügend Überschuss für +1 A" => Timeout setzen, 15 s. Wenn der auslöst, Ladestrom +1A
      • aktueller Wert <= "Genügend Überschuss für +1 A" - Timeout löschen.

      Wenn der Überschuss sich geändert hat nachschauen:

      • vorheriger wert =< "Überschussgrenze für Phasenumschaltung" und aktueller Wert > "Überschussgrenze für Phasenumschaltung" => Timeout setzen, 5 min. Wenn der auslöst, Phasenumschaltung
      • aktueller Wert <= "Überschussgrenze für Phasenumschaltung" - Timeout löschen.

      Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
      Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.
      Auf der anderen Seite will ich bei Zeitverzögerungen diese auch als Fortschrittsbalken auf der Visu. sehen. (in meiner Hardcopy der Teil links oben / Schaltfreigaben)

      Beim Rest ist es oft schwierig, wenn man nicht das ganze Skript kennt.
      Deswegen eine kurze Erklärung, warum ich zyklisch programmiere, unabhängig davon, dass ich es leichter verstehe.

      Fast alle Funktionen sind vom Überschuss abhängig. Der Überschuss wird aus den 3 Energiewerten vom Energiemeter gebildet. Diese ändern sich zw. 2 und bis zu 8 Sekunden. Die 2 Sekunden sind vermutlich die Pollzeit vom Adapter oder vom Energiemeter. Ereignisgesteuert würden meine Routinen somit im 2/3 bis 8/3 Sekundentakt laufen.

      Meine zyklisches Programm teilt sich auf in:

      • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
      • alle 2 Sekunden: Überschuss ermitteln
      • alle 15 Sekunden: Routine für (langsames) Hochschalten
      • alle 5 Sekunden: Routine für (schnelles) Runterschalten

      Das Ein-/Ausschalten werde ich noch überdenken.
      Beim Rest denke ich, dass ich langsamer und ressourcenschonender bin.

      B Offline
      B Offline
      Blockmove
      schrieb am zuletzt editiert von
      #34

      @hub01 said in Datenpunkte zyklisch oder ereignisgesteuert lesen:

      Meine zyklisches Programm teilt sich auf in:

      • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
      • alle 2 Sekunden: Überschuss ermitteln
      • alle 15 Sekunden: Routine für (langsames) Hochschalten
      • alle 5 Sekunden: Routine für (schnelles) Runterschalten

      Ich hab einen Schedule mit 0,5s
      Darin habe ich eine Variable als "Taktzähler".
      Abhängig vom diesem Taktzähler rufe ich dann meine Funktionen auf.

      The difference beetween Man and Boys:
      The price of their toys 😀

      1 Antwort Letzte Antwort
      0
      • H hub01

        @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

        Mal vorweg - der effektive Lastunterschied in einzelnen Fällen ist auf jeden Fall minimal. Es geht hier eher um den generellen Ansatz. Ich habe mehrfach Systeme gesehen die durch eine grössere Anzahl von Heartbeat getriebenen Einzelfunktionen plötzliche Lastspitzen hatten - immer dann wenn durch den Heartbeat alle Skripte gleichzeitig arbeiten wollten.

        das mit den Heartbeat habe ich nicht verstanden. Ist das nicht ein Problem der Adapter?
        Oder könnte z.B. ein hängender Adapter mein Skript blockieren?

        Ausgehend davon das sich der "Überschuss" häufiger als alle 15 Sekunden ändert:

        • vorheriger wert =< "Genügend Überschuss für +1 A" > "Genügend Überschuss für +1 A" => Timeout setzen, 15 s. Wenn der auslöst, Ladestrom +1A
        • aktueller Wert <= "Genügend Überschuss für +1 A" - Timeout löschen.

        Wenn der Überschuss sich geändert hat nachschauen:

        • vorheriger wert =< "Überschussgrenze für Phasenumschaltung" und aktueller Wert > "Überschussgrenze für Phasenumschaltung" => Timeout setzen, 5 min. Wenn der auslöst, Phasenumschaltung
        • aktueller Wert <= "Überschussgrenze für Phasenumschaltung" - Timeout löschen.

        Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
        Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.
        Auf der anderen Seite will ich bei Zeitverzögerungen diese auch als Fortschrittsbalken auf der Visu. sehen. (in meiner Hardcopy der Teil links oben / Schaltfreigaben)

        Beim Rest ist es oft schwierig, wenn man nicht das ganze Skript kennt.
        Deswegen eine kurze Erklärung, warum ich zyklisch programmiere, unabhängig davon, dass ich es leichter verstehe.

        Fast alle Funktionen sind vom Überschuss abhängig. Der Überschuss wird aus den 3 Energiewerten vom Energiemeter gebildet. Diese ändern sich zw. 2 und bis zu 8 Sekunden. Die 2 Sekunden sind vermutlich die Pollzeit vom Adapter oder vom Energiemeter. Ereignisgesteuert würden meine Routinen somit im 2/3 bis 8/3 Sekundentakt laufen.

        Meine zyklisches Programm teilt sich auf in:

        • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
        • alle 2 Sekunden: Überschuss ermitteln
        • alle 15 Sekunden: Routine für (langsames) Hochschalten
        • alle 5 Sekunden: Routine für (schnelles) Runterschalten

        Das Ein-/Ausschalten werde ich noch überdenken.
        Beim Rest denke ich, dass ich langsamer und ressourcenschonender bin.

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        schrieb am zuletzt editiert von
        #35

        @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

        das mit den Heartbeat habe ich nicht verstanden. Ist das nicht ein Problem der Adapter?
        Oder könnte z.B. ein hängender Adapter mein Skript blockieren?

        Kein, es geht da eher darum das mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen. In dem von Dir vorgegebenen Beispiel tritt dieser Peak alle 30 Sekunden auf, da da alle Zeitpläne aktiv werden. Natürlich haben auch Adapter die alle x Sekunden etwas tun ihren Anteil daran. An dem kann der Anwender aber selten etwas ändern.

        Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
        Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

        Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

        Auf der anderen Seite will ich bei Zeitverzögerungen diese auch als Fortschrittsbalken auf der Visu. sehen. (in meiner Hardcopy der Teil links oben / Schaltfreigaben)

        Dies liesse sich über ein entsprechendes Visualisierungsobjekt lösen, dem gegeben wird:

        • eine Zeit wann 100% erreicht sind
        • eine Zeit die als 0% anzusehen ist
        • ein "Aktiv" oder "inaktiv"

        Aus diesen 3 Parametern kann der Web-Server oder Web-Client jederzeit die korrekte Anzeige erzeugen (läuft dann im Browser)
        Die Zielzeit würde dann im Trigger beim Start des Timeouts mit gesetzt, und die Visualisierung ist auf Stand.

        Beim Rest ist es oft schwierig, wenn man nicht das ganze Skript kennt.
        Deswegen eine kurze Erklärung, warum ich zyklisch programmiere, unabhängig davon, dass ich es leichter verstehe.

        Fast alle Funktionen sind vom Überschuss abhängig. Der Überschuss wird aus den 3 Energiewerten vom Energiemeter gebildet. Diese ändern sich zw. 2 und bis zu 8 Sekunden. Die 2 Sekunden sind vermutlich die Pollzeit vom Adapter oder vom Energiemeter. Ereignisgesteuert würden meine Routinen somit im 2/3 bis 8/3 Sekundentakt laufen.

        Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

        Meine zyklisches Programm teilt sich auf in:

        • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
        • alle 2 Sekunden: Überschuss ermitteln
        • alle 15 Sekunden: Routine für (langsames) Hochschalten
        • alle 5 Sekunden: Routine für (schnelles) Runterschalten

        Das Ein-/Ausschalten werde ich noch überdenken.
        Beim Rest denke ich, dass ich langsamer und ressourcenschonender bin.

        Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        H 1 Antwort Letzte Antwort
        0
        • H hub01

          @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

          Mal vorweg - der effektive Lastunterschied in einzelnen Fällen ist auf jeden Fall minimal. Es geht hier eher um den generellen Ansatz. Ich habe mehrfach Systeme gesehen die durch eine grössere Anzahl von Heartbeat getriebenen Einzelfunktionen plötzliche Lastspitzen hatten - immer dann wenn durch den Heartbeat alle Skripte gleichzeitig arbeiten wollten.

          das mit den Heartbeat habe ich nicht verstanden. Ist das nicht ein Problem der Adapter?
          Oder könnte z.B. ein hängender Adapter mein Skript blockieren?

          Ausgehend davon das sich der "Überschuss" häufiger als alle 15 Sekunden ändert:

          • vorheriger wert =< "Genügend Überschuss für +1 A" > "Genügend Überschuss für +1 A" => Timeout setzen, 15 s. Wenn der auslöst, Ladestrom +1A
          • aktueller Wert <= "Genügend Überschuss für +1 A" - Timeout löschen.

          Wenn der Überschuss sich geändert hat nachschauen:

          • vorheriger wert =< "Überschussgrenze für Phasenumschaltung" und aktueller Wert > "Überschussgrenze für Phasenumschaltung" => Timeout setzen, 5 min. Wenn der auslöst, Phasenumschaltung
          • aktueller Wert <= "Überschussgrenze für Phasenumschaltung" - Timeout löschen.

          Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
          Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.
          Auf der anderen Seite will ich bei Zeitverzögerungen diese auch als Fortschrittsbalken auf der Visu. sehen. (in meiner Hardcopy der Teil links oben / Schaltfreigaben)

          Beim Rest ist es oft schwierig, wenn man nicht das ganze Skript kennt.
          Deswegen eine kurze Erklärung, warum ich zyklisch programmiere, unabhängig davon, dass ich es leichter verstehe.

          Fast alle Funktionen sind vom Überschuss abhängig. Der Überschuss wird aus den 3 Energiewerten vom Energiemeter gebildet. Diese ändern sich zw. 2 und bis zu 8 Sekunden. Die 2 Sekunden sind vermutlich die Pollzeit vom Adapter oder vom Energiemeter. Ereignisgesteuert würden meine Routinen somit im 2/3 bis 8/3 Sekundentakt laufen.

          Meine zyklisches Programm teilt sich auf in:

          • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
          • alle 2 Sekunden: Überschuss ermitteln
          • alle 15 Sekunden: Routine für (langsames) Hochschalten
          • alle 5 Sekunden: Routine für (schnelles) Runterschalten

          Das Ein-/Ausschalten werde ich noch überdenken.
          Beim Rest denke ich, dass ich langsamer und ressourcenschonender bin.

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #36

          @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

          wie ein hochmodernes System soweit danebenliegen/abweichen kann.

          ich vermute, dass die Timeouts dann nicht alle richtig gestoppt wurden und mehrfach liefen.

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • AsgothianA Asgothian

            @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

            das mit den Heartbeat habe ich nicht verstanden. Ist das nicht ein Problem der Adapter?
            Oder könnte z.B. ein hängender Adapter mein Skript blockieren?

            Kein, es geht da eher darum das mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen. In dem von Dir vorgegebenen Beispiel tritt dieser Peak alle 30 Sekunden auf, da da alle Zeitpläne aktiv werden. Natürlich haben auch Adapter die alle x Sekunden etwas tun ihren Anteil daran. An dem kann der Anwender aber selten etwas ändern.

            Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
            Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

            Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

            Auf der anderen Seite will ich bei Zeitverzögerungen diese auch als Fortschrittsbalken auf der Visu. sehen. (in meiner Hardcopy der Teil links oben / Schaltfreigaben)

            Dies liesse sich über ein entsprechendes Visualisierungsobjekt lösen, dem gegeben wird:

            • eine Zeit wann 100% erreicht sind
            • eine Zeit die als 0% anzusehen ist
            • ein "Aktiv" oder "inaktiv"

            Aus diesen 3 Parametern kann der Web-Server oder Web-Client jederzeit die korrekte Anzeige erzeugen (läuft dann im Browser)
            Die Zielzeit würde dann im Trigger beim Start des Timeouts mit gesetzt, und die Visualisierung ist auf Stand.

            Beim Rest ist es oft schwierig, wenn man nicht das ganze Skript kennt.
            Deswegen eine kurze Erklärung, warum ich zyklisch programmiere, unabhängig davon, dass ich es leichter verstehe.

            Fast alle Funktionen sind vom Überschuss abhängig. Der Überschuss wird aus den 3 Energiewerten vom Energiemeter gebildet. Diese ändern sich zw. 2 und bis zu 8 Sekunden. Die 2 Sekunden sind vermutlich die Pollzeit vom Adapter oder vom Energiemeter. Ereignisgesteuert würden meine Routinen somit im 2/3 bis 8/3 Sekundentakt laufen.

            Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

            Meine zyklisches Programm teilt sich auf in:

            • alle 0,5 Sekunden: Ein-/Ausschalten, Steuersignale und Zeitsignale bilden
            • alle 2 Sekunden: Überschuss ermitteln
            • alle 15 Sekunden: Routine für (langsames) Hochschalten
            • alle 5 Sekunden: Routine für (schnelles) Runterschalten

            Das Ein-/Ausschalten werde ich noch überdenken.
            Beim Rest denke ich, dass ich langsamer und ressourcenschonender bin.

            Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

            A.

            H Offline
            H Offline
            hub01
            schrieb am zuletzt editiert von
            #37

            @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

            @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

            Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
            Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

            Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

            Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.
            Eigentlich nicht weiter schlimm (solange sie sich nicht aufaddieren).
            Meine ersten Versuche mit Timeout waren da gravierender, war aber unter Linux/Debian, bevor ich auf Windows umgestellt hatte.

            Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

            Genau das macht ja mein zyklisches Programm auch. Fast jede Aktion hängt an einer oder mehreren Wenn/Dann-Funktion.

            Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

            Ja, die ms der Systemzeit nutze ich für meine Zeiten.
            Warum ich aber 500ms nutze, hab ich oben schon mal geschrieben.

            • um Rückmeldungen auf der Visu. zeitnah zu sehen
            • um in Trendanzeigen zeitfolgerichtige Kurven zu bekommen
            • um Verzögerungszeiten feiner auflösen zu können
            HomoranH AsgothianA 2 Antworten Letzte Antwort
            0
            • H hub01

              @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

              @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

              Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
              Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

              Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

              Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.
              Eigentlich nicht weiter schlimm (solange sie sich nicht aufaddieren).
              Meine ersten Versuche mit Timeout waren da gravierender, war aber unter Linux/Debian, bevor ich auf Windows umgestellt hatte.

              Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

              Genau das macht ja mein zyklisches Programm auch. Fast jede Aktion hängt an einer oder mehreren Wenn/Dann-Funktion.

              Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

              Ja, die ms der Systemzeit nutze ich für meine Zeiten.
              Warum ich aber 500ms nutze, hab ich oben schon mal geschrieben.

              • um Rückmeldungen auf der Visu. zeitnah zu sehen
              • um in Trendanzeigen zeitfolgerichtige Kurven zu bekommen
              • um Verzögerungszeiten feiner auflösen zu können
              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #38

              @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

              Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.

              Das ist jetzt wirklich nicht

              @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

              soweit danebenliegen /abweichen kann

              Das dürfte, wenn überhaupt, deiner Hardware geschuldet sein, wenn

              @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

              mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              H 1 Antwort Letzte Antwort
              0
              • H hub01

                @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
                Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

                Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

                Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.
                Eigentlich nicht weiter schlimm (solange sie sich nicht aufaddieren).
                Meine ersten Versuche mit Timeout waren da gravierender, war aber unter Linux/Debian, bevor ich auf Windows umgestellt hatte.

                Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

                Genau das macht ja mein zyklisches Programm auch. Fast jede Aktion hängt an einer oder mehreren Wenn/Dann-Funktion.

                Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

                Ja, die ms der Systemzeit nutze ich für meine Zeiten.
                Warum ich aber 500ms nutze, hab ich oben schon mal geschrieben.

                • um Rückmeldungen auf der Visu. zeitnah zu sehen
                • um in Trendanzeigen zeitfolgerichtige Kurven zu bekommen
                • um Verzögerungszeiten feiner auflösen zu können
                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                schrieb am zuletzt editiert von
                #39

                @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
                Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

                Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

                Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.
                Eigentlich nicht weiter schlimm (solange sie sich nicht aufaddieren).
                Meine ersten Versuche mit Timeout waren da gravierender, war aber unter Linux/Debian, bevor ich auf Windows umgestellt hatte.

                Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

                Genau das macht ja mein zyklisches Programm auch. Fast jede Aktion hängt an einer oder mehreren Wenn/Dann-Funktion.

                Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

                Ja, die ms der Systemzeit nutze ich für meine Zeiten.
                Warum ich aber 500ms nutze, hab ich oben schon mal geschrieben.

                • um Rückmeldungen auf der Visu. zeitnah zu sehen
                • um in Trendanzeigen zeitfolgerichtige Kurven zu bekommen
                • um Verzögerungszeiten feiner auflösen zu können

                Ich denke die Diskussion zwischen uns kann hier beendet werden. Du bist davon überzeugt das der Weg den Du gehst der beste ist. Ich bin davon überzeugt das dem nicht so ist.

                Belassen wir es dabei.

                A.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                H 1 Antwort Letzte Antwort
                4
                • AsgothianA Asgothian

                  @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                  @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                  @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                  Deine vorgeschlagenen Lösungen habe ich soweit verstanden, aber Timeouts waren das erste, was ich aus meinen Skripten verbannt habe.
                  Für mich völlig unverständlich, wie ein hochmodernes System soweit danebenliegen/abweichen kann.

                  Diesen Punkt müsstest du mal genauer erklären. Ich sehe nicht was ein Timeout mit "daneben liegen" und "abweichen" zu tun hat.

                  Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.
                  Eigentlich nicht weiter schlimm (solange sie sich nicht aufaddieren).
                  Meine ersten Versuche mit Timeout waren da gravierender, war aber unter Linux/Debian, bevor ich auf Windows umgestellt hatte.

                  Prinzipiell ja, wobei auch da bei geschickter Umsetzung regelmässig ganz wenig passiert (geänderten Wert in eine Variable holen, eine Bedingung prüfen und nur wenn die Bedingung zutrifft eine Aktion auslösen)

                  Genau das macht ja mein zyklisches Programm auch. Fast jede Aktion hängt an einer oder mehreren Wenn/Dann-Funktion.

                  Ich denke die 0,5 Sekunden kannst Du dir sparen, da die eigentlichen Aktionen sowieso maximal im 5 Sekunden Raster laufen. Schneller muss da nichts laufen, und Zeitsignale musst du eigentlich nicht bilden - du hast direkt zugriff auf die in ms laufende Systemzeit.

                  Ja, die ms der Systemzeit nutze ich für meine Zeiten.
                  Warum ich aber 500ms nutze, hab ich oben schon mal geschrieben.

                  • um Rückmeldungen auf der Visu. zeitnah zu sehen
                  • um in Trendanzeigen zeitfolgerichtige Kurven zu bekommen
                  • um Verzögerungszeiten feiner auflösen zu können

                  Ich denke die Diskussion zwischen uns kann hier beendet werden. Du bist davon überzeugt das der Weg den Du gehst der beste ist. Ich bin davon überzeugt das dem nicht so ist.

                  Belassen wir es dabei.

                  A.

                  H Offline
                  H Offline
                  hub01
                  schrieb am zuletzt editiert von
                  #40

                  @asgothian
                  :+1:
                  ich werde deine Anregungen/Empfehlungen nicht gänzlich unbeachtet lassen. Einiges bei den 500ms werde ich sicher noch ändern. Danke dir

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.

                    Das ist jetzt wirklich nicht

                    @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    soweit danebenliegen /abweichen kann

                    Das dürfte, wenn überhaupt, deiner Hardware geschuldet sein, wenn

                    @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen

                    H Offline
                    H Offline
                    hub01
                    schrieb am zuletzt editiert von
                    #41

                    @homoran sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.

                    Das ist jetzt wirklich nicht

                    @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    soweit danebenliegen /abweichen kann

                    Für den Einen nicht, für den Anderen schon …
                    Aber ich versteh dich, für meinen Anwendungsfall eher nicht ausschlaggebend.
                    Es ist halt für mich nur nicht begreiflich (egal wo das herkommt), zumal die Systemzeit im Millisekundenbereich ohne Probleme funktioniert. Als SPS-Programmierer kenne ich so was nicht.

                    Das dürfte, wenn überhaupt, deiner Hardware geschuldet sein, wenn

                    @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                    mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen

                    Und auch das versteh ich nicht.
                    Mein Skript mit über 400 Zeilen benötigt zw. 2-4ms ohne Ausreißer.
                    Und eine einzelne Zeitfunktion liegt bis 100ms daneben?
                    Das sind sicherlich nicht meine gleichzeitig laufenden Zeitpläne.

                    CodierknechtC HomoranH 2 Antworten Letzte Antwort
                    0
                    • H hub01

                      @homoran sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                      @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                      Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.

                      Das ist jetzt wirklich nicht

                      @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                      soweit danebenliegen /abweichen kann

                      Für den Einen nicht, für den Anderen schon …
                      Aber ich versteh dich, für meinen Anwendungsfall eher nicht ausschlaggebend.
                      Es ist halt für mich nur nicht begreiflich (egal wo das herkommt), zumal die Systemzeit im Millisekundenbereich ohne Probleme funktioniert. Als SPS-Programmierer kenne ich so was nicht.

                      Das dürfte, wenn überhaupt, deiner Hardware geschuldet sein, wenn

                      @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                      mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen

                      Und auch das versteh ich nicht.
                      Mein Skript mit über 400 Zeilen benötigt zw. 2-4ms ohne Ausreißer.
                      Und eine einzelne Zeitfunktion liegt bis 100ms daneben?
                      Das sind sicherlich nicht meine gleichzeitig laufenden Zeitpläne.

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #42

                      @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                      Als SPS-Programmierer ...

                      Lös' Dich davon.
                      SPS ist etwas völlig anderes*. Ich glaube, daher kommt auch Dein Festhalten an zyklischen Dingen.

                      *Wobei ich natürlich zugeben muss, dass meine Erfahrungen mit SPS schon einige Jahrzehnte alt sind ...

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      1 Antwort Letzte Antwort
                      0
                      • H hub01

                        @homoran sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                        @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                        Habe eben ein Testprogramm mit Timeouts erstellt. Aktuelle Abweichung zw. 10 und 30ms, ab und zu ein Ausreißer bis 90ms.

                        Das ist jetzt wirklich nicht

                        @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                        soweit danebenliegen /abweichen kann

                        Für den Einen nicht, für den Anderen schon …
                        Aber ich versteh dich, für meinen Anwendungsfall eher nicht ausschlaggebend.
                        Es ist halt für mich nur nicht begreiflich (egal wo das herkommt), zumal die Systemzeit im Millisekundenbereich ohne Probleme funktioniert. Als SPS-Programmierer kenne ich so was nicht.

                        Das dürfte, wenn überhaupt, deiner Hardware geschuldet sein, wenn

                        @asgothian sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                        mehrere Zeitpläne gleichzeitig ihre Aktion durchführen wollen

                        Und auch das versteh ich nicht.
                        Mein Skript mit über 400 Zeilen benötigt zw. 2-4ms ohne Ausreißer.
                        Und eine einzelne Zeitfunktion liegt bis 100ms daneben?
                        Das sind sicherlich nicht meine gleichzeitig laufenden Zeitpläne.

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #43

                        @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                        Als SPS-Programmierer kenne ich so was nicht.

                        das ist was ganz anderes.
                        Auch ein Arduino würde "genauer" arbeiten.

                        Wir reden bei ioBroker von umfangreichem SmartHome, nicht von begrenzter Prozesssteuerung

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        B 1 Antwort Letzte Antwort
                        0
                        • ACHIM BAECKERA Offline
                          ACHIM BAECKERA Offline
                          ACHIM BAECKER
                          schrieb am zuletzt editiert von
                          #44

                          Wie schon gesagt, für jede Aufgabe gibt es unterschiedliche Werkzeuge...
                          Man sollte aber auch darüber nachdenken, ob man alles so schnell wie irgend möglich braucht, bzw. was es einem bringt...
                          Gehen wir davon aus das wir gerade mit "Solar-Stromüberschuss" 1800W/h die Batterie laden und schlagartig fällt die Sonne aus....
                          Wenn wir hier erst nach 1s abfragen und die Ladeleistung runter setzen dann haben wir 0,5W aus dem Netz ziehen müssen.... bei 0,5s wären es nur 0,25W
                          Also für mich wäre da ein Zyklus von >= 5s mehr als ausreichend ( wären dann 2,5W)

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                            Als SPS-Programmierer kenne ich so was nicht.

                            das ist was ganz anderes.
                            Auch ein Arduino würde "genauer" arbeiten.

                            Wir reden bei ioBroker von umfangreichem SmartHome, nicht von begrenzter Prozesssteuerung

                            B Offline
                            B Offline
                            Blockmove
                            schrieb am zuletzt editiert von
                            #45

                            @homoran said in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                            @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                            Als SPS-Programmierer kenne ich so was nicht.

                            das ist was ganz anderes.
                            Auch ein Arduino würde "genauer" arbeiten.

                            Wir reden bei ioBroker von umfangreichem SmartHome, nicht von begrenzter Prozesssteuerung

                            Begrenzte Prozesssteuerung ... Der war gut :joy:
                            Mein aktuelles SPS-Projekt umfasst etwas mehr als 1000 Sensoren / Aktoren.
                            Die Visualisierung über 2500 Variablen.
                            Der Schaltschrank für die Maschine ist 4,8m lang und 2m hoch.
                            Hardwarekosten rund 70.000€

                            The difference beetween Man and Boys:
                            The price of their toys 😀

                            ACHIM BAECKERA 1 Antwort Letzte Antwort
                            1
                            • B Blockmove

                              @homoran said in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                              @hub01 sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                              Als SPS-Programmierer kenne ich so was nicht.

                              das ist was ganz anderes.
                              Auch ein Arduino würde "genauer" arbeiten.

                              Wir reden bei ioBroker von umfangreichem SmartHome, nicht von begrenzter Prozesssteuerung

                              Begrenzte Prozesssteuerung ... Der war gut :joy:
                              Mein aktuelles SPS-Projekt umfasst etwas mehr als 1000 Sensoren / Aktoren.
                              Die Visualisierung über 2500 Variablen.
                              Der Schaltschrank für die Maschine ist 4,8m lang und 2m hoch.
                              Hardwarekosten rund 70.000€

                              ACHIM BAECKERA Offline
                              ACHIM BAECKERA Offline
                              ACHIM BAECKER
                              schrieb am zuletzt editiert von
                              #46

                              @blockmove
                              Denke "Begrenzte Prozesssteuerung" war eher bezogen auf die SPS. In dieser ist ein sehr überschaubarer Befehls-/Funktionsvorrat der, bis auf einen (freilaufend), in festen Zyklen (Zeit) oder Ereignis gesteuert ausgeführt wird.
                              Gerade bei größeren Anlagen wird die Visualisierung dann über/auf separaten PCs erstellt. Auch das Loggen von Daten oder Ereignissen erfolgt extern.
                              Denke wenn Du versuchen würdest die obige Abfragen, Steuerung + Visualisierung in einer SPS unter zu bringen, kommst Du schnell an diese Grenzen. ( vom Preis mal gar nicht geredet) Wenn die Abfrage dann passt, Berechnungen stimmen, ist immer noch keine Visualisierung da...

                              Da sind wir wieder bei den richtigen Werkzeugen....
                              Automatisierung von Industrieanlagen würde ich nie mit ioBroker machen, Teile davon über ioBroker zu Visualisieren oder auch bedienen schon (über S7-Adapter)

                              Im privaten Umfeld schaut des schon wieder anders aus...

                              B 1 Antwort Letzte Antwort
                              1
                              • ACHIM BAECKERA ACHIM BAECKER

                                @blockmove
                                Denke "Begrenzte Prozesssteuerung" war eher bezogen auf die SPS. In dieser ist ein sehr überschaubarer Befehls-/Funktionsvorrat der, bis auf einen (freilaufend), in festen Zyklen (Zeit) oder Ereignis gesteuert ausgeführt wird.
                                Gerade bei größeren Anlagen wird die Visualisierung dann über/auf separaten PCs erstellt. Auch das Loggen von Daten oder Ereignissen erfolgt extern.
                                Denke wenn Du versuchen würdest die obige Abfragen, Steuerung + Visualisierung in einer SPS unter zu bringen, kommst Du schnell an diese Grenzen. ( vom Preis mal gar nicht geredet) Wenn die Abfrage dann passt, Berechnungen stimmen, ist immer noch keine Visualisierung da...

                                Da sind wir wieder bei den richtigen Werkzeugen....
                                Automatisierung von Industrieanlagen würde ich nie mit ioBroker machen, Teile davon über ioBroker zu Visualisieren oder auch bedienen schon (über S7-Adapter)

                                Im privaten Umfeld schaut des schon wieder anders aus...

                                B Offline
                                B Offline
                                Blockmove
                                schrieb am zuletzt editiert von
                                #47

                                @achim-baecker said in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                @blockmove
                                Denke "Begrenzte Prozesssteuerung" war eher bezogen auf die SPS. In dieser ist ein sehr überschaubarer Befehls-/Funktionsvorrat der, bis auf einen (freilaufend), in festen Zyklen (Zeit) oder Ereignis gesteuert ausgeführt wird.
                                Gerade bei größeren Anlagen wird die Visualisierung dann über/auf separaten PCs erstellt. Auch das Loggen von Daten oder Ereignissen erfolgt extern.
                                Denke wenn Du versuchen würdest die obige Abfragen, Steuerung + Visualisierung in einer SPS unter zu bringen, kommst Du schnell an diese Grenzen. ( vom Preis mal gar nicht geredet) Wenn die Abfrage dann passt, Berechnungen stimmen, ist immer noch keine Visualisierung da...

                                Da sind wir wieder bei den richtigen Werkzeugen....
                                Automatisierung von Industrieanlagen würde ich nie mit ioBroker machen, Teile davon über ioBroker zu Visualisieren oder auch bedienen schon (über S7-Adapter)

                                Im privaten Umfeld schaut des schon wieder anders aus...

                                Auch SPS-Steuerungen entwickeln sich weiter :grinning:
                                Von der Zuverlässigkeit und Stabilität hätte ich auch wenig Bedenken ioBroker im gewerblichen / industriellen Umfeld einzusetzen.
                                Allerdings 2500 Variablen im S7-Adapter anzulegen ... Naja.
                                Irgendwie fehlt da noch ein OPC UA Adapter

                                The difference beetween Man and Boys:
                                The price of their toys 😀

                                ACHIM BAECKERA 1 Antwort Letzte Antwort
                                0
                                • ACHIM BAECKERA ACHIM BAECKER

                                  Wie schon gesagt, für jede Aufgabe gibt es unterschiedliche Werkzeuge...
                                  Man sollte aber auch darüber nachdenken, ob man alles so schnell wie irgend möglich braucht, bzw. was es einem bringt...
                                  Gehen wir davon aus das wir gerade mit "Solar-Stromüberschuss" 1800W/h die Batterie laden und schlagartig fällt die Sonne aus....
                                  Wenn wir hier erst nach 1s abfragen und die Ladeleistung runter setzen dann haben wir 0,5W aus dem Netz ziehen müssen.... bei 0,5s wären es nur 0,25W
                                  Also für mich wäre da ein Zyklus von >= 5s mehr als ausreichend ( wären dann 2,5W)

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #48

                                  @achim-baecker oops - Steilvorlage!? :grin:

                                  @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                  für jede Aufgabe gibt es unterschiedliche Werkzeuge...

                                  so ist es!

                                  so wie es für alles entsprechende Einheiten gibt

                                  @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                  Solar-Stromüberschuss" 1800W/h

                                  :thinking_face: die kenne ich nicht! Wohl eher W

                                  @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                  dann haben wir 0,5W aus dem Netz ziehen müssen.

                                  das wäre dann die Arbeit in Wh, was wiederum die Dimension der Aktion verdeutlicht! Der Arbeitspteis wird in 1000Wh = kWh gerechnet, ist dieser Mehrbezug von

                                  @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                  bei 0,5s wären es nur 0,25W

                                  ...Wh gerade mal 1/4000 des Arbeitspreises. bei der Einfachheit 40ct / kWh ist das 1/100 ct!
                                  Womit wir mit

                                  @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                  ein Zyklus von >= 5s mehr als ausreichend ( wären dann 2,5W)

                                  bis auf die Einheit :smile: wieder einer Meinung sind.

                                  @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                  Denke "Begrenzte Prozesssteuerung" war eher bezogen auf die SPS. In dieser ist ein sehr überschaubarer Befehls-/Funktionsvorrat der, bis auf einen (freilaufend), in festen Zyklen (Zeit) oder Ereignis gesteuert ausgeführt wird.

                                  Danke!
                                  genauso war es gemeint.

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  H 1 Antwort Letzte Antwort
                                  0
                                  • HomoranH Homoran

                                    @achim-baecker oops - Steilvorlage!? :grin:

                                    @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                    für jede Aufgabe gibt es unterschiedliche Werkzeuge...

                                    so ist es!

                                    so wie es für alles entsprechende Einheiten gibt

                                    @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                    Solar-Stromüberschuss" 1800W/h

                                    :thinking_face: die kenne ich nicht! Wohl eher W

                                    @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                    dann haben wir 0,5W aus dem Netz ziehen müssen.

                                    das wäre dann die Arbeit in Wh, was wiederum die Dimension der Aktion verdeutlicht! Der Arbeitspteis wird in 1000Wh = kWh gerechnet, ist dieser Mehrbezug von

                                    @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                    bei 0,5s wären es nur 0,25W

                                    ...Wh gerade mal 1/4000 des Arbeitspreises. bei der Einfachheit 40ct / kWh ist das 1/100 ct!
                                    Womit wir mit

                                    @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                    ein Zyklus von >= 5s mehr als ausreichend ( wären dann 2,5W)

                                    bis auf die Einheit :smile: wieder einer Meinung sind.

                                    @achim-baecker sagte in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                    Denke "Begrenzte Prozesssteuerung" war eher bezogen auf die SPS. In dieser ist ein sehr überschaubarer Befehls-/Funktionsvorrat der, bis auf einen (freilaufend), in festen Zyklen (Zeit) oder Ereignis gesteuert ausgeführt wird.

                                    Danke!
                                    genauso war es gemeint.

                                    H Offline
                                    H Offline
                                    hub01
                                    schrieb am zuletzt editiert von
                                    #49

                                    Auch wenn ich viel dagegenrede, lass ich mir die ganzen Kommentare schon durch den Kopf gehen und versuch, das Beste rauszuholen.
                                    Das Lesen der Datenpunkte (das eigentliche Problem) ist schon umgestellt. Bedienungen von der Visu stell ich noch um. Speziell die 500ms Routinen überdenke ich nochmal. Beim Rest sehe ich erst mal nicht das große Problem.
                                    Am Ende muss ich mit dem, was ich da programmiere, zurechtkommen und auch in einem Jahr noch verstehen.
                                    Dies ist mein erstes Skript in dieser Art (Webprogrammierung, Javascript).

                                    Ich denke, dass jeder soweit seinen Standpunkt eingebracht hat.
                                    Ich bedanke mich bei Allen für die rege Diskussion und würde hiermit das Thema abschließen.

                                    H CodierknechtC 2 Antworten Letzte Antwort
                                    0
                                    • H hub01

                                      Auch wenn ich viel dagegenrede, lass ich mir die ganzen Kommentare schon durch den Kopf gehen und versuch, das Beste rauszuholen.
                                      Das Lesen der Datenpunkte (das eigentliche Problem) ist schon umgestellt. Bedienungen von der Visu stell ich noch um. Speziell die 500ms Routinen überdenke ich nochmal. Beim Rest sehe ich erst mal nicht das große Problem.
                                      Am Ende muss ich mit dem, was ich da programmiere, zurechtkommen und auch in einem Jahr noch verstehen.
                                      Dies ist mein erstes Skript in dieser Art (Webprogrammierung, Javascript).

                                      Ich denke, dass jeder soweit seinen Standpunkt eingebracht hat.
                                      Ich bedanke mich bei Allen für die rege Diskussion und würde hiermit das Thema abschließen.

                                      H Offline
                                      H Offline
                                      hub01
                                      schrieb am zuletzt editiert von
                                      #50

                                      Muss man den Thread irgendwo als abgeschlossen markieren?

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • H hub01

                                        Muss man den Thread irgendwo als abgeschlossen markieren?

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #51

                                        @hub01 sagte: Muss man den Thread irgendwo als abgeschlossen markieren?

                                        Nein, der Ersteller kann das Thema in der Überschrift des ersten Beitrags als [erledigt] markieren.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Blockmove

                                          @achim-baecker said in Datenpunkte zyklisch oder ereignisgesteuert lesen:

                                          @blockmove
                                          Denke "Begrenzte Prozesssteuerung" war eher bezogen auf die SPS. In dieser ist ein sehr überschaubarer Befehls-/Funktionsvorrat der, bis auf einen (freilaufend), in festen Zyklen (Zeit) oder Ereignis gesteuert ausgeführt wird.
                                          Gerade bei größeren Anlagen wird die Visualisierung dann über/auf separaten PCs erstellt. Auch das Loggen von Daten oder Ereignissen erfolgt extern.
                                          Denke wenn Du versuchen würdest die obige Abfragen, Steuerung + Visualisierung in einer SPS unter zu bringen, kommst Du schnell an diese Grenzen. ( vom Preis mal gar nicht geredet) Wenn die Abfrage dann passt, Berechnungen stimmen, ist immer noch keine Visualisierung da...

                                          Da sind wir wieder bei den richtigen Werkzeugen....
                                          Automatisierung von Industrieanlagen würde ich nie mit ioBroker machen, Teile davon über ioBroker zu Visualisieren oder auch bedienen schon (über S7-Adapter)

                                          Im privaten Umfeld schaut des schon wieder anders aus...

                                          Auch SPS-Steuerungen entwickeln sich weiter :grinning:
                                          Von der Zuverlässigkeit und Stabilität hätte ich auch wenig Bedenken ioBroker im gewerblichen / industriellen Umfeld einzusetzen.
                                          Allerdings 2500 Variablen im S7-Adapter anzulegen ... Naja.
                                          Irgendwie fehlt da noch ein OPC UA Adapter

                                          ACHIM BAECKERA Offline
                                          ACHIM BAECKERA Offline
                                          ACHIM BAECKER
                                          schrieb am zuletzt editiert von
                                          #52

                                          @blockmove
                                          ich habe in einer Firma auch ca. 300 Werte von 7 SPS Steuerungen die ich im ioBroker Abfrage, aber die eigentliche Prozesssteuerung läuft ausschließlich in den SPSen.
                                          Auch z.B. in WinCC ist es ist es "Arbeit" die Werte anzulegen...
                                          OPC... stimmt... aber MQTT im iobroker ist auch nicht schlecht und wird von viel Hardware unterstützt.

                                          Wh vs. kWh...
                                          Sicher hätte ich statt 2,5Wh auch 0,0025kWh schreiben können... ;-)

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          375

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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