Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000925 HOMEMATIC-EDOMI-Master und alle darauf basierenden LBSen

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

    [Funktionen] LBS 19000925 HOMEMATIC-EDOMI-Master und alle darauf basierenden LBSen


    19000925 HOMEMATIC-EDOMI-Master

    Der Baustein dient als Basis für die Anbindung von Homematic an Edomi und enthält auch den XML-RPM-Server
    und die homematic.class .

    Edomi wird einmalig nach der Projektaktivierung an dem XML-RPC Server der CCU2 angemeldet.
    Bei Statusänderung in der Homematic Logikschicht werden Events zum Edomi XML-RPC Server gepusht.
    Die empfangenen Events setzen die im Projekt vorhandenen HM_LBS Ausgänge.

    Es muss das php-xmlrpc Paket installiert werden dabei wird PHP von 5.3.3-48.e16_8 auf 5.3.3-49.el6 geupgraded.

    http://service.knx-user-forum.de/?comm=download&id=19000925

    Mit dem HOMEMATIC-EDOMI-Master als Basis lassen sich einfach Gerätespezifische LBSen erstellen.
    Die Geräte die ich zur Verfügung habe sind bereits umgesetzt.

    Sie können als Grundlage für neue HM LBSen genutzt werden.
    Bitte alle veröffentlichten LBSen übersichtshalber unter diesem Thema hier posten.

    Für die LBS Entwicklung oder bei Verwendung des HM-Universal-LBS werden die Datenpunkte benötigt.

    Die Datenpunkte sind im folgendem PDF beschrieben.
    http://www.eq-3.de/Downloads/eq3/dow..._Endkunden.pdf

    Für die Entwicklung die XML-RPM-Schnittstelle habe ich folgendes PDF verwendet.
    http://www.eq-3.de/Downloads/eq3/dow...XmlRpc_API.pdf

    Die homematic.class.php stammt von Xaver Bauer und wurde hier gefunden:
    https://www.symcon.de/forum/threads/...tic-CCU-BidCos


    Folgende LBSen sind bereits online:

    Ich werde versuchen sie hier auch zu pflegen.
    Homematic BidCos-RF

    HOMEMATIC-EDOMI-Master
    HM-WDS100 Wetterstation
    HM-Sec-SC-2 Türkontakt
    HM-PBI-4-FM Tasterschnittstelle
    HM-RC-Key4-2 Fernbedienung
    HM-Sec-RHS Fensterkontakt
    HM-Sec-Key-S Motorschloss
    HM-Universal-LBS

    HM-Sec-SD-2 Rauchmelder
    Ich hoffe damit die Brücke von Homatic und Edomi praktikabel gebaut zu haben.

    Jetzt bin ich schon ein bisschen stolz, hab mir auch fast die Zähne ausgebissen.

    Hoffentlich rückt gaert bald die im- u. export Funktion raus,
    weil ich schiebe die Visu vor mich hin und entwickle stattdessen LBSen.

    Schöne Grüße
    Gernot Klobucaric

    Von Nanosonde wurde inzwischen der Master komplett neu programmiert und funktioniert auch mit HM-IP Geräten adaptiert.


    Sinnvoller Entwicklungswunsch von Nanosonde
    Zitat von Nanosonde Beitrag anzeigen
    Wenn der eine oder andere jetzt einen "speziellen" LBS schreibt, der direkt alle Datenpunkte eines Gerätetyps abbildet, so möchte hier darum bitten, dass auch mind. die Verwaltungsfunktionen (wenn vorhanden!) LOWBAT, UNREACH, STICKY_UNREACH, DUTY_CYCLE, etc. mit als Ausgang zur Verfügung gestellt werden. So kann man dann nämlich komfortabel eine Logik bauen, die einen benachrichtigt, falls mal die Batterie leer ist o.ä..
    Werde meine LBSen nachbessern

    Zitat von Nanosonde Beitrag anzeigen
    Für Homematic IP empfehle ich auch die technische Dokumentation des Herstellers.
    Für normale Homematic Geräte kann das hier hilfreich sein. Oder auch hier die technische Dokumentation des Herstellers.
    Zuletzt geändert von murelli146; 14.02.2018, 22:31.

    #2
    Dann sollte er sich vielleicht noch Zeit lassen, damit du noch weiter LBSen entwickeltst
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    Kommentar


      #3
      Hallo Gernot,

      vielen Dank für Deine Bausteine. Ich habe mir nun auch eine CCU2 besorgt.
      Danach habe ich, wie in deine Anleitung das php-xmlrpc Paket installiert, sowie die beiden Dateien in die jeweiligen Ordner kopiert und die Rechte auf 777 gesetzt.
      Ich bekomme es jedoch nicht zum laufen. Im Error-Log habe ich folgende Meldungen:
      Code:
       [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
      [TR="class: sErr"]
      [TD]2017-09-09 18:40:00[/TD]
       			[TD]225712[/TD]
       			[TD]?[/TD]
       			[TD]3453[/TD]
       			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000925.php | Fehlercode: 2 | Zeile: 73 | fileperms(): stat failed for /usr/local/edomi/www/data/log/CUSTOMLOG_19000925-HOMEMATIC-EDOMI-Master.htm[/TD]
       			[TD]ERROR[/TD]
       		[/TR]
      [TR="class: sErr"]
      [TD]2017-09-09 18:40:00[/TD]
       			[TD]225869[/TD]
       			[TD]?[/TD]
       			[TD]3453[/TD]
       			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000925.php | Fehlercode: 2 | Zeile: 75 | chmod(): No such file or directory[/TD]
       			[TD]ERROR[/TD]
       		[/TR]
      [TR="class: sErr"]
      [TD]2017-09-09 18:40:00[/TD]
       			[TD]226114[/TD]
       			[TD]?[/TD]
       			[TD]3453[/TD]
       			[TD]Datei: /usr/local/edomi/main/include/php/homematic.class.php | Fehlercode: 1 | Zeile: 989 | Call to undefined function xmlrpc_encode_request()[/TD]
       		[/TR]
      [/TABLE]
      Hast Du vtl. eine Ahnung wo es bei mir hängt?

      Andreas

      Kommentar


        #4
        Setze doch bitte debug auf 1 und poste mal den Custom log. Die ersten zwei Zeilen sollten dann schon erledigt sein.

        Welche Homematic Geräte verwendest du?

        Vieleicht Screenshot vom Logikeditor der zwei Bausteine.

        Kommentar


          #5
          Kann die ersten zwei Zeilen nachvollziehen, liegt daran das es zu diesem Zeitpunkt kein customlog file gibt.
          Werde den Bug beseitigen.


          Wenn debug auf 1 gesetzt ist (beim 19000925) sollte es keine Probleme geben.

          Wenn keine Geräte LBS konfiguriert ist, wird die Ausgangsdatei nicht erstellt, das könnte auf die 3. Zeile schließen.

          Wenn du den "getValue" Eingang bei einem Geräte LBS triggerst kannst du sehen ob die Kommunikation zur CCU2 funktioniert.
          Dafür ist der Master-LBS nicht nötig.

          Helfe gerne weiter
          Zuletzt geändert von murelli146; 09.09.2017, 22:02.

          Kommentar


            #6
            Hallo Gernot,

            vielen Dank für deine Hilfe. Ich verwende zum testen die Bausteine 19000925 sowie 19001250. Bei beiden Bausteinen habe ich debug auf 1 gesetzt.
            Im Log vom Master bekomme ich folgende Ausgabe:
            Code:
             [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
            [TR]
            [TD]2017-09-10 08:42:45[/TD]
             			[TD]281157[/TD]
             			[TD]9667[/TD]
             			[TD]debug[/TD]
             			[TD]Rechte des Customlogs m�ssen gesetzt werden[/TD]
             		[/TR]
            [TR]
            [TD]2017-09-10 08:42:45[/TD]
             			[TD]281446[/TD]
             			[TD]9667[/TD]
             			[TD]debug[/TD]
             			[TD]File: /usr/local/edomi/www/data/log/CUSTOMLOG_19000925-HOMEMATIC-EDOMI-Master.htm Rechte auf 0666 gesetzt[/TD]
             		[/TR]
            [TR]
            [TD]2017-09-10 08:42:45[/TD]
             			[TD]281735[/TD]
             			[TD]9667[/TD]
             			[TD]debug[/TD]
             			[TD]************Trigger -> E1 Server An- und Abmeldung*****************************************************************************************[/TD]
             		[/TR]
            [TR]
            [TD]2017-09-10 08:45:00[/TD]
             			[TD]157618[/TD]
             			[TD]11231[/TD]
             			[TD]debug[/TD]
             			[TD]************Trigger -> E1 Server An- und Abmeldung*****************************************************************************************[/TD]
             		[/TR]
            [/TABLE]
            Du hast Recht, im Ordner /log gibt es keinen Eintrag des HM-Master LBS.

            Nun habe ich am Eingang des 19001250 BS den getValue auf 1 gesetzt und die Anzeige refreshed, leider auch ohne Erfolg.
            HM_Master.JPG

            Zu Deiner Frage bzgl meiner Homematic Geräte. Ich habe momentan die CCU2, den Fensterkontakt HM-Sec-RHS,Funkschaltaktor HM-Lc-Sw1-PI-DN-R1, Handsender HM-RC-4-3, Fernbedienung HM-RC-8 und KeyMatic. Für Handsender und Fernbedienung habe ich die LBS schon fertig.
            Ein bekannter von mir hat eine sehr umfangreiche HM-Installation, diese soll später auch über edomi visualisiert werden.

            Andreas

            Kommentar


              #7
              Habe in einem neuen Projekt mit einer Neuinstallation versucht den Fehler nachzustellen. Leider ohne Erfolg.

              Die Kommunikation des Fensterkontakts zur CCU2 funktioniert im WEBIF?
              Die Adresse vom Fensterkontakt NEQxxxxxxx (ohne :1) eingetragen?
              IP der CCU2 richtig? (ohne :Port angeben)

              "get Values" ist eine einfache abfrage, die ohne XML-RPC Server auskommt.
              Die sollte einfach funktionieren.

              Konzentrieren wir uns mal auf den Baustein 19001250

              Kommentar


                #8
                Die Kommunikation des Fensterkontaktes mit der CCU funktioniert problemlos.
                Die Adresse des Fensterkontaktes ist ohne Kanal eingetragen in meinen Fall :NEQ1760820 und auch die IP der Zentrale ist die richtige -> ohne Port angegeben.

                In der Firewall der CCU steht unter HomeMatic XML-RPC API: Vollzugriff

                Im Log des Fenstergriffes kommt diese Meldung:
                Code:
                 [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
                [TR]
                [TD]2017-09-10 08:42:45[/TD]
                 			[TD]276046[/TD]
                 			[TD]9669[/TD]
                 			[TD]debug[/TD]
                 			[TD]Ausg�nge HOMEMATIC-EDOMI-Master registriert[/TD]
                 		[/TR]
                [TR]
                [TD]2017-09-10 11:12:58[/TD]
                 			[TD]856889[/TD]
                 			[TD]6323[/TD]
                 			[TD]debug[/TD]
                 			[TD]Ausg�nge HOMEMATIC-EDOMI-Master registriert[/TD]
                 		[/TR]
                [/TABLE]
                Andreas

                Kommentar


                  #9
                  Triggere beim LBS "getValues" und poste den Log nochmal bzw. wenn Fehler entstehen den Fehlerlog.

                  Kommentar


                    #10
                    Ich bekomme nach dem Trigger einen Eintrag im Error-Log:
                    Code:
                    2017-09-10 11:39:18362832?22991Datei: /usr/local/edomi/main/include/php/homematic.class.php | Fehlercode: 1 | Zeile: 989 | Call to undefined function xmlrpc_encode_request()FATALERROR
                    Im Log des HM-Master sowie HM-Sec-RHS habe ich keinen Eintrag.

                    Andreas

                    Kommentar


                      #11
                      Der Fehler kommt vom XML-RPC Server in Edomi das ignorieren wir erst mal.
                      Da keine Abfragen von der CCU2 beantwortet werden.

                      Mal ins Blaue: Hast du an der CCU2 ein Passwort vergeben? wenn ja versuch es mal zu deaktivieren.

                      wenn nicht dann

                      Mal eine Abfrage manuell testen:

                      Zum Befehle testen folgendes PHP Script anlegen.

                      Einfach über Terminal starten, die Ausgabe sollte dem Status entsprechen. (IP anpassen)
                      PHP-Code:
                      include '/usr/local/edomi/main/include/php/homematic.class.php';
                      $api=new HomeMaticUpnpDevice('192.168.0.45:2001');
                      $r=$api->HM_getValue ('NEQ1760820:1''STATE');
                      settype($r,'int');
                      print_r ($r); 

                      Kommentar


                        #12
                        Hallo Gernot,

                        danke schonmal für Deine Geduld. Ich habe momentan in der CCU kein Passwort vergeben.
                        Beim testen von Deinem Script bekomme ich leider nur den Inhalt angezeigt, ohne Ausgabe des Status
                        Test_PHP.JPG

                        Kommentar


                          #13
                          Mach mal die PHP Delimiter rein:

                          <?php

                          ?>

                          Kommentar


                            #14
                            Da ist beim kopieren was schief gegangen.

                            hier nochmal richtig. Sorry

                            Code:
                            <?
                            include '/usr/local/edomi/main/include/php/homematic.class.php';
                            $api=new HomeMaticUpnpDevice('192.168.24.28:2001');
                            $r=$api->HM_getValue ('NEQ1760820:1', 'STATE');
                            settype($r,'int');
                            print_r ($r);  
                            ?>
                            Das sollte das ergebnis sein:

                            Bildschirmfoto 2017-09-10 um 13.36.55.png

                            Kommentar


                              #15
                              Hallo zusammen,

                              ich habe es eben mit den geänderten Code getestet, aber nun bekomme ich eine Fehlermeldung:

                              Fehler_PHP.JPG

                              Als Proramm verwende ich WinSCP. Meine Linux Kenntnisse sind übrigens sehr dürftig.

                              Andreas

                              Kommentar

                              Lädt...
                              X