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. JavaScript
  5. [gelöst] Wer hat Inhalt eines Datenpunkt geändert

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[gelöst] Wer hat Inhalt eines Datenpunkt geändert

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 3 Kommentatoren 502 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.
  • O Offline
    O Offline
    ostseeskipper
    schrieb am zuletzt editiert von ostseeskipper
    #1

    Hallo Zusammen,

    gibt es die Möglichkeit zu ermitteln durch wen oder was der letzte Wert eines Datenpunktes geändert wurde.
    z.B. durch Mensch über einen Button betätigt oder ein Script das bei bestimmten Triggern einen Datenpunkt verändert?

    /*
    Bedingungen für Warmwasserbereitung ein:
    Wenn genug PV Leistung,
        Was ist genug PV Leistung?
        -> Wenn ins Netz mit Leistung x eingespeist wird,
        -> Wenn in Speicher geladen wird
            -> ABER nur wenn Speicher > xx % SOC hat
     
    Oder es soll/muss ab Mittag wenn Temperatur im Warmwasserspeicher <  yy °C
     
    Alternativ: Mensch will jetzt haben und über VIS oder Taster eingeschaltet? (Wie das heraus bekommen?)
     
    vice versa Warmwasserbereitung ausschalten:
    !! Gefahr Automatik schaltet aus obwohl Mensch eingeschaltet hat (Wie lösen?)
    */
    

    Kann mir jemand dafür einen Denkanstoß wie man das elegant umsetzen könnte.
    Hätte an Datenpunktflags gedacht nur wie kann man unterscheiden ob Mensch oder Script einen Datenpunkt verändert hat?

    Viele Grüsse von der Küste

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • O ostseeskipper

      Hallo Zusammen,

      gibt es die Möglichkeit zu ermitteln durch wen oder was der letzte Wert eines Datenpunktes geändert wurde.
      z.B. durch Mensch über einen Button betätigt oder ein Script das bei bestimmten Triggern einen Datenpunkt verändert?

      /*
      Bedingungen für Warmwasserbereitung ein:
      Wenn genug PV Leistung,
          Was ist genug PV Leistung?
          -> Wenn ins Netz mit Leistung x eingespeist wird,
          -> Wenn in Speicher geladen wird
              -> ABER nur wenn Speicher > xx % SOC hat
       
      Oder es soll/muss ab Mittag wenn Temperatur im Warmwasserspeicher <  yy °C
       
      Alternativ: Mensch will jetzt haben und über VIS oder Taster eingeschaltet? (Wie das heraus bekommen?)
       
      vice versa Warmwasserbereitung ausschalten:
      !! Gefahr Automatik schaltet aus obwohl Mensch eingeschaltet hat (Wie lösen?)
      */
      

      Kann mir jemand dafür einen Denkanstoß wie man das elegant umsetzen könnte.
      Hätte an Datenpunktflags gedacht nur wie kann man unterscheiden ob Mensch oder Script einen Datenpunkt verändert hat?

      Viele Grüsse von der Küste

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @ostseeskipper
      In Blockly kannst Du mit "Ursprung" erkennen, ob eine Änderung durch ein Script oder einen Adapter ausgelöst wurde.

      9ca48208-9f49-4699-8d33-b9651252f0a2-grafik.png
      Oder aber mit JS:

      getState('0_userdata.0.Test.test_bool').from
      

      "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

      O 2 Antworten Letzte Antwort
      1
      • CodierknechtC Codierknecht

        @ostseeskipper
        In Blockly kannst Du mit "Ursprung" erkennen, ob eine Änderung durch ein Script oder einen Adapter ausgelöst wurde.

        9ca48208-9f49-4699-8d33-b9651252f0a2-grafik.png
        Oder aber mit JS:

        getState('0_userdata.0.Test.test_bool').from
        
        O Offline
        O Offline
        ostseeskipper
        schrieb am zuletzt editiert von
        #3

        @codierknecht
        Danke. Ist ein Vis Button = Ursprung "Adapter" ?

        1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @ostseeskipper
          In Blockly kannst Du mit "Ursprung" erkennen, ob eine Änderung durch ein Script oder einen Adapter ausgelöst wurde.

          9ca48208-9f49-4699-8d33-b9651252f0a2-grafik.png
          Oder aber mit JS:

          getState('0_userdata.0.Test.test_bool').from
          
          O Offline
          O Offline
          ostseeskipper
          schrieb am zuletzt editiert von
          #4

          @codierknecht

          getState('0_userdata.0.Test.test_bool').from
          

          Egal ob ich über vis oder objekte den Inhalt des Datenpunkts ändere bringt mir .from nur in welchem Adapter der Datenpunkt zu Hause ist.

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • O ostseeskipper

            @codierknecht

            getState('0_userdata.0.Test.test_bool').from
            

            Egal ob ich über vis oder objekte den Inhalt des Datenpunkts ändere bringt mir .from nur in welchem Adapter der Datenpunkt zu Hause ist.

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @ostseeskipper

            Egal ob ich über vis oder objekte den Inhalt des Datenpunkts ändere bringt mir .from nur in welchem Adapter der Datenpunkt zu Hause ist

            Natürlich - Du kannst lediglich erkennen, ob ein Script den Datenpunkt geändert hat oder der Adapter.

            War ja so gefordert

            wie kann man unterscheiden ob Mensch oder Script einen Datenpunkt verändert hat

            Ob der Mensch das über Vis oder im Objektbaum geändert hat, lässt sich nicht herausbekommen.
            Das Gleiche gilt natürlich für irgendwelche Taster, die den Wert des Objektes ändern.

            Aber ob der Mensch jetzt über Vis oder Taster ausgelöst hat, wäre ja egal.
            Wenn der Ursprung kein Script ist, hat ein Mensch ausgelöst - wie auch immer.

            "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

            O 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @ostseeskipper

              Egal ob ich über vis oder objekte den Inhalt des Datenpunkts ändere bringt mir .from nur in welchem Adapter der Datenpunkt zu Hause ist

              Natürlich - Du kannst lediglich erkennen, ob ein Script den Datenpunkt geändert hat oder der Adapter.

              War ja so gefordert

              wie kann man unterscheiden ob Mensch oder Script einen Datenpunkt verändert hat

              Ob der Mensch das über Vis oder im Objektbaum geändert hat, lässt sich nicht herausbekommen.
              Das Gleiche gilt natürlich für irgendwelche Taster, die den Wert des Objektes ändern.

              Aber ob der Mensch jetzt über Vis oder Taster ausgelöst hat, wäre ja egal.
              Wenn der Ursprung kein Script ist, hat ein Mensch ausgelöst - wie auch immer.

              O Offline
              O Offline
              ostseeskipper
              schrieb am zuletzt editiert von
              #6

              @codierknecht

              ok, verstehe, wenn also system.adapter.javascript.0 zurück kommt hat ein Script das getan.

              Verstehe nur nicht warum der Homematic-Taster der per Trigger und JS ausgewertet wird und den Datenpunkt ändert nicht auch mit system.adapter.javascript.0 kommt, sondern system.adapter.modbus.3 da steht.

              paul53P 1 Antwort Letzte Antwort
              0
              • O ostseeskipper

                @codierknecht

                ok, verstehe, wenn also system.adapter.javascript.0 zurück kommt hat ein Script das getan.

                Verstehe nur nicht warum der Homematic-Taster der per Trigger und JS ausgewertet wird und den Datenpunkt ändert nicht auch mit system.adapter.javascript.0 kommt, sondern system.adapter.modbus.3 da steht.

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

                @ostseeskipper sagte: nicht auch mit system.adapter.javascript.0 kommt, sondern system.adapter.modbus.3 da steht.

                Wenn per Skript an einen Datenpunkt in "modbus.3" gesendet wird, kommt erst "system.adapter.javascript.0" und wird anschließend von "system.adapter.modbus.3" bestätigt.

                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

                O 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @ostseeskipper sagte: nicht auch mit system.adapter.javascript.0 kommt, sondern system.adapter.modbus.3 da steht.

                  Wenn per Skript an einen Datenpunkt in "modbus.3" gesendet wird, kommt erst "system.adapter.javascript.0" und wird anschließend von "system.adapter.modbus.3" bestätigt.

                  O Offline
                  O Offline
                  ostseeskipper
                  schrieb am zuletzt editiert von
                  #8

                  @paul53
                  dann bringt mir das nichts :cry: , da ja erst später wenn sozusagen automatische bedingungen eintreten geprüft werden soll ob "Mensch" nicht was anderes wollte.
                  :bride_with_veil: Frau will baden gehen, drückt knopf.
                  PV Anlage liefert keinen Strom mehr und schaltet Warmwasserbereitung wieder aus.:scream:
                  Dann aber Stimmung = :skull_and_crossbones:

                  O 1 Antwort Letzte Antwort
                  0
                  • O ostseeskipper

                    @paul53
                    dann bringt mir das nichts :cry: , da ja erst später wenn sozusagen automatische bedingungen eintreten geprüft werden soll ob "Mensch" nicht was anderes wollte.
                    :bride_with_veil: Frau will baden gehen, drückt knopf.
                    PV Anlage liefert keinen Strom mehr und schaltet Warmwasserbereitung wieder aus.:scream:
                    Dann aber Stimmung = :skull_and_crossbones:

                    O Offline
                    O Offline
                    ostseeskipper
                    schrieb am zuletzt editiert von
                    #9

                    @ostseeskipper
                    Ich hab das jetzt so gelöst, das jedes Event(Script) das diesen Datenpunkt ändert auch einen zweiten Datenpunkt beschreibt und drin steht wer geändert hat.

                    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

                    604

                    Online

                    32.6k

                    Benutzer

                    82.3k

                    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