HB-Dis-EP-42BW - 4.2" ePaper Display
Moderator: Co-Administratoren
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Tja da fehlte wohl beim ersten Mal was (ein oder mehrere Frames) im Gesamt-Telegramm.
Kann man so jetzt nix weiter herausfinden.
Was jedoch komisch erscheint, ist die Zentralenadresse mit 00FFFF.
Am besten noch mal "drüberlernen" das Display. (Anlernen ohne Gerät vorher aus der CCU zu löschen)
Kann man so jetzt nix weiter herausfinden.
Was jedoch komisch erscheint, ist die Zentralenadresse mit 00FFFF.
Am besten noch mal "drüberlernen" das Display. (Anlernen ohne Gerät vorher aus der CCU zu löschen)
-
- Beiträge: 280
- Registriert: 16.05.2018, 22:54
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 5 Mal
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Du meinst an der CCU3 noch mal anlernen?
Wie kann ich es neu anlernen ohne es vorher zu löschen? -> (Anlernen ohne Gerät vorher aus der CCU zu löschen)
Sollte ich vielleicht auch mal das neueste INO drauf schieben?
Wie kann ich es neu anlernen ohne es vorher zu löschen? -> (Anlernen ohne Gerät vorher aus der CCU zu löschen)
Sollte ich vielleicht auch mal das neueste INO drauf schieben?
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Ja, auf "Gerät anlernen" in der CCU, dann Config Taster am Display drücken.
Also dasselbe wie beim normalen Anlernen
Also dasselbe wie beim normalen Anlernen
Ich weiß nicht welchen Stand du hast... seit Juli ist da nix mehr passiert bis auf eine Änderung fürs Colordisplaymichaelapp hat geschrieben: ↑23.10.2019, 21:56Sollte ich vielleicht auch mal das neueste INO drauf schieben?
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Beim ersten Log sieht das Telegramm falsch aus das von der Zentrale kam, es fehlt die 02/03 Kombo mit 10x 0A drin.michaelapp hat geschrieben: ↑23.10.2019, 21:42
hat die LED kurz geleuchtet und im Seriellen Monitor kam folgendes:
Die Zeile 5 hat danach nichts angezeigt. Nach dem ich das Programm noch mal gestartet habe, hat er aktualisiert und dann kam im Seriellen Monitor folgendes und die Zeit 5 war beschrieben:Code: Alles auswählen
21:19:55.574 -> wait:1 21:19:55.574 -> -> 1A 52 B0 11 00FFFF F34300 80 0B 02 12 85 2C 20 32 33 2E 31 30 2E 32 30 31 39 - 43677 21:19:55.714 -> <- 0E 52 80 02 F34300 00FFFF 01 0B 00 00 48 - 43794 21:20:00.590 -> wait:0
Code: Alles auswählen
21:38:29.262 -> wait:1 21:38:29.262 -> -> 1A 1B B0 11 00FFFF F34300 80 0B 02 0A 0A 0A 0A 12 89 20 30 0A 0A 0A 0A 0A 0A - 71061 21:38:29.362 -> <- 0E 1B 80 02 F34300 00FFFF 01 0B 00 00 48 - 71180 21:38:29.563 -> wait:1 21:38:29.563 -> -> 0C 24 A0 11 00FFFF F34300 80 0B 03 - 71215 21:38:29.563 -> RECV: 02 0A 0A 0A 0A 12 89 20 30 0A 0A 0A 0A 0A 0A 03 ...
Im 2. Log sieht man wie es richtig aussehen muss.
Viele Grüße,
Tom
Tom
-
- Beiträge: 12115
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2150 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Für mich sieht es plausibel aus. Es wurde nach dem Frame nichts mehr empfangen.
02 - Start, anschließend kommt ein Fixtext, dann ", 23.10.20.19" und das erste (und weitere) 0x0A wäre dann in Folge-Frame(s).
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Stimmt, das könnte es auch sein, die weiteren Telegramme wurden einfach nicht empfangen.
Ich war davon ausgegangen das in beiden logs der gleiche Inhalt versucht wurde zu übermitteln was nicht der Fall ist.
Ich war davon ausgegangen das in beiden logs der gleiche Inhalt versucht wurde zu übermitteln was nicht der Fall ist.
Viele Grüße,
Tom
Tom
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Ok, ich habe mal den entsprechenden Teil des Skripts dokumentiert und auf github abgelegt.michaelapp hat geschrieben: ↑06.10.2019, 16:25Hallo TomMajor,
ich würde mir das Skript gerne mal anschauen
Ich habe jetzt die Lösung so gebaut das ich Temperatur und Luftfeuchtigkeit in eine Variable schreibe und damit vergleiche.
Gruß
Michael
Vielleicht hilft es einigen Benutzern des 4,2 ePapers Projekts.
HomeMatic-Skript: Nur die geänderten Zeilen an das Display senden (DutyCycle sparen)
- in meinem zyklischen Skript für das Display-Update berechne ich
1) alle Zeileninhalte die ich aktuell haben will und danach
2) gibt es einen Teil der diese mit den aktuellen Zeileninhalt auf dem Display abgleicht und nur die Zeilen sendet die sich geändert haben.
Der aktuelle Displayinhalt wird dabei in der Systemvariablen *EPAPER.Lines* gespeichert.
- die aktuell erzeugten Strings für die einzelnen Zeilen 2..10 müssen in den Skriptvariablen line2..line10 aufgebaut werden, z.B. für Zeile 3:
Code: Alles auswählen
! Temp/Feuchte außen
string tempOut = dom.GetObject('BidCos-RF.UNISENS010:1.TEMPERATURE').Value().ToString(1) # " °C";
string humOut = dom.GetObject('BidCos-RF.UNISENS010:1.HUMIDITY').Value().ToString(0) # " %";
string line3 = "/3 '@p03@t09@p45" # tempOut # "@p78" # humOut # "'";
- Danach sorgt der folgende generische Teil im Skript dafür dass nur die geänderten Zeilen gesendet werden.
- Außerdem wird darin berücksichtigt dass aufgrund von Beschränkungen beim Senden in der Zentrale nicht alles 10 Zeilen in einem Funktelegramm untergebracht werden können falls sich alle Zeilen geändert haben sollten, deswegen wird immer in zwei Funktelegramme unterteilt.
- Durch Beschränkungen im Sprachumfang von HomeMatic-Skript ist der Code etwas länger als man sonst z.B. in C++ oder Python dafür brauchen würde.
Code: Alles auswählen
! Um DutyRate zu sparen nur die Zeilen übertragen die sich geändert haben
string lastLines = dom.GetObject("EPAPER.Lines").Value();
string index;
string linesDoNotUpdate = "";
foreach (index, lastLines) {
...
https://github.com/TomMajor/SmartHome/t ... cle-sparen
Viele Grüße,
Tom
Tom
-
- Beiträge: 280
- Registriert: 16.05.2018, 22:54
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 5 Mal
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Hallo Tom,
hab es mir gerade mal auf Github angeschaut. Ich hab aber jetzt noch ein zwei Fragen
Du hast Dir also für jede Zeile eine Systemvariable line2, line3 usw angelegt und diese befüllst Du z.b. bei Zeile 3 mit diesem Programm:
oder befüllst Du die Variablen im eigentlichen Programm:
In welchen Abständen lässt Du das / die Programme laufen?
Gruß
Michael
hab es mir gerade mal auf Github angeschaut. Ich hab aber jetzt noch ein zwei Fragen
Du hast Dir also für jede Zeile eine Systemvariable line2, line3 usw angelegt und diese befüllst Du z.b. bei Zeile 3 mit diesem Programm:
Code: Alles auswählen
! Temp/Feuchte außen
string tempOut = dom.GetObject('BidCos-RF.UNISENS010:1.TEMPERATURE').Value().ToString(1) # " °C";
string humOut = dom.GetObject('BidCos-RF.UNISENS010:1.HUMIDITY').Value().ToString(0) # " %";
string line3 = "/3 '@p03@t09@p45" # tempOut # "@p78" # humOut # "'";
Code: Alles auswählen
! Um DutyRate zu sparen nur die Zeilen übertragen die sich geändert haben
string lastLines = dom.GetObject("EPAPER.Lines").Value();
string index;
string linesDoNotUpdate = "";
foreach (index, lastLines) {
Gruß
Michael
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
ich lasse bei mir einen Skript aller 10min laufen der diverse Aufgaben hat.
Eine davon ist das ePaper Display update, das läuft bei mir aller 30 min:
In dieser if Bed. befülle ich also zuerst alle strings line2..line10.
line2..line10 sind keine Systemvariablen sondern nur temporär im Skript.
Die einzige Systemvariable ist EPAPER.Lines.
Und direkt nach line10 kommt der gestern dargestellte generische Teil, für das Senden der Zeile nur bei Änderungen:
Eine davon ist das ePaper Display update, das läuft bei mir aller 30 min:
Code: Alles auswählen
! -------------------------------------
! CCU.Update10Min.hms
!
integer hour = system.Date("%H").ToInteger();
integer minute = system.Date("%M").ToInteger();
...
...
! -------------------------------------
! update ePaper Display aller 30min
if ((minute == 0) || (minute == 30)) {
string line2 = ..
string line3 = ..
usw.
line2..line10 sind keine Systemvariablen sondern nur temporär im Skript.
Die einzige Systemvariable ist EPAPER.Lines.
Und direkt nach line10 kommt der gestern dargestellte generische Teil, für das Senden der Zeile nur bei Änderungen:
Code: Alles auswählen
! Um DutyRate zu sparen nur die Zeilen übertragen die sich geändert haben
string lastLines = dom.GetObject("EPAPER.Lines").Value();
string index;
string linesDoNotUpdate = "";
foreach (index, lastLines) {
...
...
Viele Grüße,
Tom
Tom
-
- Beiträge: 1793
- Registriert: 30.08.2017, 23:25
- Hat sich bedankt: 175 Mal
- Danksagung erhalten: 399 Mal
- Kontaktdaten:
Re: HB-Dis-EP-42BW - 4.2" ePaper Display
Habe mittlerweile den U-TW ATMEGA 1284P (Reichelt) von Alveran bekommen und getestet.Alveran hat geschrieben: ↑28.09.2019, 07:08Hallo Leute,
Ich habe auch so einen "komischen" von Reichelt geliefert bekommen. Da meine Kentisse in dem Thema begrenzt sind würde ich ihn euch zur Entwicklung zur Verfügung stellen. Ich würde ihn auf eine Platine für das Display hier verlöten. Wer von euch hätte Interesse Jerome, stan23, TomMajor oder ein anderer Experte in dem Thema?
Alles ist gut, Signatur, Fuses, Flashen, überhaupt keine Auffälligkeiten zu finden.
Alles bestens aus meiner Sicht
Code: Alles auswählen
Detected 1e9705 = ATmega1284P
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude.exe: Device signature = 0x1e9705 (probably m1284p)
avrdude.exe: reading input file "0xE2"
avrdude.exe: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude.exe: 1 bytes of lfuse written
avrdude.exe: verifying lfuse memory against 0xE2:
avrdude.exe: load data lfuse data from input file 0xE2:
avrdude.exe: input file 0xE2 contains 1 bytes
avrdude.exe: reading on-chip lfuse data:
Reading | ################################################## | 100% -0.00s
avrdude.exe: verifying ...
avrdude.exe: 1 bytes of lfuse verified
avrdude.exe: reading input file "0xD4"
avrdude.exe: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude.exe: 1 bytes of hfuse written
avrdude.exe: verifying hfuse memory against 0xD4:
avrdude.exe: load data hfuse data from input file 0xD4:
avrdude.exe: input file 0xD4 contains 1 bytes
avrdude.exe: reading on-chip hfuse data:
Reading | ################################################## | 100% -0.00s
avrdude.exe: verifying ...
avrdude.exe: 1 bytes of hfuse verified
avrdude.exe: reading input file "0xFF"
avrdude.exe: writing efuse (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude.exe: 1 bytes of efuse written
avrdude.exe: verifying efuse memory against 0xFF:
avrdude.exe: load data efuse data from input file 0xFF:
avrdude.exe: input file 0xFF contains 1 bytes
avrdude.exe: reading on-chip efuse data:
Reading | ################################################## | 100% 0.00s
avrdude.exe: verifying ...
avrdude.exe: 1 bytes of efuse verified
avrdude.exe done. Thank you.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude.exe: Device signature = 0x1e9705 (probably m1284p)
avrdude.exe: verifying flash memory against C:\Temp\optiboot_flash_atmega1284p_UART0_57600_8000000L_eeprom_support.hex:
avrdude.exe: load data flash data from input file C:\Temp\optiboot_flash_atmega1284p_UART0_57600_8000000L_eeprom_support.hex:
avrdude.exe: input file C:\Temp\optiboot_flash_atmega1284p_UART0_57600_8000000L_eeprom_support.hex auto detected as Intel Hex
avrdude.exe: input file C:\Temp\optiboot_flash_atmega1284p_UART0_57600_8000000L_eeprom_support.hex contains 131072 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.00s
avrdude.exe: verifying ...
avrdude.exe: 131072 bytes of flash verified
avrdude.exe done. Thank you.
http://www.engbedded.com/fusecalc?P=ATm ... ply+values
Viele Grüße,
Tom
Tom