Szene in der ETS über openHAB ansteuern
-
- Beiträge: 138
- Registriert: 6. Okt 2019 13:20
Re: Szene in der ETS über openHAB ansteuern
HI Udo,
ja die gehen an. Und die Jalousien fahren runter runter.
Allerdings nicht via openhab "taster"
ja die gehen an. Und die Jalousien fahren runter runter.
Allerdings nicht via openhab "taster"
-
- Beiträge: 138
- Registriert: 6. Okt 2019 13:20
Re: Szene in der ETS über openHAB ansteuern
Hallo zusammen,
hat jemand noch eine Idee was hier falsch läuft?
Jalousien fahren herunter aber die Lichter bei Aufruf Szene Fernsehabend gehen nicht an.
Item:
sitemap:
hat jemand noch eine Idee was hier falsch läuft?
Jalousien fahren herunter aber die Lichter bei Aufruf Szene Fernsehabend gehen nicht an.
Code: Alles auswählen
Thing device TasterHauseingang "Taster Hauseingang" @ "KNX" //[address="1.1.12", fetch=false, pingInterval=600, readInterval=300]
{
Type number : Temperatur_FlurEG "Temperatur Flur EG" [ ga="9.001:4/0/1" ]
Type number-control : Leave_Home "Leave Home" [ ga="17.001:6/1/1" ] // Szene Fersehabend
Type number-control : Leave_Home "Leave Home" [ ga="17.001:6/1/0" ] // Szene Sonnenschutz
}
Item:
Code: Alles auswählen
Number Szene "Leave Home [%d]" <jalousie> (EG_Flur) {channel="knx:device:bridge:TasterHauseingang:Leave_Home"}[/quote]
sitemap:
Code: Alles auswählen
Text label="Szenen" icon="party" {
Selection item=Szene label="Leave Home" mappings=[0="Fernsehabend", 1="Sonnenschutz 50%"]
}
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Szene in der ETS über openHAB ansteuern
Kann ich nicht nachvollziehen, bei mir funktioniert die Szenensteuerung exakt so.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 424
- Registriert: 6. Mär 2019 11:19
Re: Szene in der ETS über openHAB ansteuern
Dürfen denn die Beiden Type number-control gleich heißen ?
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Szene in der ETS über openHAB ansteuern
Oh. Nein, das darf natürlich nicht sein.
Komplett übersehen...
Jede Bridge eines Addons muss einen eindeutigen Namen haben.
Jedes Thing innerhalb einer Bridge muss einen eindeutigen Namen haben.
Jeder Channel innerhalb eines Thing muss einen eindeutigen Namen haben.
Eigentlich logisch, sonst könnnte man die beiden Channel ja nicht unterscheiden...

