Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gui wird nur teilweise dargestellt #46

Closed
dg0ovp opened this issue Jan 20, 2021 · 8 comments
Closed

Gui wird nur teilweise dargestellt #46

dg0ovp opened this issue Jan 20, 2021 · 8 comments

Comments

@dg0ovp
Copy link

dg0ovp commented Jan 20, 2021

Hallo,
erst mal vielen Dank und großen Log für E3dcGui. Eine Homematic nutze ich schon ein paar Jahre und seit ca. 5 Monten ein E3DC Hauskraftwerk. Dies Projekt ist eine optimale Schnittstelle.
Ich hate erst mit dem Kompilieren etwas Probleme, habe dann aber den Betrag mit den fehlenden WiringPi gefunden. Ich hatte dies zwar schon instaliert aber das hat wohl nicht komplett funktioniert. Wenn ich jetzt die E3dcGui starte sieht man teileweise noch die Konsole und teilweise die E3dc Gui, siehe Screenshot. Ich kann die Menüs oben antippen und sehe dann das Menü ebenfalls teilweise. Die Anzeige aktualisiert sich auch und der Bildschirm geht nach 3 Minuten aus und per IRDA Melder wieder an.
Meine Erfaharungen mit Linux bzw. Raspbian OS sind sehr oberflächlich. Was kann hier die Ursache sein? Ich habe die Version 1.83 vom Dezember 2020 installiert.
E3dcGui-Screen

Gruß Thomas

@nischram
Copy link
Owner

Hallo Thomas,

nachdem mir der Gedanke kam, dass ich schon den glichen Fehler hatte, habe ich auch eine mögliche Lösung gefunden.
In meiner Anleitung habe ich es hier beschrieben:
https://github.com/nischram/E3dcGui#desktop-deaktivieren
Hier geht es darum die Standard Oberfläche "startx" vom Raspberry abzustellen, damit keine ungewollten Ausgaben auf dem Display zu sehen sind.
Zur Erklärung: das Hintergrundbild wird nur von Zeit zu Zeit neu geschrieben, wenn nun die Oberfläche dazwischenfunkt wird der Hintergrund schwarz und man sieht nur noch die Werte die alle paar Sekunden neu geschrieben werden.

Ggf. muss nicht nur der Desktop deaktiviert werden, sonder zusätzlich auch der Cursor und der Bildschirmschoner deaktiviert werden, dies findest du hier:
https://github.com/nischram/E3dcGui#wichtig-pi-bildschirmschoner-deaktivieren

Ich hoffe es klappt, aber ansonsten musst du dich nochmal melden.
Viel Erfolg
Gruß Nico

@dg0ovp
Copy link
Author

dg0ovp commented Jan 21, 2021

Hallo Nico,
ich habe deine beschriebenen Punkte noch mal überprüft. Der Desktop ist deaktiviert und Bildschirmschoner und Cursor ebenfalls.
Nach dem Start des Raspberry´s wird das Bild so aufgebaut wie auf dem Foto zu sehen. Das heißt das Bild mit dem kompletten weißen Hintergrund ist nie zu sehen. Nur die Felder mit den sich veränderten Werten. Nach drei Minuten wird der Bildschirm dunkel (wie gewünscht), nach einer Bewegung vor dem Infrarot Sensor ist das Bild wieder wie gehabt zu sehen.
Ich habe jetzt mal mit den Settings des "Boot / AutoLogin" gespielt. Wenn ich den Wert auf "B3 Desktop" einstelle sehe ich das komplette E3dcGui Bild aber ständig mit einem Mauszeiger im Bild. siehe Foto B3.
E3dcGui-Screen-B3
Mit der Einstellung "B4 Desktop Autologin" wird nach dem booten erst auch nur die Werte dargestellt, und ein Mauszeiger (Foto B4 nach Start)
E3dcGui-Screen-B4_1
aber nach kurzer Zeit (ca 1 Minute) ist das komplette Bild zu sehen, ohne Mauszeiger siehe Foto B4 + 1Min.
E3dcGui-Screen-B4_2
Was mir aber jetzt noch auffällt. Ich habe in der Parameter Datei eingestellt, das alle 6 Sekunden die Werte aus dem E3DC ausgelesen werden sollen, das Display aktualisiert sich aber im Sekundentakt. Ist das die Ursache für die ganze fehlerhaften Anzeigen zu finden?
Jetzt gehe ich auf die Suche warum ich keine Wetter Werte angezeigt bekomme.

Gruß und schon mal vielen Dank
Thomas

@nischram
Copy link
Owner

Hallo Thomas,

das genau einzugrenzen ist jetzt aus der Ferne für mich nicht so einfach.
Grundsätzlich solltest du die raspi-config auf "B2 Console Autologin" stehen lassen. Die Desktopanwendung kann mein Programm nicht beeinflussen und so wird es immer wieder Probleme geben mit Mauszeiger oder so. Warum jetzt aber B2 bei dir nicht geht, verstehe ich auch noch nicht. Um dem auf die Spur zu kommen könntest du den die Anwendung in der
crontab -e nochmal deaktivieren in dem du vor die Zeile eine Raute setzt:
#@reboot /home/pi/E3dcGui/start Danach den Raspberry nochmal neu starten. Wenn alles hochgefahren starte mal mein Touch-Testprogramm mit: ./E3dcGui/Frame/touchtest.c Jetzt sollte in schwarzer Bildschirm zu sehen sein und in den Ecken kleine Button um den Touch zu prüfen. Du sollst den Touch gar nicht unbedingt testen, sondern beobachten ob das Bild konstant schwarz bleibt. Wenn das Bild nicht schwarz bleibt mach mal wieder ein Foto.

