Zitat von Micro1972
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
OBS - ein neuer Player in der Serverlandschaft?
Einklappen
X
-
Hallo OBS-Entwickler,
ich schaue mir aktuell Euren OpenBridgeServer (Nightly 32c74b2, in Proxmox auf einem NUC) etwas an und finde es beeindruckend, was Ihr bisher entwickelt habt - toll.
Im ersten Schritt würde ich den OBS dazu verwenden wollen, Informationen zwischen verschiedenen Welten (knx, onewire, mqtt) auszutauschen und ein paar Logiken einzubauen. owserver bzw. ein separater, externer mosquitto laufen bereits auf einem anderen PC und sind per Adapter in OBS eingebunden.
An einer Stelle stehe ich jedoch etwas auf dem Schlauch und bitte um Hilfestellung.
Aufgabe: Ein Onewire-Sensor liefert eine Temperatur, die auf eine KNX-GA und in ein MQTT-Topic geschrieben werden soll.
Unabhängig vom Lesezyklus des OneWire-Adapters soll der letzte Wert stets per MQTT-Topic und in der KNX-GA zur Verfügung stehen.
Ich hätte daher gedacht, dass bei dem OBS-Objekt bei den Adapter-Verknüpfungen folgende Eigenschaften sinnvoll sind:
Onewire: "direction": "SOURCE
MQTT: "direction": "DEST", "retain": true
KNX: "direction": "DEST", "respond_to_read": true
Damit wäre m.E. klar, dass OBS die Hoheit über den aktuellen Wert hat, diesen vom Onewire-Adapter liest und bei Änderung auf den MQTT- und KNX-Adapter schreibt.
MQTT-seitig wäre der letzte Wert wegen des Retain-Flags jederzeit lesbar.
KNX-seitig hätte ich erwartet, dass ich mit dem Flag "respond_to_read": true erreichen kann, dass der Wert jederzeit per KNX-Leseanfrage vom OBS erfragt werden kann. Leider ist es mir jedoch nicht möglich, dieses Flag "Antworte auf Leseanfragen "im Frontend zu setzen , wenn als Richtung "Schreiben (to adapter)" gewählt ist, da dann diese Checkbox nicht sichtbar ist.
Natürlich könnte ich im KNX-Binding die Richtung "BOTH" setzen, um die "Antwort auf Leseanfragen" auch anhaken zu können. Dies würde es jedoch erlauben, die Temperatur auch über KNX zu setzen, was in diesem Szenario nicht gewünscht ist.
Daher möchte ich fragen, wie bei einem Datenpunkt zu verfahren ist, über den der OBS durch den OneWire-Adapter die Hoheit hat und der nur zur KNX-Adresse bzw. MQTT-Topic geschrieben werden soll?
Vielen Dank, Alex
PS: Ein noch einfacheres Szenario mit derselben Fragestellung ergibt sich, wenn über MQTT Werte von Datenpunkten empfangen werden und diese einfach nach KNX weiter gereicht werden sollen, von dort jedoch nicht geändert werden können.
Kommentar
-
Naja das KO muss auch Direction Source sein, weil sonst kann auch die Leseanfrage selbst nicht am virtuellen KO ankommen.Zitat von Alex Beitrag anzeigenDies würde es jedoch erlauben, die Temperatur auch über KNX zu setzen, was in diesem Szenario nicht gewünscht ist.
Mal schauen ob man da an der Adaptereinstellung noch etwas ändern kann, sodass ein Source-KNX-Objekt nur als Eingang für Leseanfragen genutzt wird und kein eingehender Datenwert dann in den OBS durchgereicht wird.
Bis dahin es dennoch so einrichten mit BOTH und halt in der ETS ganz normal darauf achten das es eben nur ein KO im Projekt gibt (jenes des OBS), welches für diese GA effektiv Werte sendet und alle anderen KOs nur Empfänger sind. Den Fehler kann Dir der OBS nicht verhindern, das noch wer anderes mit der GA Datenwerte auf den Bus sendet.
Ist das gewollt und nur der OBS soll diese anderen Werte nicht abnehmen, dann sind es meines Erachtens auch nicht die selben Daten-Informationen (Temperaturen) und es sollten nicht die selben GA benutzt sein.
Wenn der Satz so schon fertig ist, ist es ja kein Problem, nur wenn da noch ein "sollen" ans Ende gehört und der OBS das regeln soll, dann ja ist es vergleichbar. Ansonsten wenn kein anderes Gerät am KNX mit der GA Datenwerte sendet ist es ja egal das der OBS potentielle Datenwerte via dem virtuellen KO mit der GA entgegennehmen kann.Zitat von Alex Beitrag anzeigenEin noch einfacheres Szenario mit derselben Fragestellung ergibt sich, wenn über MQTT Werte von Datenpunkten empfangen werden und diese einfach nach KNX weiter gereicht werden sollen, von dort jedoch nicht geändert werden können.
Am besten ist es dafür einen Issue aufzumachen.
Du wünscht Dir also ein virtuelles KO das der Funktion der Flag-kombination K,L,Ü entspricht, du aber derzeit nur K,Ü oder K,S,L,Ü eingestellt bekommst?Zuletzt geändert von gbglace; 08.08.2026, 20:04.----------------------------------------------------------------------------------
"Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
Albert Einstein
- Likes 1
Kommentar
-
Hallo gbglace,
hab vielen Dank, für Deine Antwort.
Ja, ich denke das fasst mein Anliegen gut zusammen.Zitat von gbglace Beitrag anzeigenDu wünscht Dir also ein virtuelles KO das der Funktion der Flag-kombination K,L,Ü entspricht, du aber derzeit nur K,Ü oder K,S,L,Ü eingestellt bekommst?
Probehalber habe ich mal in ein leeres ETS-Projekt einige Geräte eingefügt und finde die Kombination KLÜ tatsächlich bei diversen Kommunikationsobjekten, wie etwa Messwerten von Wetterstationen, Spannungsversorgungen, Tasterschnittstellen und Status-Objekten von Schaltaktoren. Die Kombination KLÜ scheint also nicht ganz ungewöhnlich zu sein.
Um dieses Verhalten nachzubilden, wäre es meiner bescheidenen Meinung nach sinnvoll, wenn man bei der KNX Adapter-Verknüpfung eines Objekts als 'direction: "DEST"' (Ü) und 'respond_to_read: true' (L) setzen könnte.
Dies hätte m.E. folgende Vorteile:
1. Sendet ein anderes KNX-Gerät *fälschlicherweise* auf der GA einen Wert, dann würden die anderen KNX-Geräte diesen Wert zwar erhalten, aber zumindest die interne Repräsentation im OBS (der ja eigentlich die Hoheit über die Information haben soll) würde nicht beeinflusst.
2. Es würde verhindern, dass eventuell verknüpfte Logiken innerhalb des OBS angestossen und ggf. weitere Aktionen ausgelöst werden.
3. Auf der Details-Seite des Objekts im Frontend würde man bei den "Adapter-Verknüpfungen" auf einen Blick sehen, dass der Wert von Onewire gelesen und auf KNX und MQTT nur geschrieben wird.
Ok, so werde ich es erst einmal machen, hab vielen Dank.Zitat von gbglace Beitrag anzeigenBis dahin es dennoch so einrichten mit BOTH...
Würde ein anderes KNX Gerät Werte auf einer solchen Gruppenadresse senden, so wäre das klar ein Konfigurationsfehler und ist natürlich nicht gewünscht.Zitat von gbglace Beitrag anzeigen...und halt in der ETS ganz normal darauf achten das es eben nur ein KO im Projekt gibt (jenes des OBS), welches für diese GA effektiv Werte sendet und alle anderen KOs nur Empfänger sind. Den Fehler kann Dir der OBS nicht verhindern, das noch wer anderes mit der GA Datenwerte auf den Bus sendet.
Ist das gewollt und nur der OBS soll diese anderen Werte nicht abnehmen, dann sind es meines Erachtens auch nicht die selben Daten-Informationen (Temperaturen) und es sollten nicht die selben GA benutzt sein.
In der ETS lässst sich dies zumindest für andere KNX-Geräte leicht kontrollieren. Sollten aber andere 'Steuerungsgeräte' an KNX hängen (bsp. EibPC, SmarthomeNG, o.ä.), dann ist ein solcher Fehler nicht ganz so leicht zu erkennen. Es sollte natürlich trotzdem nicht vorkommen, ist mir aber bei der Migration solcher Verknüpfungen von anderen Systemen zu OBS schon passiert.
Von daher wäre es hilfreich, wenn der OBS sich gegen diese ungewollten Wertänderungen schützen könnte (Punkt 1 und 2) und dies auch im Frontend leicht erkennbar wäre (Punkt 3).
Viele Grüße, Alex
- Likes 1
Kommentar
-
Hallo miteinander
Hier noch der Link zum Thread für das neue Release 2026.8.0. Weiterhin viel Spass mit dem OBS!
Kind regards,
Yves
- Likes 2
Kommentar
-
bissl umständlich und per Medienwechsel wäre es , wenn du die 1-wire Werte im TWS auf MQTT sendest und der OBS das per Subscription in sich aufnimmt.----------------------------------------------------------------------------------
"Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
Albert Einstein
Kommentar
-
Die Logikmodule sollten auf Github beschrieben sein, da der ganze OBS eine gut dokumentierte API hat >> Kippe der KI Deiner Wahl den TWS Code rein, und dazu das Repo vom OBS und dann baut dir die KI die Logik in den OBS.----------------------------------------------------------------------------------
"Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
Albert Einstein
Kommentar
-
ich fange gerade an etwas mit obs herumzuspielen. Ziel: edomi Ablösung.
Ich betreibe recht intensives Logging was edomi ja immer zerstört hat.
Parallel hab ich schon influx am laufen mit telegraf.
jetzt wollteich das logging zentral über obs machen, stelle aber fest dass dadurch in influx alles anonym ist.. ich will da eigentlich auch mit data explorer und grafana ran, aber ohne name und alles.. wie habt ihr euch das gedacht?
kein szeanrio für externen zugriff auf die history ?
Kommentar
-
Hallo miteinander
Die Logik-Engine wird im kommenden Release diverse Verbesserungen erfahren. Wer mag, kann gerne schonmal in den Releasenotes stöbern.
Kind regards,
Yves
- Likes 2
Kommentar
-
ich hab mich daran versucht meine PV Wechselrichter per Modbus TCP / Sunspec einzulesen.
Grundsätzlich geht das, aber die Vielzahl der Register, dynamische Skalierungen und das exzessive Logging wenn die WR Nachts aus sind sind nicht ideal.
Was haltet ihr von einem SunSpec Adapter ? Hier kann man dann "Bulk" einlesen, dynamische Skalierungen anwenden und auch die Nicht-Erreichbarkeit besser handhaben.
Generell - wie stellt ihr euch das bei contributions vor? Direkt den PR? Vorher absprechen? Mit wem? Wo?
Kommentar


Kommentar