Jede Bridge eines Addons muss einen eindeutigen Namen haben.
Jedes Thing innerhalb einer Bridge muss einen eindeutigen Namen haben.
Jeder Channel innerhalb eines Thing muss einen eindeutigen Namen haben.
Eigentlich logisch, sonst könnnte man die beiden Channel ja nicht unterscheiden...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 2
- Registriert: 11. Jan 2023 19:13
Re: Szene in der ETS über openHAB ansteuern
Hallo, der Beitrag ist zwar nicht mehr der neuste, ich hätte aber trotzdem eine Frage die hier gut rein passt.
Ich habe ebenfalls ein KNX System, von welchem ich die Szenennummer zu Openhab 3 übertage und auch wieder zurück, um Licht etc. zu schalten. Mit dem Trick hier dpt 17.001 zu verwenden funktioniert es vom Prinzip auch. Von Openhab zu KNX geht es Problemlos, allerdings habe ich ein kleiens Problem von KNX zu Openhab. Ich möchte hier über eine Regel die Szenennumer auswerten, um andere Aktionen am Server zu schalten (zum Beispiel Musik an). Wenn ich das Signal von Openhab aus schicke funktioniert die Regel auch, wenn das Signal allerdings von KNX aus kommt funktioniert es nicht.
In der Karaf console sind die Nummern auch unterschiedlich dargstellt. Wenn es von Openahb kommt ist es immer eine Ganze zahl, kommt es von der KNX Seite, ist es immer eine Zahl mit.0 am Ende, siehe Beispiel unten.
Änderung durch KNX Schalter: Item Item 'KNXGeraete_OGBadLichtSzene' changed from 1.0 to 2.0
Änderung durch Openhab Schalter: Item 'KNXGeraete_OGBadLichtSzene' changed from 1.0 to 2
Könnte hier das Problem mit der Regel liegen und wenn ja, wie kann ich das Signal in Openhab so interpretieren, dass hier keine Nachkommastelle vorhanden ist?
Zur Info hier die Regel:
Vielen Dnak schon mal für die Hilfe.
Ich habe ebenfalls ein KNX System, von welchem ich die Szenennummer zu Openhab 3 übertage und auch wieder zurück, um Licht etc. zu schalten. Mit dem Trick hier dpt 17.001 zu verwenden funktioniert es vom Prinzip auch. Von Openhab zu KNX geht es Problemlos, allerdings habe ich ein kleiens Problem von KNX zu Openhab. Ich möchte hier über eine Regel die Szenennumer auswerten, um andere Aktionen am Server zu schalten (zum Beispiel Musik an). Wenn ich das Signal von Openhab aus schicke funktioniert die Regel auch, wenn das Signal allerdings von KNX aus kommt funktioniert es nicht.
In der Karaf console sind die Nummern auch unterschiedlich dargstellt. Wenn es von Openahb kommt ist es immer eine Ganze zahl, kommt es von der KNX Seite, ist es immer eine Zahl mit.0 am Ende, siehe Beispiel unten.
Änderung durch KNX Schalter: Item Item 'KNXGeraete_OGBadLichtSzene' changed from 1.0 to 2.0
Änderung durch Openhab Schalter: Item 'KNXGeraete_OGBadLichtSzene' changed from 1.0 to 2
Könnte hier das Problem mit der Regel liegen und wenn ja, wie kann ich das Signal in Openhab so interpretieren, dass hier keine Nachkommastelle vorhanden ist?
Zur Info hier die Regel:
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
state: "2"
type: core.ItemStateChangeTrigger
- id: "4"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
state: "1"
type: core.ItemStateChangeTrigger
conditions:
- inputs: {}
id: "5"
configuration:
itemName: OG_Bad_Radio_EINAUS
state: OFF
operator: =
type: core.ItemStateCondition
actions:
- inputs: {}
id: "2"
configuration:
command: ON
itemName: OG_Bad_Radio_EINAUS
type: core.ItemCommandAction
- inputs: {}
id: "3"
configuration:
command: "20"
itemName: OG_Bad_Radio_Volume
type: core.ItemCommandAction
- udo1toni
- Beiträge: 15248
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Szene in der ETS über openHAB ansteuern
Ja, das ist ein bekanntes Problem. Du kannst das so nicht lösen, die simple when-then-but=only=if-Variante ist dazu nicht universell genug.
Der Punkt ist, openHAB interpretiert leider 17.001 ankommend als Float-Wert (das ist natürlich verkehrt).
Außerdem "glaubt"
openHAB, es bestünde ein Unterschied zwischen 1 und 1.0, und zwar groß genug, um das nicht als Trigger zu werten.
Du könntest nun beide Schreibweisen angeben:
oder einfach nur einen allgemeine Trigger verwenden
und dafür als Action Code verwenden, der die "richtigen" Werte herausfiltert, z.B. als Rule-Code:
Den But-only-if Teil brauchst Du dann nicht, das erledigt der Code mit.
Der Punkt ist, openHAB interpretiert leider 17.001 ankommend als Float-Wert (das ist natürlich verkehrt).
Außerdem "glaubt"

Du könntest nun beide Schreibweisen angeben:
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
state: "2"
type: core.ItemStateChangeTrigger
- id: "2"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
state: "2.0"
type: core.ItemStateChangeTrigger
- id: "3"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
state: "1"
type: core.ItemStateChangeTrigger
- id: "4"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
state: "1.0"
type: core.ItemStateChangeTrigger
...
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: KNXGeraete_OGBadLichtSzene
...
Code: Alles auswählen
actions:
- inputs: {}
id: "2"
configuration:
type: application/vnd.openhab.dsl.rule
script: |-
var nScene = 0
if(newState instanceof Number)
nScene = (newState as Number).intValue
if((nScene == 1 || nScene == 2) && OG_Bad_Radio_EINAUS.state == OFF) {
OG_Bad_Radio_EINAUS.sendCommand(ON)
OG_Bad_Radio_Volume.sendCommand(20)
}
type: script.ScriptAction
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 2
- Registriert: 11. Jan 2023 19:13
Re: Szene in der ETS über openHAB ansteuern
Hallo udo1toni,
danke für den Hinweis, dann mache ich es über den "Umweg" und nehme jede Änderung als Trigger und schreibe dann in den Code alles rein.
danke für den Hinweis, dann mache ich es über den "Umweg" und nehme jede Änderung als Trigger und schreibe dann in den Code alles rein.