Vielleicht kannst du noch Google befragen z.B. mit "raspberry desktop disable"

Die 6 Sekunden ist nur die Abfragerate zum System das Display aktualisiert trotzdem jede Sekunde, damit die Pfeile sich weiter bewegen. Somit ist da kein Zusammenhang zu suchen. Zur Info, du kannst den Wert ruhig auf 1 Sekunde setzen das ist kein Problem ich habe zum Teil zwei Displays laufen und die holen gleichzeitig Deze Sekunde die Werte vom System.

Dann warte ich den Test mal ab...
VG Nico

@dg0ovp
Copy link
Author

dg0ovp commented Jan 22, 2021

Hallo Nico,
der TouchTest zeigt mir ein schwarzen Display mit 4 Zahlen in den Ecken. Das Display blieb auch ca. 5 Minuten schwarz.
Mit der Start Einstellung B4 Desktop mit Login sieht für mich 1 Minute nach dem Reboot alles Ok aus. Das kann ich so lassen.
Mit der Wetter Anzeige bin ich noch nicht richtig weiter gekommen. Ich sehe die Wetter ID in der Anzeige aber sonst steht alles auf 0. Ich habe schon mal Wetter ID vom Nachbarort probiert und den API Key überprüft aber noch kein Fehler gefunden. Muss die Location-ID in der Parameter Datei mit Anführungszeichen geschrieben werden?
Gruß Thomas

@nischram
Copy link
Owner

Hallo Thomas,

interessant das bei der Anderen App das Bild korrekt bleibt.
Wenn nach 60 Sekunden alles, läuft passt es dazu das ich den Hintergrund und die Button nur alle 60 Sekunden neu erstelle.
Eigentlich werden sie direkt nach dem Start auch neu geschrieben. Wenn jetzt aber ein Teil des Raspberry kurz nach dem starten der GuiMain noch eine Ausgabe bringt dann könnte bevor das Bild hell wird das erste erstellen schon abgeschlossen sein. So kommen mir noch Ideen:
1.
Es könnte vielleicht auch durch den PIR ein Fehler in der SW sein. Bau doch bitte mal in die "GuiMain.c" bei Zeile 73 unter dem screenOn(); diese Zeile ein:

  screenOn();
  writeScreen(ScreenCounter, 0);
  int Screen[ScreenMAX];

Das sorgt dafür das beim ersten Starten das Bild erstellt wird.

1a.
Man könnte das erste erstellen verzögert starten indem du die value in der eben eingefügten Zeile von 0 auf 4 oder höher setzt.

  screenOn();
  writeScreen(ScreenCounter, 4);
  int Screen[ScreenMAX];

2.
Du verlängerst die Wartezeit bis die GuiMain gestartet wird um wenige Sekunden.
Das wird in der "start.c" gemacht dort den sleep(4) erhöhen auf z.B. sleep(8) das wären 4 Sekunden mehr.

    else
      system("/home/pi/E3dcGui/screenSave &");
    sleep (8);
    system("/home/pi/E3dcGui/GuiMain &");
    system("/home/pi/E3dcGui/watchdog &");

Jeweils nach einer Änderung das kompilieren nicht vergessen.
zu 1) make GuiMain
zu 2) make start
oder um alles zu machen make

Zu deinem Wetterprobelm:
Hier könntest du zuvor erstmal dein Key und die Location testen in dem du diesen Link anpasst und am Rechner im Browser testest:

https://api.openweathermap.org/data/2.5/forecast/daily?id=2950159&appid=12345678910111213141516171819202&units=metric

https://api.openweathermap.org/data/2.5/forecast/daily?id="location"&appid="API-Key"&units=metric

Oder direkt am Raspberry mit:

curl "https://api.openweathermap.org/data/2.5/forecast/daily?id=2950159&appid=12345678910111213141516171819202&units=metric"

In der "parameter.h" wird die Location ohne und der Key mit " " eingetragen.

Dann hast du jetzt wieder was zum Testen!
Viel Erfolg

VG Nico

@dg0ovp
Copy link
Author

dg0ovp commented Jan 22, 2021

Hallo Nico,
nur wenn ich B4 als Startmodus eingebe, ist nach 60 Sekunden alles OK. Bei B2 bleibt die Console ständig im Hintergrund. Deine Empfehlungen teste ich noch mal.
Zu dem Wetter: bekomme ich die Meldung im Browser: "Invalid API key. Please see http://openweathermap.org/faq#error401 for more info." wenn ich das mit deinem Link teste. Mit dem Link aus der openweater Seite: api.openweathermap.org/data/2.5/weather?id={city id}&appid={API key} kann ich Daten abrufen. Ich habe "nur" diesen kostenfreien Openweater Account erstellt.
Gruß Thomas

@dg0ovp
Copy link
Author

dg0ovp commented Jan 24, 2021

Hallo Nico,
ich habe deine Lösungsvorschläge durch probiert. In dem Startmodus B2 ändert sich da nichts. Aber im Startmodus B4 habe ich aus der Kombi 1a und 2 eine passende Lösung für mich. Denn damit für ca. 4 Sekunden das Bild das ich mit "B4 nach dem Start" beschrieben habe und dann den gewünschten Desktop. Nur mit dem Wetter bin ich nicht weiter gekommen. Mit dem kostenfreien Account kann das Display keine Daten darstellen, auch nicht mit deinen Testlinks, siehe meinen Eintrag von vorgestern. Egal ob ich die Links am PC oder dem Raspberry teste.
Gruß Thomas

@nischram
Copy link
Owner

Hallo Thomas,

da du mit der Lösung beim der Darstellung leben kannst schließe ich diesen Issue erstmal. Für das Problem mit dem Wetter habe ich einen neuen Issue erstellt.
VG Nico

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants