openHAB 2 mit Alexa

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Benutzeravatar
Romanow23
Beiträge: 11
Registriert: 4. Jun 2017 10:21

openHAB 2 mit Alexa

Beitrag von Romanow23 »

Guten Tag,

ich habe mir die Mühe gemacht von Openhab 1.8 auf Openhab 2.0 umzusteigen.

Der Hauptgrund warum ich es gemacht habe, war ein Amazon Echo den ich geschenkt bekommen habe.

Aktuell kann ich folgendes Steuern und Messen
4x 433Mhz Funksteckdosen -> Licht Wohnzimmer -> Fernseher im Wohnzimmer -> Fernseher im Schlafzimmer -> Verstärker.
1x DHT22 Sensor am Rapsberrry für die Luftfeuchtigkeit in % und die Raumtemperatur in °C
2x Thermostate die ich per Openhab einstellen kann und die aktuelle Temperatur im Raum der jeweiligen Thermostate
2x Fensterkontakte im Schlaf & Wohnzimmer

Folgende Sprachbefehle werden per Alexa unterstützt.
- Licht an/aus
- Verstärker an/aus
- Fernseher an/aus
- Schlafzimmer Fernseher an/aus
- Wie ist die Wohnzimmertemperatur -> Die Ausgabe der Temperatur erfolgt in °C
- "Mach alles aus" -> Verstärker und Fernseher werden sofort abgeschaltet, das Licht mit 5 Sekunden Verzögerung. Der SAT-Receiver über den IR Sender in Standby gesetzt.

Rules
- Eine Wecker Rule der mir morgens meinen Verstärker einschaltet.
Wecker.png
basic UI
10.06.2017_3.png
Update: habpanel
HABPanel 15.06.2017.png
ToDo:
- Sprachausgabe TTS am Pi um Alexa Befehle geben zu können (Kopfhörer am Mikro neben dem Echo sollen reichen) Nicht möglich
- IR Sensor am PI um den Staubsaugerroboter, Verstärker & Fernseher schalten zu können. Fertig
- Hygrometer Luftfeuchtigkeit mit Alexa in % ausgeben. Geht noch nicht.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
alkaline
Beiträge: 173
Registriert: 20. Apr 2017 13:25

Re: openHAB 2 mit Alexa

Beitrag von alkaline »

Interessant, da muss ich mich auch noch kümmern drum. :roll:
Ich habe den Echo und lediglich items für die Thermostate angelegt, weiter bin ich noch nicht gekommen, aber der Wille ist da nur das Wetter ist so schön ;)

Mich würden deine items für Alexa interessieren, zumindest die "Mach alles aus" finde ich sehr spannend, da ich einen ähnlichen "Not aus" Schalter für alle Geräte habe, wenn z.B. Gewitter droht. Evtl. Magst du die betreffende Item teilen?

Marcus

Benutzeravatar
Romanow23
Beiträge: 11
Registriert: 4. Jun 2017 10:21

Re: openHAB 2 mit Alexa

Beitrag von Romanow23 »

alexa.items

Code: Alles auswählen

Switch Netflix "Filme" ["Switchable"]
Switch ALLOFF "Alles" ["Switchable"]
Switch SKY "SKY" ["Switchable"]
Switch SKY_Verstaerker "Verstärker auf den Fernseher" ["Switchable"]
Switch Verstaerker_für_Musik "Verstärker auf Musik" ["Switchable"]
alexa.rules

Code: Alles auswählen

rule "ALLES AUS"
  when
	Item ALLOFF received command
  then
     if(receivedCommand == OFF){
		 executeCommandLine("/srv/openhab2-conf/scripts/ir_remote.sh /root/SONY_BR_Player.conf KEY_POWER",5000)
	 	 executeCommandLine("/srv/openhab2-conf/scripts/ir_remote.sh /root/SKY_FB2.conf KEY_POWER",5000)
		Thread::sleep(1000)	
		sendCommand(Power_Plug_Socket_D, OFF)
		Thread::sleep(300)		// Bei u vielen Befehlen schalten die Funksteckdosen nicht richtig, deshalb etwas Zeitverzögerung (300ms).
		sendCommand(Power_Plug_Socket_A, OFF) 
		Thread::sleep(5000)		// 5 Sekunden Ausschaltverzögerung um es noch bis ins Schlafzimmer zu schaffen  ;) 
		sendCommand(Power_Plug_Socket_B, OFF) 
   	 } 
	else{
	sendCommand(Power_Plug_Socket_D, ON)
		Thread::sleep(300)		
		sendCommand(Power_Plug_Socket_B, ON) 
		Thread::sleep(300)		
		sendCommand(Power_Plug_Socket_C, ON) 
	 executeCommandLine("/srv/openhab2-conf/scripts/ir_remote.sh /root/SONY_BR_Player.conf KEY_POWER",5000)
	 Thread::sleep(5000)	
	 executeCommandLine("/srv/openhab2-conf/scripts/ir_remote.sh /root/SKY_FB2.conf KEY_DVD",5000)
	 }
