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. Soll-/Ist-Zustand erweitert

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    146

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

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

Soll-/Ist-Zustand erweitert

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
3 Beiträge 2 Kommentatoren 236 Aufrufe 2 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.
  • A Offline
    A Offline
    antimon
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    bei einer Lampe den Soll-/Ist-Zustand zu setzen/abzufragen ist relativ einfach... man setzt den entsprechenden Datenpunkt und ein paar ms später, erhält man das entsprechende ACK.

    Mir geht es jetzt aber um ein erweitertes Szenario, den Soll-/Ist-Zustand eines PCs beispielsweise. Hier zählt nicht nur Strom an/aus (wäre einfach), sondern ich möchte gerne den Betriebszustand als Status heranziehen. Angenommen, der PC läuft gerade (Betriebszustand = an), ich möchte ihn ausschalten. Strom abschalten ist jetzt nicht die beste Option, also braucht er einen Befehl zum Herunterfahren, dann dauert es eine gewisse Zeit und erst dann ist er aus. Sprich zwischen Soll: aus und Ist: aus vergeht eine gewisse Zeit. Genauso verhält es sich mit dem Einschalten. Nach dem WOL-Befehl vergeht eine gewisse Zeit, bis er Befehle ausführen kann.
    Wie handhabt Ihr so etwas? Theoretisch wären zwei Datenpunkte denkbar: Ein Soll-Datenpunkt und ein Ist-Datenpunkt. Mit nur ACK=true/false zu arbeiten funktioniert nicht, denn wenn man den Datenpunkt in die VIS setzt, könnte man dann hin- und herschalten, obwohl der PC gar nicht so schnell reagieren kann. Die Idee wäre dann, den Soll-Datenpunkt zu überwachen und dann mit Javascript o.ä. entsprechende Befehle zu senden, die dann z.B. Wartezeiten für das Hoch-/Runterfahren mit einbinden.
    Wie macht Ihr sowas? Ich bin doch sicher nicht der Erste, der sich über so etwas Gedanken macht, oder?

    AsgothianA 1 Antwort Letzte Antwort
    0
    • A antimon

      Hallo zusammen,

      bei einer Lampe den Soll-/Ist-Zustand zu setzen/abzufragen ist relativ einfach... man setzt den entsprechenden Datenpunkt und ein paar ms später, erhält man das entsprechende ACK.

      Mir geht es jetzt aber um ein erweitertes Szenario, den Soll-/Ist-Zustand eines PCs beispielsweise. Hier zählt nicht nur Strom an/aus (wäre einfach), sondern ich möchte gerne den Betriebszustand als Status heranziehen. Angenommen, der PC läuft gerade (Betriebszustand = an), ich möchte ihn ausschalten. Strom abschalten ist jetzt nicht die beste Option, also braucht er einen Befehl zum Herunterfahren, dann dauert es eine gewisse Zeit und erst dann ist er aus. Sprich zwischen Soll: aus und Ist: aus vergeht eine gewisse Zeit. Genauso verhält es sich mit dem Einschalten. Nach dem WOL-Befehl vergeht eine gewisse Zeit, bis er Befehle ausführen kann.
      Wie handhabt Ihr so etwas? Theoretisch wären zwei Datenpunkte denkbar: Ein Soll-Datenpunkt und ein Ist-Datenpunkt. Mit nur ACK=true/false zu arbeiten funktioniert nicht, denn wenn man den Datenpunkt in die VIS setzt, könnte man dann hin- und herschalten, obwohl der PC gar nicht so schnell reagieren kann. Die Idee wäre dann, den Soll-Datenpunkt zu überwachen und dann mit Javascript o.ä. entsprechende Befehle zu senden, die dann z.B. Wartezeiten für das Hoch-/Runterfahren mit einbinden.
      Wie macht Ihr sowas? Ich bin doch sicher nicht der Erste, der sich über so etwas Gedanken macht, oder?

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

      @antimon
      Ich würde dafür 2 Datenpunkte nutzen

      • einen "status" datenpoint, als numeric, mit einer Aufzählung: 0: aus, 1: startet, 2: läuft, 3: wird herunter gefahren, 4: aus, 5: standby
      • einen "Steuer" datenpoint, auch numeric mit einer Aufzählung: 0: ausschalten, 1: einschalten, 2: aufwecken

      A.

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

      A 1 Antwort Letzte Antwort
      0
      • AsgothianA Asgothian

        @antimon
        Ich würde dafür 2 Datenpunkte nutzen

        • einen "status" datenpoint, als numeric, mit einer Aufzählung: 0: aus, 1: startet, 2: läuft, 3: wird herunter gefahren, 4: aus, 5: standby
        • einen "Steuer" datenpoint, auch numeric mit einer Aufzählung: 0: ausschalten, 1: einschalten, 2: aufwecken

        A.

        A Offline
        A Offline
        antimon
        schrieb am zuletzt editiert von
        #3

        @Asgothian Daran habe ich auch schon gedacht, quasi eine kleine State Machine...
        Die Idee finde ich gut, das würde ja bedeuten, dass ich mit dem Steuer-Datenpunkt z.B. sage: Einschalten. Zuerst schaltet das Skript dann den Strom ein und setzt den Zustand "startet". Dann fährt der PC hoch, irgendwann erhalte ich z.B. einen Ping als Lebenszeichen und setze den Zustand "läuft".
        Was passiert, wenn ich während des Hochfahrens bereits den Steuer-Datenpunkt auf "ausschalten" setze? Während des Hochfahrens kann ich ja keinen Shutdown-Befehl setzen und Strom einfach abschalten ist auch eine schlechte Idee. Was meint Ihr, wäre dann das Beste?

        • Die Änderung des Steuer-Datenpunkts nur während "aus" und "läuft" zulassen?
        • Den Befehl fürs Herunterfahren sofort ausführen, sobald der Zustand "läuft" erreicht ist?
        • Den Steuer-Datenpunkt wieder auf "einschalten" zurücksetzen, weil der Zustand noch nicht erreicht ist?

        Was passiert, wenn der PC nicht startet (z.B. manuelle Eingabe für fsck nötig)? Man könnte einen Timer starten, sobald der Einschalt-Befehl kommt - und wenn der PC sich nicht in einer bestimmten Zeit meldet, wird ein eigener Status "Fehler" gesetzt? Oder wie könnte man so einen Fall abdecken? Was meint Ihr dazu?

        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

        542

        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