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

Ronny83
Beiträge: 13
Registriert: 11.10.2015, 14:42

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

Beitrag von Ronny83 » 12.04.2019, 20:16

mit dem klappts.

Code: Alles auswählen

integer d = system.Date("%w").ToInteger() + 82;
string dayCommand = "0x"#d.ToString();

string datum = system.Date("%d.%m.%Y");
    
string substitutions = "A,0x41\tB,0x42\tC,0x43\tD,0x44\tE,0x45\tF,0x46\tG,0x47\tH,0x48\tI,0x49\tJ,0x4A\tK,0x4B\tL,0x4C\tM,0x4D\tN,0x4E\tO,0x4F\tP,0x50\tQ,0x51\tR,0x52\tS,0x53\tT,0x54\tU,0x55\tV,0x56\tW,0x57\tX,0x58\tY,0x59\tZ,0x5A";
    substitutions = substitutions # "\ta,0x61\tb,0x62\tc,0x63\td,0x64\te,0x65\tf,0x66\tg,0x67\th,0x68\ti,0x69\tj,0x6A\tk,0x6B\tl,0x6C\tm,0x6D\tn,0x6E\to,0x6F\tp,0x70\tq,0x71\tr,0x72\ts,0x73\tt,0x74\tu,0x75\tv,0x76\tw,0x77\tx,0x78\ty,0x79\tz,0x7A";
    substitutions = substitutions # "\t0,0x30\t1,0x31\t2,0x32\t3,0x33\t4,0x34\t5,0x35\t6,0x36\t7,0x37\t8,0x38\t9,0x39\t ,0x20\t!,0x21\t\",0x22\t%,0x25\t&,0x26\t=,0x27\t(,0x28\t),0x29\t*,0x2A\t+,0x2B\t,,0x2C\t-,0x2D\t.,0x2E\t/,0x2F";
    substitutions = substitutions # "\tÄ,0x5B\tÖ,0x23\tÜ,0x24\tä,0x7B\tö,0x7C\tü,0x7D\tß,0x5F\t:,0x3A\t;,0x3B\t@,0x40\t>,0x3E";

string bufferLine;
string substEntry;
integer i;
string char;
string line;

string command = ",0x0A";

foreach(bufferLine, datum) {
   line = bufferLine;
   integer linelength = line.Length();
   if ((linelength > 0)) {
      command = command # ",0x12";
      if ((linelength == 4) && (line.Substr(0,2) == "0x")) {
         command = command # "," # line;
         i = 12;
      }
      else {
         i = 0;
      }
      if (linelength > 12) {
        linelength = 12;
      }
      while (i < linelength) {
        char = line.Substr(i, 1);   
        boolean b = true;
        foreach(substEntry, substitutions){
          if (b == true){
            if (char == substEntry.Substr(0,1)){
              command = command # substEntry.Substr(1,5);
              b = false;
            }
          }
        }
        i = i + 1;
       }
   }
   command = command # ",0x0A";
}


var cmd = "0x02,0x0A,0x0A,0x12,"#dayCommand#command#",0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x03";

WriteLine(cmd);

dom.GetObject("BidCos-RF.JPDISEP001:11.SUBMIT").State(cmd);
jedenfalls kommt da in zeile 4 das Datum

TomMajor
Beiträge: 203
Registriert: 30.08.2017, 23:25
Kontaktdaten:

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

Beitrag von TomMajor » 12.04.2019, 20:21

ok dann poste mal genau deinen code der mit dem Script Helper nicht geht und mach auch mal eine WriteLine() Debugausgabe vom String displayCmd eine Zeile bevor du es an den Script Helper sendest.
Viele Grüße,
Tom

Ronny83
Beiträge: 13
Registriert: 11.10.2015, 14:42

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

Beitrag von Ronny83 » 14.04.2019, 12:36

Da ich nicht die erfahrung hat Skripten habe hoffe ich mal das geht so.
Dateianhänge
Unbenannt.png

TomMajor
Beiträge: 203
Registriert: 30.08.2017, 23:25
Kontaktdaten:

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

Beitrag von TomMajor » 14.04.2019, 14:17

Was ist das für eine Oberfläche? Sieht bei mir auf RaspberryMatic ganz anders aus.
Außerdem kommt ja der Scriptfehler, bei sowas kann man nicht erwarten dass die message auch auf dem display ankommt.
CuxD installiert und Exec aktiviert?
displayCmd sieht gut aus.
Viele Grüße,
Tom

