Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter KNX v1.0.x

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Test Adapter KNX v1.0.x

Geplant Angeheftet Gesperrt Verschoben Tester
knx adapter
719 Beiträge 93 Kommentatoren 189.8k Aufrufe 85 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.
  • M mstrack

    Ich habe ein Problem mit der aktuellen 1.0.41 und dem Senden von Temperaturwerten mit dem DPT 9.001. Beim aktualisieren eines Wertes in iobroker bekomme ich auf die besagte GA nur einen Read und die entsprechende Antwort vom KNX-Bus bzw des Gerätes in der Diagnose der ETS zu sehen. Das Objekt im iobroker bleibt auf dem von mir geänderten Wert.

    Nach etlichem Probieren habe ich einen der weiter obe stehenden Tips mit dem zurückgehen auf Version 1.0.20 versucht. damit funktioniert die Kommunikation exakt wie gewünscht.

    Grüße Martin

    M Offline
    M Offline
    mstrack
    schrieb am zuletzt editiert von
    #182

    @mstrack Hat sich geklärt, ich hatte noch falsche Flags in der ETS gesetzt gehabt und deshalb das komishe Verhalten. Jetzt wo ich alles angepasst habe funktioniert wieder alles wie gewollt.

    1 Antwort Letzte Antwort
    0
    • tseroT Offline
      tseroT Offline
      tsero
      schrieb am zuletzt editiert von
      #183

      Hallo zusammen!

      Habe da ein Problem mit Bus Reads ... möchte eine GA auslesen, aber es wird kein GroupValueRead abgesetzt. Bin aktuell auf 1.0.41.
      Der DP ist folgendermaßen definiert:

      {
        "from": "system.adapter.knx.0",
        "user": "system.user.admin",
        "ts": 1586887293841,
        "common": {
          "name": "Messen Wind max m/s",
          "type": "number",
          "role": "value",
          "unit": "m/s",
          "max": 670670,
          "min": 0,
          "read": true,
          "write": false,
          "update": true
        },
        "native": {
          "dpt": "DPT9.005",
          "address": "0/1/52",
          "addressRefId": "P-01ED-0_GA-55",
          "statusGARefId": "",
          "actGARefId": "",
          "objRef": "O-2_R-631",
          "devName": "M-0001_A-9101-01-0F6B-O00C9",
          "devInst": "P-01ED-0_DI-620",
          "objectSize": ""
        },
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1636
        },
        "_id": "knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s",
        "type": "state"
      }
      

      Damit versuche ich einen Wert von der Wetterstation auszulesen:

       log("max knx wind = "+getState('knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s').val);
      

      Aber am Bus passiert gar nichts! Kein Read. Im log sehe ich auch keinen Bus-Request

      2020-04-19 13:49:27.541 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
      2020-04-19 13:49:27.688 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
      2020-04-19 13:49:27.703 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
      2020-04-19 13:49:27.707 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
      2020-04-19 13:49:27.708 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
      2020-04-19 13:49:27.719 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296967716,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
      2020-04-19 13:49:38.654 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
      2020-04-19 13:49:38.791 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
      2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
      2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
      2020-04-19 13:49:38.804 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
      2020-04-19 13:49:38.815 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296978810,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
      

      Das einzige was auf den Bus raus geht, ist ein setState, aber sämtliche getStates gehen nicht raus.
      Eigentlich sollte doch wenn L und U gesetzt sind ein GroupValueRead gemacht werden, oder? Funktioniert das bei euch?? Oder steh' ich wieder mal auf der Leitung ...

      GarfonsoG 1 Antwort Letzte Antwort
      0
      • tseroT tsero

        Hallo zusammen!

        Habe da ein Problem mit Bus Reads ... möchte eine GA auslesen, aber es wird kein GroupValueRead abgesetzt. Bin aktuell auf 1.0.41.
        Der DP ist folgendermaßen definiert:

        {
          "from": "system.adapter.knx.0",
          "user": "system.user.admin",
          "ts": 1586887293841,
          "common": {
            "name": "Messen Wind max m/s",
            "type": "number",
            "role": "value",
            "unit": "m/s",
            "max": 670670,
            "min": 0,
            "read": true,
            "write": false,
            "update": true
          },
          "native": {
            "dpt": "DPT9.005",
            "address": "0/1/52",
            "addressRefId": "P-01ED-0_GA-55",
            "statusGARefId": "",
            "actGARefId": "",
            "objRef": "O-2_R-631",
            "devName": "M-0001_A-9101-01-0F6B-O00C9",
            "devInst": "P-01ED-0_DI-620",
            "objectSize": ""
          },
          "acl": {
            "object": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator",
            "state": 1636
          },
          "_id": "knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s",
          "type": "state"
        }
        

        Damit versuche ich einen Wert von der Wetterstation auszulesen:

         log("max knx wind = "+getState('knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s').val);
        

        Aber am Bus passiert gar nichts! Kein Read. Im log sehe ich auch keinen Bus-Request

        2020-04-19 13:49:27.541 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
        2020-04-19 13:49:27.688 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
        2020-04-19 13:49:27.703 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
        2020-04-19 13:49:27.707 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
        2020-04-19 13:49:27.708 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
        2020-04-19 13:49:27.719 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296967716,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
        2020-04-19 13:49:38.654 - info: javascript.0 (10521) Stop script script.js.Tests.JS_tests
        2020-04-19 13:49:38.791 - info: javascript.0 (10521) Start javascript script.js.Tests.JS_tests
        2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: max knx wind = 0.9
        2020-04-19 13:49:38.801 - info: javascript.0 (10521) script.js.Tests.JS_tests: licht EG SZ = true
        2020-04-19 13:49:38.804 - info: javascript.0 (10521) script.js.Tests.JS_tests: registered 0 subscriptions and 0 schedules
        2020-04-19 13:49:38.815 - silly: knx.0 (11641) States user redis pmessage knx.0.*/knx.0.Schalten.EG.EG_Schlafzimmer_Licht__E10_1:{"val":true,"ack":false,"ts":1587296978810,"q":0,"from":"system.adapter.javascript.0","user":"system.user.admin","lc":1587296746683}
        

        Das einzige was auf den Bus raus geht, ist ein setState, aber sämtliche getStates gehen nicht raus.
        Eigentlich sollte doch wenn L und U gesetzt sind ein GroupValueRead gemacht werden, oder? Funktioniert das bei euch?? Oder steh' ich wieder mal auf der Leitung ...

        GarfonsoG Offline
        GarfonsoG Offline
        Garfonso
        Developer
        schrieb am zuletzt editiert von
        #184

        @tsero

        getState kann keinen GetValueRead auf dem Bus auslösen. Das ist nur eine Abfrage der ioBroker Datenbank und es wird nicht beim Adapter nachgefragt (und so wie du es verwendest, wird sogar nichtmal die DB gefragt, sondern der Cache des Javascript Adapters). Von daher kann es so nicht gehen.

        Was gehen könnte ist, wenn du den State schreibst. Da hatte @chefkoch009 mal etwas implementiert, das wenn read & write Flags im ioBroker beide true ein GetValueRead ausgeführt wird, wenn du darauf mit setState schreibst, siehe auch die Readme des Adapters ( https://github.com/iobroker/iobroker.knx ) (es haben auch die Flags der GA noch etwas zu sagen -> guck am besten nach).

        Natürlich musst du dein Skript deutlich anders machen, und zwar eher so:

        //log new measurement, ack: true -> only react to readings from bus!
        on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
             log("max knx wind = "+e.state.val);
        });
        
        //trigger GroupValueRead
        setState('knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', 0);
        
        

        Wichtig ist das ack: true beim "on" -> damit reagiert die Funktion nur auf Daten, die vom Bus kommen (sonst würde es auch die 0 ausgeben, die wir unten schreiben). Anstatt 0 schreiben, könnte man auch irgendeine andere Zahl, z.B. den aktuellen Wert oder was negatives. Das man den Wert selber schreibt, muss man bei anderen Skripten / Statistik / Sourceanalytics / History irgendwie im Kopf haben. Daher nutze ich die Funktion nicht so gerne, sondern lasse eigentlich alle meine KNX Geräte zyklisch senden (damit könnte man sich im Skript dann das "setState" sparen).

        Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

        Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

        1 Antwort Letzte Antwort
        0
        • tseroT Offline
          tseroT Offline
          tsero
          schrieb am zuletzt editiert von
          #185

          @Garfonso

          Danke für die Erklärung! Hatte mir schon sowas gedacht. Allerdings bin ich von der Adapter-Doku ausgegangen, und aufgrund von
          0bcc8ade-c2cd-4f24-bd8b-bf385a80e9b4-image.png habe ich mir gedacht, ein getState wäre ein Trigger für das GroupValueRead. Bin gerade erst dabei mich in ioBroker einzuarbeiten und da gibt es natürlich noch ein paar Startschwierigkeiten ...

          Das mit dem Caching von getStates ist mir auch neu und eine Beschreibung dazu konnte ich auch noch nicht finden. Die Funktionsbeschreibung erwähnt das nämlich nicht.

          Wie du schon schreibst, schön ist die Variante nicht. Ich kann den Messwert auch über eine eigene GA anfordern. Denke mal das wird dann die bessere Variante sein. Das würde ich dann ungefähr so machen

              setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
              setStateDelayed("javascript.0.scriptEnabled.Wetter.iMaxWind", getState("knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s").val*3.6,2000);
          

          Kann ich davon ausgehen, dass ich mit einer Verzögerung von 2s dann schon den neuen Wert mit getState bekomme (am Bus sehe ich den Response nach <0,1s). Oder bekomme ich dann noch den Wert aus dem Cache? Bzw. wie kann man den Cache umgehen?

          GarfonsoG 1 Antwort Letzte Antwort
          0
          • tseroT tsero

            @Garfonso

            Danke für die Erklärung! Hatte mir schon sowas gedacht. Allerdings bin ich von der Adapter-Doku ausgegangen, und aufgrund von
            0bcc8ade-c2cd-4f24-bd8b-bf385a80e9b4-image.png habe ich mir gedacht, ein getState wäre ein Trigger für das GroupValueRead. Bin gerade erst dabei mich in ioBroker einzuarbeiten und da gibt es natürlich noch ein paar Startschwierigkeiten ...

            Das mit dem Caching von getStates ist mir auch neu und eine Beschreibung dazu konnte ich auch noch nicht finden. Die Funktionsbeschreibung erwähnt das nämlich nicht.

            Wie du schon schreibst, schön ist die Variante nicht. Ich kann den Messwert auch über eine eigene GA anfordern. Denke mal das wird dann die bessere Variante sein. Das würde ich dann ungefähr so machen

                setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
                setStateDelayed("javascript.0.scriptEnabled.Wetter.iMaxWind", getState("knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s").val*3.6,2000);
            

            Kann ich davon ausgehen, dass ich mit einer Verzögerung von 2s dann schon den neuen Wert mit getState bekomme (am Bus sehe ich den Response nach <0,1s). Oder bekomme ich dann noch den Wert aus dem Cache? Bzw. wie kann man den Cache umgehen?

            GarfonsoG Offline
            GarfonsoG Offline
            Garfonso
            Developer
            schrieb am zuletzt editiert von
            #186

            @tsero said in Test Adapter KNX v1.0.x:

            @Garfonso

            Danke für die Erklärung! Hatte mir schon sowas gedacht. Allerdings bin ich von der Adapter-Doku ausgegangen, und aufgrund von
            0bcc8ade-c2cd-4f24-bd8b-bf385a80e9b4-image.png habe ich mir gedacht, ein getState wäre ein Trigger für das GroupValueRead. Bin gerade erst dabei mich in ioBroker einzuarbeiten und da gibt es natürlich noch ein paar Startschwierigkeiten ...

            Gerne.
            Ja, das hab ich mir auch gedacht, "Trigger" ist da sicherlich nicht gut verständlich. Da ist man als ioBroker-Entwickler dann auch etwas betriebsblind, weil man weiß, dass ein getState beim Adapter nicht ankommt und es daher nur ein setState sein kann. 🙂 Also Trigger = setState

            Das mit dem Caching von getStates ist mir auch neu und eine Beschreibung dazu konnte ich auch noch nicht finden. Die Funktionsbeschreibung erwähnt das nämlich nicht.

            Das ist eine Vereinfachung, die der Javascript Adapter für die User macht, kann man in der Instanz einstellen. Sonst wäre getState immer asynchron, das heißt, du müsstest getState immer mit callbacks verarbeiten, also so z.B.:

            getState(id, (state) => {
               log("State " + id + " is " + state.val);
            });
            
            // <- hier kann ich auf "state" NICHT zugreifen -> alles muss jetzt in den callback mit rein. Bei mehreren states, die ich abrufen will, wird das schnell sehr unübersichtlich.
            

            Wie du schon schreibst, schön ist die Variante nicht. Ich kann den Messwert auch über eine eigene GA anfordern. Denke mal das wird dann die bessere Variante sein. Das würde ich dann ungefähr so machen

                setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
                setStateDelayed("javascript.0.scriptEnabled.Wetter.iMaxWind", getState("knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s").val*3.6,2000);
            

            Kann ich davon ausgehen, dass ich mit einer Verzögerung von 2s dann schon den neuen Wert mit getState bekomme (am Bus sehe ich den Response nach <0,1s). Oder bekomme ich dann noch den Wert aus dem Cache? Bzw. wie kann man den Cache umgehen?

            Das setStateDelayed verwendest du da falsch...? das getState würde so immer noch sofort ausgeführt und nur der Wert später gesetzt. Für das, was du erreichen willst, brauchst du setTimeout (javascript funktion):

            setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
            
            setTimeout(function () {
                   const windGeschwindigkeit = getState("knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s").val*3.6; 
                   setState("javascript.0.scriptEnabled.Wetter.iMaxWind", windGeschwindigkeit);
            },2000);
            

            Ich würde es so nicht machen, sondern tatsächlich den state abonieren, das heißt, die Funktion wird jedesmal aufgerufen, wenn sich der state ändert -> also sobald ioBroker das Update vom KNX Bus gelesen hat, wird deine Funktion auch aufgerufen. Oder willst du nur, das etwas passiert, wenn du vorher das setState machst?
            (Warum hast du scriptEnabled in deiner id, die du setzen willst?)

            Also:

            //log new measurement, ack: true -> only react to readings from bus!
            on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
                //diese Funktion wird jedesmal aufgerufen, wenn der State aktualisiert wird, also wenn was neues vom KNX Bus kommt
               log("max knx wind = "+e.state.val);
               setState("javascript.0.Wetter.scriptEnabled.iMaxWind", e.state.val * 3.6, true); //ich setze hier gerne ack=true, dann wird es in der Objektliste grün ;-)
            });
            
            //update erzeugen:
            setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
            
            //ggf. auch auf Knopfdruck? -> state erstellen und darauf reagieren
            on({ id: 'javascript.0.jetzt_mal_wind_auslesen', val: true, ack: false}, function (e) {
              setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
              setStateDelayed('javascript.0.jetzt_mal_wind_auslesen', false, true, 500); //nach 500ms wieder auf false setzen, nicht notwendig aber hübscher ;-)
            });
            

            Grundsätzlich in Skripten würde ich das immer so machen:
            wenn immer etwas passieren soll, wenn neue Information reinkommt, dann unbeding mit on() den state abonnieren.
            Wenn du das ganze nur für eine einmalige Berechnung brauchst, dann ist getState ok. In deinem speziellen Fall würde ich aber da bei on bleiben, das du nur einmal was machen willst, könnte man auch so erreichen:

            //update erzeugen:
            setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
            let doSomething = true; //ok, funktion darf einmal ausgeführt werden.
            
            //wird nur etwas tun, wenn doSomething = true
            on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
                //diese Funktion wird jedesmal aufgerufen, wenn der State aktualisiert wird, also wenn was neues vom KNX Bus kommt
               if (doSomething) {
                   log("max knx wind = "+e.state.val);
                   setState("javascript.0.Wetter.scriptEnabled.iMaxWind", e.state.val * 3.6, true); //ich setze hier gerne ack=true, dann wird es in der Objektliste grün ;-)
                  doSomething = false;
               }
            });
            

            (ok, besser wäre noch das schedule wieder zu entfernen, geht auch mit unsubscribe, meine ich, müsste ich aber nachgucken).

            Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

            Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

            1 Antwort Letzte Antwort
            0
            • tseroT Offline
              tseroT Offline
              tsero
              schrieb am zuletzt editiert von
              #187

              @Garfonso und nochmals danke ... habe wieder einiges gelernt. Ich denke jetzt passt es. Immer zur vollen Stunde frage ich den max-Windwert der letzten Stunde ab und setzte ihn danach zurück. Über die subscription lausche ich auf den neuen max-Werte und setzt ihn dann in meinen DP:

              schedule("0 * * * *", function () {
                  setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
                  setStateDelayed("knx.0.0_Zentral.0_1_Messwerte.Reset_Wind_max",true,500);
              });
              
              on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
                  //diese Funktion wird jedesmal aufgerufen, wenn der State aktualisiert wird, also wenn was neues vom KNX Bus kommt
                 setState("javascript.0.Wetter.iMaxWind", e.state.val * 3.6, true); 
              });
              

              Bei deiner Frage Warum hast du scriptEnabled in deiner id, die du setzen willst? bin ich dann gleich mal ins Schwitzen geraten ... und wie befürchtet, habe ich wiedermal ins Schwarze getroffen. Beim initialen Herumspielen habe ich den Ordner scriptEnabled gesehen. Dachte mir, aha, klingt gut, da kommt alles was zu den aktivierten Scripts gehört rein. Also habe ich ohne viel nachzudenken alle DPs da drinnen anlegt.
              Nach deiner Frage, habe ich dann mal nach scriptEnabled gegooglt ... war wohl doch nicht so optimal.
              Naja, das war jetzt meine Nachmittagsbeschäftigung. Habe alle DPs da raus geholt .. eine schöne Arbeit. Aber jetzt isses sauber.

              Eine Verständnisfrage hätte ich dann doch noch zur zeitlichen Abfolge. Die Sinnhaftigkeit des Scripts bitte nicht beachten.
              Verstehe ich das richtig, dass der zeitliche Ablauf wie folgt ist:

              (2) wird sofort vom Cache gelesen, aber erst nach 2s in den DP (1) geschrieben.
              Das log Kommand (3) wird erst nach Ablauf der 2s ausgeführt, und der DP (4) wird auch erst nach 2s ausgelesen.
              Kommt das so hin?

              75b0a59b-ff8b-4946-b603-84513a077d63-image.png

              GarfonsoG 1 Antwort Letzte Antwort
              0
              • tseroT tsero

                @Garfonso und nochmals danke ... habe wieder einiges gelernt. Ich denke jetzt passt es. Immer zur vollen Stunde frage ich den max-Windwert der letzten Stunde ab und setzte ihn danach zurück. Über die subscription lausche ich auf den neuen max-Werte und setzt ihn dann in meinen DP:

                schedule("0 * * * *", function () {
                    setState('knx.0.0_Zentral.0_1_Messwerte.Abfrage_Wind_max',true);
                    setStateDelayed("knx.0.0_Zentral.0_1_Messwerte.Reset_Wind_max",true,500);
                });
                
                on({ id: 'knx.0.0_Zentral.0_1_Messwerte.Messen_Wind_max_m_s', ack: true}, (e) => {
                    //diese Funktion wird jedesmal aufgerufen, wenn der State aktualisiert wird, also wenn was neues vom KNX Bus kommt
                   setState("javascript.0.Wetter.iMaxWind", e.state.val * 3.6, true); 
                });
                

                Bei deiner Frage Warum hast du scriptEnabled in deiner id, die du setzen willst? bin ich dann gleich mal ins Schwitzen geraten ... und wie befürchtet, habe ich wiedermal ins Schwarze getroffen. Beim initialen Herumspielen habe ich den Ordner scriptEnabled gesehen. Dachte mir, aha, klingt gut, da kommt alles was zu den aktivierten Scripts gehört rein. Also habe ich ohne viel nachzudenken alle DPs da drinnen anlegt.
                Nach deiner Frage, habe ich dann mal nach scriptEnabled gegooglt ... war wohl doch nicht so optimal.
                Naja, das war jetzt meine Nachmittagsbeschäftigung. Habe alle DPs da raus geholt .. eine schöne Arbeit. Aber jetzt isses sauber.

                Eine Verständnisfrage hätte ich dann doch noch zur zeitlichen Abfolge. Die Sinnhaftigkeit des Scripts bitte nicht beachten.
                Verstehe ich das richtig, dass der zeitliche Ablauf wie folgt ist:

                (2) wird sofort vom Cache gelesen, aber erst nach 2s in den DP (1) geschrieben.
                Das log Kommand (3) wird erst nach Ablauf der 2s ausgeführt, und der DP (4) wird auch erst nach 2s ausgelesen.
                Kommt das so hin?

                75b0a59b-ff8b-4946-b603-84513a077d63-image.png

                GarfonsoG Offline
                GarfonsoG Offline
                Garfonso
                Developer
                schrieb am zuletzt editiert von
                #188

                @tsero said in Test Adapter KNX v1.0.x:

                (2) wird sofort vom Cache gelesen, aber erst nach 2s in den DP (1) geschrieben.
                Das log Kommand (3) wird erst nach Ablauf der 2s ausgeführt, und der DP (4) wird auch erst nach 2s ausgelesen.
                Kommt das so hin?

                Ja, alles korrekt. 🙂

                Wenn du jetzt nach }); noch etwas stehen hättest, das würde ebenfalls sofort ausgeführt. Das kann manchmal etwas kontraintuitiv sein.

                Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                1 Antwort Letzte Antwort
                0
                • H Nicht stören
                  H Nicht stören
                  Hansi1234
                  schrieb am zuletzt editiert von
                  #189

                  Hi Leute,

                  jetzt muss ich doch nochmal fragen.
                  Ich würde gerne ein Button in der Vis haben, der die Jalousie/n ganz runter fährt und dann die Lamellen auf "lichten" verstellt. Heißt, dass die Lamellen gerade sind.
                  Eigentlich müsste das doch mit der absoluten Lamellenpositon realisierbar sein oder?
                  Aber dann benötige ich doch eigentlich ein Script, weil ich die absolute Lamellenposition angeben muss und dann noch die Position. Oder stehe ich komplett auf dem Schlauch? Habt ihr das selber vielleicht schon umgesetzt?

                  GarfonsoG K 2 Antworten Letzte Antwort
                  0
                  • H Hansi1234

                    Hi Leute,

                    jetzt muss ich doch nochmal fragen.
                    Ich würde gerne ein Button in der Vis haben, der die Jalousie/n ganz runter fährt und dann die Lamellen auf "lichten" verstellt. Heißt, dass die Lamellen gerade sind.
                    Eigentlich müsste das doch mit der absoluten Lamellenpositon realisierbar sein oder?
                    Aber dann benötige ich doch eigentlich ein Script, weil ich die absolute Lamellenposition angeben muss und dann noch die Position. Oder stehe ich komplett auf dem Schlauch? Habt ihr das selber vielleicht schon umgesetzt?

                    GarfonsoG Offline
                    GarfonsoG Offline
                    Garfonso
                    Developer
                    schrieb am zuletzt editiert von
                    #190

                    @Hansi1234
                    Würde ich über ein Skript lösen, ja.

                    Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                    Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                    1 Antwort Letzte Antwort
                    0
                    • H Hansi1234

                      Hi Leute,

                      jetzt muss ich doch nochmal fragen.
                      Ich würde gerne ein Button in der Vis haben, der die Jalousie/n ganz runter fährt und dann die Lamellen auf "lichten" verstellt. Heißt, dass die Lamellen gerade sind.
                      Eigentlich müsste das doch mit der absoluten Lamellenpositon realisierbar sein oder?
                      Aber dann benötige ich doch eigentlich ein Script, weil ich die absolute Lamellenposition angeben muss und dann noch die Position. Oder stehe ich komplett auf dem Schlauch? Habt ihr das selber vielleicht schon umgesetzt?

                      K Offline
                      K Offline
                      killroy2
                      schrieb am zuletzt editiert von
                      #191

                      @Hansi1234 Das sind konstante Positionen die nicht berechnet werden müssen. Mein Knx Aktor kennt dazu Szenen pro Schalktanal. Eine Szene besteht z.B. aus absoluter Höhenposition und Lamellenposition.

                      H 1 Antwort Letzte Antwort
                      1
                      • K killroy2

                        @Hansi1234 Das sind konstante Positionen die nicht berechnet werden müssen. Mein Knx Aktor kennt dazu Szenen pro Schalktanal. Eine Szene besteht z.B. aus absoluter Höhenposition und Lamellenposition.

                        H Nicht stören
                        H Nicht stören
                        Hansi1234
                        schrieb am zuletzt editiert von
                        #192

                        @killroy2
                        Das hat funktioniert, danke dir 🙂

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          Sali84
                          schrieb am zuletzt editiert von
                          #193

                          Kann mir zufällig jemand sagen, wie ich im iobroker den rawDPvalue eines Datenpunktes anzeigen/nutzen kann?
                          Ich sehe jeweils nur den DecodedDPvalue...

                          Vielen Dank

                          GarfonsoG 1 Antwort Letzte Antwort
                          0
                          • S Sali84

                            Kann mir zufällig jemand sagen, wie ich im iobroker den rawDPvalue eines Datenpunktes anzeigen/nutzen kann?
                            Ich sehe jeweils nur den DecodedDPvalue...

                            Vielen Dank

                            GarfonsoG Offline
                            GarfonsoG Offline
                            Garfonso
                            Developer
                            schrieb am zuletzt editiert von Garfonso
                            #194

                            @Sali84
                            Ich glaube nicht, dass das vorgesehen ist. Warum brauchst du das denn? (Oder ich verstehe gerade nicht ganz, was der Decoded Value ist).

                            Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                            Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Sali84
                              schrieb am zuletzt editiert von
                              #195

                              Ich habe ein Gerät, dass dooferweise als Value für verschiedene Zustände den "gleichen" Wert. Allerdings bezieht sich das nur auf den Decoder Wert.
                              Somit hatte ich gehofft den RAW Wert im iobroker zu bekommen.
                              Aber ich habe nun einen anderen Weg gefunden es zu lösen.
                              Trotzdem gut zu wissen, dass man den Raw Wert nicht bekommt.

                              Danke Dir!

                              1 Antwort Letzte Antwort
                              0
                              • G Offline
                                G Offline
                                Goldblaster
                                schrieb am zuletzt editiert von
                                #196

                                Hallo zusammen,

                                ich habe folgende Problem, am Montag habe ich ein Update des KNX Adapters auf Version 1.0.39 durchgeführt. Dann habe ich gestern mein geändertes KNX Projekt hochgeladen aus der ETS 7.1.39. Nun startet mein KNX Adapter nicht mehr, im Log steht ständig folgendes.:
                                1520b3ee-3521-41bd-b0cf-fe2842c2352a-image.png

                                Hat jemand eine Idee woran das liegt? Bis dato hat immer alles ohne Probleme funktioniert. Vielleicht kann mir jemand helfen.

                                Vielen Dank

                                G 1 Antwort Letzte Antwort
                                0
                                • G Goldblaster

                                  Hallo zusammen,

                                  ich habe folgende Problem, am Montag habe ich ein Update des KNX Adapters auf Version 1.0.39 durchgeführt. Dann habe ich gestern mein geändertes KNX Projekt hochgeladen aus der ETS 7.1.39. Nun startet mein KNX Adapter nicht mehr, im Log steht ständig folgendes.:
                                  1520b3ee-3521-41bd-b0cf-fe2842c2352a-image.png

                                  Hat jemand eine Idee woran das liegt? Bis dato hat immer alles ohne Probleme funktioniert. Vielleicht kann mir jemand helfen.

                                  Vielen Dank

                                  G Offline
                                  G Offline
                                  Goldblaster
                                  schrieb am zuletzt editiert von
                                  #197

                                  @Goldblaster
                                  Sorry ist natürlich ETS Version 5.7.4

                                  1 Antwort Letzte Antwort
                                  0
                                  • G Offline
                                    G Offline
                                    Goldblaster
                                    schrieb am zuletzt editiert von
                                    #198

                                    Zur weiteren Information:
                                    Ich kann den bestehenden Adpater KNX.0 auch nicht deinstallieren.

                                    1 Antwort Letzte Antwort
                                    0
                                    • B Billiboy

                                      @chefkoch009
                                      Noch einmal ein ganz großes Danke für Deine Hilfe, es war echt spannender Abend.

                                      @all
                                      Wer hat von Euch eine Gira IP Router 21600 in Verbindung mit dem KNX Adapter in Nutzung und es funktioniert alles Problemlos?
                                      Welchen Service Index habt Ihr, also das Ixx, ist Secure aktiviert, welche Applikation habt ihr installiert?
                                      Hintergrund der Frage ist, ich habe einen nagelneuen IP Router mit I15 mit Applikation V4.0. Der Router akzeptiert keine Verbindung vom Adapter, aber mein HS läuft. Testweise hängt jetzt ein ABB IPR/S 2.1 drin, da funktioniert die Verbindung mit dem Adapter.
                                      Nun ist die gute Frage, ist der Router defekt, oder ist das eine Inkompatibilität.

                                      P Offline
                                      P Offline
                                      pasee
                                      schrieb am zuletzt editiert von
                                      #199

                                      @Billiboy
                                      Konntest du das Problem mit dem GIRA IP Router lösen?
                                      Ich habe das gleiche Problem.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Snapergy

                                        Hallo zusammen,

                                        ich habe mal eine Frage, da ich bislang noch keine Antwort gefunden habe 😞

                                        Gibt es eine Möglichkeit die KNX-Telegramme zu via Iobroker sich ausgeben zu lassen? Wie es in der ETS im "Diagnose"-Modul möglich ist. So könnte ich jederzeit im Vis mir die letzten Bus-Mitteilungen anschauen, ohne immer auf die ETS zurückgreifen zu müssen.

                                        S Offline
                                        S Offline
                                        Snapergy
                                        schrieb am zuletzt editiert von
                                        #200

                                        @Snapergy said in Test Adapter KNX v1.0.x:

                                        Hallo zusammen,

                                        ich habe mal eine Frage, da ich bislang noch keine Antwort gefunden habe 😞

                                        Gibt es eine Möglichkeit die KNX-Telegramme zu via Iobroker sich ausgeben zu lassen? Wie es in der ETS im "Diagnose"-Modul möglich ist. So könnte ich jederzeit im Vis mir die letzten Bus-Mitteilungen anschauen, ohne immer auf die ETS zurückgreifen zu müssen.

                                        Gibt es hier vielleicht schon eine Neuerung oder ggfl. eine explizite Aussage dazu?

                                        GarfonsoG 1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          sourex
                                          schrieb am zuletzt editiert von
                                          #201

                                          Hi,
                                          wollte einmal das ganze System neu aufsetzen und habe mich nun gefragt ob anschließend die Datenstruktur vom KNX komplett wiederhergestellt wird OHNE das ich die Projekt Datei neu einspielen muss ??
                                          Leider hat der KNX Adapter auch nicht wie fast alle die Möglichkeit die Config zu speichern, wie macht ihr das ?
                                          Aktuell habe ich es ansonsten nur über den Backitup Adapter gesichert.

                                          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

                                          701

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe