Ankündigung

Einklappen
Keine Ankündigung bisher.

[ebusd] Frage zu command.csv

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast
    Ein Gast antwortete
    Das Problem liegt grundsätzlich am Bus bzw. an der Justierung des Adapters, wenn hier keine AA's zwischen den Nachrichten gesehen wird.

    Nichtsdestotrotz sollte der Daemon, wenn die Länge in keinster Weise paßt, einfach nicht abstürzen und das Telegramm verwerfen.

    Ich denke mal darüber nach, wie ich den Daemon dahingehend etwas robuster gestalten kann.

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    Hallo yuhu,

    hat bei mir auch nichts ausgemacht, ging ja auch. aber nach einer halben stunde hatte ich wieder "segmentation Fault" schade das der EbusD dann gestoppt wird. Stattdessen könnte das Programm doch das Paket einfach verwerfen und weiter laufen. Währe super, wenn sich das im ebusd umprogrammieren ließe, aber da bist du ehr der Profi als ich. Ich würde wenn dann in meinem CCU.IO ein script bauen (lassen) was den ebusd überwacht und diesen ggf. neu startet.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Zitat von Matthi Beitrag anzeigen
    Hallo yuhu, 2 Semikolon´s hm aber es lief ja eine halbe stunde und ich konnte auch werte abfragen und dann kam dieser zusammengewürfelte Block, wo was nicht passte. Ich probiers mal in der korrigierten Fassung aus, mal sehen was passiert
    Ich habe das gerade mal mit csv (tools) getestet. Das vermeintlich doppelte Semikolon macht der Konfiguration nichts. Bei beiden male sieht die Ausgabe so aus.

    Code:
    ./csv . -ad
    2014-02-06 20:23:53.656 [NOT] ./test.csv
    2014-02-06 20:23:53.656 [NOT] ./test.csv success
    2014-02-06 20:23:53.656 [INF] [000] cyc :                    vwl.OutUnitData                                   (type: MS) E0B52100         (len: 5) [7] ==> AusseneinheitDaten
    2014-02-06 20:23:53.656 [INF]           stat1                sd pos: 1             bcd [ 1.00] [-]     -    -
    2014-02-06 20:23:53.656 [INF]           stat2                sd pos: 2             bcd [ 1.00] [-]     -    -
    2014-02-06 20:23:53.656 [INF]           sole                 sd pos: 3,4           d2c [ 1.00] [°C]     -    Temperatur
    2014-02-06 20:23:53.656 [INF]           zuluft               sd pos: 5,6           d2c [ 1.00] [°C]     -    Temperatur
    2014-02-06 20:23:53.656 [INF]           stat3                sd pos: 7             bcd [ 1.00] [-]     -    -
    2014-02-06 20:23:53.656 [INF]           fanspeed             sd pos: 8             d1b [10.00] [Upm]     -    Drehzahl
    2014-02-06 20:23:53.656 [INF]           fanpower             sd pos: 9             d1b [ 1.00] [%]     -    Power
    2014-02-06 20:23:53.656 [INF]

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    Zitat von JuMi2006 Beitrag anzeigen
    Du könntest den PWM-Wert ändern, der sollte auslesbar und setzbar sein. Ich hab gerade die config nicht zur Hand.

    Dann sollte man einfach zwischen 0% und 100% wechseln können.
    Hallo, JuMi 2006,

    also mit "get vpm3035w CircoPumpPower" kann man das abfragen set befehle für die vpmw habe ich leider nicht. Rausfinden kann ich das auch nicht, da ich keine VRDialog mit adapter besitze. Vielleicht funktioniert ja auch der ZP eingang der hauptplatine, kann ich ja mal probieren am Wochenende....

    Hallo yuhu, 2 Semikolon´s hm aber es lief ja eine halbe stunde und ich konnte auch werte abfragen und dann kam dieser zusammengewürfelte Block, wo was nicht passte. Ich probiers mal in der korrigierten Fassung aus, mal sehen was passiert

    MfG Matthi

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    [QUOTE=Matthi;375829]
    Code:
    cyc;vwl;OutUnitData;AusseneinheitDaten;MS;E0;B521;5;00;7;stat1;sd;1;bcd;1;-;-;-;stat2;sd;2;bcd;1;-;-;-;[B][COLOR=Red];[/COLOR][/B]sole;sd;3,4;d2c;1;°C;-;Temperatur;zuluft;sd;5,6;d2c;1;°C;-;Temperatur;stat3;sd;7;bcd;1;-;-;-;fanspeed;sd;8;d1b;10;Upm;-;Drehzahl;fanpower;sd;9;d1b;1;%;-;Power
    Da paßt was nicht:

    Code:
    0 -> cyc;vwl;OutUnitData;AusseneinheitDaten;MS;E0;B521;5;00;7;
    1 -> stat1;sd;1;bcd;1;-;-;-;
    2 -> stat2;sd;2;bcd;1;-;-;-;[B][COLOR=Red];[/COLOR][/B][COLOR=Red] <- Fehler, 1 Semikolon zuviel[/COLOR]
    3 -> sole;sd;3,4;d2c;1;°C;-;Temperatur;
    4 -> zuluft;sd;5,6;d2c;1;°C;-;Temperatur;
    5 -> stat3;sd;7;bcd;1;-;-;-;
    6 -> fanspeed;sd;8;d1b;10;Upm;-;Drehzahl;
    7 -> fanpower;sd;9;d1b;1;%;-;Power
    Es sind stets 8 Werte in der Wiederholgruppe

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Du könntest den PWM-Wert ändern, der sollte auslesbar und setzbar sein. Ich hab gerade die config nicht zur Hand.

    Dann sollte man einfach zwischen 0% und 100% wechseln können.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Zitat von Matthi Beitrag anzeigen
    Die Frage, die ich noch offen habe, währe: mit welchem "set" Befehl an die vpm20/25W starte ich die Zirkulationspumpe für eine gewisse Zeit. Ich möchte die gerne mit dem Bewegungsmelder in der Küche verbinden, aber dazu später mehr!
    Für die Zirkulationspumpe kann man Zeiten festlegen, in der diese aktiv bzw. inaktiv ist. Da ich so etwas nicht habe, habe ich das nicht weiter verfolgt.

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    Hallo, ich habe vorhin bereits schon Poti gedreht, ich habe etwa 2 Umdrehungen an meinem Spindeltrimmer, wo ich daten empfange, es ändert sich aber rein garnichts an den Störungen in der Antwort von der außeneinheit, habe sogar das Telefonkabel welches in mein Bastelzimmer geht im keller vom Ebus abgeklemmt, nicht das es zu Störungen von dort aus kommt. Ich spiele gerade mit dem Gedanen den Rasperry in meine Wärmepumpe mal Probehalber mit ganz kurzem Kabel zur Hauptplatine laufen zu lassen. Derzeit hängt das ding genau am anderen Ende des Busses zur Außeneinheit, nämlich am vpm20s Parallel drauf mit noch rund 6Meter Kabel dran bis in meinen 19" netzwerkschrank. Muss mal sehen am Wochenende, habe die Zeile erstmal auskommentiert. Wenn´s nicht geht, muss ich mir ein script überlegen, welches den ebusd. bei Fehlerhafter Connection über Telnet einfach neu startet. Ich nutze übrigens ein Homematic-System mit CCU.IO zur visualisierung und nutze die dort eingebaute Telnet-Schnittstelle zur kommunikation mit dem ebusD.

    Die Frage, die ich noch offen habe, währe: mit welchem "set" Befehl an die vpm20/25W starte ich die Zirkulationspumpe für eine gewisse Zeit. Ich möchte die gerne mit dem Bewegungsmelder in der Küche verbinden, aber dazu später mehr!

    MfG Matthi

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Das mit dem "Segmentation fault" ist natürlich Schlecht.

    Kannst Du mal prüfen, ob zwischen den einzelnen Befehlen auch einige AA's dazwischen sind.
    Im Normalfalls sind bei mir immer so zwischen 3-5 AA hintereinander.
    Ansonsten nochmal etwas am Adapter nachjustieren.

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    Komisch, jetzt läufts....

    Hallo,

    also habe das jetzt nochmal in die cyc.csv eingetragen und den ebusD laufen lassen. Dabei habe ich erstmal folgendes entdeckt, denn aktuell war grad mal wieder die Kommunikationsstörung zur Ausseneinheit

    Code:
    2014-02-05 21:30:55.579 [EBH]   03 e0 b5 21 05 00 02 07 00 e7 65 80 42 40 a0 ff 1c 00 07 00 00 78 00
    2014-02-05 21:30:55.579 [NOT]  found: E0B5210500 type: MS ==> id: 68
    2014-02-05 21:30:55.580 [WAR] Slave CRC Error
    sprich, wenn da Müll kommt, nimmter´s nicht! Schonmal gut und jetzt zur eigentlichen Sache:

    Jetzt gehts, entweder hatte ich einen Fehler in der Configdatei oder es waren haufenweise Communikationsstörungen:

    Code:
    cyc vwl outunitdata
    0 2 -0.125000 1.250000 7 0.000000 0.000000
    hier meine komplette cyc.csv:

    Code:
    # type;class;cmd;comment;msg type: 1=BROAD, 2=MM, 3=MS;ZZ;PBSB;NN;D1D2D3;elements;sub;part;position;datatype;factor;unit;valid;comment;sub;part;position;datatype;factor;unit;valid;comment;sub;part;position;datatype;factor;unit;valid;comment;sub;part;position;datatype factor;unit;valid;comment
    cyc;broad;date_time_temp;Datum, Uhrzeit und Aussentempertur;BR;FE;0700;9;-;4;temp;md;1,2;d2b;1;°C;-;Temperatur;day;md;8;bdy;-;-;-;Wochentag;date;md;6,7,9;bda;-;-;-;Datum;time;md;5,4,3;bti;-;-;-;Uhrzeit
    cyc;broad;load_VF_temp;Speicherladung und Vorlauftempertur;BR;FE;B505;4;27;3;load;md;2;bcd;1;-;00,01;Speicherladung;temp;md;3;d1c;2;°C;-;Temperatur;stat;md;4;bcd;1;-;-;Status;;;;;;;;
    cyc;broad;date_time;Datum, Uhrzeit;BR;FE;B516;8;0;3;day;md;7;hdy;-;-;-;Wochentag;date;md;5,6,8;bda;-;-;-;Datum;time;md;4,3,2;bti;-;-;-;Uhrzeit;;;;;;;;
    cyc;broad;temp;Aussentemperatur;BR;FE;B516;3;01;1;-;md;2,3;d2b;1;°C;-;-;;;;;;;;;;;;;;;;;;;;;;;;
    #;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    cyc;mv;VF1_temp;VorlauftemperaturVF1;MS;08;B509;3;290100;2;temp;sd;3,4;d2c;1;°C;-;Temperatur;stat;sd;5;bcd;1;-;-;Status;;;;;;;;;;;;;;;;
    cyc;mv;RF1_temp;RücklauftemperaturRF1;MS;08;B509;3;290700;2;temp;sd;3,4;d2c;1;°C;-;Temperatur;stat;sd;5;bcd;1;-;-;Status;;;;;;;;;;;;;;;;
    cyc;mv;VF2_temp;VorlauftemperaturVF2;MS;50;B504;2;0D00;4;stemp;sd;1;d1b;1;°C;-;Temperatur;stat;sd;2;bcd;1;-;-;-;temp;sd;3,4;d2c;1;°C;-;Temperatur;rstemp;sd;5;d1b;1;°C;-;Temperatur
    cyc;mv;SP1_temp;VorlauftemperaturVF2;MS;25;B504;2;0D00;4;stemp;sd;1;d1b;1;°C;-;Temperatur;stat;sd;2;bcd;1;-;-;-;temp;sd;3,4;d2c;1;°C;-;Temperatur;mtemp;sd;5;d1b;1;°C;-;Temperatur$
    cyc;mv;brine_in;Quellentemperatur;MS;08;B509;3;290F00;2;temp;sd;3,4;d2c;1;°C;-;Temperatur;stat;sd;5;bcd;1;-;-;Status;;;;;;;;;;;;;;;;
    cyc;amu;high_eff_pump_stat;Hocheffizenzpumpenstatus;MS;08;B509;3;29B801;1;-;sd;3;bcd;1;-;-;-;;;;;;;;;;;;;;;;;;;;;;;;
    cyc;cir2;heat_pump_stat;StatusHeizkreispumpe;MS;08;B509;3;29B901;1;-;sd;3;bcd;1;-;-;-;;;;;;;;;;;;;;;;;;;;;;;;
    #;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    #cyc;cir2;date_time_temp;Datum, Uhrzeit und Aussentempertur;MS;50;B504;1;0;4;day;sd;7;hdy;-;-;-;Wochentag;date;sd;5,6,8;bda;-;-;-;Datum;time;sd;4,3,2;bti;-;-;-;Uhrzeit;temp;sd;9,10;d2b;1;°C;-;Temperatur
    cyc;vwl;OutUnitData;AusseneinheitDaten;MS;E0;B521;5;00;7;stat1;sd;1;bcd;1;-;-;-;stat2;sd;2;bcd;1;-;-;-;;sole;sd;3,4;d2c;1;°C;-;Temperatur;zuluft;sd;5,6;d2c;1;°C;-;Temperatur;stat3;sd;7;bcd;1;-;-;-;fanspeed;sd;8;d1b;10;Upm;-;Drehzahl;fanpower;sd;9;d1b;1;%;-;Power
    Aber jetzt das:

    Code:
    2014-02-05 21:47:35.915 [EBH] 1 03 e0 b5 21 05 00 02 07 00 e7 65 80 42 40 20 20 a0 04 74 04 04 34 02 a6 83 fe 08 b5 10 09
    2014-02-05 21:47:35.915 [EBH] 2 00 01 00 00 00 00 00 00 02 0c 00 00 00 00
    2014-02-05 21:47:35.916 [NOT]  found: E0B5210500 type: MS ==> id: 68
    Segmentation fault
    irgendwie würfelt der jetzt 2 sachen zusammen und stürzt ab, machter seit Sonntag, seit dem ich die B521 abhöre, versteh ich nicht.

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Post bitte mal die verwendete csv Datei mit dem Befehl (7 Elementen)

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    Hallo, yuhu,

    welche defekte .csv? meinste die, die dann die zu lange Configzeile hätte? Die CSV selbst geht ja, nur werden die werte nirgends nicht zwischengespeichert, es kommt dann bei der Abfrage über Telnet überall 0 bzw. 0.000000 raus. Die Anzahl der Werte Selbst passt schon, es währen dann 7 Stück.

    MfG Matthias

    Einen Kommentar schreiben:


  • Gast
    Ein Gast antwortete
    Zitat von Matthi Beitrag anzeigen
    Leider kann ich nur 4 Werte abfragen, wenn ich mehr als 41 semikolons benutze werden zwar alle Werte angezeigt, aber überall steht dann null.
    Im Sourcecode habe ich da keine Beschränkungen eingebaut. In der Theorie solltest du beliebige Elemente definieren können.

    Vielleicht ist auch nur ein Buffer falsch gesetzt. Kannst Du mal die "defekte" CSV mit dem Tool csv aus dem tools Verzeichnis auslesen und anzeigen.

    Zitat von Matthi Beitrag anzeigen
    Was passiert, wenn ich eine neue Configzeile erstelle und die Restlichen blöcke, die noch nicht abgefragt sind darin abfrage, also die stellen 1,2 und 7. Funktioniert das?
    Ja, wäre möglich, man muss aber auf die Reihenfolge aufpassen. Die Regel, welche als erstes gefunden wird, wird verwendet.

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    bin schon weiter, aber noch ne Frage:

    Hallo yuhu,

    zur Info, es funktioniert, wenn man zur erkennung des paketes nicht alles der angegeben datenlänge einträgt. meine Configzeile sieht so aus:

    Code:
    cyc;vwl;OutUnitData;AusseneinheitDaten;MS;E0;B521;5;00;4;sole;sd;3,4;d2c;1.00;°C;-;Temperatur;zuluft;sd;5,6;d2c;1;°C;-;Temperatur;fanspeed;sd;8;d1b;10;Upm;-;Drehzahl;fanpower;sd;9;d1b;1;%;-;Power
    leider kann ich nur 4 Werte abfragen, wenn ich mehr als 41 semikolons benutze werden zwar alle Werte angezeigt, aber überall steht dann null. Ich wollte mal beobachten wann welcher Status kommt um diese auch noch zu erforschen, aber das geht leider nicht so. was passiert, wenn ich eine neue Configzeile erstelle und die Restlichen blöcke, die noch nicht abgefragt sind darin abfrage, also die stellen 1,2 und 7. Funktioniert das?

    MfG Matthi

    Einen Kommentar schreiben:


  • Matthi
    antwortet
    läuft....

    Ah, jetzt kommt Licht ins dunkle, mit der "08" klappt das auch. das ist die Grundlage zum weiter rum probieren. Das ist vermutlich auch der Grund, warum die vaillant_get.csv nur teilweise funktioniert, habe dort statt 1, 2, und 3 in BR, MS und MM in excel geändert. Danke dafür. Wenn ich das jetzt hinbekomme, stelle ich die cyc.csv mal zur verfügung, wenn ich schon einige Daten herrausgefunden habe, kann die auch jeder andere nuten der es braucht. Es wird eh besser sein die Daten einfach Passiv mitzulesen, um so den lumpigen Ebus nicht zu überlasten!

    MfG Matthias

    Einen Kommentar schreiben:

Lädt...
X