Ronny83
Beiträge: 13
Registriert: 11.10.2015, 14:42

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

Beitrag von Ronny83 » 15.04.2019, 09:55

Das ist HQ WebUI Addon.
Ich habe das CUx Gerät nochmal neu erstellt und Raspberry neu gestartet.
Jetzte bekomme ich schonmal keine Skript fehler mehr aber das Display wird nicht beschrieben.

Allerdings geht mit dem Code
string displayCmd = "JPDISEP000 /1 test";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/epaper42.tcl " # displayCmd);
Dateianhänge
Unbenannt2.png
Unbenannt.png

TomMajor
Beiträge: 203
Registriert: 30.08.2017, 23:25
Kontaktdaten:

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

Beitrag von TomMajor » 15.04.2019, 17:10

Ronny83 hat geschrieben:
15.04.2019, 09:55
Das ist HQ WebUI Addon.
Ich habe das CUx Gerät nochmal neu erstellt und Raspberry neu gestartet.
Jetzte bekomme ich schonmal keine Skript fehler mehr aber das Display wird nicht beschrieben.

Allerdings geht mit dem Code
string displayCmd = "JPDISEP000 /1 test";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/epaper42.tcl " # displayCmd);
ok, also lag die vorherige Skriptfehler Message an der CUxD Konfiguration.
Wie in den Kommentaren im Script Helper geschrieben kann man auch system.Exec statt CUxD nehmen.
Allerdings geht mit dem Code
Was ist hier gemeint :?:
Viele Grüße,
Tom

lame
Beiträge: 28
Registriert: 15.02.2019, 10:01

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

Beitrag von lame » 17.04.2019, 18:09

Ronny83 hat geschrieben:
15.04.2019, 09:55
....aber das Display wird nicht beschrieben.
Kann man das TCL Script über SSH und Command Line testen?
Müsste doch gehen, oder?
Viele Grüße
Lars

TomMajor
Beiträge: 203
Registriert: 30.08.2017, 23:25
Kontaktdaten:

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

Beitrag von TomMajor » 17.04.2019, 18:56

lame hat geschrieben:
17.04.2019, 18:09

Kann man das TCL Script über SSH und Command Line testen?
Müsste doch gehen, oder?
Klar, so habe ich den entwickelt.
Alle im Skript beschriebenen Bsp. laufen bei mir einwandfrei durch.
Nur wenn das ganze Display auf einmal beschrieben wird gibt es irgendwo tief im System ein Limit bei der max. Länge der logischen Message die die Zentrale übermitteln kann, in solchen Fällen besser auf 2 Skript Kommandos, z.B. Zeilen 1-5 und Zeilen 6-10, aufteilen.
Viele Grüße,
Tom

lame
Beiträge: 28
Registriert: 15.02.2019, 10:01

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

Beitrag von lame » 17.04.2019, 21:29

Hallo Ronny83,
einmal schreibst Du:
Mit dem klappts...
...
dom.GetObject("BidCos-RF.JPDISEP001:11.SUBMIT").State(cmd);

Hier hast Du aber eine andere Seriennummer genommen:
Allerdings geht mit dem Code
string displayCmd = "JPDISEP000 /1 test";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/epaper42.tcl " # displayCmd);
Wenn ich richtig gelesen habe also einmal JPDISEP001 und einmal JPDISEP000.
Welche ist die für Dich richtige?

Wenn's das nicht war kannst Du das TCL Script ja mal via SSH testen.
Zuletzt geändert von lame am 17.04.2019, 22:10, insgesamt 1-mal geändert.
Viele Grüße
Lars

lame
Beiträge: 28
Registriert: 15.02.2019, 10:01

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

Beitrag von lame » 17.04.2019, 21:41

Hallo zusammen,
funktionieren bei Euch die Fixtexte §08 und §09 mit dem TCL-Helper?
Wenn ich "/3 §08 1 /4 §09 2" im displayCmd habe bekomme ich nur das Icon ausgegeben, kein Text.

Ich nutze Jérôme's Sketch "HB-Dis-EP-42BW.ino" vom 16.4. und das "JP-HB-Devices-addon" in v2.3
mit papa's AskSin Library v3.1.8.

Ansonsten kann ich nur DANKE AN ALLE BETEILIGTEN sagen für dieses tolle DIY Project.
Viele Grüße
Lars

Antworten

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