Homematic in Loxone integrieren - Fensterkontakt

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • HeikoSch
    Smart Home'r
    • 26.09.2015
    • 35

    Homematic in Loxone integrieren - Fensterkontakt

    Hallo,

    ich bekomme meinen Homematic Fensterkontakt nicht in meiner Loxone Config abgebildet.

    Die Homematic CCU2 läuft bei mir über einen Raspy und ich habe alles nach dem HowTo Homematic in Loxone integrieren

    gemacht.

    Nur welchen Wert muss ich für den Fensterkontakt (Fenster offen/geschlossen) aus der CCU2 abgreifen? Und als virtuellen hhtp Eingang in der Loxone Config hinterlegen?

    Gruß

    Heiko
  • bastelbert
    LoxBus Spammer
    • 25.08.2016
    • 237

    #2
    Moin Heiko,

    bei mir schaut's in Homematic so aus:

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot at Okt. 19 22-52-02.png Ansichten: 1 Größe: 144,2 KB ID: 122553
    string url="http://User:Passwort@192.168.2.40/dev/sps/io/VI10/Ein";
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

    In Loxone erstellst du einen "normalen" virtuellen Eingang, also nicht HTTP.
    Wichtig ist, dass die Anschlussnamen identisch sind, im obigen Beispiel VI10.

    Viele Grüße
    André
    Zuletzt geändert von bastelbert; 20.10.2017, 11:40.

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5130

      #3
      Hallo Heiko,
      So ähnlich wie bastelbert mache ich es auch.
      Ich habe in Loxone einen Virtuellen Texteingang genommen und diesen auf einen Statusbaustein gelegt.
      Im Statusbaustein kann ich dann entscheiden was daraus gemacht wird und auch ein Symbol zuweisen.
      lg Romildo

      Kommentar


      • Gotcha
        Gotcha kommentierte
        Kommentar bearbeiten
        so in der hatte ich gehofft gibt es das schon. Wenn man andere Apps mit homematic kombiniert (IO Broker oder so dann kann ich die auch auslesen. Muss also eine Möglichkeit geben die abzufragen oder sich schicken zu lassen.
        Weiteres Problem wird wohl sein das die Namen der Komponenten unterschiedlich sein können und es ja nur den Eingangsport oder die Adresse auf CUXD gibt die vergleichbar wäre.
        Ich würde es auch klasse finden wenn die Bezeichnung aus der Homematic übertragen werden würde. So wie eben die Servicemeldungen normalerweise sind
        Zuletzt geändert von Gotcha; 21.10.2017, 13:57.

      • HeikoSch
        HeikoSch kommentierte
        Kommentar bearbeiten
        Hallo, ich habe in der homematic Webgui jetzt mal ein Testprogramm an einen virtuellen Texteingang in Loxone eingerichtet. Wie müsste das in Loxone aussehen, damit ich den Status geschlossen/offen visualisieren kann?

      • romildo
        romildo kommentierte
        Kommentar bearbeiten
        Das ist abhängig davon, welchen Text Du an den Texteingang schickst.
        Beispiel Text true für geschlossen, Text false für offen:
        Du legst den Texteingang z.B. an AI1 eines Statusbausteins.
        Die erste Bedingung lautet dann AI1 == true Statustext: geschlossen
        Die zweite Bedingung lautet dann AI1 == false Statustext: offen
    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5130

      #4
      Gotcha
      Du könntest folgendes machen.
      HomeMatic:
      Du legst ein neues Programm mit den Verknüpfungen siehe Bild an.
      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Homematic_Servicemeldung1.png Ansichten: 1 Größe: 31,7 KB ID: 122814

      Ein Scriptbeispiel findest Du hier. Mit ein paar kleinen Anpassungen würde es für Deine Bedürfnisse möglicherweise ausreichen.
      Scriptanpassungen:
      Anlegen der Variablen "url" und "s_text".
      Einfügen der Sendezeilen für Loxone am Ende des Scripts.
      Den Email-Versand kannst Du löschen oder mittels ! deaktivieren.

      Code:
      ! HomeMatic-Script
      
      ! VARIABLEN ...
        string url;
        string s_text;
      
      ! dom.GetObject ("E-Mail.Subject").State (s_subj);
      ! dom.GetObject ("E-Mail.Body").State (s_body);
      ! dom.GetObject ("E-Mail.Versand").State (2);
      
      s_text = s_subj#": "#s_body;
      url = "http://user:passwort@IPMiniserver/dev/sps/io/Servicemeldung/"#s_text;
      dom.GetObject("CUxD.CUX2801002:3.CMD_EXEC").State( "wget -q -O - '"#url#"'");
      
      !  Ende des Scripts
      Loxone:
      In Loxone legst Du einen Virtuellen Texteingang mit der Bezeichnung "Servicemeldung" an.
      Mit welchem Baustein Du diesen Texteingang verbindest ist Abhänging davon was Du damit machen möchtest. Z.B. ganz einfach an einen Virtuellen Statusbaustein.

      Edit: Bild ausgetauscht.
      Zuletzt geändert von romildo; 21.10.2017, 17:54.
      lg Romildo

      Kommentar


      • Gotcha
        Gotcha kommentierte
        Kommentar bearbeiten
        Ich versuche das mal umzusetzten und gebe Dir ne Rückmeldung. Danke für Deine Hilfe.

        In dem Script finde ich keine Zeile mit E-Mail. Ich scheine da etwas schwerfällig zu sein. Kannst Du mir mal ein Beispiel für den Statusbaustein schicken auf der Loxone Seite?
        Zuletzt geändert von Gotcha; 21.10.2017, 17:56.

      • romildo
        romildo kommentierte
        Kommentar bearbeiten
        Ich habe noch das Bild ausgetauscht, da ich diese Bedingung besser finde

      • Gotcha
        Gotcha kommentierte
        Kommentar bearbeiten
        Programm ist angepasst wie im 2ten Bild. Danke
    • pmayer
      LoxBus Spammer
      • 27.02.2017
      • 379

      #5
      Hier noch eine Alternative wie Homematic an Loxone angebunden werden kann. Hatte das mal zusammen geschrieben:


      https://allgeek.de/

      https://twitter.com/pregopm, https://github.com/codmpm/
      https://github.com/codmpm/node-red-contrib-loxone
      https://github.com/codm/wled-controller

      Kommentar


      • Gotcha
        Gotcha kommentierte
        Kommentar bearbeiten
        Ich hatte es mal versucht, bin aber irgendwo gescheitert da meine Programierkenntnisse nicht gut genug gewesen sind

      • pmayer
        pmayer kommentierte
        Kommentar bearbeiten
        Hatte hier noch ein Anfängertutorial geschrieben für die Grundinstallation: https://github.com/codmpm/node-red-c...e-red%2C-nodes

        Wenn die Geräte erst mal angelernt sind (homegear) geht das "programmieren" aber recht einfach, weil man nur die Werte mit einem Change-Node umschreiben muss (siehe Bild im ersten Link).

        Ich gebe zu, dass sich mir zum Beispiel die CCU Programmierung überhaupt nicht erschließt und meiner Meinung nach die MQTT z.B. viel einfacher ist.

      • Gotcha
        Gotcha kommentierte
        Kommentar bearbeiten
        Ich schaue mir das mal in Ruhe an. Danke Dir
    • HeikoSch
      Smart Home'r
      • 26.09.2015
      • 35

      #6
      Hallo,

      getestet. Läuft nichts. Ich bekomme in der Homematic WebUI angezeigt ob der Fensterkontakt offen oder geschlossen ist. Ich kann die Information aber nicht in den Miniserver bekommen.

      U.a. haben die die Visualisierung für den Virtuellen Eingang VI13 angehackt, in der App wird aber nicht angezeigt. :-(

      Kommentar


      • romildo
        romildo kommentierte
        Kommentar bearbeiten
        Bei einem Virtuellen Eingang welcher auf Digital eingestellt ist, wirst Du das nicht sehen.
        Entweder Du stellst ihn auf Analog oder Du nimmst einen Virtuellen Texteingang.

      • Gotcha
        Gotcha kommentierte
        Kommentar bearbeiten
        @Romilldo: Warum soll das nicht gehen mit einem digitalen Eingang? Bei einem Fensterkontakt kann ich doch sagen, wenn offen dann sende xxxxx an Loxone. Wenn es ein Kontakt ist der am Griff ist müsste ich dann nur beide Statis (offen und gekippt ) jeweils als Programm hinterlegen und auf zwei Eingänge legen, oder verstehe ich hier etwas nicht?

      • romildo
        romildo kommentierte
        Kommentar bearbeiten
        Ich habe mich da etwas unverständlich ausgedrückt. Der digitale Eingang geht in Loxone nur für einen Taktimpuls auf EIN.

        Du kannst es schon mit digitalen Eingängen machen, dann musst Du aber die Eingänge in Loxone auf einen Schalter legen.
        Impuls für Ein auf O und Impuls für Aus auf R. An Q bekommst Du dann ein EIN/AUS
        In Homematic musst Du dann auf Beide Loxone Eingänge eine 1 senden.

        Es ginge aber auch über nur einen Eingang indem Du eine 1 für EIN und eine 0 für AUS sendest. Dazu muss aber der Virtuelle Eingang auf Analog gestellt werden. In Homematic könntest Du dann den Status vom Schalter auslesen und an Loxone schicken.

        Ich habe Fensterkontakte welche auch gekippt melden, da bräuchtest Du dann für jedes Fenster schon 3 digitale Virtuelle Eingänge.
    • HeikoSch
      Smart Home'r
      • 26.09.2015
      • 35

      #7
      Läuft nicht.

      So sieht meine staelist aus:

      device name="HM-Sec-SCo OEQ0438447" ise_id="1238" unreach="false" sticky_unreach="true" config_pending="false"><channel name="HM-Sec-SCo OEQ0438447:0" ise_id="1239" visible="" operate=""><datapoint name="BidCos-RF.OEQ0438447:0.UNREACH" type="UNREACH" ise_id="1259" value="false" valuetype="2" valueunit="" timestamp="1508777081" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:0.STICKY_UNREACH" type="STICKY_UNREACH" ise_id="1255" value="true" valuetype="2" valueunit="" timestamp="1508751638" operations="7"/><datapoint name="BidCos-RF.OEQ0438447:0.CONFIG_PENDING" type="CONFIG_PENDING" ise_id="1241" value="false" valuetype="2" valueunit="" timestamp="1508862339" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:0.LOWBAT" type="LOWBAT" ise_id="1249" value="false" valuetype="2" valueunit="" timestamp="1508589922" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:0.RSSI_DEVICE" type="RSSI_DEVICE" ise_id="1253" value="1" valuetype="8" valueunit="" timestamp="1508589922" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:0.RSSI_PEER" type="RSSI_PEER" ise_id="1254" value="1" valuetype="8" valueunit="" timestamp="1508589922" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:0.DEVICE_IN_BOOTLOADER" type="DEVICE_IN_BOOTLOADER" ise_id="1245" value="false" valuetype="2" valueunit="" timestamp="1508589922" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:0.UPDATE_PENDING" type="UPDATE_PENDING" ise_id="1263" value="false" valuetype="2" valueunit="" timestamp="1508589922" operations="5"/></channel><channel name="HM-Sec-SCo OEQ0438447:1" ise_id="1267" visible="true" operate="true"><datapoint name="BidCos-RF.OEQ0438447:1.STATE" type="STATE" ise_id="1292" value="false" valuetype="2" valueunit="" timestamp="1508950716" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:1.ERROR" type="ERROR" ise_id="1268" value="0" valuetype="16" valueunit="" timestamp="1508950467" operations="5"/><datapoint name="BidCos-RF.OEQ0438447:1.LOWBAT" type="LOWBAT" ise_id="1291" value="false" valuetype="2" valueunit="" timestamp="1508950716" operations="5"/></channel></device>

      Wenn ich den Fensterkontakt öffne/schliesse wird es auf dem Raspy in der Webui angezeigt.

      Mein Skript lautet:

      string url="http://XXXt@XXX/dev/sps/io/VI13/Ein";
      dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

      und in der config sieht es so aus:

      Kommentar

      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5130

        #8
        Dein String sollte User und Passwort beinhalten.
        Und wenn Analog eine Zahl und nicht EIN
        Also:
        Code:
        http://user:Passwort@IP-Miniserver:Port/dev/sps/io/VI13/1
        Zuletzt geändert von romildo; 25.10.2017, 20:43.
        lg Romildo

        Kommentar


        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Versuch es doch einfach mal mit der Eingabe über den Webbrowser. Wenn der Befehl über den Webbrowser funktioniert dann liegt es nicht an Loxone.

        • HeikoSch
          HeikoSch kommentierte
          Kommentar bearbeiten
          <LL control="dev/sps/io/VI13/1";dom.GetObject("HM-Sec-SCo OEQ0438447:1.CMD_EXEC").State( "wget -q -O - '"" value="" Code="404"/>

          bekomme ich, wenn ich das "Aktivität, dann - Script" im Browser ausführe. Da stimmt was nicht. Ich glaube ich bau das nochmal neu auf. Gibt es irgendwo ein gescheites HowTo?

        • romildo
          romildo kommentierte
          Kommentar bearbeiten
          Ich weiss jetzt nicht was Du im Browser eingegeben hast.
          Du musst nur die Zeile wie in #8 unter Code beschrieben eingeben.
      • Gast

        #9
        Guten Tag meine Damen und Herren,

        ich habe mich, auf der Suche nach Antworten, ein wenig durch das Forum und den Thread hier gelesen und bin leider nicht fündig geworden. Dazu muss ich sagen, dass ich sehr neu in der ganzen Homeautomation bin und vermutlich viel Grundwissen aufzuarbeiten habe. Mein System ist eine Homematic CCU2 und ich möchte, wie dieser Thread schon erahnen lässt, das ganze in den Loxone Miniserver einfügen. Ich habe es bereits geschafft die Lichtschalter und die Rollos einzubinden, bekomme aber auch dabei nicht immer zuverlässige Rückmeldungen in der Loxone Webansicht. Mein größtes Problem sind allerdings die Fensterkontakte, die ich partout nicht eingebunden bekomme. Wäre jemand bereit mir einen Screenshot seines funktionierenden Scripts und der 'Verschaltung' innerhalb der Loxone Config bereitzustellen, oder sogar mit gutem Rat zur Seite zur stehen? Ich komme da einfach nicht voran.

        Vielen Dank schon einmal im Voraus und mit freundlichen Grüßen

        Piwi

        Kommentar


        • Gotcha
          Gotcha kommentierte
          Kommentar bearbeiten
          Hallo,
          du musst je Zustand ein Programm hinterlegen und einen virtuellen Eingang je Zustand. Kann dir gerne was schicken per PN wenn du noch etwas brauchst.

        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Hey Gotcha, das wäre sehr nett wenn du mir per PN was dazu schicken könntest, damit ich ein ungefähres Bild davon bekomme. Gerade komme ich nämlich nicht so voran wie ich es gern hätte und das frustriert.
          Zuletzt geändert von Gast; 02.07.2018, 10:53.

        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Ich habe es jetzt tatsächlich selbst hinbekommen, aber jetzt hakt es ein wenig bei der Einbindung der Rolladen-Aktoren. Ich weiß nicht genau ob das jetzt hier noch reingehört aber wenn mir da jemand helfen kann, bin ich ihm sehr dankbar. Die Grundfunktion mit dem hoch und runter fahren habe ich selbst hinbekommen (war ja keine Kunst), aber wie bekomme ich es hin, dass ich über die Webansicht einen Wert setzen kann, zum beispiel 50% und die Rolladen auf diesen Wert fahren? Also kurzum, wie fahre ich nicht nur ganz hoch oder runter? Vielleicht kann mir ja jemand mit Inspiration oder einer Lösung unter die Arme greifen.
      • HeikoSch
        Smart Home'r
        • 26.09.2015
        • 35

        #10
        romildo : Ich habe es mit dem Statusbaustein versucht, aber irgendwie wird nichts von der Homematic an den Miniserver geschickt.

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5130

          #11
          HeikoSch
          Bist Du sicher, dass da nichts gesendet wird?
          Wenn nicht, würde ich als erstes mal schauen ob das Skript in der Homematic abläuft.
          Dazu einfach auf "Skript testen" drücken und das Skript mit einer Ausgabezeile ins Eingabefeld einfügen.
          Skript sollte dann in etwa so aussehen:
          Code:
          string url = "http://benutzer:passwort@IPMiniserver:Port/dev/sps/io/VTI1/test";
          dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
          WriteLine(url);
          Wenn es keine Fehler hat, sollte es durchlaufen und im Ausgabefenster anzeigen was geschickt wird.
          Dies sollte dann genau dem url entsprechen.

          Wenn es soweit geklappt hat, diese url mal im Browser eingeben und im Loxone LiveView schauen ob der Text, so ankommt.
          Zuletzt geändert von romildo; 09.07.2018, 22:13.
          lg Romildo

          Kommentar


          • HeikoSch
            HeikoSch kommentierte
            Kommentar bearbeiten
            Hallo,

            ich habe

            string url = "http://benutzerasswort@IPMiniserver:Port/dev/sps/io/VTI1/test";
            dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
            WriteLine(url);

            durchlaufen lassen, aber im Ausgabefeld wird nicht angezeigt. Im Browser bekomme ich auch nichts zurück.

            In der Loxone Config wird mir aber im Liveview am Statusbaustein mit dem VTI1 an Al1 "true";
            dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");" angezeigt.
            Zuletzt geändert von HeikoSch; 10.07.2018, 18:48.
        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5130

          #12
          HeikoSch
          Im Browser darfst Du nur die url Zeile eingeben. Also:
          Code:
          http://benutzer:passwort@IPMiniserver:Port/dev/sps/io/VTI1/test
          Dann sollte in der LiveView am Statusbaustein Eingang nur noch "test" stehen.

          Wenn Du im Browser:
          Code:
          http://benutzer:passwort@IPMiniserver:Port/dev/sps/io/VTI1/true
          eingibst, dann sollte true am Statusbaustein Eingang stehen.

          Wenn im Ausgabefeld von Homematic nichts kommt, solltest Du mal schauen ob Du alles so gemacht hast wie z.B. im Loxwiki beschrieben ist.
          lg Romildo

          Kommentar

          • Gast

            #13
            Hat sich erledigt - kaum hab ich den Beitrag geschrieben funktionierts...

            N'Abend zusammen,

            ich hänge auch gerade an der Einbindung der Fensterkontakte.
            Den Virtuellen Eingang den ich verwende (digital) ist VI1
            Die beiden Zusatzprogramme habe ich installiert.
            Die CUX habe ich angelegt, Adresse ist CUX2801001:1

            Ich habe das Programm wie vorgegeben angelegt:

            string url="http://admin:admin@192.168.178.50/dev/sps/io/VI1/Ein";
            dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

            Port ist zu Testzwecken 80, muss also nicht eingegeben werden.
            Benutzer und Passwort habe ich zu Testzwecken auf admin gestellt.

            Das Programm habe ich erfolgreich getestet, es wird die URL ausgegeben. => Am Befehl sollte es also nicht liegen.
            Gebe ich die URL direkt im Browser ein, wird die Änderung in der Config im Liveview sofort angezeigt. => An Loxone liegt es also nicht.

            Hat jemand eine Idee wo zwischen CCU und Loxone der Befehl noch verloren gehen kann?
            Vielen Dank im Voraus!


            Zuletzt geändert von Gast; 12.02.2019, 22:31.

            Kommentar

            • Gast

              #14
              Hallo zusammen,

              ich habe genau das gleiche Problem wie mein Vorgänger Kipf.

              Ich möchte gerne meine Homatic Rauchmelder in Loxone auswerten.
              Den Virtuellen Eingang den ich verwende (digital) ist VI1
              Die beiden Zusatzprogramme habe ich installiert.
              Die CUX habe ich angelegt, Adresse ist CUX2801001:1

              Ich habe das Programm wie vorgegeben angelegt:

              string url="http://Benutzer:Passwort@192.168.x.x/dev/sps/io/VI1/Ein";
              dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

              Das Programm habe ich erfolgreich getestet, es wird die URL ausgegeben. => Am Befehl sollte es also nicht liegen.
              Gebe ich die URL direkt im Browser ein, wird die Änderung in der Config im Liveview sofort angezeigt. => An Loxone liegt es also nicht.

              Im LOG von CUx-Daemon wird folgendes ausgegeben:
              Apr 14 18:08:37 ccu3-webui daemon.info cuxd[2675]: system(wget -q -O - 'http://Benutzer:Passwort@192.168.x.x/dev/sps/io/VI1/EIN') exit(4) 0s
              Hat jemand eine Idee wo zwischen CCU und Loxone der Befehl verloren gehen kann? Bin im Moment ratlos.
              Vielen Dank im Voraus.

              LG Ronny

              Kommentar

            • Gast

              #15
              Danke für die Rückmeldung. Jetzt weiß ich schonmal das ich ein Netzwerkfehler habe. Muss ich heute Abend nochmal suchen, dann ob ich irgendwas übersehen habe.

              Mein Programm soll ausgelöst werden bei Änderung, also wenn mein Rauchmelder Alarm meldet.

              Wenn ich auf Script testen gehe, erhalte ich dann schon die Meldung im Log mit dem Netzwerkfehler.

              Kommentar

              Lädt...