Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19001435 / 19001436 Homematic / Homematic IP Einbindung

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

    [Projekte] LBS 19001435 / 19001436 Homematic / Homematic IP Einbindung

    Hallo zusammen,

    ich lagere den Support für meine LBS mal in diesen neuen Thread aus.

    Homematic Event Receiver
    Homematic Generic Device

    Sie sind von Grund auf neu geschrieben, bedienen sich aber der Ideen aus den Homematic LBS von
    murelli146
    Forums-Einsteiger
    murelli146 .
    * Es werden jetzt KEINE Files mehr benötigt, da die interne Kommunikation komplett über Message Queues abgehandelt wird. Der Code dazu stammt größenteils aus den LBS von
    jonofe .
    * Das Skript für den XMLRPC Server ist jetzt direkt im EXEC-Teil mit untergebracht. Es ist also kein externes Skript für den XMLRPC Server mehr notwendig. Je nach Aufruf wird entweder der normale Edomi-Exec-Teil ausgeführt, oder aber das XMLRPC-Skript.
    * Die Bausteine sind generisch für Homematic und Homematic IP. Theoretisch könnte ich auch noch ganz einfach Homematic Wired hinzunehmen.
    * Die Verwendung des Event Receiver LBS ist OPTIONAL. Ohne den Event-Receiver können Parameter Werte aber nur aktiv (polling) abgefragt werden.
    * Das XMLRPC-Request Logfile für den jeweils letzten reinkommenden XMLRPC-Request liegt nun unter /usr/local/edomi/www/data/log/hm_xmlrpcsrv_debug.log . Im Browser dann unter http://<ip-edomi>/data/log/hm_xmlrpcsrv_debug.log
    * Der Generic Device LBS kann für ein und dasselbe Homematic/Homematic IP-Gerät auch mehrfach instanziiert werden, falls die Nutzung von mehr als vier Parametern notwendig sein sollte.
    * Es müssen neben der homematic.class.php auch noch php-xmlrpc und php-process installiert werden. Siehe dazu auch den Hilfetext des LBS.

    Ich selbst nutze keine EQ-3 CCU2, sondern RaspberryMatic mit dem Homematic-Funk-Modul für den Raspberry Pi.

    Viel Spass!
    Nanosonde
    Forums-Einsteiger
    Zuletzt geändert von Nanosonde; 23.01.2018, 13:34.

    #2
    Hallo zusammen,

    ich habe gerade meine beiden neuen Homematic LBS veröffentlicht:
    Homematic Event Receiver
    Homematic Generic Device

    Sie sind von Grund auf neu aufgebaut, bedienen sich aber an den Ideen aus den Homematic LBS von
    murelli146
    Forums-Einsteiger
    murelli146 .
    * Es werden jetzt KEINE Files mehr benötigt, da die interne Kommunikation komplett über Message Queues abgehandelt wird. Der Code dazu stammt größenteils aus den LBS von
    jonofe .
    * Das Skript für den XMLRPC Server ist jetzt direkt im EXEC-Teil mit untergebracht. Es ist also kein externes Skript für den XMLRPC Server mehr notwendig. Je nach Aufruf wird entweder der normale Edomi-Exec-Teil ausgeführt, oder aber das XMLRPC-Skript.
    * Die Bausteine sind generisch für Homematic und Homematic IP. Theoretisch könnte ich auch noch ganz einfach Homematic Wired hinzunehmen. Aber wer hat das schon, wenn er KNX hat, gell?
    * Die Verwendung des Event Receiver LBS ist - wie bei den Homematic LBS von murelli146 - OPTIONAL. Ohne den Event-Receiver können Parameter Werte aber nur aktiv (polling) abgefragt werden.
    * Das XMLRPC-Request Logfile für den jeweils letzten XMLRPC-Request liegt nun unter /usr/local/edomi/www/data/log/hm_xmlrpcsrv_debug.log . Im Browser dann unter http://<ip-edomi>/data/log/hm_xmlrpcsrv_debug.log

    Viel Spass!

    Kommentar


      #3
      Hallo Christian,
      vielen DANK für Deine neuen Bausteine!!!
      Ich bin gerade mal dran, aber bekomme den LBS 19001436
      nicht für einen IP Heizungsregler zum laufen.
      Ich denke ich gebe den Eingang E5 (Device address) falsch vor.
      Ich habe schon alles versucht (mit HMIP vorweg und verschiedenen
      Adressen ).
      Könntest Du mir Anhang einen HMIP Heizungsregler mal den Wert angeben?
      Mal noch eine Frage:
      Wenn ich dem Heizungsregler einen Wert (also z.B. Soll- Temp.) geben möchte,
      dann geht das meine ich ja nicht mit dem LBS, oder? Wie müsste so etwas aussehen?
      Vielen DANK vorab!!
      Gruß Marcus
      Homematik_07.jpgHomematik_08.jpgHomematik_09.jpg

      Kommentar


        #4
        Hallo
        tunneltruppe
        KNX Anwender
        tunneltruppe ,

        also der Reihe nach.

        Du hast natürlich recht. Das Setzen hatte ich total vergessen. Die Version v0.2 den 19001436 ist nun online und dort kann man auch Werte setzen.

        Wichtig: Der Eingang E5 muss so aussehen: HMIP:000E57098F12345 es geht auch hmip:000E57098F12345 .
        Wichtig2 Am Eingang E5 wird KEIN Kanal angegeben! Also mit :0 oder so.
        Wichtig3 Der Kanal wird dafür bei E6-E9 voran gestellt durch einen Punkt getrennt, also: 1.STATE etc. Das sehe ich bei Dir nicht.

        Du solltest auch immer hier reingucken, ob ein Parameter read, write oder read/write ist. Wenn er nicht "write" ist, dann kannst Du ihn auch nicht setzen.

        Kommentar


          #5
          Hallo Christian,
          DANKE DIR für die genaue Erklärung!!
          Es lag bei mir an der Kanalangabe vor dem Wert (mit dem Punkt, also: z.B. 1.SET_POINT_TEMPERATURE)
          Leider bekomme ich das senden (write) der SOLL- Temperatur noch nicht hin.
          So sieht es zur Zeit aus:
          Homematik_10.jpg

          Das gibt Homematic vor für 1.SET_POINT_TEMPERATURE:
          Homematik_11.jpg
          Also wenn E9 (Chan.Param 4) mit 1.SET_POINT_TEMPERATURE belegt ist,
          dann verstehe ich das so, dass E17 (SetValue 4) den Wert in den
          Ausgang A4 (Param Value 4) schreibt und über die CCU2 den Heizkörperregler
          den Wert gibt!? Oder sehe ich hier etas falsch? Denn E13 (GetValue4) dürfte
          ich doch nicht belegen?!?
          Aber der Rest läuft schon mal...cooolllll DANKE DIR------
          Gruß Marcus

          Kommentar


            #6
            Hallo
            tunneltruppe
            KNX Anwender
            tunneltruppe ,

            das Triggern der Eingaenge E10-E13 loest einen aktiven GetValue-Request aus, dessen Ergebnis dann am jeweiligen Ausgang sichtbar wird.
            Der entsprechende Ausgang kann also entweder von einem aktiven GetValue-Request aktualisiert werden oder aber durch ein Event.

            Der entsprechende Ausgang wird NICHT durch ein SetValue (E14-E17) aktualisiert.
            Ich haette erwartet, dass zeitnah ein Event kommt, dass den Ausgang aktualisiert.

            Teste doch mal was passiert, wenn Du nach einem SetValue ein GetValue ausloest. Siehst Du dann denn neuen gesetzten Wert am Ausgang?

            Nur nochmal zur Klarstellung: die Werte in E10-E13 sind egal. Das sind nur Triggereingaenge, die die Aktion ausloesen.


            Kommentar


              #7
              Zitat von Nanosonde Beitrag anzeigen
              Hallo
              tunneltruppe
              KNX Anwender
              tunneltruppe ,

              das Triggern der Eingaenge E10-E13 loest einen aktiven GetValue-Request aus, dessen Ergebnis dann am jeweiligen Ausgang sichtbar wird.
              Der entsprechende Ausgang kann also entweder von einem aktiven GetValue-Request aktualisiert werden oder aber durch ein Event.

              Der entsprechende Ausgang wird NICHT durch ein SetValue (E14-E17) aktualisiert.
              Ich haette erwartet, dass zeitnah ein Event kommt, dass den Ausgang aktualisiert.

              Teste doch mal was passiert, wenn Du nach einem SetValue ein GetValue ausloest. Siehst Du dann denn neuen gesetzten Wert am Ausgang?

              Nur nochmal zur Klarstellung: die Werte in E10-E13 sind egal. Das sind nur Triggereingaenge, die die Aktion ausloesen.

              DANKE DIR!!!
              So habe mal für E17 (für den Wert: E9: 1.SET_POINT_TEMPERATURE) einen Wert vorgegeben (z.B. 20).
              Danach gleich eine 1 in E13 für Triggern gesendet.
              Vorher war in A4 der Wert 18.5 drin. Nach dem abarbeiten kam leider kein Wert (also die 20) im Ausgang A4 an.
              Das habe ich mehrmals probiert...

              Kommentar


                #8
                ich bekomme aber keine daten?

                im log steht
                2018-01-18 20:05:00350703?12130Exception: Unknown parameterEXCEPTION

                2018-01-18 20_08_50-EDOMI · Administration.png
                ladnermi
                Forums-Einsteiger
                Zuletzt geändert von ladnermi; 18.01.2018, 21:45. Grund: hat sich erledigt

                Kommentar


                  #9
                  Zitat von tunneltruppe Beitrag anzeigen

                  DANKE DIR!!!
                  So habe mal für E17 (für den Wert: E9: 1.SET_POINT_TEMPERATURE) einen Wert vorgegeben (z.B. 20).
                  Danach gleich eine 1 in E13 für Triggern gesendet.
                  Vorher war in A4 der Wert 18.5 drin. Nach dem abarbeiten kam leider kein Wert (also die 20) im Ausgang A4 an.
                  Das habe ich mehrmals probiert...
                  Mhmm...ok.
                  Probier doch mal, eine 20.0 statt nur 20 zu schreiben.

                  Siehst Du denn die aktualisierte Soll-Temperatur in der CCU2 WebUI?

                  Kommentar


                    #10
                    ....habe mal ein paar Werte mit 20.0/ 24.0 usw. versucht (dann wieder mit einer 1 in E9)
                    ...und nein im WebUI sehe ich auch keine Änerung.
                    Hier noch mal ein paar Bilder dazu:
                    Homematik_12.jpgHomematik_13.jpg

                    Kommentar


                      #11
                      Zitat von tunneltruppe Beitrag anzeigen
                      ...und nein im WebUI sehe ich auch keine Änerung.
                      Hast Du im Fehlerlog irgendwelche Exceptions?
                      Die werden von der homematic.class.php geworfen, wenn die Antwort der CCU2 auf einen Befehl eine Fehlermeldung ist.


                      Kommentar


                        #12
                        Zitat von Nanosonde Beitrag anzeigen

                        Hast Du im Fehlerlog irgendwelche Exceptions?
                        Die werden von der homematic.class.php geworfen, wenn die Antwort der CCU2 auf einen Befehl eine Fehlermeldung ist.

                        Joo einen schon:
                        Homematik_14.jpg

                        Kommentar


                          #13
                          Bug ist erkannt und wird behoben...

                          Kommentar


                            #14
                            Zitat von Nanosonde Beitrag anzeigen
                            Bug ist erkannt und wird behoben...
                            COOLLLLLL!!! DANKE DIR!!!!!!!
                            Aber P.S.: Kein Streß wir haben alle Zeit!!!!!!

                            Kommentar


                              #15
                              Hallo

                              wenn ich eine Logik erstelle steht nach dem neustarten im log diese fehler meldung
                              {EDOMI,ERRLOG_2018-01.htm,19.01.2018,23:20:11,481321,49940}Zeitstempe lmsProzessPIDMeldungStatus2018-01-19 23:20:11481261?49940Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001436.php | Fehlercode: 1 | Zeile: 92 | Call to undefined function msg_get_queue()FATALERROR2018-01-19 23:20:11526803MAIN49813Prozess LOGIC läuft nicht mehr!FATALERROR

                              warum geht das nicht?



                              auch wenn ich nur die Loki
                              Homematic Event Receiver v0.1 19001435
                              bekomme ich fehler

                              {EDOMI,ERRLOG_2018-01.htm,20.01.2018,00:14:34,665335,2457}Zeitstempel msProzessPIDMeldungStatus2018-01-20 00:14:34665275?2457Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001435.php | Fehlercode: 1 | Zeile: 62 | Call to undefined function msg_get_queue()FATALERROR2018-01-20 00:14:34726619MAIN2342Prozess LOGIC läuft nicht mehr!FATALERROR2018-01-20 00:14:34848010?2480Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001435.php | Fehlercode: 1 | Zeile: 260 | Call to undefined function msg_get_queue()FATALERROR2018-01-20 00:14:45933104MAIN2529ACHTUNG: EDOMI wurde unerwartet beendet: FATALERROR in LBS 19001435 | EDOMI wird pausiertERROR

                              {EDOMI,CUSTOMLOG_HM_Event_Receiver-LBS19001435.htm,20.01.2018,00:14:34,625890,2457}Ze itstempelmsPIDLogLevelMeldung2018-01-20 00:14:346257582457debugLBS19001435 [v0.1]: LBS Homematic Event Receiver started (1276)2018-01-20 00:14:346298932457debugLBS19001435 [v0.1]: MSGQID generated: 197960619 (1276)2018-01-20 00:14:346640722457debugLBS19001435 [v0.1]: Message: (1276)2018-01-20 00:14:346642312457debugLBS19001435 [v0.1]: ================ ARRAY/OBJECT START ================2018-01-20 00:14:346643192457debugLBS19001435 [v0.1]: {"start":1}2018-01-20 00:14:346643832457debugLBS19001435 [v0.1]: ================ ARRAY/OBJECT END ================2018-01-20 00:14:346651102457debugLBS19001435 [v0.1]: MSGQID used: 197960619 (1276)2018-01-20 00:14:348477282480debugEXE19001435 [v0.1]: MSGQID: 197960619 (1276)
                              Angehängte Dateien
                              ladnermi
                              Forums-Einsteiger
                              Zuletzt geändert von ladnermi; 20.01.2018, 00:21.

                              Kommentar

                              Lädt...
                              X