NEWS
KNX Adapter überholt
-
Also ich habe nun das folgende reproduzierbare Verhalten:
Wenn sich der Adapter laut log verbunden hat, kann ich aus ioBroker heraus schalten.
Das geht so lange gut, bis sich irgendetwas auf dem Bus tut. Also ich zum Beispiel einen Schalter drücke.
Der State Change wird mir in ioBroker nicht angezeigt. Wenn ich danach aus ioBroker etwas schalte,
passiert nichts. Wenn ich allerdings warte bis im Log steht, das wieder eine neue Verbindung aufgebaut wurde,
kann ich wieder fröhlich schalten.
Wie oben schon mal erwähnt, habe ich folgende Vermutung. KNXD sendet etwas an den Adapter, aber
bekommt kein ACK. Darum schließt KNXD die Verbindung und nimmt auch bis zu einem erneuten Verbindungsaufbau
keine Pakete mehr an.
Wo finde ich eigentlich den aktuellen Code?
Unter https://github.com/ioBroker/ioBroker.knx.git fehlt mir die Datei knx.js
Und unter https://github.com/chefkoch009/iobroker.knx.git sind die Dateien 2 Jahre alt.
-
Also ich habe nun das folgende reproduzierbare Verhalten:
Wenn sich der Adapter laut log verbunden hat, kann ich aus ioBroker heraus schalten.
Das geht so lange gut, bis sich irgendetwas auf dem Bus tut. Also ich zum Beispiel einen Schalter drücke.
Der State Change wird mir in ioBroker nicht angezeigt. Wenn ich danach aus ioBroker etwas schalte,
passiert nichts. Wenn ich allerdings warte bis im Log steht, das wieder eine neue Verbindung aufgebaut wurde,
kann ich wieder fröhlich schalten.
Wie oben schon mal erwähnt, habe ich folgende Vermutung. KNXD sendet etwas an den Adapter, aber
bekommt kein ACK. Darum schließt KNXD die Verbindung und nimmt auch bis zu einem erneuten Verbindungsaufbau
keine Pakete mehr an.
Wo finde ich eigentlich den aktuellen Code?
Unter https://github.com/ioBroker/ioBroker.knx.git fehlt mir die Datei knx.js
Und unter https://github.com/chefkoch009/iobroker.knx.git sind die Dateien 2 Jahre alt. `
https://github.com/ioBroker/ioBroker.knx/issues/36
Mach ein Issue auf github auf chefkoch wird sich dann darum kümmern, wenn er wieder Zeit hat.
-
Hallo
habe für meine Rollos ua folgende GA´s:
Wohnzimmer Großes Fenster auf\ab (relativ, dies benötige ich für die Taster)
Wohnzimmer Großes Fenster Status
Wohnzimmer Großes Fenster Absolute Position (dies nutze ich zb. in meiner Vis)
Nun ist es so das bei einen Import die GA auf\ab und Status als Pärchen erkannt werden, dann haut allerdings der Status in vis nicht mehr hin sobald ich diesen am Taster ändere.
Also habe ich manuell die Absolute GA und die Status GA zuzammen geführt, nur leider überschreibt ein neuer Import Vorgang diese Einstellung immer wieder. Habe bereits auf node 8 aktualisert und beim Importieren den Haken bei nur neue Objekte Importieren gesetzt, ohne Erfolg.
Kann ich noch etwas ändern?!
Gruß Wolfgang `
Die GA besser benennen:Wohnzimmer Großes Fenster Absolute Position State
Wohnzimmer Großes Fenster Absolute Position Status
-
Habe den Pfeil zwar nicht in der GUi gefunden…. aber ich habe per SSH den KNX Adapter nachgeladen..
Hat aber auch nicht geholfen....
Gesendet von meinem F5321 mit Tapatalk `
Über die Adapter Seite eine alte Version installieren einfach das + drücken und 0.8.6 installieren und dann updaten.
6513_knx.png -
ES GEHT ES GEHT jaaaaa…... der Downgrade auf die 0.8.6 hats voll gebracht. Bei mir funzt jetzt alles.....puhh
@all danke
-
ES GEHT ES GEHT jaaaaa…... der Downgrade auf die 0.8.6 hats voll gebracht. Bei mir funzt jetzt alles.....puhh
@all danke `
Du solltest aber bitte im github ein issue aufmachen damit auch die neuste Version mit usb und knxd funktioniert
-
Danke! Geht jetzt auch bei mir!!
@tombox:Habe den Pfeil zwar nicht in der GUi gefunden…. aber ich habe per SSH den KNX Adapter nachgeladen..
Hat aber auch nicht geholfen....
Gesendet von meinem F5321 mit Tapatalk `
Über die Adapter Seite eine alte Version installieren einfach das + drücken und 0.8.6 installieren und dann updaten. `
Gesendet von meinem F5321 mit Tapatalk
-
Hallo @all,
ich habe soeben die Version 1.0.17 online gestellt.
Änderungen:
- durch die Möglichkeit des Adapters Statusadressen abzufragen, sind mitunter einige Gateways ausgestiegen.
Grund: per Script ist es möglich in kurzer Zeit relativ viele Anfragen zu generieren. Diese werden über den Adapter an das Gateway weitergereicht.
zu Beachten ist hierbei: KNX-TP kann nur 9600Baud. Das heisst, wenn z.B. jede Sekunde 100Pakete angestellt werden, so können diese
NIE abgearbeitet werden. Aus diesem Grund:
- Paketratenbegrenzung. Sie dient der Aufrechterhaltung der KNX Verbindung. Dabei werden angestellte Pakete in eine Queue eingereiht und dann mit
"Paketrate" pro Sekunde abgearbeitet. Also alles was weniger als 50 Pakete pro Sekunde sind => kein Problem, ansonsten Verzögerung aber kein
Absturz des Gateway mehr. Apropos Gateway:
- Einige User nutzen den knxd. Wie bereits festgestellt wurde, nicht unbedingt einfach in der Anwendung. Habe da auch einige Modifikationen
vorgenommen, so das es auch stabiler laufen sollte.
Soweit in diesem Sinne….viel Spass beim Testen.
Achja...über feedback würde ich mich ebenfalls wieder freuen.
VG
chefkoch009
-
Hallo Chefkoch,
Ich habe eine allgemeine Frage zum Import:
Was muss man beachten, wenn man einen Datenpunkt mit der Rolle Switch importieren möchte?
Meine Gruppenadressen haben alle DPT1.001, die Objekte werden aber alle mit der Rolle Level angelegt.
Ich Habe im Thread gelesen dass sich dies schon mehreren aufgefallen ist, eine Lösung konnte ich aber nicht finden
Viele Grüße
-
Vielleicht hilft in dem Zusammenhang auch eine Auflistung der einzelnen Typen mit der entsprechenden Beschreibung dazu, wozu der Typ gehört und was er kann.
Kann da jemand eine Grundlage schaffen, die Chefkoch009 dann ergänzen, klarstellen oder korrigieren kann?
-
Hallo,
@KNXbroker: welche Flags sind in der ETS bei dem entsprechenden KO gesetzt? Wie sehen die raw Daten dazu bei dir im ioBroker aus?
@Micheagle: Diese Auflistung habe ich bereits. Anhand dieser verarbeite ich die Datenpunkte. Ich muss das halt "nur" umsetzen. Dabei ergibt sich aber folgendes: Für:
-
DPT1.x : 1-Bit ist klar => boolean
-
DPT2.x : 2-Bit mit diskreter Darstellung: entweder
a) int 0-3
b) string "0,0" oder "0,1" oder "1,0" oder "1,1"
c) als array [0,1] ….
d) als object {val1: 0, val2:1}
-
DPT3.x : 4-Bit [Bit3: boolean, Bit2-0: unsigned Integer] ….
-
DPT4.x : 8-Bit type string => string
-
DPT5.x : 8-Bit unsigned Int => number
...
.) DPT10.x : 3-Byte (TimeOfDay) als string, als Objekt, als array ?
.) DPT11.x 3-Byte (Date) als string, als Objekt, als array ?
...
.) DPT24.x: beliebig lang, Typ single char pro byte, als string, als Objekt, als array?
.....
und so weiter und so fort.
Wie sollen die Werte im ioBroker repräsentiert werden?
VG
chefkoch009
-
-
Ich hatte die Vorstellung, dass „level“, „switch“ etc. Aufgelistet und dann bspw. den Datenpunkten zugeordnet wird.
Also bspw. :
Switch: DTP 1.1 - DTP1.23 Lampe binär schalten
Level: DTP 5.1 - Lampe dimmen (dimmwert (prozentual/absolut) vorgeben)
usw.
Das geht natürlich auch anders herum wie bei dir.
DTP 1.1 switch Lampe binär schalten.
DTP 5.1 level Lampe dimmen …
-
Hallo,
ich bin heute Mal auf die neue Version umgestiegen. Ich nutze noch lange die Version 0.8.3 da ich mit den neueren immer Probleme hatte. Die aktuelle Version läuft jedoch gut. Mit ist nur etwas aufgefallen, Temperaturen und luxwerte kommen bei mir als DTP 9 und sind im Gegensatz zur 0.8.3 alle um den Faktor 100 zu groß. Statt 20 Grad habe ich nun 2000 Grad. Gibt es da noch einen Bug?
-
Hallo Fuchs1978,
Da liegen Galaxien zwischen den Versionen. Schicke mal bitte die RAW Information zu einem Betroffenen datenpunkt.
VG
chefkoch009
-
Ja, da hast du vollkommen recht. Allerdings liefen die folgenden Versionen immer nicht zuverlässig da habe ich einige Zeit ausgesetzt und habe heute mal wieder einen Versuch gestartet. Mit dem genannten Problem, deshalb ist aktuell auch die 0.8.3 wieder bei mir aktiv.
Beide sind in der Version 1.0.17 um den Faktor 100 größer als in der Version 0.8.3, wobei die Werte in der Version 0.8.3 korrekt sind.
{ "common": { "name": "Helligkeitswert Ankleide", "type": "number", "role": "value", "desc": "DPT-9", "read": true, "write": true }, "native": { "address": "2/0/14", "addressRefId": "P-06C0-0_GA-62", "statusGARefId": "", "actGARefId": "" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "knx.0.Beleuchtungssteuerung_EG.Beleuchtungswerte.Helligkeitswert_Ankleide", "type": "state" }
oder
{ "from": "system.adapter.admin.0", "ts": 1520472199262, "common": { "name": "Temperatur Ist ", "type": "number", "role": "value.temperature", "desc": "DPT-9", "unit": "°C", "min": 0, "max": 30, "read": true, "write": false, "custom": { "history.0": { "enabled": true, "changesOnly": false, "debounce": "1000", "maxLength": 5, "retention": "31536000", "changesRelogInterval": "60", "changesMinDelta": 0 } }, "smartName": { "de": "Temperatur Diele", "smartType": "THERMOSTAT" } }, "native": { "address": "6/2/0", "addressRefId": "P-06C0-0_GA-167", "statusGARefId": "", "actGARefId": "" }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "knx.0.Heizungssteuerung_EG.Diele.Temperatur_Ist_", "type": "state" }
-
Hi chefkoch,
ich habe heute nochmal rumgespielt, komme aber auf keinen grünen Zweig.
Die Rolle des dazugehörigen Statusobjekts wird ordnungsgemäß auf "Indikator" gesetzt.
Habe auch mal ein neues KNX Projekt angelegt –> das gleiche Verhalten
Hier die RAW Daten des Schaltobjekts:
{ "_id": "knx.0.Neue_Hauptgruppe.Neue_Mittelgruppe.Schalten_2", "type": "state", "common": { "name": "Schalten 2", "type": "boolean", "read": false, "write": true, "role": "level", "min": 0, "max": 1 }, "native": { "dpt": "DPT1.001", "address": "0/0/3", "addressRefId": "P-04FF-0_GA-3", "statusGARefId": "P-04FF-0_GA-4", "actGARefId": "" }, "from": "system.adapter.knx.0", "ts": 1534536889462, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Egal welche Flags ich beim Schaltobjekt setzte –> es bleibt bei "Value". Habe verschiedene Kombinationen ausprobiert:
Viele Grüße
-
Hallo,
@fuchs1978: (als ich Deinen Eintrag gelesen habe, wollte ich fast schreiben, das das normale Werte sind, wenn man auf der Sonne wohnt, hab es dann aber sein gelassen, weil es unprofessionell ist ). Nun zum Problem.
inzwischen hat sich auch etwas an der Objektstruktur selbst getan.
so sollte es etwa aussehen:
{ "from": "system.adapter.knx.0", "ts": 1526332253957, "common": { "name": "Deckenlicht dimmen Wert", "type": "number", "role": "level", "min": 0, "max": 100, "read": false, "write": true }, "native": { "dpt": "DPT5.001", "address": "10/4/14", "addressRefId": "P-096C-0_GA-886", "statusGARefId": "P-096C-0_GA-887", "actGARefId": "" }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "knx.0.Schalten_Dimmen.dimmen_Wert.Deckenlicht_dimmen_Wert", "type": "state" }
Bei Dir kann es nicht richtig ausgewertet werden, weil
-
die property "desc" in "common" nicht mehr existiert diese ist nämlich
-
nach "native" gewandert und heisst nun "dpt"
ich habe diese Änderung damals durchgeführt, weil "desc" nicht das aussagt, was es tut. Weiterhin wird der Eintrag unter "dpt" seit Version 1.0.0 gemäss der KNX-Konventionen aufgelöst. Dazu zählt unter anderem die Resolution. Als einfaches Beispiel sei hier der DPT5.xxx als 1Byte Wert angeführt. Das entspricht Werten zwischen 0-255. Nehmen wir nun DPT5.001 (DPT_Scaling) dann geht dieser von 0-100, DPT5.003(DPT_Angle) von 0-360. Somit müssen die Werte mittels einer Resolution umgerechnet werden, aus diesem Grund ist es auch wichtig die richtigen Datenpunkttypen in der ETS zu setzen.
Konkret in deinem Fall für einen Helligkeitswert wäre das: 'DPT9.004':
DPT_Name: 'DPT_Value_Lux',
unit: 'Lux',
resolution: 0.01,
range: {min: 0, max: 670670}
Dabei ist die Resolution 0,01 was wiederrum genau Deinem Faktor 100 entspricht.
@KNXbroker: Warum hat der Schaltausgang ein "L" Flag? Damals (…in den guten alten Zeiten...) als es noch keine KO's für die Rückmeldungen gab, musste man das so machen. Normaler Weise hat ein Schalt-KO die Flags K und S. Und das Status-KO die Flags K, L, Ü. Danach wird die Zuordnung während des Importes gemacht.
VG
chefkoch009
-
-
Vielen Dank für deine Antwort. Ich werde das bei Gelegenheit Mal in den Objekten per hand anpassen und den dpt einfügen. 9.004 für Lux, hast du da Mal eine Übersicht oder wie wäre er für Temperaturen?
Die Resolution erkennt er dann anhand 9.00x oder muss ich diese noch irgendwo eintragen?
Ich nutze die ets 3, daher habe ich kein knxproj. Deshalb die Frage nach der händischen Anpassung. Ets 3 wirft leider nur eine CSV aus .
-
Hallo fuchs1978,
Hier [<link_text text="https://www.google.de/url?sa=t&source=w ... ZdkIL/[url">https://www.google.de/url?sa=t&source=web&rct=j&url=http://www.sti.uniurb.it/romanell/Domotica_e_Edifici_Intelligenti/110504-Lez10a-KNX-Datapoint%20Types%20v1.5.00%20AS.pdf&ved=2ahUKEwi-qOKjl_bcAhXM2KQKHTz5AacQFjAAegQIBRAB&usg=AOvVaw28O5p5U1vHPsVQyx7ZdkIL/[url</link_text>] findest du alle Datenpunkttypen die der Adapter unterstützt.
VG
chefkoch009](<URL url=)[" target="_blank">[https://www.google.de/url?sa=t&source=w … ZdkIL/url] findest du alle Datenpunkttypen die der Adapter unterstützt.VG
chefkoch009](<URL url=)
-
Danke und die Nachkommastellen sollten dann auch automatisch funktionieren?