Leider hat mir der Baustein nur an einem Tag die Werte ausgegeben. Muss ich den Baustein noch anders Triggern?
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS: SML-Reader
Einklappen
X
-
Seltsam, seltsam... Es sieht fast so aus, als wäre die Schnittstelle wieder nicht in Ordnung.
Was gibt der folgende Befehl jetzt aus?
Code:cat /dev/ttyUSBx | od -tx1
Der LBS muss nicht getriggert werden. Er interpretiert die Daten, sobald sie ankommen und der enable-Eingang auf ungleich 0 gesetzt ist. Wenn der trace-Eingang auf ungleich 0 gesetzt ist, müsste man nach jedem Neustart ein paar Logs auch ohne ankommende Daten sehen. Wenn das nicht der Fall ist, dann bin ich ratlos...
Kommentar
-
cat /dev/ttyUSB0 | od -tx1 Unbenannt.JPG nach dem stty Befehl gibt er gar nichts mehr aus Unbenannt1.JPG Eine Log-Datei bekomem ich auch nicht Unbenannt3.JPG Unbenannt4.JPG
Kommentar
-
MIr ist gerade eben aufgefallen, dass in der Titelzeile der Box "SmlReader" steht. Liegt es an der Darstellung deiner Edomi-Version oder daran, dass du eine uralte Version des Bausteins benutzst? Die letzte hochgeladen Version ist 1.3 und wird in der Titelzeile mit "SmlReader v1.3" dargestellt.
Kommentar
-
Ich hab mal ne Frage.. ich das merkwürdige Verhalten, dass sich bei den empfangenen Daten ein Delay von bis zu mehreren Minuten aufbaut. Also Änderungen zeigen sich erst Minuten später im Datenarchiv. Ich hab viel umprobiert und die Verbindung zwischen HOst und edomi Gast verdächtigt, aber da ich das gleiche Verhalten auch mit deinem angepassten php code, ausgeführt also cli direkt auf der Host maschine habe, hab ich im Code geforscht.
Nochmal zur Verdeutlichung: Ich ziehe den Lesekopf ab und sehe noch 4minuten lang daten ankommen, bis nichts mehr kommt. Irgendwo baut sich da eine Queue auf.
Irgendwann läuft die über, daher ist beim delay ein maximum von wenigen minuten.
Du hast an mehreren Stellen usleep (1000000) oder sleep(1). Beides wartet 1sek. Dazu kommt aber die Skriptlafzeit, somit ruft der LBS nur alle 1,0...01 sekunden ein sml paket ab.
Das könnte doch der Grund sein, oder?
Und kann noch jemand diese Beobachtung teilen? Dass die Daten verzögert kommen?
Ich hab jetzt mal die sleeps und retries so angepasst, dass viel öfter gepollt wird. Mal sehen was passiert.
Kommentar
-
Und endlich ist das Rätsel gelöst. Seit WOchen schlage ich mich immer wieder damit rum.
https://knx-user-forum.de/forum/proj...schobene-kurve
Eine modifizierte Version des LBS mit kürzeren sleeps löst das Problem.
Kommentar
-
Zitat von toggle Beitrag anzeigenZwei Sleeps in Fehlerpfaden mit 1 Sekunde sind OK. In der Hauptschleife ist Wartezeit von 1 Sekunde zu lang, wenn der Zähler jede Sekunde sendet. Wenn ich mich nicht täusche, sendet mein Zähler alle 2 Sekunden.
Kommentar
-
Ich bekomme leider immernoch keine Daten angezeigt. Es könnte jedoch jetzt auch an meinem Diagramm liegen da ich sehe, dass am Baustein die Daten ankommen. Kann mir jemand sagen wo diese Datenarchiv-Datei liegt? Ich würde mal gerne mit Filezilla schauen ob Daten in das Archiv geschrieben werden oder nicht.
Kommentar
-
Es gibt nicht DIE Datei. Datenarchive werden in einer MySQL-Datenbank abgelegt.
Im Kommandozeilen-Tool "mysql" (Linux-Konsole, z.B. über ssh) können die Daten mit entsprechenden SQL-Ausdrücken abgefragt werden.
Um die Liste aller Datenarchive anzuzeigen:
Code:mysql> select * from [COLOR=#0000FF]edomiLive.archivKo[/COLOR]; +-----+----------+----------------------------------------------------+------+-------+---------+ | id | folderid | name | keep | delay | outgaid | +-----+----------+----------------------------------------------------+------+-------+---------+ | 1 | 1050 | Masterbad Temperatur | 0 | 0 | 0 | | 2 | 50 | Gästebad Temperatur | 0 | 0 | 0 | ... | 100 | 1059 | Stromverbrauch (kWh) (3d) | 3 | 0 | 531 | | 101 | 1059 | Leistung (W) (3d) | 3 | 0 | 532 | | [COLOR=#FF0000]102[/COLOR] | 1059 | [COLOR=#FF0000]Stromverbrauch Tag (kWh) (3d)[/COLOR] | 3 | 0 | 0 | | 103 | 1059 | Stromverbrauch WP Tag (kWh) (3d) | 3 | 0 | 0 | ....
Code:mysql> select * from [COLOR=#0000FF]edomiLive.archivKoData[/COLOR] where targetid=[COLOR=#FF0000]102[/COLOR]; +---------------------+--------+----------+-----------------+ | datetime | ms | targetid | gavalue | +---------------------+--------+----------+-----------------+ | 2019-11-16 23:59:59 | 999999 | 102 | 6.7963 | | 2019-11-17 23:59:59 | 999999 | 102 | 6.1142999999993 | | 2019-11-18 23:59:59 | 999999 | 102 | 5.6355999999996 | +---------------------+--------+----------+-----------------+ 3 rows in set (0.00 sec)
Kommentar
-
Nach dem Einloggen mysql aufrufen. Dann bekommst du den Prompt mysql>, wo die eigentlichen Abfragen gemacht werden können. Strichpunkt am Ende des SQL-Befehls ist wichtig.
Falls Fehler gemeldet werden, wäre es sinnvoll diese zusammen mit den gemachten Eingaben zu posten, sonst können wir nur raten, was passiert ist.
Kommentar
-
Habs geschafft:
Unbenannt.JPG
Sieht so aus als würden Daten ankommen.
Dann liegt es wohl an meinem Diagramm.
Kommentar
-
Ich hab grad was extrem merkwürdiges.
Ich schreibe die Daten aus dem LBS direkt in einer Ausgangsbox in ein Datenarchiv.
Letztes hatten ich diese komischen "Knick", der so nie aufgetreten sein kann, da sich der Zähler ja nicht rückwärts bewegen kann...
2019-12-29 21_03_32-EDOMI · Visualisierung.png
Für ca 2h kommen die Daten einfach mit einem negativen Offset an. Verschwindet einfach wieder. Unerklärlich. Vielleicht ein Fehler beim parsen der nur bei ganz speziellen Konstellationen auftritt?Angehängte Dateien
Kommentar
Kommentar