Seite 42 von 113

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

Verfasst: 10.06.2019, 18:09
von jp112sdl
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.

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

Verfasst: 10.06.2019, 18:59
von Gelegenheitsbastler
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?

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

Verfasst: 10.06.2019, 19:06
von TomMajor
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);
}

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

Verfasst: 10.06.2019, 19:07
von TomMajor
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.

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

Verfasst: 11.06.2019, 08:16
von Gelegenheitsbastler
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.

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

Verfasst: 11.06.2019, 11:57
von TomMajor
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.

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

Verfasst: 11.06.2019, 12:14
von Gelegenheitsbastler
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.

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

Verfasst: 11.06.2019, 23:37
von TomMajor
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.

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

Verfasst: 12.06.2019, 07:23
von Gelegenheitsbastler
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.

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

Verfasst: 12.06.2019, 08:01
von jp112sdl
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.