Zitat von K1rk
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
OBS - ein neuer Player in der Serverlandschaft?
Einklappen
X
-
Challenge accepted.. dann schau ich mal was für LBS ich in Edomi nutze..Zitat von abeggled Beitrag anzeigenDaher hier nochmals der Aufruf, was für Funktionsblöcke, LBS oder wie ihr die Dinger auch benennt fehlen euch?
Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.
Kommentar
-
Danke für die Vorschläge. Folgende sind adressiert und werden asap umgesetzt:- Oszillator : ein Wert wird zyklisch für eine bestimmte Anzahl oder Zeit mehrfach wiederholt
- String - Suchen/Ersetzen : Ersetzt in einem String einen Wert
- Hostcheck: das Gegenstück zum WOL. Um zu Checken ob ein Rechner an/aus ist (Ping)
- Einfache Ausgangsbox, die Werte (in voller länge darstellt)
Zuletzt geändert von abeggled; 26.06.2026, 17:47.Gruss Daniel
Kommentar
-
Ich meinte: Bspw eine Matter Steckdose mittels in KNX GA zu steuern. Also wie 1home es bspw macht.Zitat von abeggled Beitrag anzeigenDie OBS Objekte wirst du via Matter anzeigen/steuern können, so ist der Plan. Bidirektional in diesem Kontext wäre ja eher, dass der OBS analog Apple Home und Co agieren würde also er andere Dinge steuert? Das wäre nach aktueller Planung nicht vorgesehen/möglich.
Kommentar
-
Wir werden die Möglichkeiten im Rahmen der Umsetzung prüfen. Danke für das Anwendungsbeispiel.Zitat von K1rk Beitrag anzeigenIch meinte: Bspw eine Matter Steckdose mittels in KNX GA zu steuern. Also wie 1home es bspw macht.Gruss Daniel
- Likes 1
Kommentar
-
Was an Logik auf jeden Fall gebraucht wird ist die Beschattung von starwarsfan.
Gerade diese Tage wieder Gold wert.
Wie sieht es aus mit spezielleren Dingen wie bspw. Lyrion Music Server? Ist dafür native Unterstützung geplant? Oder muss man damit den Umweg über HA o.ä. gehen?
- Likes 1
Kommentar
-
Ich kann mir vorstellen, dass diese über diesen Mechanismus zukünftig zur Verfügung stehen könnte: https://knx-user-forum.de/forum/%C3%...71#post2096371Zitat von mfd Beitrag anzeigenWas an Logik auf jeden Fall gebraucht wird ist die Beschattung von starwarsfan.
Ja, da ist die Idee, dies über 3rd Party zu machen. Die Kernkompetenz des OBS sind Standard-Protokolle und die REST API und die Adapter für HA und IOB in welchen "alle" Lösungen vorhanden und aktiv gepflegt werden.Zitat von mfd Beitrag anzeigenWie sieht es aus mit spezielleren Dingen wie bspw. Lyrion Music Server? Ist dafür native Unterstützung geplant? Oder muss man damit den Umweg über HA o.ä. gehen?Gruss Daniel
- Likes 3
Kommentar
-
Erster Eindruck: Eine seriöse Oberfläche. Kein Smartzeug Auto-Detect plus dein gesamtes Netzwerk inkl. Router und Drucker Auflistungs- und an Alexa Anbindungsversuche.
Das gibt Pluspunkte
Die meisten Einstellungen in der Oberfläche und dem Visu-Editor fühlen sich nach einem kurzen Test recht intuitiv an. Anlegen KNX-Interface, Import GA, scheint soweit auch funktioniert zu haben.
Der Visu-Editor verpackt alles in Widgets und Mini-Widgets, damit sollte man recht schnell zu einem Ergebnis kommen, ist aber in der Ausführung doch etwas eingeschränkt. Lässt sich bspw. ein Wert auch irgendwo ohne Widget anzeigen?
Die Funktionsweise von Grundriss/Schema und das freie Definieren von Bereichen habe ich noch nicht so recht verstanden. Ich könnte darüber einen Hintergrund festlegen und über Verlinkungen mit den Bereichen zu anderen Visu-Seiten eine Navigation basteln...?
Ist ein Grundriss später meine gesamte Anzeigefläche oder soll man mehrere davon zu einem Gesamtkonstrukt zusammen bauen?
Wenn ich nur einen Grundriss als Anzeigefläche nutze passt gefühlt nur sehr wenig Inhalt auf eine Seite. Für Mobilgeräte mag das passen, für eine große Visu in der Wand wäre das etwas schwierig vom Verhältnis Bildschirmgröße zu Inhalt.
Ein Test mit einem Rollladen-Widget lässt mich zwar die GAs für die Fahrbefehle festlegen, findet aber aus unerfindlichen Gründen die Status-GA nicht, so als wäre sie nicht mit importiert worden. Muss man da beim Import etwas beachten?
Ein in der Vergangenheit häufig diskutiertes Thema: "Haltezeit" beispielsweise beim Versenden von Schaltbefehlen/Dimmen von Licht. Wird das in der Visu berücksichtigt werden?
Meine Einschätzung ist, dass viele mit dem Widget-Aufbau zufrieden sein werden, so lange alle gewünschten Funktionen abgebildet werden können, andere aber die möglichst freie Gestaltung vorziehen würden. Bei EDOMI war letzteres der Standard, was einige - auch mangels Import/Export Funktion - vor Herausforderungen gestellt hat überhaupt eine Visu umzusetzen. Zusätzlich war ein Manko, dass alles pixelgenau vorgegeben werden musste und für neue Bildschirme viel Umbauarbeit erfordert hat.
Eine große Stärke aus EDOMI Zeiten war IMO die integrierte Anleitung/Hilfe. Gerade wenn man alle paar Monate etwas ändert und wieder Details vergessen hat ist das schneller zu finden als in jedem Online-Wiki und immer direkt verfügbar. Dass es für solche Wünsche noch (zu) früh ist ist aber klar.
Alles unter einen Hut zu bekommen, sofern das von Entwicklerseite überhaupt gewünscht ist, dürfte eine Herausforderung werden.
Ich drücke aber die Daumen.
- Likes 2
Kommentar
-
Hallo Marco
Vielen Dank für das Feedback, sehr interessant für uns! Bzgl. Visu sei an dieser Stelle zu ergänzen, dass das im Moment eine grössere Baustelle ist und sich dort noch sehr viel ändern wird. Wie schon geschrieben bitte gerne für Dir wichtige Details direkt Github-Issues aufmachen und möglichst genau beschreieben, worum es geht resp. wie es sein sollte. Gerade der Hinweis bzgl. der integrierten Hilfe ist ein sehr guter Punkt!Kind regards,
Yves
- Likes 2
Kommentar
-
Vielen Dank für deine Rückmeldungen.
Nein, prüfe doch ob das Objekt vorhanden ist und Typ passt. Falls ja, ist am Objekt das KNX Binding inkl. korrekter GA verknüpft?Zitat von mfd Beitrag anzeigenEin Test mit einem Rollladen-Widget lässt mich zwar die GAs für die Fahrbefehle festlegen, findet aber aus unerfindlichen Gründen die Status-GA nicht, so als wäre sie nicht mit importiert worden. Muss man da beim Import etwas beachten?
Das Thema Visu ist so eine Sache😊 Je nachdem woher du kommst (HS, EDOMI, Timberwolf Server, HA, ...) suchst du halt "deine" Visu im OBS.
Die wirst du mit grösster Wahrscheinlichkeit nicht finden und immer einen Kompromiss finden müssen.
Wenn du eine freie, pixelgenaue Visu für dich bauen möchtest, so ist dies durch die offenen Schnittstellen (API/Websocket) des OBS möglich.Gruss Daniel
Kommentar
-
Bezüglich der Logiken: ich besitze ja nun einen (mehrere) Timberwolfserver (TWS) ..... Die Logiken welche im TWS abrufbar sind finde ich zum Großteil sehr nützlich. Vielleicht kann man die ja auch in ein "OBS - kompatibles" Format "übersetzen" lassen?
Finde OBS sehr interessant und würde das gerne ausprobieren.
Anbei mal ein Beispiel (Dynamische Fensterbeschattung nach Sonnenstand).
Das ist ja per se eine ganz andere Art Logiken zu erstellen/ zu schreiben. Ich weiß nicht, ob es da eben o.g. Möglichkeit eines "Übersetzens" in OBS-Logikbausteine geben kann. Aber fragen wollte ich mal.PHP-Code:/** * Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter * https://wrgt.news/TOLL zum Download zur Verfügung steht.
* ============================================================
* DYNAMISCHE FENSTER-BESCHATTUNG NACH SONNENSTAND
* V1.2 - 03.05.2026 - Anpassungshinweise für andere Fenster ergänzt
* ============================================================
*
* BESCHREIBUNG:
* Berechnet anhand von Sonnenhöhe (Elevation) und Sonnenrichtung (Azimut)
* die exakte Rollladen-Position in Prozent. Die Logik berücksichtigt die
* reale Geometrie des Fensters: Je flacher die Sonne steht, desto weiter
* muss der Rollladen herunterfahren um denselben Schatten zu werfen.
* Beinhaltet eine Richtungssperre (Rollladen bleibt offen wenn Sonne
* hinter dem Haus steht) und nutzt eine gemessene Kalibrierungstabelle
* (Zentimeter Rollladen-Position zu Prozent).
*
* ============================================================
* ANPASSUNG FÜR EIN ANDERES FENSTER — NUR DIESE 4 DINGE ÄNDERN:
* ============================================================
*
* 1. FENSTER-AUSRICHTUNG (Azimut der Fenstermitte in Grad)
* Wo: $F_Divisor und die beiden Comparator-Konstanten
* Wert: Himmelsrichtung des Fensters als Grad (0=Nord, 90=Ost, 180=Süd, 270=West)
* Beispiele:
* Süd -> 180.0 (Konstanten: $Const90=90.0, $Const270=270.0)
* West -> 270.0 (Konstanten: $Const90=180.0, $Const270=360.0)
* Südwest -> 225.0 (Konstanten: $Const90=135.0, $Const270=315.0)
* Formel: Const_Links = Ausrichtung - 90, Const_Rechts = Ausrichtung + 90
*
* 2. FENSTERHÖHE (in Zentimeter)
* Wo: $Const205 UND in $F_Target (der erste Wert "205.0")
* Wert: Höhe der Glasfläche in cm (nicht Rahmen, nur Glas!)
* Beispiel: Fenster 150cm hoch -> $Const205=150.0, $F_Target="150.0 - (36.0 * ...)"
* WICHTIG: Wert muss an BEIDEN Stellen identisch geändert werden!
*
* 3. ABSTAND ROLLADEN ZUM FENSTER (in Zentimeter)
* Wo: $F_Target (der Wert "36.0")
* Wert: Vertikaler Abstand zwischen Rolladen-Oberkante und Fensterbank in cm
* Beispiel: Abstand 50cm -> "205.0 - (50.0 * (tan(X1 * 0.0174533) / X2))"
* Tipp: Messen wenn Rollladen komplett oben ist
*
* 4. KALIBRIERUNGSTABELLE (Zentimeter zu Prozent)
* Wo: Interpolation am Ende der Module-Liste
* Wert: Eigene Messungen — links=cm Position, rechts=% Rollladen
* So messen: Rollladen auf 10%, 20%, ... 100% fahren und jeweils
* Abstand Rollladen-Unterkante zur Fensterbank messen. * Format: [[cm_bei_0%, 0.0], [cm_bei_10%, 10.0], ... [cm_bei_100%, 100.0]]
*
* ============================================================
*
* EINGÄNGE:
* $I_Inhibit : Sperrt die Logik (TRUE = gesperrt, keine Updates)
* $I_Sun_Az : Sonnen-Azimut in Grad (z.B. 180.0 für exakt Süd)
* $I_Sun_El : Sonnen-Elevation in Grad (z.B. 38.1)
*
* AUSGÄNGE:
* $O_Position : Ziel-Position des Rollladens (0.0 bis 100.0 %)
*
* CHANGELOG: * V1.0 - 03.05.2026 - Initialversion
* V1.1 - 03.05.2026 - FIX: JSON Key-Duplikate entfernt, Formatierung
* nach Rule_82, Kommentare nach Rule_81
* V1.2 - 03.05.2026 - Anpassungshinweise für andere Fenster ergänzt.
* Kommentare an allen 4 Anpassungsstellen im Code * konkret beschriftet.
* ============================================================
*/
{
"_Meta": {
"Name": "Dynamische Beschattung Süd (180°)",
"Description": "Rollladen-Automatik nach Sonnenstand und Fenstertiefe",
"Version": "1.2",
"Autor": "Sören"
},
"Input": [
["Sperre / Inhibit", "Blockiert die Logikausführung bei TRUE", "$I_Inhibit", "u"],
["Sonnenrichtung (Azimut)", "Sonnenstand in Grad (0-360)", "$I_Sun_Az", "c"],
["Sonnenhöhe (Elevation)", "Höhenwinkel in Grad", "$I_Sun_El", "c"]
],
"Output": [
["Ziel-Position (%)", "Beschattungsposition des Rollladens", "$O_Position", "a"]
],
"Level": [
// --- EINGÄNGE ---
["$I_Inhibit", "bool", false],
["$I_Sun_Az", "float", 0.0],
["$I_Sun_El", "float", 0.0],
// --- AUSGÄNGE ---
["$O_Position", "float", 0.0],
// --- KONSTANTEN ---
["$Const0", "float", 0.0],
["$Const0_01", "float", 0.01], // Schutzwert gegen Division durch Null
["$Const1", "float", 1.0],
// ANPASSEN 1a: Untere Azimut-Grenze = Fensterausrichtung - 90
// Süd (180°) -> 90.0 | West (270°) -> 180.0 | Südwest (225°) -> 135.0
["$Const90", "float", 90.0],
// ANPASSEN 1b: Obere Azimut-Grenze = Fensterausrichtung + 90
// Süd (180°) -> 270.0 | West (270°) -> 360.0 | Südwest (225°) -> 315.0
["$Const270", "float", 270.0],
// ANPASSEN 2: Fensterhöhe in Zentimeter (nur Glasfläche, ohne Rahmen)
// WICHTIG: Denselben Wert auch in $F_Target ändern (der erste Wert "205.0")!
// Beispiel: 150 cm hohes Fenster -> 150.0
["$Const205", "float", 205.0],
// --- INTERN: GÜLTIGKEITSPRÜFUNG ---
["$Az_GT_90", "bool", false],
["$Az_GT_270", "bool", false],
["$El_GT_0", "bool", false],
["$Valid_Bool", "bool", false],
["$Valid_Int", "integer", 0],
// --- INTERN: MATHEMATIK ---
// ANPASSEN 1c: Fensterausrichtung in Grad (der Wert "180.0" in der Formel)
// 0=Nord, 90=Ost, 180=Süd, 270=West
// Beispiel Westfenster: "cos((X1 - 270.0) * 0.0174533)"
["$F_Divisor", "string,200", "cos((X1 - 180.0) * 0.0174533)"],
["$Divisor_Raw", "float", 0.0],
["$Divisor_Lim", "float", 0.0],
["$Lim_Ok1", "bool", false],
// ANPASSEN 2 + 3: Fensterhöhe und Abstand Rolladen-Oberkante zu Fensterbank
// Format: "FENSTERHOEHE - (ABSTAND * (tan(X1 * 0.0174533) / X2))"
// FENSTERHOEHE : Höhe der Glasfläche in cm -> hier: 205.0
// (muss identisch mit $Const205 sein!)
// ABSTAND : Rolladen-Oberkante zu Fensterbank in cm -> hier: 36.0
// Beispiel: 150 cm Fenster, 50 cm Abstand:
// "150.0 - (50.0 * (tan(X1 * 0.0174533) / X2))"
["$F_Target", "string,200", "205.0 - (36.0 * (tan(X1 * 0.0174533) / X2))"],
["$Target_Raw", "float", 0.0],
["$Target_Gated", "float", 0.0],
["$Target_Lim", "float", 0.0],
["$Lim_Ok2", "bool", false] ],
"Module": [
// 1. INHIBIT: Bricht Ausführung ab, wenn Sperre aktiv ist
["Break", ["$I_Inhibit"]],
// 2. PRÜFUNG: Steht die Sonne vor dem Fenster?
// Gültig wenn Azimut zwischen $Const90 und $Const270 (= Ausrichtung ± 90°)
// UND Elevation > 0 (Sonne über dem Horizont)
// -> ANPASSEN 1a+1b: $Const90 und $Const270 im Level-Block ändern
["Comparator", "$I_Sun_Az", "$Az_GT_90", "$Const90"],
["Comparator", "$I_Sun_Az", "$Az_GT_270", "$Const270"],
["Comparator", "$I_Sun_El", "$El_GT_0", "$Const0"],
// Valid = TRUE wenn Azimut > Const90 UND NICHT > Const270 UND Elevation > 0
["And", ["$Az_GT_90", "-$Az_GT_270", "$El_GT_0"], "$Valid_Bool"],
["BinaryMultiplexer", ["$Valid_Bool"], "$Valid_Int"],
// 3. MATHEMATIK TEIL 1: Winkelversatz zur Fenstermitte berechnen (Cosinus)
// -> ANPASSEN 1c: Fensterausrichtung in $F_Divisor im Level-Block ändern
["CalcFormula", ["$I_Sun_Az"], "$Divisor_Raw", "$F_Divisor"],
// Schutz vor Division durch Null (Cosinus = 0 wenn Sonne exakt seitlich)
["Limiter", "$Divisor_Raw", "$Divisor_Lim", "$Lim_Ok1",
["$Const0_01", "$Const1"]],
// 4. MATHEMATIK TEIL 2: Benötigte Rolladen-Position in Zentimeter
// -> ANPASSEN 2+3: Fensterhöhe und Abstand in $F_Target im Level-Block ändern
["CalcFormula", ["$I_Sun_El", "$Divisor_Lim"], "$Target_Raw", "$F_Target"],
// 5. SAFETY GATE: Bei ungültiger Sonnenposition -> 0.0 cm (Rollladen offen)
["Multiplexer", ["$Const0", "$Target_Raw"], "$Target_Gated", "$Valid_Int"],
// Begrenzung auf reale Fensterhöhe (0 bis $Const205 cm)
// -> ANPASSEN 2: $Const205 im Level-Block ändern
["Limiter", "$Target_Gated", "$Target_Lim", "$Lim_Ok2", ["$Const0", "$Const205"]],
// 6. ÜBERSETZUNG: Zentimeter -> Rollladen-Prozent (eigene Messtabelle)
// -> ANPASSEN 4: Eigene Messwerte eintragen
// Links = gemessene cm bei dieser Prozentstellung, Rechts = Prozent
// Messen: Rollladen auf 10%, 20%... fahren, Abstand Unterkante zu Fensterbank messen
["Interpolation", "$Target_Lim", "$O_Position", [
[0.0, 0.0], // 0% -> Rollladen ganz oben, 0 cm
[33.0, 10.0], // 10% -> 33 cm
[62.0, 20.0], // 20% -> 62 cm
[90.0, 30.0], // 30% -> 90 cm
[115.0, 40.0], // 40% -> 115 cm
[139.0, 50.0], // 50% -> 139 cm
[160.0, 60.0], // 60% -> 160 cm
[180.0, 70.0], // 70% -> 180 cm
[198.0, 80.0], // 80% -> 198 cm
[217.0, 90.0], // 90% -> 217 cm
[230.0, 100.0] // 100% -> Rollladen ganz unten, 230 cm
]]
]
}
Zuletzt geändert von jensgulow; 29.06.2026, 12:02.Viele Grüße Jens
Kommentar
-
Moin in die Gruppe!
Da ist man mal ein paar Wochen nicht im Forum und schon glänzt ein neuer Stern am Severhimmel ;-) Ich habe mir die Demo angeschaut und bin sehr begeistert! Schon nach dieser kurzen Zeit ist das System schon sehr weit wie ich finde. Respekt allen, die daran arbeiten! Wie schon hier mehrfach angesprochen, hoffe ich für euch, dass ihr euch nicht vom Druck im Forum entmutigen lasst!
- Likes 3
Kommentar
-
Danke für deinen Input Jens
Für Custom Logiken wird es eine Lösung geben https://knx-user-forum.de/forum/%C3%...71#post2096371Zitat von jensgulow Beitrag anzeigenBezüglich der Logiken: ich besitze ja nun einen (mehrere) Timberwolfserver (TWS) ..... hier empfiehlt sich ja nun über die nächste Zeit ein Umstzen der funktionen auf ein anderes System. Die Logiken welche im TWS abrufbar sind finde ich zum Großteil sehr nützlich.
Ob eine Übersetzung dieser 'Pseudo-Programmiersprache' möglich sein wird, ist zu prüfen.
Falls dir Funktionsblöcke fehlen, lieste sie gerne hier im Post oder noch besser, direkt in dieser github Diskussion auf: FB Wunschliste. · abeggled/openbridgeserver · Discussion #874Gruss Daniel
Kommentar
-
Keine Angst, das steigert höchstens die Motivation und es ja auch viel konstruktives dabei 👍Zitat von mwKNX Beitrag anzeigenWie schon hier mehrfach angesprochen, hoffe ich für euch, dass ihr euch nicht vom Druck im Forum entmutigen lasst!Gruss Daniel
Kommentar


Kommentar