Seite 1 von 2
Main UI - Selection Item für Wohnraumlüftung
Verfasst: 12. Feb 2021 19:36
von int5749
Hallo zusammen,
ich habe derzeit ein Selection Item um meinen Lüftungsaktor mit einem Item zu schalten, anstatt 2 einzelne Schalter. Der Lüftungsaktor hat entsprechend gegeneinander verriegelte Kanäle.
Items
Code: Alles auswählen
Group Ventilation
Group eVentilation "Umluft" <fan> ["HVAC"] //Semantic
Number Ventilator "Lüftung Stufe [%d]" <fan> (eVentilation) ["Point"] //added to Semantic
Switch VentAktor1 "Lüftung Stufe 1" (Ventilation) {channel="knx:device:bridge:ABBLF:ch1"} //Level 1 and OFF
Switch VentAktor2 "Lüftung Stufe 2" (Ventilation) {channel="knx:device:bridge:ABB:LFch2"} //Level 2 and OFF
Rule
Code: Alles auswählen
rule "update Ventilator"
when
Member of Ventilation changed
then
if (VentAktor1.state==ON) {
Ventilator.postUpdate(1)
} else if (VentAktor2.state==ON) {
Ventilator.postUpdate(2)
} else {
Ventilator.postUpdate(0)
}
end
Sitemap
Nun versuche ich dies als Objekt in meiner Übersicht der Main UI einzubauen, verzweifle aber an den Items
Habt ihr so etwas schon einmal umgesetzt? Leider findet meinGoogle nichts :-/
Viele Grüße
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 14. Feb 2021 14:13
von merlindata
In der Sitemap nicht "Switch" sondern "Selection"

Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 14. Feb 2021 14:16
von int5749
merlindata hat geschrieben: ↑14. Feb 2021 14:13
In der Sitemap nicht "Switch" sondern "Selection"
Danke, aber ich möchte dies ja nicht in der Sitemap darstellen, bzw. dort habe ich das bereits und funktioniert auch als Switch mit den Mappings.
Dort ist es dann alles drei nebeneinander, bei einer Selection wäre es dann als drop-down.
Ich möchte dies ja in den OH3 Pages darstellen. Entweder als Selection oder gerne auch als Mapping Item. So das ich die drei Stufen in einem Item abgebildet habe

Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 14. Feb 2021 15:32
von udo1toni
Da schaltest Du aber nichts. Du hast da nur eine Rückmeldung.
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 14. Feb 2021 17:38
von int5749
udo1toni hat geschrieben: ↑14. Feb 2021 15:32
Da schaltest Du aber nichts. Du hast da nur eine Rückmeldung.
Aus meinen Pages (hier Standorte und dann die Küche)
kueche.PNG
Und dort versuche ich eine Zeile für die Umluftsteuerung einzubauen (OFF - Stufe 1 - Stufe 2)
In meiner Sitemap sieht dies so aus
lueftung.PNG
Viele Grüße
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 14. Feb 2021 23:32
von udo1toni
Deine Rule triggert auf ein change eines Members der Gruppe Ventilation, in der die beiden Switch Items VentAktor1 und VentAktor2 zusammengefasst sind.
Die Rule wertet die beiden Aktoren aus und wählt in Abhängigkeit der verschiedenen Schaltstellungen einen der Werte 0 1 oder 2 für das Number Item Ventilator.
Du hast jedoch keine Rule (gezeigt?), welche in Abhängigkeit des Number Items Ventilator die beiden Aktorkanäle wie gewünscht schaltet.
Für die gewünschte Darstellung habe ich momentan keine Idee (was natürlich daran liegt, dass ich mich nicht intensiv mit OH3 auseinander setze

)
Eine Möglichkeit wäre die Stepper Card. Man kann Minimum, Maximum und Schrittweite bestimmen und erhält zwei Knöpfe für + und - sowie die Anzeige der Stufe.
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 15. Feb 2021 13:03
von int5749
udo1toni hat geschrieben: ↑14. Feb 2021 23:32
Du hast jedoch keine Rule (gezeigt?), welche in Abhängigkeit des Number Items Ventilator die beiden Aktorkanäle wie gewünscht schaltet.
Stimmt, Mist. Dachte es wäre nur die eine Rule, die ich mitgesendet hatte.
Anbei die fehlende Rule
Code: Alles auswählen
rule "Set Ventilator"
when
Item Ventilator changed
then
if ((Ventilator.state as DecimalType).intValue == 0) {
Ventilation.members.filter(f|(f.state == (ON))).forEach[ v|
v.sendCommand(OFF)
logInfo("Ventilation", "{} has been switched off", v.label)
]
} else if ((Ventilator.state as DecimalType).intValue == 1) {
VentAktor1.sendCommand(ON)
logInfo("Ventilation", "{} has been switched on", VentAktor1.label)
} else if ((Ventilator.state as DecimalType).intValue == 2) {
VentAktor2.sendCommand(ON)
logInfo("Ventilation", "{} has been switched on", VentAktor2.label)
}
end
Eine Stepper Card wäre eine Option, wobei ich dann ja von 2 erst wieder über 1 müsste um abzuschalten :-/
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 15. Feb 2021 17:22
von udo1toni
Jetzt kommt eine gemeine Frage... Wie ist es denn nun tatsächlich geschaltet? Aktor 1 schaltet Stufe 1, Aktor 2 schaltet Stufe 2, was passiert, wenn beide Aktoren auf ON stehen? Denn Deine Rule kümmert sich nicht darum, zuerst über Stufe 0 alle abzuschalten.
Eine weitere Alternative zur Stepper Card könnte noch eine List Card sein. Du kannst dort "beliebige" Listenpunkte anlegen und "beliebige" Funktionen hinterlegen. In Deinem Fall gäbe es dann drei Listenpunkte, die die Lüfterstufen symbolisieren und jeweils in das gewünschte Item den Wert schreiben.
Sieht dann so aus:
Screenshot 2021-02-15 173110.png
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 15. Feb 2021 19:14
von int5749
udo1toni hat geschrieben: ↑15. Feb 2021 17:22
Jetzt kommt eine gemeine Frage... Wie ist es denn nun tatsächlich geschaltet? Aktor 1 schaltet Stufe 1, Aktor 2 schaltet Stufe 2, was passiert, wenn beide Aktoren auf ON stehen? Denn Deine Rule kümmert sich nicht darum, zuerst über Stufe 0 alle abzuschalten.
Aber das macht doch der Part
Code: Alles auswählen
if ((Ventilator.state as DecimalType).intValue == 0) {
Ventilation.members.filter(f|(f.state == (ON))).forEach[ v|
v.sendCommand(OFF)
logInfo("Ventilation", "{} has been switched off", v.label)
]
Es gibt ja nur 1 Aktor

und es ist entwweder Kanal 1 oder Kanal 2 aktiv, und mit dem o.g. wird der aktive Kanal ermittelt und abgeschaltet. 0 ist somit "schalte aktiven Kanal ab"
udo1toni hat geschrieben: ↑15. Feb 2021 17:22
Eine weitere Alternative zur Stepper Card könnte noch eine List Card sein. Du kannst dort "beliebige" Listenpunkte anlegen und "beliebige" Funktionen hinterlegen. In Deinem Fall gäbe es dann drei Listenpunkte, die die Lüfterstufen symbolisieren und jeweils in das gewünschte Item den Wert schreiben.
Das schaue ich mir mal an, Danke.
Re: Main UI - Selection Item für Wohnraumlüftung
Verfasst: 15. Feb 2021 21:07
von int5749
Natürlich habe ich die List Card nicht so einfach hinbekommen (OH3 ist leider nichts mehr zum einfach zusammenklickern)
Nach ein wenig google habe ich ein Widget gefunden, welches ich für meine Bedürfnisse anpassen konnte.
Ergebnis:
umluft.PNG
Im Prinzip funktioniert dies , aber was mir noch fehlt ist:
- Anzeige/Hinterlegung des aktiven Items
- Ein Icon vor dem ganzen, als Lüfter
Code des Widget (falls jemand Interesse hat)
Code: Alles auswählen
uid: Ventilation
tags: []
props:
parameters:
- description: Air Circulation Control
label: Description
name: Title
required: false
type: TEXT
timestamp: Feb 15, 2021, 8:57:17 PM
component: f7-card
config:
outline: false
noBorder: true
padding: false
noShadow: false
style:
--f7-safe-area-right: 0
--f7-safe-area-left: 0
slots:
content:
- component: f7-row
config:
class:
- padding-top
- padding-bottom
- padding-right
slots:
default:
- component: f7-col
slots:
default:
- component: oh-button
config:
title: Off
action: command
actionItem: Ventilator
actionCommand: "0"
iconF7: shield_slash
iconColor: black
text: Off
- component: f7-col
slots:
default:
- component: oh-button
config:
title: Stufe 1
action: command
actionItem: Ventilator
actionCommand: 1
iconF7: shield_lefthalf_fill
iconColor: green
text: Stufe 1
- component: f7-col
slots:
default:
- component: oh-button
config:
title: Stufe 2
action: command
actionItem: Ventilator
actionCommand: 2
iconF7: shield_fill
iconColor: green
text: Stufe 2
Quelle des Widget