Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS: SML-Reader

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

    Ich muss nochmal den hier genannten Fehler ansprechen:

    Code:
    Illegal offset type in isset or empty
    Kann da jemand weiterhelfen, den zu beseitigen?
    Ab wo muss ich zählen, damit ich die "richtige" Zeile 176 im Code finde? EDOMI verrät das leider nicht.
    Gruß -mfd-
    KNX-UF-IconSet since 2011

    Kommentar


      Sollte in der Zeile 289 sein:

      PHP-Code:
      {
      // seems to be a numeric value
      $entry['dispValue'] = $entry['value'] * pow(10$entry['scaler']);
      if(isset(
      $this->units[$entry['unit']]))

      Kommentar


        Zitat von mfd Beitrag anzeigen
        Wäre es vielleicht möglich, den LBS um einige Ausgänge zu erweitern?
        Prinzipiell sollte es kein großes Thema sein, aber meine damalige Entscheidung, die Steuereingänge nach hinten zu legen, würde für eine gewisse Abwärtsinkompatibilität sorgen. Jeder, der updatet, müsste ggf. manuell die Eingänge umziehen.
        Zitat von mfd Beitrag anzeigen
        Da weiß ich gar nicht für was ich mich entscheiden soll...
        Hast eine Beschreibung für die einzelnen OBIS-Zahlen deines Zählers?
        Die 81er-Fraktion (Phasenwinkel) braucht man nicht so oft.
        Außerdem ist mir beim entsprechenden LBS für die D0-Schnittstelle aufgefallen, dass es dort die Möglichkeit gibt noch ein paar gerätespezifische Daten (Herstellerkennung usw.) zu erhalten. Diese werden vom LBS direkt als Klartext ausgegeben. Ist das mit SML auch irgendwie möglich bzw. vorgesehen?
        Prinzipiell kann mit dem SmlReader alles, was als OBIS kodiert ist, ausgegeben werden. Z.B. die Herstellerkennung sollte mit der OBIS 129-129:199.130.3*255 abfragbar sein. Es sind aber idR nur ein paar Buchstaben (z.B. "EMH", "ISK").

        Kommentar


          Zitat von mfd Beitrag anzeigen

          Code:
          Illegal offset type in isset or empty
          Es sieht so aus, dass dein Zähler einen Wert ohne Angabe von Einheiten liefert. Wenn du sagts, dass es nur selten passiert, dann könnte es am Datenverlust liegen. Andererseits wäre es ziemlich außergewöhnlich, wenn es immer bei den Einheiten passieren würde und sonst nirgends.

          Kommentar


            Zitat von toggle Beitrag anzeigen
            Es sieht so aus, dass dein Zähler einen Wert ohne Angabe von Einheiten liefert. Wenn du sagts, dass es nur selten passiert, dann könnte es am Datenverlust liegen.
            Ich habe nachgezählt, in den letzten 14 Tagen waren es 15 dieser Fehlermeldungen. Mal zwei pro Tag, mal ein Tag keine. Die Uhrzeiten reichen von 6 Uhr am Morgen bis etwa 17 Uhr abends. Nachts taucht der Fehler bisher erstaunlicherweise nicht auf. Das mag aber auch daran liegen, dass der Zähler nur tagsüber sich ändernde Werte liefert, da es sich um eine PV-Anlage handelt.

            Das Problem mit der Rückwärtskompatibilität klingt logisch, das habe ich jetzt erst bemerkt. Andererseits sind es neben dem "trace" nur drei Eingänge die anzupassen sind, da hatte ich bei EDOMI-Updates (und anderen LBS) schon Schlimmeres.

            Der Zähler liefert im derzeitigen Zustand
            OBIS 1-0:1.8.0*255 Summe Wirkenergie
            OBIS 1-0:2.8.0*255 Lieferung gesamt
            OBIS 1-0:16.7.0*255 Momentane Wirkleistung
            OBIS 1-0:32.7.0*255 Spannung P1
            OBIS 1-0:52.7.0*255 Spannung P2
            OBIS 1-0:72.7.0*255 Spannung P3
            OBIS 1-0:31.7.0*255 Strom P1
            OBIS 1-0:51.7.0*255 Strom P2
            OBIS 1-0:71.7.0*255 Strom P3
            OBIS 1-0:81.7.1*255 Phasenwinkel UL2 : UL1
            OBIS 1-0:81.7.2*255 Phasenwinkel UL3 : UL1
            OBIS 1-0:81.7.4*255 Phasenwinkel IL1 : UL1
            OBIS 1-0:81.7.15*255 Phasenwinkel IL2 : UL2
            OBIS 1-0:81.7.26*255 Phasenwinkel IL3 : UL3
            OBIS 1-0:14.7.0*255 Netz Frequenz in Hz
            OBIS 1-0:96.5.0*255 Statuswort (4 Byte Information über den Betriebszustand)
            Möglicherweise wären auch noch weitere Daten nach entsprechender Konfiguration im Zählermenü möglich (noch nicht getestet).

            Gruß -mfd-
            KNX-UF-IconSet since 2011

            Kommentar


              Neben dem oben genannten Fehler, der weiterhin im Schnitt täglich einmal auftaucht, ist nun einmalig ein neuer dazugekommen:
              Code:
               [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
               	 		[TR="class: sErr"]
               			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000350.php | Fehlercode: 1 | Zeile: 126 | Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes)[/TD]
               		[/TR]
               	 [/TABLE]
              Gruß -mfd-
              KNX-UF-IconSet since 2011

              Kommentar


                Irgendwas gefällt dem LBS bei mir nicht. Jetzt auch in Kombination:
                Code:
                Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000350.php | Fehlercode: 2 | Zeile: 176 | Illegal offset type in isset or empty ERROR
                Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000350.php | Fehlercode: 1 | Zeile: 126 | Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) FATALERROR
                Gruß -mfd-
                KNX-UF-IconSet since 2011

                Kommentar


                  Hallo zusammen,

                  ich komme mit dem Baustein nicht weiter. Laut Weidmann Emlog Tool gibt der Zähler die Werte 1.8.0; 2.8.0; 1.7.0; 2.7.0 aus.
                  Auf der Konsole im CentOS konnte ich folgendes mitlesen:
                  Code:
                  0000000 1b 1b 1b 1b 01 01 01 01 76 04 00 00 01 62 00 62
                  0000020 00 72 65 00 00 01 01 76 01 01 07 00 00 00 11 59
                  0000040 4a 0b 0a 01 48 4c 59 02 00 08 82 d8 72 62 01 65
                  0000060 00 11 59 4a 01 63 37 7e 00 76 04 00 00 02 62 00
                  0000100 62 00 72 65 00 00 07 01 77 07 ff ff ff ff ff ff
                  0000120 0b 0a 01 48 4c 59 02 00 08 82 d8 07 01 00 62 0a
                  0000140 ff ff 72 62 01 65 00 11 59 4a 75 77 07 01 00 60
                  0000160 32 01 01 01 01 01 01 04 48 4c 59 01 77 07 01 00
                  0000200 60 01 00 ff 01 01 01 01 0b 0a 01 48 4c 59 02 00
                  0000220 08 82 d8 01 77 07 01 00 01 08 00 ff 65 00 1c 01
                  0000240 04 72 62 01 65 00 11 59 4a 62 1e 52 ff 65 00 14
                  0000260 5d bb 01 77 07 01 00 02 08 00 ff 01 72 62 01 65
                  0000300 00 11 59 4a 62 1e 52 ff 62 00 01 77 07 01 00 10
                  0000320 07 00 ff 01 01 62 1b 52 00 53 02 6e 01 01 01 63
                  0000340 80 5e 00 76 04 00 00 03 62 00 62 00 72 65 00 00
                  0000360 02 01 71 01 63 e8 23 00 1b 1b 1b 1b 1a 00 f5 83
                  Im Log des Bausteins sehe ich folgendes:
                  Code:
                   [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
                   	 		[TR]
                   			[TD]2020-11-16 21:39:56[/TD]
                   			[TD]627865[/TD]
                   			[TD]6222[/TD]
                   			[TD]INFO:[/TD]
                   			[TD]Read 256 bytes.[/TD]
                   		[/TR]
                   		[TR]
                   			[TD]2020-11-16 21:39:56[/TD]
                   			[TD]632042[/TD]
                   			[TD]6222[/TD]
                   			[TD]INFO:[/TD]
                   			[TD]OBIS 255-255:255.255.255*255:[/TD]
                   		[/TR]
                   		[TR]
                   			[TD]2020-11-16 21:39:57[/TD]
                   			[TD]634958[/TD]
                   			[TD]6222[/TD]
                   			[TD]INFO:[/TD]
                   			[TD]Read 256 bytes.[/TD]
                   		[/TR]
                   		[TR]
                   			[TD]2020-11-16 21:39:57[/TD]
                   			[TD]638605[/TD]
                   			[TD]6222[/TD]
                   			[TD]INFO:[/TD]
                   			[TD]OBIS 255-255:255.255.255*255:[/TD]
                   		[/TR]
                   		[TR]
                   			[TD]2020-11-16 21:39:58[/TD]
                   			[TD]641393[/TD]
                   			[TD]6222[/TD]
                   			[TD]INFO:[/TD]
                   			[TD]Read 256 bytes.[/TD]
                   		[/TR]
                   	 [/TABLE]
                  Der Baustein liefert aber keine Daten. USB Treiber Updaten nach Anleitung habe ich auch gemacht.
                  Zähler ist ein Holley DTZ541.
                  Im Baustein versuche ich zunächst den Zählerstand über "1-0:1.8.1*255" an E1 auszulesen.

                  Was mache ich falsch? Oder liegt es am Zähler?

                  Vielen Dank & Viele Grüße
                  trebeg

                  Kommentar


                    Hi Trebeg,

                    ich habe aktuell dasselbe Problem kann dir aber schon sagen, das die Konsole alle Werte ausgibt.
                    Hier z.B. für 1.8.0
                    Zitat von trebeg Beitrag anzeigen
                    77 07 01 00 01 08 00 ff 65 00 1c 01 04 72 62 01 65 00 11 59 4a 62 1e 52 ff 65 00 14 5d bb 01
                    65 00 14 5d bb -> sagt es ist ein UINT 32 aktueller Wert 00 14 5d bb


                    Er scheint nur das folgende zu finden, bin aber noch nicht tief genug im Quellcode drin
                    Zitat von trebeg Beitrag anzeigen
                    77 07 ff ff ff ff ff ff 0b 0a 01 48 4c 59 02 00 08 82 d8 07 01 00 62 0a ff ff 72 62 01 65 00 11 59 4a 75
                    Bei mir hat er zum Teil auch andere Werte ausgegeben.

                    Kommentar


                      Habe die Daten auch einmal zerlegt, eigentlich ist alles drin:
                      07 01 00 01 08 00 ff
                      1- 0: 1. 8. 0* 255 Zählerstand Bezug
                      07 01 00 02 08 00 ff
                      1- 0: 2. 8. 0* 255 Zählerstand Lieferung
                      07 01 00 10 07 00 ff
                      1- 0: 16. 7. 0* 255 Wirkleistung Bezug
                      Keine Ahnung warum der Baustein das nicht findet. Kann jemand helfen?
                      Zuletzt geändert von trebeg; 22.11.2020, 17:59.

                      Kommentar


                        trebeg Ich habe bei mir die IF bedingung in Zeile 261 so angepasst, sodass die ersten 4 Werte verglichen werden.

                        PHP-Code:
                        // search for SML list entries starting with OBIS enclosed by 0x77 0x07 and 0xff
                        if(($data[$this->parseOffset] == 0x77) &&
                        (
                        $data[$this->parseOffset 1] == 0x07) &&
                        (
                        $data[$this->parseOffset 2] == 0x01) &&
                        (
                        $data[$this->parseOffset 3] == 0x00) &&
                        (
                        $data[$this->parseOffset $headerSize] == 0xff))
                        {
                        //....

                        Scheint so bei mir zu klappen, ggf kann man E1 - E6 auch nehmen um parseOffset + 2 und +3 zu setzten, sehe dort aber immer die Werte 0x01 und 0x00.

                        Kommentar


                          Super, das funktioniert.
                          Vielen Dank.

                          Vielleicht kann man das in den Baustein im Download Bereich übernehmen

                          Kommentar


                            Hat jemand von Euch eine Idee warum bei mir in der Edomi-Konsole folgende Meldungen erscheinen? Die Werte werden aber gelesen und der LBS funktioniert.

                            Bildschirmfoto 2021-01-02 um 17.58.03.png

                            Kommentar


                              Zitat von mfd Beitrag anzeigen
                              Irgendwas gefällt dem LBS bei mir nicht. Jetzt auch in Kombination:
                              Code:
                              Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000350.php | Fehlercode: 2 | Zeile: 176 | Illegal offset type in isset or empty ERROR
                              Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000350.php | Fehlercode: 1 | Zeile: 126 | Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) FATALERROR
                              Ich habe den ersten Fehler auch und mal ein Log eingebaut, ob ich genauer sehen kann, welcher Wert da für Verwirrung sorgt.
                              Der Baustein loggt im "trace=1" Modus zwar sehr viel, aber da der Fehler auch bei mir ca 1 mal pro Tag kommt, kann man das ja dann mit Uhrzeit matchen und ist auch nur temporär.

                              Code:
                              printLog("Unit: {$entry['unit']}");
                              if(isset($this->units[$entry['unit']]))
                              Autor der SonoPhone, SonoPad und SqueezePad Apps.

                              Kommentar


                                bzw. Korrektur: da die Zeile innerhalb der if Abfrage ja ohnehin deaktiviert ist (und Aktivierung zu Problemen führt), habe ich die if-Abfrage komplett rausgenommen.
                                Autor der SonoPhone, SonoPad und SqueezePad Apps.

                                Kommentar

                                Lädt...
                                X