Ankündigung

Einklappen
Keine Ankündigung bisher.

Anfänger: HomeMatic Taster einbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Anfänger: HomeMatic Taster einbinden

    Hallo!

    Ich möchte mich kurz vorstellen. Ich bin Timo und habe mich vor kurzem entschieden mein Haus zu automatisieren. Zum Anfang habe ich mir ein paar Homematic Komponenten gekauft (Dimmer: HM-LC-Dim1T-FM, 4er Funktaster: HM-PBI-4-FM & Funk-Fenster-Drehgriffkontakt: HM-Sec-RHS)

    Der Dimmer funktioniert auch super! In Items habe ich folgendes:
    Code:
    Dimmer Light_Esstisch "Esstischlicht [%d %%]" <slider> {homematic="address=LEQ0991381, channel=1, parameter=LEVEL"}
    ...und erstmal simpel per Slider in die Sitemap eingebunden:
    Code:
    Slider item=Light_Esstisch
    Coole Sache! Auch meine Sonos, meinen Yamaha Receiver und meine Philips hue Lampen kann ich über openHAB steuern. Ich bin echt begeistert! Vielen Dank, dass ihr dieses Projekt auf die Beine gestellt habt! :-)

    Mir ist also klar, wie ich über openHAB etwas steuern kann. Nur wie frage ich etwas ab? In meinem Fall den 4er Funktaster (HM-PBI-4-FM) um z.B. eine Philips hue Lampe zu steuern?

    Der Taster kann laut meiner CCU2 zwischen "Kurzer Tastendruck" und "Langer Tastendruck" unterscheiden. Toll wäre es doch, wenn der "Kurze Tastendruck" zwischen AN/AUS wechselt und ich mit einem "Langen Tastendruck" die Philips hue dimmen könnte.

    Kann mir jemand bei meinen Anfängen auf die Sprünge helfen?

    Vielen herzlichen Dank!

    #2
    Ich habe selbst weder Homematic noch Hue, aber in der Theorie...

    Da die Hue ja nicht direkt mit homematic angesteuert werden kann, musst Du in openHAB ein Item für den Taster anlegen. Welche Art Item Du dafür nimmst, musst Du halt schauen (evtl. kannst Du ein Dimmer-Item nutzen, wenn der Taster seine Infos entsprechend raus gibt), zur Not tun es auch mehrere Switch-Items für lang/kurz.
    Ein Item für die Hue hast Du wohl ohnehin schon, so dass dann nur noch eine Rule fehlt, die die Eingaben auf dem einen Item auf die Hue weiter leitet.
    Es könnte auch sein, dass Homematic direkt Schalt- und Dimmbefehle an openHAB ausgibt, dann könnte es reichen, dem Hue-Item einfach noch das zweite Binding mit anzuhängen, also
    Code:
    ... {hue="...",homematic=".."}
    wobei die Hue ja nicht nur An/Aus und heller/dunkler kennt, aber mit Rule und mehreren Items geht's auf jeden Fall.

    Kommentar


      #3
      Hallo Udo,

      du sprichst genau mein Problem an: Du musst in openHAB ein Item für den Taster anlegen. Welche Art Item Du dafür nimmst, musst Du halt schauen.

      Genau! Wie dieses Item aussehen muss weiss ich leider nicht. Der HM-PBI-4-FM ist als Supported Device aufgeführt, nur finde ich nirgends ein Beispiel.

      Ich denke meine Idee ist ein häufiges Bespiel für die Kombination verschiedener Peripheriegeräte. Kai Kreuzer zeigt hier ja z.B. auch wie eine hue Lampe mit einem EnOcean Switch gesteuert wird. (ist zwar eine Vorschau auf openHAB 2.0, das Prinzip sollte jedoch auch bei 1.6.2 funktionieren.)

      Ich habe HomeMatic gewählt, weil ich dachte, dass dies ein günstiges und häufig verwendetes System ist. Gibt es den keinen, der HomeMatic Sensoren, wie z.B. den HM-PBI-4-FM verwendet, und mir sagen kann, wie er abzufragen ist?

      Ich hoffe auf eure Starthilfe!

      Vielen Dank,
      Timo

      Kommentar


        #4
        Ich habe gestern auch diesen Sensor eingebaut. Hier ist meine Konfiguration. Pass es entsprechend an:

        Nicht erreichbar:
        Switch HM_WZi_Sofa_Taster_Unreach "WZi 4-Fach Taster [MAP(signal_status.map):%s]" <signal> (g_HM_Signal) {homematic="address=IEQ0095584, channel=0, parameter=UNREACH"}

        Batterie leer:
        Switch HM_WZi_Sofa_Taster_LowBattery "WZi 4-Fach Taster [MAP(batterie_status.map):%s]" <signal> (g_HM_Signal) {homematic="address=IEQ0095584, channel=0, parameter=LOWBAT"}

        Kanal 1:
        Switch HM_WZi_Sofa_Taster_Kanal_1 "Wohnzimmer Taster Kanal 1" {homematic="address=IEQ0095584, channel=1, parameter=PRESS_SHORT"}
        Kanal 1 (Langer Druck):
        Switch HM_WZi_Sofa_Taster_Kanal_1_lang "Wohnzimmer Taster Kanal 1" {homematic="address=IEQ0095584, channel=1, parameter=PRESS_LONG"}

        Kanal 2:
        Switch HM_WZi_Sofa_Taster_Kanal_2 "Wohnzimmer Taster Kanal 2" {homematic="address=IEQ0095584, channel=2, parameter=PRESS_SHORT"}
        Kanal 2 (Langer Druck):
        Switch HM_WZi_Sofa_Taster_Kanal_2_lang "Wohnzimmer Taster Kanal 2" {homematic="address=IEQ0095584, channel=2, parameter=PRESS_LONG"}

        Kanal 3:
        Switch HM_WZi_Sofa_Taster_Kanal_3 "Wohnzimmer Taster Kanal 3" {homematic="address=IEQ0095584, channel=3, parameter=PRESS_SHORT"}
        Kanal 3 (Langer Druck):
        Switch HM_WZi_Sofa_Taster_Kanal_3_lang "Wohnzimmer Taster Kanal 3" {homematic="address=IEQ0095584, channel=3, parameter=PRESS_LONG"}

        Kanal 4:
        Switch HM_WZi_Sofa_Taster_Kanal_4 "Wohnzimmer Taster Kanal 4" {homematic="address=IEQ0095584, channel=4, parameter=PRESS_SHORT"}
        Kanal 4 (Langer Druck):
        Switch HM_WZi_Sofa_Taster_Kanal_4_lang "Wohnzimmer Taster Kanal 4" {homematic="address=IEQ0095584, channel=4, parameter=PRESS_LONG"}

        Kommentar


          #5
          Hallo Sivarupan!

          Genau sowas hab ich gesucht! Danke! Mir war nicht klar, dass ich für jeden Status einen eigenen Switch anlegen muss. Ich dachte, ich binde den HM-PBI-4-FM einmal ein und frage dann den Status ab.

          Okay, soweit so gut. Wenn ich jetzt kontrollieren möchte, ob die Signale ankommen, dann müsste das doch über ein simples Text Item in der Sitemap funktionieren, oder?

          Ich hab das jetzt so in die Sitemap eingebunden:

          Code:
          Frame label="Funktaster" {
          	Text item=HM_Kue_4fach_Taster_Unreach
          	Text item=HM_Kue_4fach_Taster_LowBattery
          	Text item=HM_Kue_4fach_Taster_Kanal_1
          	Text item=HM_Kue_4fach_Taster_Kanal_1_lang
          	Text item=HM_Kue_4fach_Taster_Kanal_2
          	Text item=HM_Kue_4fach_Taster_Kanal_2_lang
          }
          Für die Items Unreach und LowBattery erhalte ich die Rückgabe "OFF" bei den anderen vier Einträgen ändert sich auch durch drücken nichts.

          Ich wollte, bevor ich mich an die Rules mache, testen, ob die Signale auch von der CCU2 am openHAB ankommen.

          Hast du nochmal einen Tipp für mich?

          Kommentar


            #6
            Hallo, auf die Gefahr hin, dass ich langsam nerve, ich möchte es einfach lernen. Also ich habe jetzt folgendes in den Items:

            Code:
            Switch HM_Kue_4fach_Taster_Unreach "Küche 4-Fach Taster [MAP(signal_status.map):%s]" <signal> (g_HM_Signal) {homematic="address=LEQ1002608, channel=0, parameter=UNREACH"}
            Switch HM_Kue_4fach_Taster_LowBattery "Küche 4-Fach Taster [MAP(batterie_status.map):%s]" <signal> (g_HM_Signal) {homematic="address=LEQ1002608, channel=0, parameter=LOWBAT"}
            Switch HM_Kue_4fach_Taster_Kanal_1 "Küche Taster Kanal 1" {homematic="address=LEQ1002608, channel=1, parameter=PRESS_SHORT"}
            Switch HM_Kue_4fach_Taster_Kanal_1_lang "Küche Taster Kanal 1 lang" {homematic="address=LEQ1002608, channel=1, parameter=PRESS_LONG"}
            ...und das hier in der Sitemap:
            Code:
            Frame label="Funktaster" {
            	Switch item=hue1
            	Text item=HM_Kue_4fach_Taster_Unreach
            	Text item=HM_Kue_4fach_Taster_LowBattery
            	Text item=HM_Kue_4fach_Taster_Kanal_1
            	Text item=HM_Kue_4fach_Taster_Kanal_1_lang
            	Text item=HM_Kue_4fach_Taster_Kanal_2
            	Text item=HM_Kue_4fach_Taster_Kanal_2_lang
            }
            ...und mich mit folgender Rule versucht:
            Code:
            [B][COLOR="DarkRed"]rule [/COLOR][/B]"[COLOR="Blue"]Taster 1 kurz[/COLOR]"
            	[B][COLOR="DarkRed"]when[/COLOR][/B]
            	[B][COLOR="DarkRed"]Item [/COLOR][/B]HM_Kue_4fach_Taster_Kanal_1 [B][COLOR="DarkRed"]changed[/COLOR][/B]
            	[B][COLOR="DarkRed"]then[/COLOR][/B]
            	sendCommand(hue1, HSBType::[COLOR="blue"][I]GREEN[/I][/COLOR])
            end
            Mit dem Switch item=hue1 in der Sitemap kann ich die hue ein und ausschalten. Über die Rule funktioniert es nicht. Auch bekommen ich auf die Text Items keine Response. Das liegt aber möglicherweise auch daran, dass ich die Variablen noch nicht richtig verstanden habe.

            Gebt ihr mir noch etwas Anschub?

            Kommentar


              #7
              Ganz so einfach ist es nicht. Es sind Taster. Das bedeutet, dass Switch-Items nur kurz den Ein-Zustand einnehmen. Es sollte also so schnell vom Aus-Zustand in den Ein-Zustand und dann wieder in den Aus-Zustand wechseln, dass du es auf der GUI nicht sehen kannst. Den Switch als String anzuzeigen hilft dir nicht weiter. Entweder du schaust in die Logdatei oder machst eine Regel und läst es irgendwas machen, was für dich sichtbar ist.

              Ich heute noch ein kleines Problem gehabt. Wenn den physischen Taster betätigt habe, kam es nicht in OpenHAB an. Wenn ich aber den Taster über die GUI der CCU2 getätigt hatte, funktionierte alles. Beim Googlen hab ich was gefunden. Der Übertragungsmodus darf nicht auf "Gesichert" stehen. Es muss auf Standard eingestellt sein. Das muss man für alle vier Kanäle einstellen:

              https://code.google.com/p/openhab-ho...pportedDevices

              Es bezieht sich aber auf das alte Homematic Binding. Jedenfalls, nachdem ich es in der CCU2 umgestellt hatte, funktionierte alles. Irgendwie gefällt mir das nicht. Ich schau mal, ob es wirklich daran gelegen hat.

              Deine Regel würde ich noch minimal anpassen, denn sonnst wird es 2 mal ausgeführt.

              rule "Taster 1 kurz"
              when
              Item HM_Kue_4fach_Taster_Kanal_1 changed to ON
              then
              sendCommand(hue1, HSBType::GREEN)
              end

              Dass für die Items Unreach und LowBattery ein OFF angezeigt wird, ist merkwürdig. Ich würde vermuten, dass die Adresse falsch oder nicht korrekt angepasst wurde. Die Adresse mus von meinem Beispiel für jedes Switch Item angepasst werden. Hast du das gemacht?

              Gruß
              Siva

              Kommentar


                #8
                Hey Siva!

                Danke, so langsam wird es! Hier mal etwas Logfile:

                Code:
                2015-02-23 19:01:02.273 [INFO ] [runtime.busevents             ] - HM_Kue_4fach_Taster_Kanal_1 state updated to ON
                2015-02-23 19:01:02.859 [WARN ] [.c.i.events.EventPublisherImpl] - given command is NULL, couldn't send command to 'hue1'
                2015-02-23 19:01:05.009 [INFO ] [runtime.busevents             ] - HM_Kue_4fach_Taster_Kanal_1 state updated to OFF
                Also der Event kommt bei openHAB an, wenn ich auf der HomeMatic GUI den Taster drücke. Wenn ich den physischen Taster betätige, habe ich das gleiche Problem wie du. Nach dem Umstellen von "Gesichert" auf "Standard" in der HomeMatic GUI kommen auch hier die Signale bei openHAB an.

                Jetzt scheint der Taster also zu funktionieren. Bleibt die Frage, warum die hue nicht auf sendCommand reagiert?

                Ich habe beide Vorschläge aus dem Hue Binding probiert, also:

                Code:
                rule "HM_Kue_4fach_Taster_Kanal_1"
                when
                		Item HM_Kue_4fach_Taster_Kanal_1 changed to ON	
                	then
                		var DecimalType hue = new DecimalType(120) // 0-360; 0=red, 120=green, 240=blue, 360=red(again)
                		var PercentType sat = new PercentType(100) // 0-100
                		var PercentType bright = new PercentType(100) // 0-100
                		var HSBType light = new HSBType(hue,sat,bright)
                		sendCommand(hue1, light)
                end
                und:

                Code:
                rule "HM_Kue_4fach_Taster_Kanal_1"
                when
                		Item HM_Kue_4fach_Taster_Kanal_1 changed to ON	
                	then
                		sendCommand(hue1, HSBType::GREEN)
                end
                Beides kommt jedoch mit der Rückmeldung:

                Code:
                given command is NULL, couldn't send command to 'hue1'
                Kann mir jemand sagen, wo hier der Fehler in meiner Rule liegt?

                Nochmals vielen herzlichen Dank! :-)

                Kommentar


                  #9
                  Ich wollte eigentlich schreiben, dass man das Item vom Typ Color den Befehl schicken muss. So habe ich es jedenfalls gemacht. Aber im Beispielcode aus dem Wiki wird der Befehl an das Switch-Item geschickt. Das scheint wohl auch zu gehen.

                  Kannst du die Hue-Lampe über die GUI von OpenHAB bedienen?

                  Kommentar


                    #10
                    Ja, das geht. Direkt über die openHAB GUI kann ich meine hue steuern.

                    Kommentar


                      #11
                      Hey Siva du bist klasse!

                      Du hattest Recht! Über das Item Color funktioniert der Farbwechsel !!!!

                      Danke! Danke! Danke!

                      Kommentar


                        #12
                        Gern.

                        Man sollte den mal Beispielcode korrigieren.

                        Kommentar


                          #13
                          Habe ich angepasst. (LINK)

                          Kommentar


                            #14
                            Ich hab den Beispielcode innerhalb der Hue Binding Anleitung noch etwas ausgebaut. Hier der Vergleich zur Vorgängerversion: Compare und Final

                            Ausserdem wollte ich auch meinen kleinen Beitrag leisten und habe das Erlernte in den Sample Tricks abgelegt:

                            How to turn ON and OFF a Philips Hue with HomeMatic pushbutton

                            Vielen Dank nochmal für die Hilfe!

                            Kommentar


                              #15
                              Hallo
                              Ich bin noch blutiger Anfänger mit Openhab und Homematic.
                              Ich möchte einen Homematic Funk Schaltaktor ( 103029) einbinden. Dazu hab ich in den Items einen Switch definiert.
                              Code:
                              Switch Wohnzimmerlicht "Licht Wohnzimmer" {homematic="adress=XXXXXXXX,channel=1,parameter=STATE"}
                              Dazu hab ich noch eine Regel definiert.
                              rule "Wohnzimmerlicht an"
                              when
                              item Wohnzimmerlicht changed from 0 to 1
                              then
                              Wohnzimmerlicht.sendCommand(ON)
                              end.
                              Kann mir jemand einen Tipp geben, was ich noch brauche. In der Sitemap hab ich den Switch natürlich ergänzt. Wird auch angezeigt, aber beim Wechsel zwischen 0 und 1 passiert nicht.
                              Vielen Dank im voraus

                              Kommentar

                              Lädt...
                              X