end

Benutzeravatar
alkaline
Beiträge: 173
Registriert: 20. Apr 2017 13:25

Re: openHAB 2 mit Alexa

Beitrag von alkaline »

Vielen Dank.
ich habe nunmehr gleich zwei Dinge eingebaut, einen "Notaus" bei Gewitter, welcher mir alle Geräte (bei welchen es Sinn macht) abschaltet als auch eine Nachtschaltung, beides auch mit Alexa. ;)
items:

Code: Alles auswählen

Group gNacht_Alexa "Nachtschaltung" (Whg)
//Alexa Nachtschaltung: alle Geräte aus
Switch Nachtschaltung "Nachtschaltung" <emergencyswitch> (gNacht_Alexa) ["Switchable"] 
nachtschaltung.rules:

Code: Alles auswählen

//var Timer startdelay = null // Timer 
val String filename = "nachtschaltung.rules"

rule "Nachtschaltung ein"
	when
		Item Nachtschaltung received command ON
	then
			//delay.sendCommand(ON)
    		//startdelay = createTimer(now.plusMinutes(1), [| delay.sendCommand(OFF)])
			WZ_Sonoff.sendCommand(OFF) // Fernseh ausschalten
			KU_AVM.sendCommand(OFF) // Mikro Küche ausschalten
			EZ_Sonoff.sendCommand(OFF) // Radio ausschalten
			BR2_Sonoff.sendCommand(OFF) // Büro ausschalten
			BD_Waschmaschine_State.sendCommand(if(BD_Waschmaschine_OpState.state != "MODE_OFF") ON else OFF) // WaMa ausschalten wenn Status "MODE_OFF"
			logInfo(filename, "Nachtschaltung an, Geräte aus " + now.toString)
end

rule "Nachtschaltung aus"
	when
		Item Nachtschaltung received command OFF
	then
		logInfo(filename, "Nachtschaltung aus, Geräte an " + now.toString)
      	BD_Waschmaschine_State.sendCommand(ON) // WaMa einschalten 
    	KU_AVM.sendCommand(ON) // Mikro Küche einschalten
    	EZ_Sonoff.sendCommand(ON) // Radio einschalten 
    	BR2_Sonoff.sendCommand(ON) // Büro einschalten 
    	BD_Waschmaschine_State.sendCommand(ON) // WaMa einschalten
    	// Fernseh wird in dieser Regel nicht eingeschaltet
    	logInfo(filename, "Nachtabschaltung aus Geräte ein: " + now.toString)
end
system.rules

Code: Alles auswählen

rule "01:00 Uhr immer Strom und WLAN weg"
when
	Time cron "0 0 1 ? * * *"
then
	 Nachtschaltung.sendCommand(ON) // Nachtschaltung ein
			logInfo(filename, "Nachtschaltung ein")
	end
	
rule "05:30 Uhr wochentags Strom und WLAN an"
when
	Time cron "0 30 5 ? * MON-FRI *"
then
	if (Nachtschaltung.state == ON){ // Nachtschaltung ist an
		Nachtschaltung.sendCommand(OFF) //schalte Nachtschaltung aus
		}
	else if
		(Nachtschaltung.state == OFF){ // Nachtschaltung ist (bereits) aus
		BD_Waschmaschine_State.sendCommand(if(Present.state == ON) ON else OFF) // WaMa einschalten wenn jemand zuhause
    	KU_AVM.sendCommand(if(Present.state == ON) ON else OFF) // Mikro Küche einschalten wenn jemand zuhause
    	EZ_Sonoff.sendCommand(if(Present.state == ON) ON else OFF) // Radio einschalten wenn jemand zuhause
    	BR2_Sonoff.sendCommand(if(Present.state == ON) ON else OFF) // Büro einschalten wenn jemand zuhause
    	// Fernseh wird in dieser Regel nicht eingeschaltet
    	logInfo(filename, "Geräte ein: " + now.toString)
    	}
end

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: openHAB 2 mit Alexa

Beitrag von StefanH. »

Sehr interessant. ein paar Fragen dazu:

1. Muss ich für die Anbindung an Alexa die openhab cloud nutzen?
2. Ich sehe in deiner Sitemap einen Wecker, ist der Alexa Wecker oder etwas anderes?

Danke und Gruß

Stefan

Antworten