HB-Dis-EP-42BW - 4.2" ePaper Display

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von jp112sdl » 10.06.2019, 18:09

Sieht ähnlich aus wie bei deinem 1. Foto.
Ja so um die 4 Telegramme.
Könnte also doch was mit den 500ms Wach-Zeit zu tun haben.
Kannst die ja mal erhöhen oder den powerSave testweise aus dem Sketch entfernen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von Gelegenheitsbastler » 10.06.2019, 18:59

Ich habe mir die Hardware erfolgreich zusammen gebaut. Auch die Übertragung von Text und Werten klappt einigermaßen, was aber an meinen Softwareunfähigkeiten und nicht am Projekt liegt.
Ich habe den Script Helper in der aktuellen Version installiert.
https://github.com/TomMajor/SmartHome/t ... ipt-helper

Nun würde ich gerne den Wochentag und das Datum um Mitternacht setzen. Wie mache ich das? Die Wochentage lege ich als Fixtexte an. Das würde ich hin bekommen, denke ich. Aber wie ordne ich den Wochentag dem aktuellen Datum zu und wie bekomme ich das aktuelle Datum dort hinein?

TomMajor
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

Beitrag von TomMajor » 10.06.2019, 19:06

bei mir sieht das Mitternacht so aus

Code: Alles auswählen

! -------------------------------------
! 00:00 Datum
if ((hour == 0) && (minute == 0)) {
    string datum = system.Date("%d.%m.%Y");
    integer iWeekday = system.Date("%w").ToInteger();  ! 0..Sonntag, 6..Samstag
    string dayList = "So,Mo,Di,Mi,Do,Fr,Sa,--";
    string dayString = dayList.StrValueByIndex(",", iWeekday) # ", ";
    string displayCmd = "JPDISEP000 /1 '@p03" # dayString # datum # "'";
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/epaper42.tcl " # displayCmd);
}
Viele Grüße,
Tom

TomMajor
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

Beitrag von TomMajor » 10.06.2019, 19:07

jp112sdl hat geschrieben:
10.06.2019, 18:09
Sieht ähnlich aus wie bei deinem 1. Foto.
Ja so um die 4 Telegramme.
Könnte also doch was mit den 500ms Wach-Zeit zu tun haben.
Kannst die ja mal erhöhen oder den powerSave testweise aus dem Sketch entfernen.
Genau, das denke ich mir auch, der Tipp von papa wegen den 500ms verlängern werde ich auf jeden Fall noch untersuchen.
Viele Grüße,
Tom

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von Gelegenheitsbastler » 11.06.2019, 08:16

Vielen Dank für das Script. Damit bekomme ich nun das Datum angezeigt. Ich habe noch die Kalenderwoche hinzu gefügt. Das klappt prima.

Ich komme aber mit den Scriptzeilen ansich nicht klar. Ich würde die Anzeige gerne so strukturiert (mit Spalten) haben, wie in diesem Beispiel.
https://github.com/TomMajor/SmartHome/b ... 42BW_1.jpg
Auch würde ich gerne die Luftfeuchte zusätzlich zur Temperatur in einer Zeile anzeigen. Beides bekomme ich nicht hin.

Ebenfalls bekomme ich es nicht hin, den Druck meiner Heizungsanlage anzeigen zu lassen.
viewtopic.php?f=76&t=48501
Ich bekomme es weder hin, wenn ich das Gerät mit der Seriennummer (evtl. ein Problem mit dem Unterstrich in der ID "20190115_1"?) angebe, noch wenn ich die SV (UG Technikraum Druck Heizung) angebe. Ich nehme an, dass es ein Problem mit den Leerzeichen ist. Die Anzeige der SV "Zisterne" (keine Leerzeichen) hingegen klappt nämlich einwandfrei.

Gibt es eine Möglichkeit, die per Hardware (mit Spannungsteiler) ermittelte Batteriespannung direkt im Display anzuzeigen? Im WebUI kann ich sie nicht finden.

Könnte mir jemand bei der Lösung der Probleme helfen?

Code: Alles auswählen

   string tempinnen = dom.GetObject('CUxD.CUX9002001:1.TEMPERATURE').Value().ToString(1) # "°C";
! string feuchteinnen = dom.GetObject('CUxD.CUX9002001:2.HUMIDITY').Value().ToString(0) # "%";
  string tempaussen = dom.GetObject('CUxD.CUX9002003:1.TEMPERATURE').Value().ToString(1) # "°C";
!  string druck = dom.GetObject('BidCos-RF.20190115_1:1:PRESSURE').Value().ToString(2) # "bar";
  string fuellstand = dom.GetObject('Zisterne').Value().ToString(0) # "%";

  string displayCmd = "20190609_1 /2 @p03 'Innen " # tempinnen # "' /3 @p03 'Aussen " # tempaussen # "' /9 @p03 'Zisterne " # fuellstand # "'   "; 

