Zitat von saft6luck
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
Anlagenstatus einer Alpha Innotec Wärmepumpe (Luxtronik 1.0)
Einklappen
X
-
offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
-
Zitat von enertegus Beitrag anzeigenOffenbar kann eine TCP Anfrage Verbindung nicht mehr an CF geschickt werden. Wieviele iPads und CF Seiten hast Du da im Betrieb?BR
Marc
Kommentar
-
Zitat von saft6luck Beitrag anzeigenEs ist nur eines in Betrieb, die anderen habe ich im Code entfernt.offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
Enertex Produkte kaufen
Kommentar
-
Zitat von enertegus Beitrag anzeigenKorrelieren die Angaben oben mit deinem iPad und deiner Konfig?BR
Marc
Kommentar
-
Zitat von saft6luck Beitrag anzeigenDer eibPC legt leider immer noch regelmäßig Pausen ein.
...
Meist alle 5 Minuten ist der eibPC derart beschäftigt, dass er nichts mehr macht, dann bleibt auch kurz die Visu stehen.
Getestet mit nur einem iPad/CommandFusion, bei 20ms Zykluspause. Maximale Zyklus-Laufzeit ist 999ms, Patches: 3.008.ptc.
Es ist auch schon (oder immer noch) mehrfach passiert, dass die Rollos nicht gefahren sind oder die Displays nicht auf Nachtbetrieb gingen.
hast Du Interesse an meiner veränderten Makro Version?
Hab das Makro dahin verändert, dass zwischen dem Parsen der einzelnen Blöcke paar Hundert ms Pause ist, damit der EibPC "Luft zum atmen" bekommt..
Grüße
Matthias
Kommentar
-
Zitat von enertegus Beitrag anzeigenWir haben das weiter untersucht bzw. arbeiten hier noch. Wie es ausschaut, wird durch die hohe Last, in jedem Zyklus, den anderen Prozessen zu wenig Luft zum atmen gegeben.
kann man dies als "Bug" bezeichnen?
Wann ist der nächste Stammtisch? Bin ja mal auf das fränkische Bier gespannt
Grüße
Matthias
Kommentar
-
Zitat von Matthias Beitrag anzeigenhast Du Interesse an meiner veränderten Makro Version?
Hab das Makro dahin verändert, dass zwischen dem Parsen der einzelnen Blöcke paar Hundert ms Pause ist, damit der EibPC "Luft zum atmen" bekommt..
Hab nur heute den ganzen Tag nebenbei damit verbracht, die Zeiten der einzelnen Blöcke so zu optimieren und dann zu zerschneiden, dass die Blöcke weniger als 800ms brauchen.
Sind in Summe dann 30 Blöcke. Erst dann bekomme ich keinen Ereigniseintrag mehr.
Der gezeigte Code erzeugt einen netten Auslastungsgraphen. Leider ist er nur gültig, solange es keinen "Überlauf" gibt. Im Falle eines Überlaufs wird der Wert meist ausgelassen oder beeinflusst den Graph später. Insbesondere bei Updates jede Sekunde sieht man das chart dann ruckeln. In vernünftigen Bereichen >1min ist das natürlich ok, dann kann man aber nicht so schön debuggen.
[highlight=epc]
[WebServer]
page (0)[$Allgemein$,$Logger$]
design $black$
header(0)
line $eibPC Auslastung$
mtimechart(1)[LONG,NOAUTOSCALE,192,0,1000,0,1000] ( $AktZyklusZeit$,LEFT, ChartBuffer1, $MaxZyklusZeit$,RIGHT, ChartBuffer2)
footer(0)
[EibPC]
// Berechnet die minimale und maximale Zyklusdauer
// der Verarbeitung. Dabei ist die Performance-Angabe im EibStudio immer
// als Offset dabei.
Max=1000000000000000u64
Restzeit=0u64
StoppZeit=Max
AktZyklusZeit=0u64
MaxZyklusZeit=0u64
MinZyklusZeit=Max
// Im EibStudio ggf. geändert, Defaultwert ist 20ms (funktioniert nicht, bei Werten >0 ergibt sich ein Überlauf)
PerformanceZeit=0u64
// Timebuffer IDs vergeben:
ChartBuffer1=0
ChartBuffer2=1
// timebufferconfig: Einen Zeitbuffer konfigurieren
TimeBuffer_MemTyp=0
TimeBuffer_Len=3000u16
ResultTimeBuffer0=timebufferconfig(ChartBuffer1, TimeBuffer_MemTyp, TimeBuffer_Len, 0u32 )
ResultTimeBuffer1=timebufferconfig(ChartBuffer2, TimeBuffer_MemTyp, TimeBuffer_Len, 0u32 )
// Die erste Zyklus kann etwas länger dauern ...
if afterc(after(systemstart(),10000u64), Max, Restzeit) then {
StoppZeit=0u64;
} endif
if change(Restzeit) then {
AktZyklusZeit=max(StoppZeit-Restzeit-PerformanceZeit,AktZyklusZeit);
MaxZyklusZeit=max(StoppZeit-Restzeit-PerformanceZeit,MaxZyklusZeit);
MinZyklusZeit=min(StoppZeit-Restzeit-PerformanceZeit,MinZyklusZeit);
StoppZeit=Restzeit;
} endif
if cycle(0,01) then {
// Werte in den Buffer schreiben
timebufferadd(ChartBuffer1,convert(AktZyklusZeit,0 u32));
timebufferadd(ChartBuffer2,convert(MaxZyklusZeit,0 u32));
AktZyklusZeit=0u64;
} endif
[/highlight]
Wenn ich die Pausen zwischen den Blöcken auf 2sec stelle, das Makro jede Minute aufrufe und die Grafik jede Sekunde update ergibt sich diese Auslastung. Man kann dann jeden einzelnen Block recht gut sehen.
Ohne das WP-Makro ist es etwas entspannter(2. Bild, man beachte die Skala, auch hier ist hellblau das Maximum).
Das Makro fängt übrigens mit dem ansteigenden Maximum an, wird kurz ruhiger und zeigt dann einen Burst. Dann kommt nach einer kurzen Pause das nächste Makro.BR
Marc
Kommentar
-
Zitat von saft6luck Beitrag anzeigenGrundsätzlich ja.
Ich hoffe ich habe keine Fehler reingebaut - habe eben noch mein ganzes Syslog-Logging rausgeschmissen.
Das Makro macht zwischen dem Parsing der einzelnen Blöcke immer 250ms Pause. Das lief zuletzt bei mir reibungslos.
Habe auch noch ein "Retry" eingebaut. Bei mir kam es machmal vor, dass die WP nicht richtig gelesen wurde. Jetzt wird bis zu 3x ein neuer Versuch gestartet.
Außerdem hatte Michael (Jambala) in seinem Makro ein paar kleine Fehler beim Parsing. Hab die soweit alle ausgemerzt.
Hoffe es hilft.
Wie viele Stunden in das Debugging geflossen sind.. Neenee..
Grüße
MatthiasAngehängte Dateien
Kommentar
-
Hallo Community,
ich bin neu in diesem Forum und wende mich mit einer Frage an euch. Ich habe bereits das halbe Internet durchsucht :-) und habe nur hier Postings gefunden, die mich hoffen lassen zu meinem Problem eine Lösung oder Hinweise zu finden. Ich bedanke mich bereits im Voraus für Tipps von euch.
Ich habe eine Alpha Innotec Wärmepumpe mit einer Luxtronik 1.0 Steuerung (V2.4). Den Anlagenstatus kann ich z.B. mit 1800 abfragen. Ich bin dabei ein kleines Script zu schreiben, dass folgendes können soll:
1 Abfrage und Steuerung des Betriebsmodus (Heizung / Kühlung)
2 Abfrage der Brauchwassertemperatur
3 Abfrage und Steuerung der Temperatur des Wärmekreislaufs
2 und 3 habe ich bereits gelöst, bei 1 habe ich in diesem Bereich gelesen (Beitrag von Swenga), dass mit 6300 der Kühlmodus abgefragt werden kann.
Bei mir kommt aber bei 6300 "778;1;6300" was wohl bedeutet, dass die Steuerung nicht versteht was ich will. Die Frage der Steuerung des Kühlmodus stellt sich dann auch noch, mir wär aber schon geholfen wenn ich abfragen kann ob der Kühlmodus aktiv ist oder nicht.
Kann mir jemand dabei weiterhelfen?
Vielen Dank im Voraus,
Hugo
Kommentar
-
Zitat von Technologiezentrum Beitrag anzeigenHallo Community,
Ich habe eine Alpha Innotec Wärmepumpe mit einer Luxtronik 1.0 Steuerung (V2.4). Den Anlagenstatus kann ich z.B. mit 1800 abfragen. Ich bin dabei ein kleines Script zu schreiben, dass folgendes können soll:
auf welche Programmiersprache setzt du? Für die Luxtronik 1 habe ich ein Perl-Modul geschrieben. Zum Einstieg:
Perl-Modul für Luxtronik 1 Steuerung (Alpha-Innotec)
Bin mir aber jetzt nicht sicher, ob auf der Website die aktuellste Version liegt.
Im übrigen kann ich mittels OpenHAB und diesem Modul meine Luxtronik per Smarthone steuern (s. Screenshots)
Gruß,
thoern
Kommentar
-
Zitat von thoern Beitrag anzeigenHallo,
auf welche Programmiersprache setzt du?
Gruß,
thoern
Es fehlt mir nur noch die Implementation des Betriebsmodus (Heizung / Kühlung).
Wenn ich 6300 per Terminal schicke, kommt die besagte Meldung, die ich als Fehlermeldung interpretiere. Hast du die Option "Kühlen" implementiert?
Gruß, Hugo
Kommentar
Kommentar