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

    #76
    Zitat von ladnermi Beitrag anzeigen
    Hallo

    HOMEMATIC-EDOMI-Master 19000925
    HM-Universal-LBS 19001252
    wenn ich etwas an der CCU2 ändere ist es in 2 Sekunden im Edomi
    Dauert es wirklich so lange oder schaust du nur auf den Ausgang A2.
    A2 sagt eigentlich nur aus wann das letzte Event angekommen ist (für die Reinitialisierung)

    Bei meinen Tür und Fensterkontakten geht das ohne merkliche Verzögerung auf die Visu.
    Ev. Sendeverzögerung beim Sollwert?

    Kommentar


      #77
      Zitat von murelli146 Beitrag anzeigen

      Dauert es wirklich so lange oder schaust du nur auf den Ausgang A2.
      A2 sagt eigentlich nur aus wann das letzte Event angekommen ist (für die Reinitialisierung)

      Bei meinen Tür und Fensterkontakten geht das ohne merkliche Verzögerung auf die Visu.
      Ev. Sendeverzögerung beim Sollwert?
      Ich hab ein anderes Problem wenn ich diese logik
      HOMEMATIC-EDOMI-Master 19000925
      HM-Universal-LBS 19001252
      verwende geht alles

      bei dieser logik bekomme ich keine daten automatisch übertragen wenn ich etwas auf der CCU2 ändere
      Homematic Event Receiver v0.1 19001435
      Homematic Generic Device v0.5 19001436
      bei E10-E13 Trigger alle 5 Minuten bekomme ich die daten alle 5 Minuten

      Kommentar


        #78
        Zitat von murelli146 Beitrag anzeigen

        Dauert es wirklich so lange oder schaust du nur auf den Ausgang A2.
        A2 sagt eigentlich nur aus wann das letzte Event angekommen ist (für die Reinitialisierung)

        Bei meinen Tür und Fensterkontakten geht das ohne merkliche Verzögerung auf die Visu.
        Ev. Sendeverzögerung beim Sollwert?
        bei diesen einstellungen
        2018-01-22 21_51_44-EDOMI · Administration.png

        bekomme ich eine fehlermeldung?
        2018-01-22 21_53_17-.png

        und noch eine Fragen wie kann ich denn Datentyp action angeben
        2018-01-22 22_01_25-hm_devices_Endkunden-2.pdf (GESCHÜTZT) - Adobe Acrobat Reader DC.png
        z.b. bei
        2018-01-22 22_01_35-hm_devices_Endkunden-2.pdf (GESCHÜTZT) - Adobe Acrobat Reader DC.png

        2018-01-22 22_07_34-hm_devices_Endkunden-2.pdf (GESCHÜTZT) - Adobe Acrobat Reader DC.png

        Kommentar


          #79
          Die Fehlermeldung sollte mit meiner neuen Version nicht mehr kommen.
          Und wenn kann man sie ignorieren.

          action triggert einfach eine "1" am Ausgang. ( z.B. Handsender) > Sensor

          action "1" am Eingang triggert z.B. OPEN (z.B. Türöffner) > Aktor
          Zuletzt geändert von murelli146; 22.01.2018, 22:23.

          Kommentar


            #80
            Hab den 19000925 seit einem halben Jahr in Betrieb und hatte damit keine Probleme.

            Als ich die LBSen entwickelt habe wollte ich die Kommunikation auch über Message Queues lösen, bin daran leider gescheitert, da ich auch noch mit anderen Problemchen zu kämpfen hatte.

            Als alles funktionierte (ca. 60 Datenpunkte am Start) , der Bedarf an Homematic mit Edomi sich in grenzen hielt und ich mit meinen Scripten (bzw. Dateien) zufrieden war habe ich es dabei belassen.

            Habe kein HMIP System darum habe ich mich nur mit BidCos-RF beschäftigt.

            Nanosonde hat eine Multiversion die beide handelt entwickelt (1435 und 1436).

            Er legt sich da mächtig ins Zeug und wird diese sicher auch noch mit eurer Hilfe Debuggen.

            Ich bleib mal bei meinen LBSen, werde aber spätestens auf die LBSen von Nanosonde umsteigen wenn ich mir ein HMIP Gerät anschaffe.
            Die Lösung über Message Queues ist einfach eleganter.

            Schöne Grüße
            Gernot

            Kommentar


              #81
              Hallo Gernot,

              kann es sein, dass der Download für den Baustein "HM-Sec-SCo Tür-Fensterkontakt, optisch" nicht geht? Finde Ihn nicht.

              Weiterhin ist mir aufgefallen, dass einige deiner Bausteine auf einmal in der Kategorie "Ohne" statt "Homematic" im Download-Bereich angesiedelt sind. Bei der SuFu nach "Homematic" werden diese dann nicht gefunden.

              Werde mich demnächst mal zwecks nachzurüstender Fensterkontakte mit der Materie beschäftigen müssen. Bin im Zuge dessen auch auf den RGBW Conroller HM-LC-RGBW-WM gestoßen. Hat sich schon mal jemand mit einem LBS dafür beschäftigt? Es sollte doch über die CCU2 eine Steuerung mit Edomi/KNX möglich sein, oder?
              Könnte allerdings aufgrund von Farbwahl, Dimmer, etc. etwas komplizierter werden. Falls es geht, werde ich mich irgendwann auch damit beschäftigen. Allerdings frühestens in einem Jahr - vorher komme ich nicht dazu mich selbst einzuarbeiten - außer es hat bis dahin jemand schon was entwickelt ...
              Gruß
              Stefan

              Kommentar


                #82
                Hallo Stefan,
                ich habe den Fensterkontakt so zum laufen gebracht:
                Fensterkontakt.jpg
                Zuletzt geändert von AScherff; 14.02.2018, 20:58. Grund: fullquote

                Kommentar


                  #83
                  sdog

                  Danke für den Hinweis werde die Kategorie anpassen.

                  Den HM-Sec-SCo hat nanosonde gemacht. Hat ihn aber wieder raus genommen und seine eigenen Bausteine entwickelt.

                  Dieser hat aber die selbe Funktion und kann 1:1 verwendet werden.

                  HM-Sec-SC-2 Türkontakt


                  Meine Bausteine können mit copy und paste schnell auch für neue Geräte adaptiert werden > mal den Quellcode ansehen.

                  Schöne Grüße
                  Gernot

                  Kommentar


                    #84
                    Zitat von murelli146 Beitrag anzeigen
                    vento66

                    Hallo wäre es möglich zwei Beschlagwortungen bei der Kategorie im Entwicklerportal anzulegen?

                    Homematic BidCos-RF und Homematic IP

                    oder wenigstens Homematic


                    Danke für die Mühe

                    Schöne Grüße
                    Gernot
                    vento66

                    Leider finde ich im Entwicklerportal den Eintrag Homematic nicht.
                    Im Downloadbereich sind einige LBSen schon so angelegt.

                    Schaust du bitte mal drüber.

                    Gruß Gernot

                    Kommentar


                      #85
                      Hm, liegt vielleicht daran, das ich einige händisch geändert habe Die Kategorie habe ich eigentlich angelegt, nur scheint das System diese zu ignorieren.

                      Kommentar


                        #86
                        vento66 wenn Du im DL manuell eine Kategorie anlegst, wird sie nicht automatisch an die db in edomi übertragen...

                        Ich lege Homematic mal in edomi (Entwicklerportal) an.

                        hmmm - muss ich bei Gelegenheit mal eine Replizierung einbinden...

                        Kommentar


                          #87
                          Zitat von AScherff Beitrag anzeigen
                          hmmm - muss ich bei Gelegenheit mal eine Replizierung einbinden...


                          genug OT

                          Kommentar


                            #88
                            Hallo,

                            ich habe gerade einige Probleme das ganze zum Laufen zu bringen.

                            Aktuell bekomme ich folgende Fehlermeldung:

                            Woran liegt das?

                            grafik.png

                            Kommentar


                              #89
                              Den Fehler gab es meine ich schon in Verbindung mit anderen LBS.
                              Vielleicht mal direkt nach der Fehlermeldung + EDOMI das Forum durchforsten. Ich finde gerade nicht den richtigen Faden.
                              Gruß -mfd-
                              KNX-UF-IconSet since 2011

                              Kommentar


                                #90
                                Hallo zusammen,

                                der LBS hatte bei mir nach dem Umzug vom klassischen Edomi zu dem großartigen Rocky Linux ProxMox-/LXC-Template (http://knx-user-forum.de/forum/proje...x86_64-aarch64) von starwarsfan einige Probleme. Ich konnte alles u.a. dank chatgpt fixen. Der oben beschriebene Fehler mit dem fehlerhaften numeric value war auch dabei. Im Folgenden eine Anleitung für alle, die auch auf das Template umsteigen und den LBS 19000925 verwenden.

                                Im RockyLinux-LXC läuft Edomi mit PHP 7.4. Der HOMEMATIC-EDOMI-Master braucht außerdem XML-RPC (PHP-Extension), damit die CCU Events per XML-RPC an Edomi pushen kann.
                                Im Template ist nach einem Restore/Backup zwar die LBS-Datei + homematic.class.php + XML-RPC-Server-PHP meist schon am richtigen Ort, aber häufig hakt es an:
                                • fehlender/anderer XML-RPC Extension (falsches Paket/anderer PHP-Zweig)
                                • fehlenden .data-Dateien / falschen Rechten, sodass der XML-RPC-Server nicht schreiben kann
                                • PHP-7.4-Warnungen (microtime/count), die das Log bei jedem Event zuspammen

                                Voraussetzungen
                                • Edomi läuft im RockyLinux-LXC (starwarsfan Template)
                                • CCU2/CCU3/RaspberryMatic ist erreichbar
                                • Shell-Zugriff als root auf den LXC
                                • Ich hab zur Sicherheit noch einen Snapshot gemacht

                                1) XML-RPC-Extension sauber installieren & verifizieren (wichtig!)

                                1.1 Prüfen, welches PHP aktiv ist
                                Code:
                                php -v
                                1.2 Prüfen, ob xmlrpc bereits geladen ist
                                Code:
                                php -m | grep -i xmlrpc || echo "xmlrpc fehlt"
                                Falls “xmlrpc fehlt”, bei mir ging:
                                Code:
                                dnf install -y php-xmlrpc

                                2) Dateien & Pfade im Template prüfen

                                ​2.1 LBS-Quelle (hier editieren!)

                                Im Template liegt der LBS hier: /usr/local/edomi/www/admin/lbs/

                                Der generierte Exec liegt hier (NICHT editieren): /usr/local/edomi/www/data/liveproject/lbs/

                                Ich bewege mich selten in dem Bereich, deswegen hier die Klarstellung, da ich zunächst falsch unterwegs war.

                                2.2 Prüfen, ob die beiden benötigten Dateien existieren

                                Die liegen nach Restore meist schon richtig, aber ggf. einmal kontrollieren:

                                Code:
                                ls -l /usr/local/edomi/www/shared/php/HOMEMATIC-EDOMI-Master-XML-RPC-Server.php
                                ls -l /usr/local/edomi/main/include/php/homematic.class.php​
                                oder z.B. per WinSCP

                                Wer den Baustein nicht aus einem alten Backup holt, muss natürlich die Dateien aus dem LBS entsprechend dort ablegen.


                                3) .data Dateien anlegen (falls nicht vorhanden) + Rechte korrekt setzen // ob notwendig weiß ich nicht

                                Der XML-RPC-Server schreibt/liest mehrere Dateien. Wenn die fehlen oder nicht beschreibbar sind, kommen keine Events an

                                3.1 Dateien anlegen

                                Code:
                                touch /usr/local/edomi/www/shared/php/HOMEMATIC-EDOMI-Master-daten-Server.data
                                touch /usr/local/edomi/www/shared/php/HOMEMATIC-EDOMI-Master-daten-edomi_lbs.data
                                touch /usr/local/edomi/www/shared/php/HOMEMATIC-EDOMI-Master-daten-hm_events.data
                                3.2 Besitzer setzen (wichtig für Schreibrechte)

                                Code:
                                chown -R apache:apache /usr/local/edomi/www/shared/php​
                                3.3 Rechte setzen

                                Code:
                                chmod 0775 /usr/local/edomi/www/shared/php
                                chmod 0644 /usr/local/edomi/www/shared/php/HOMEMATIC-EDOMI-Master-XML-RPC-Server.php
                                chmod 0664 /usr/local/edomi/www/shared/php/HOMEMATIC-EDOMI-Master-daten-*.data
                                und

                                Code:
                                chmod 0644 /usr/local/edomi/main/include/php/homematic.class.php​
                                4. Debug im LBS aktivieren und Projekt aktivieren

                                Wenn alles passt, sieht man im Customlog
                                • Anmeldung an CCU
                                • empfangene Events
                                • Exec-Aufruf

                                5) PHP 7.4 Warnungen beseitigen (die “Log-Spam”-Fehler)


                                Wenn die Homematic-Anbindung grundsätzlich läuft, tauchen im Edomi-Log bei PHP 7.4 typischerweise diese Meldungen auf:
                                • Fehlercode 8: A non well formed numeric value encountered
                                • Fehlercode 2: count(): Parameter must be an array or an object that implements Countable

                                Hier editieren: /usr/local/edomi/admin/lbs/LBS19000925.php (siehe oben unter 2.)

                                Wer mag, kann die Datei nochmal wegsichern, ich habe wegen des Snapshot darauf verzichtet.

                                5.1 Fix 1: microtime numerisch machen (Fehlercode 8) am Besten über die Suchfunktion die Stellen suchen

                                Im ###[EXEC]### Block:

                                Ändern von:

                                Code:
                                $start=microtime();
                                zu:

                                Code:
                                $start=microtime(true);

                                Und alle Vorkommen von ändern von:

                                Code:
                                (microtime()-$start)
                                zu:

                                Code:
                                (microtime(true)-$start)


                                5.2 Fix 2: count() nur auf Arrays anwenden (Fehlercode 2)


                                Ebenfalls im EXEC-Teil nach dem Laden der JSON-Dateien absichern:

                                Code:
                                $hm=File_Get_Array_From_JSON($pfad_hm_data); //DIESER TEIL IST SCHON DA
                                if (!is_array($hm)) { $hm = array(); }  //NEU
                                
                                $lbs=File_Get_Array_From_JSON($pfad_lbs_data); //DIESER TEIL IST SCHON DA
                                if (!is_array($lbs)) { $lbs = array(); }  //NEU
                                Außerdem noch prüfen: $out darf nicht null sein (sonst wird $lbs später null):

                                Code:
                                $out=array();
                                statt $out=null



                                Als nächstes zwischen

                                Code:
                                {
                                $out[]=$name; // Index startet von 0
                                }
                                $lbs=$out;
                                }
                                und

                                Code:
                                if (!is_array($lbs)) { $lbs = array(); }
                                einfügen:

                                Code:
                                if (!isset($hm[0]) || !is_array($hm[0])) {
                                    logging('Keine gültigen HM-Events im Array (hm[0] fehlt/ist kein Array).');
                                    sql_disconnect();
                                    return;
                                }

                                Zuletzt nach

                                Code:
                                $lbs_output=null;
                                for($i=0; $i<count($hm[0]); $i++) // Events werden nacheinander abgearbeitet
                                {
                                for($i2=0; $i2<count($lbs); $i2++) // LBS_IDs werden abgearbeitet
                                {​
                                und vor

                                Code:
                                for($i3=0; $i3<count($lbs[$i2]); $i3++) // LBS Ausgänge werden abgearbeitet​
                                einfügen

                                Code:
                                if (!isset($lbs[$i2]) || !is_array($lbs[$i2])) { continue; }
                                Damit verschwinden die count()-Warnings dauerhaft.


                                6. Datei speichern und Projekt aktivieren

                                Ich hoffe das hilft anderen weiter.​ Bei mir läuft nach diesen Anpassungen der LBS ohne Fehlermeldungen. Die Homematic-Geräte funktionieren.
                                Zuletzt geändert von sdog; Gestern, 16:40.
                                Gruß
                                Stefan

                                Kommentar

                                Lädt...
                                X