system.Exec("tclsh /usr/local/addons/epaper42.tcl " # displayCmd);
Wenn ich das Script so ausführe, bleibt das Display leer.

Schreibe ich es hingegen so, dann werden zumindest die Bezeichnungen, die Temperaturen und der Füllstand angezeigt, wenn auch nicht in der richtigen Formatierung (Spalten).

Code: Alles auswählen

string displayCmd = "20190609_1 /2  'Innen " # tempinnen # "' /3  'Aussen " # tempaussen # "' /9  'Zisterne " # fuellstand # "'   "; 
edit: Einen Fehler konnte ich inzwischen finden. "@pxx" muss nach dem Hochkomma stehen. Aber trotzdem bekomme ich die Anzeige in Spalten nicht hin.
Dateianhänge
PhotoPictureResizer_190611_081623584_crop_3274x3911-1024x1223.jpg

TomMajor
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

Beitrag von TomMajor » 11.06.2019, 11:57

Ich kann dir heute Abend ein Bsp. posten wie ich Temp. und Luftfeuchte in einer Zeile darstelle.

Generell muss der gesamte Text (pro Zeile!) in ' ' eingeschlossen werden sobald dieser Leerzeichen enthält bzw. mach es immer, da bist du auf sicherer Seite.

Batt.spannung kannst du anzeigen wenn das Gerät diese auch überträgt, z.B. HB-Uni-Sensor1. Fall nur LowBatt Status übertragen wird bekommst du natürlich keine Spannung angezeigt.
Viele Grüße,
Tom

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von Gelegenheitsbastler » 11.06.2019, 12:14

Ein Beispiel wäre prima und sicherlich hilfreich. Mit dem Datum hat es ja auch ganz gut geklappt.
Die Geschichte mit dem Hochkomma habe ich schon herausgefunden. Das mache ich so, wie Du es vorschlägst - einfach immer setzen, dann kann es nicht vergessen werden.

Könntest Du etwas zu den Problemen mit der Seriennummer sagen? Wie müsste die Syntax für eine Seriennummer mit Unterstrich lauten, damit sie akzeptiert wird?

Wird die Batteriespannung übertragen? Ich weiß es nicht. Ich hätte halt gerne im Display einen Hinweis darauf, dass die Spannung zu gering ist. Ob das die konkrete Spannung ist oder nur ein LowBatt Status, wäre egal. Aber ich habe keine Idee, wie ich das machen könnte. Die Info wäre vielleicht auch für andere User interessant.

TomMajor
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

Beitrag von TomMajor » 11.06.2019, 23:37

Hier noch das versprochene Bsp. Temp. und Luftfeuchte in einer Zeile

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 # "'";
@t09 ist ein Fixtext.

Seriennummer mit Unterstrich kann ich nichts sagen, k.A. ob es da irgendwo eine Beschränkung gibt. Der Script Helper kann aus meiner Erinnerung mit Unterstrich umgehen.

Für LowBatt kannst du als Bsp. BidCos-RF.UNISENS010:0.LOWBAT des Gerätes nehmen wenn das Gerät diesen Datenpunkt besitzt.
Viele Grüße,
Tom

Benutzeravatar
Gelegenheitsbastler
Beiträge: 586
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 14 Mal
Danksagung erhalten: 41 Mal

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von Gelegenheitsbastler » 12.06.2019, 07:23

Vielen Dank. Das hat mir sehr geholfen. Nun habe ich die Angaben so, wie es sein soll.
Einzig die Geschichte mit der Batteriespannung/LowBat der Displaybatterie funktioniert noch nicht. Wenn ich das hier zum Script hinzu füge:

Code: Alles auswählen

  string lowbat = dom.GetObject('BidCos-RF.20190609_1:0.LOWBAT).Value().ToString(0) # "V";
bekomme ich bei der Fehlerprüfung Fehler angezeigt. Woran kann das liegen?
Funktioniert das überhaupt mit dem Displaysketch?

Die Geschichte mit dem Unterstrich hat sich übrigens erledigt. Da hatte sich ein Tippfehler eingeschlichen.

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-Dis-EP-42BW - 4.2" ePaper Display

Beitrag von jp112sdl » 12.06.2019, 08:01

Gelegenheitsbastler hat geschrieben:
12.06.2019, 07:23

Code: Alles auswählen

  string lowbat = dom.GetObject('BidCos-RF.20190609_1:0.LOWBAT).Value().ToString(0) # "V";
bekomme ich bei der Fehlerprüfung Fehler angezeigt. Woran kann das liegen?
Da sehe ich zumindest auf den ersten Blick, dass ein Hochkomma ' fehlt.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“