Geräte in openHAB einbinden

Hallo zusammen,

ich versuche aktuell in openHAB diverse HM-Geräte einzubinden, anzuzeigen und zu bedienen. Unter anderem Tür-/Fensterkontakt, Bewegungsmelder, Dimmaktor und noch ein paar weitere. Mein Problem ist herauszufinden wie diese in openHAB angesprochen werden müssen.

/*Schaltaktor mit Leistungsmessung */
Number SFreq "Frequenz [%.1f Hz]"    (Energie)		  {homematic="address=LEQ1344920, channel=2, parameter=FREQUENCY"}
Number SSpan "Spannung [%.1f V]"     (Energie) 		  {homematic="address=LEQ1344920, channel=2, parameter=VOLTAGE"}
Number SStro "Strom [%.1f mA]"       (Energie) 		  {homematic="address=LEQ1344920, channel=2, parameter=CURRENT"}
Number SLeis "Leistung [%.1f Watt]"  (Energie) 		  {homematic="address=LEQ1344920, channel=2, parameter=POWER"}
Number SSumK "Summe KWH [%.1f Watt]" (Energie) 		  {homematic="address=LEQ1344920, channel=2, parameter=ENERGY_COUNTER"}
Switch SScha "Schaltaktor an/aus"	 (Energie, Licht) {homematic="address=LEQ1344920, channel=1, parameter=STATE"}

/*Dimmaktor */
Dimmer DimmaktorLevel		"Dimmaktor [%d %%]" 	<slider> 	(Licht)							{homematic="address=LEQ1321427, channel=1, parameter=LEVEL"}


/*Tür-/Fensterkontakt */
Number  Tuer "Tür [MAP(de.map):%d]" <contact>   (Alarm)    {homematic="address=MEQ1592484, channel=1, parameter=STATE"}

Einen Schaltaktor konnte ich bereits erfolgreich einbinden und bin mit der Bedienungsoberfläche, die in openHAB entsteht zufrieden. Für den Schaltaktor konnte ich allerdings auch eine Anleitung finden. Diese Anleitung beschränkte sich allerdings eben ausschließlich auf den Schaltaktor.

Gibt es irgendwo Anleitungen oder eine Übersicht für eine Vielzahl von HM-Geräten und deren Einbindung in openHAB? Schon allein für den Dimmer kann ich nichts brauchbares finden. Aktuell schaltet er ausschließlich zwischen 0% und 100%.
Nächstes Problem ist der Tür-/Fensterkontakt. Ich habe es geschafft dass offen/geschlossen angezeigt wird. Ist es davon unabhängig möglich stattdessen Symbole zu verwenden?

Ich mag openHAB und Homegear, aber Anleitungen zu finden (egal ob Deutsch/Englisch) ist mir bisher schwer gefallen.

Bisher wurde mir hier immer geholfen, wäre sehr dankbar über Tipps und Hilfen.

Viele Grüße,
Dennis

Hi @Dennis2,

etwas “löchrig” sind hier Geräte der verschiedenen Familien dokumentiert: https://www.homegear.eu/index.php/XML_RPC_Device_Reference

Am einfachsten ist es aber für dich, in dem du dir entweder die Gerätedefinition für Homematic anschaust oder über die homegear Konsole die Datenpunkte ausliest:

homegear -r
fs 0 
ds <id>
config print

Leider ist da nicht ganz ersichtlich welche Werte beschreibbar sind und welche nicht.

so long,
p

Hallo @pmayer ,

danke für die schnelle Antwort.

Ich habe mich mittlerweile etwas reingekämpft. Habe in den Demo-Rules eine Regel für den Dimmer gefunden. Bedeutet das tatsächlich, dass man selbst für den Dimmaktor eine eigene Regel erstellen muss damit das Bedienelement funktioniert und man nicht nur zwischen 0% und 100% schalten kann?

Aktuell versuche ich eine Regel zum Anschalten des Schaltaktors (“SScha”) zu erstellen. Mit "sendCommand(SScha, ON) geschieht aber nichts. Wie kann ich mit Regeln ein HomeMatic-Gerät schalten?

rule "Alarm"
when   
        Item Tuer changed from 0 to 1 or
        Item Bewe changed from 0 to 1
then   
        sendCommand(SScha, ON)
end

Und noch etwas Allgemeines zur Seitenstrukturierung. Ist es da sinnvoller Geräte hauptsächlich in der Sitemap anzulegen? Es scheint ja auch zu gehen indem man das Gerät in einer Gruppenstruktur einordnet, wozu also die Sitemap sehr groß machen?

Hmm,

man kann bei einem Setpoint auch eine Step-Value angeben: https://openhabdoc.readthedocs.io/de/latest/setpoint/ - wüsste also nicht wieso man da eine rule für haben sollte.

Bin aber mtwl nicht mehr auf openhab, deswegen fehlt mir dann ein wenig das “hands-on”.
Ich hatte meine komplette Wohnung immer in einer Sitemap und habe nur verschiedene .item-Dateien gehabt. Es werden ja alle Files geladen, die sich im entsprechenden Verzeichnis befinden.

//edit:
Du musst an das Item “senden”. Müsste mal ein paar alte Regeln von mir raus suchen…

SScha.sendCommand(ON) - ok, das war schon openhab2, sollte aber auch in 1 so funktionieren. Hier mal eine Rule aus meiner alten config:

rule "wzLampWindow"
when
 	Item wzButtonBottomShort changed from OFF to ON
then
  	if(wzRelay1Lamp.state.toString == "ON"){
 		wzRelay1Lamp.sendCommand(OFF);
 	} else {
 		wzRelay1Lamp.sendCommand(ON);
 	}
 
end

Schau auch mal hier rein: https://github.com/openhab/openhab/wiki/Samples-Rules und schau dir vor allem parallel immer das openhab log an, um zu wissen was passiert.

Danke, funktioniert nun!

Mein nächster Schritt ist nun, dass nur Alarm ausgelöst wird, wenn die Alarmanlage aktiviert ist:

rule "Alarm"
when   
	Item Tuer changed from 0 to 1 or
    Item Bewe changed from 0 to 1
then
	if(AlarmMod==1){
		SScha.sendCommand(ON)
	}
end

Und der nächste Schritt ist es den Alarm in der App anzuzeigen und eine E-Mail zu schicken. Ich versuche mich mal mit dem Link reinzuarbeiten und melde mich, falls es nicht klappt.

VIelen Dank @pmayer !

1 Like

Dazu kannst du dir auch mal Dienste wie pushover (o.Ä.) angucken. Ist ganz nett, einfach nen Push auf’s Handy zu bekommen - “schneller” als E-Mail. :wink:

Den Dienst habe ich schon gesehen. Ich erstelle allerdings eine Arbeit für die Hochschule und vergleiche mehrere System. Ich untersuche nur E-Mail, auch wenn eine Pushnachricht besser wäre. Ein wirklich lauffähiges System muss ich nicht aufbauen, aber ich muss verstehen und erklären können wie gut es funktioniert. OpenHAB kommt bei der Einsteigerfreundlichkeit leider nicht gut weg. Zwar ist das Forum hier wirklich klasse und bietet tolle Unterstützung, aber bei anderen Systemen ist es viel leichter gute Anleitungen zu finden.

@pmayer Ich hatte gehofft ich komme ohne Hilfe weiter.

if(AlarmMod==ON){
	SScha.sendCommand(ON)
}

Ich möchte den Schaltaktor nur schalten, wenn die Variable AlarmMod den Wert ON hat.
AlarmMod ist ein Switch item:

Switch	AlarmMod "Alarmanlage" <shield_2> (Alarm)

Bzw auf der Sitemap:

	Switch item=AlarmMod
	Switch item=AlarmMod label="Button Switch" mappings=[ON="On",OFF="Off"]

Die Rule scheint den Wert aber nicht auslesen zu können. Woran liegt das?

Du musst den state vergleichen, also AlarmMod.state==ON Alarmmod ist der Item, aber du möchste den Inhalt, also state.

Thomas

1 Like

Dann solltest du dir vielleicht auch node-red in Verbindung mit MQTT angucken :slight_smile:


AlarmMod ist das Item, du möchtest aber AlarmMod.state - siehe https://github.com/openhab/openhab/wiki/Samples-Rules#how-to-create-a-rule-which-only-executes-some-code-if-a-value-does-not-change-for-a-certain-period-of-time

Vielen Dank @dibbler42 und @pmayer mit .state klappt es nun.

Noch eine Sache:
Wie ist das mit dem Dimmaktor? In der App wird mir ein Slider bereitgestellt, der funktioniert und mit dem ich jeden beliebigen Wert schalten kann. In der WebUI kann ich mit den Pfeiltasten aber nur zwischen 0% und 100% hin- und herschalten.

Zum einen verstehe ich nicht, wieso in der App einfach der Slider angeboten wird, ich aber die WebUI scheinbar eine Rule benötige:

rule "Dimmaktor"
	when
		Item DimmLevelc received command
	then
		var Number percent = 0			
		if(receivedCommand==INCREASE) percent = percent + 5
		if(receivedCommand==DECREASE) percent = percent - 5

		if(percent<0)   percent = 0
		if(percent>100) percent = 100
		sendCommand(DimmLevelc, percent);
end

Diese funktioniert allerdings nicht.

Welche Version von openhab hast du? 1 oder 2?

Meines Wissens nach, gibt es in 1.8.x keinen Slider - nur in 2.x. Die App auf dem Telefon (iPhone) kann die - soweit ich mich erinnere - aber nicht darstellen.
Schmeißt du eventuell Doku für 1/2 durcheinander?

Was sagen die Jungs im openhab Forum zu deinen Fragen? Weil das hier ist ja recht homegear-unspezifisch?

Ich glaube 1.x
Habe das mit der Rule im Demofile entdeckt, den ich mir geladen habe. Ich meine der Demofile sei für 1.8.

Dann vergiss meinen Link, der ist für V2.x…

Das Item sollte meiner Meinung nach ein Number sein. In der Sitemap nimmst du dann Setpoint oder Slider (evtl nur in V2.x) um es darzustellen. Oder Text, wenn du nur die Prozentzahl anzeigen willst.

Kann ich irgendwie nachprüfen, welche Version ich habe?

Im Logfile in jedem Fall. Eventuell auch mit openhab -v - bin aber zu lange da raus… wie gesagt, kein “hands on”.

Du siehsts es in jedem Fall am aussehen der Oberfläche. Wenn es altbacken wirkt, ist es 1.x.

Ich muss aber leider noch mal anmerken, dass das hier leider nichts mit homegear speziell zu tun hat. Hast du hier schon mal geschaut? https://community.openhab.org/, evtl. hier https://community.openhab.org/c/setup-configuration-and-use/items-sitemaps, speziell hier https://community.openhab.org/t/slider-with-dimmer/6424?