Comments (18)
Sollte sich mit 96e66dd erledigt haben...
from opendtu.
Ich habe es länger probiert, kriege aber keine Kontrolle, wo der Umbruch gemacht wird. Schwierig ist es, da die Anzahl der Kästchen ja variabel ist. Mal zwei, mal drei, mal fünf. Er probiert es stur von rechts nach links und was nicht passt kommt in die nächste Zeile. Jeder Versuch da einzugreifen, hatte größere Nebenwirkungen als Verbesserungen.
Zwei Alternativen die ich mir vorstellen kann (ohne Garantie, dass das umsetzbar ist):
Man verhindert, dass die Kästchen in der Breite wachsen. Dann wäre die Ausrichtung halt rechts nicht bündig, aber kein Kästchen so extrem verbreitert.
Oder man findet einen Weg, dass das Phase-Kästchen einzeln steht. Da ist mir aber nichts gelungen, ohne dass ich das als Hack empfinden würde (z.B. die Reihenfolge im DOM vertauschen und col/row-reverse nutzen). Außerdem hilft das ja nur, wenn es bei allen Modellen wie hier als ersten Kanal die AC Infos gibt, und danach eine gerade Anzahl von DCs. Kurz, auch das kann eigentlich nicht klappen, da die Ansicht ja für verschiedene Konfigurationen passen muss. Oder man macht es als Fleißarbeit "handoptimiert" für jede mögliche Anzahl. Aber das war mir in Anbetracht der knappen Resourcen zu unsympathisch, bzw. ich bin nicht gut genug in Vue.
from opendtu.
Zwei Alternativen die ich mir vorstellen kann (ohne Garantie, dass das umsetzbar ist):
Man verhindert, dass die Kästchen in der Breite wachsen. Dann wäre die Ausrichtung halt rechts nicht bündig, aber kein Kästchen so extrem verbreitert.
Das sähe dann so aus: Vorher (aktueller Stand Thomas):
Nachher:
from opendtu.
Danke schon mal fürs anschauen.
Ich würde die Prio nicht zu hoch setzten, ist ja nur ein Schönheitfehler ;)
from opendtu.
Ich habe eigentlich nur noch Schönheitsfehler auf meiner Liste :-)
Aber im Ernst, von allen Lösungen, die ich bisher probiert habe, ist die Aktuelle die mit dem kleinsten Schönheitsabstrich. Weil obige Variante, also rechts unausgerichtet, gefällt mir gar nicht. Wenn, würde ich nochmal versuchen, dass er die Phase als erstes einzeln setzt. Aber wann ich das nochmal probiere weiß ich nicht.
from opendtu.
Werde ggf .auch noch nen blick drauf werfen. Weil Spoiler: Ich muss folgende JSON Response noch schön integrieren
{"116171603546":{"count":2,"0":{"message_id":1,"message":"Inverter start","start_time":15858,"end_time":18930},"1":{"message_id":212,"message":"Port 4 no input","start_time":15866,"end_time":0}},"116171603547":{"count":0}}
Bin nur noch unschlüssig wo
from opendtu.
Was denkt ihr über so ein Layout?
Die Phase ist immer als Einzelkarte oben und die Strings darunter.
from opendtu.
Wenn das dann auch in der mobilen Ansicht passt würde ich das so gut finden... Danke.
from opendtu.
In die Richtung habe ich es auch probiert und bisher nicht geschafft. Also nicht "responsive".
Problem dabei ist ja, dass wir nicht wissen, wieviele Kanäle es gibt und wieviel auf dem aktuellen Gerät nebeneinander passen. Beispiel bei dem genannten Screenshot: Wenn Du den ein bisschen enger ziehst, das nur noch drei Kanäle nebeneinander passen. Dann hast Du oben Phase breit, dann drei Kanäle nebeneinander und den vierten wieder in einer Reihe breit...
Oder jemand hat nur einen 1-Panel Aufbau. Dann würde das Layout trotzdem auf dem PC die Phase in voller Breite anzeigen und das eine Panel darunter in voller Breite. Auch nicht optimal.
Mit Bootstrap Grid beißt sich einfach, dass wir nur die letzte Reihe nicht rechtsbündig haben möchten. Und das klappt bei mir irgendwie nicht. Ich wollte es (irgendwann die Woche) nochmal mit ohne Grid und nur Flex probieren.
from opendtu.
Das ist wohl richtig. Ich habe aktuell ein grid mit 2 rows gebaut. CH0 ist immer die Phase. eine Multiphasen Unterstüzung ist aktuell noch in weiter ferne, falls überhaupt möglich. Das wären die HMS Inverter die jedoch kein NRF24 Modul verwenden.
Habe daher Channel 0 fest in eine Row gelegt und darunter die Channels 1 - 4 als columns. Du hast schon recht, bei großer Breite sind alle 4 (bei 4 Kanal) nebeneinander. Dann 3-1, 2-2 und 1-4.... Hier gefällt mir eigentlich nur das 3-1 nicht. Einen 1-Kanal Inverter mit 2 Rows könnte ich gerade noch so vertragen :-)
from opendtu.
Wie gesagt, ich wollte Flex nochmal probieren. Alternativ wollte ich gucken, ob es nicht doch am einfachsten ist, man denkt sich ein passendes responsive Layout für 5, 4, 3, 2 Kanäle aus und macht das dann Konditional. Es ist ja nur Fleißarbeit, mal 5 Kanäle responsive anzuordnen, dann vier, usw. Und dann lässt man Vue das halt so erzeugen.
from opendtu.
Mal sehen, ob ich ein Video posten kann, yup geht. Das hier ist noch am nächsten an meiner Idealvorstellung. Hat aber einen technischen Schönheitsfehler, man muss im HTML die Reihenfolge umdrehen. Also im DOM steht dann die Phase als letzter DIV...
Soll ich das mal als PR schicken?
homeview.mp4
from opendtu.
Ach, nochwas: das funktioniert am besten, wenn man den HomeView auf container-fluid setzt, also so breit wie möglich. Wenn man es auf container-xxl lässt, dann passen bei mir nur 3 Kanäle nebeneinaner. Hier mal Screenshots mit verschiedenen Kanalanzahlen auf maximaler Breite container-xxl.
from opendtu.
Ich denke, ich habe es. Ich drehe die Reihenfolge nicht im DOM um, sondern über die "order-xxx" Klasse. Wer kein Flex kann (Screenreader, etc.), der sieht nur hintereinander liegende DIVs. Und normale aktuelle Browser müssten das doppelte Umdrehen auch so verstehen. Laut caniuse auf jedenfall alle wichtigen.
Zu den Messages: Welche und wieviele davon kann es denn geben?
from opendtu.
Danke! Den PR schaue ich mir abends kurz an.
Bzgl. den Messages. Das wird 1 zu 1 das Eventlog aus dem Inverter sein. Über die Message ID kann ich Texte zuordnen. Es wird auf jeden Fall eine Start und eine Ende Zeit geben (in Sekunden seit Mitternacht, muss also in eine lesbare Zeit umgerechnet werden. Hierbei ist jedoch zu beachten, das die Zeit nur als 12h Wert geliefert wird. Sprich wenn ein Event um 14 Uhr auftritt steht 2:00:00 im Eventlog)
Die Endezeit kann 0 sein wenn das Event noch aktiv ist.
from opendtu.
Die Live Ansicht finde ich sehr schön, ist es möglich die Power AC werte an erster Stelle anzuzeigen und eventuell die Power DC werte für die einzelnen Strings noch einzupflegen ? Ich Danke euch für eure Tolle Arbeit !
from opendtu.
Power DC werte für die einzelnen Strings noch einzupflegen
Es gibt für jeden String einen Power Wert. Das ist der DC Wert. AC Werte währen auf String Basis auch gar nicht verfügbar.
from opendtu.
Power DC werte für die einzelnen Strings noch einzupflegen
Es gibt für jeden String einen Power Wert. Das ist der DC Wert. AC Werte währen auf String Basis auch gar nicht verfügbar.
Stimmt 🙈 war mein Fehler in der Früh ! Schön wäre wie gesagt die Position der ac Leistung an erster Stelle darzustellen !
from opendtu.
Related Issues (20)
- [Request] Show OpenDTU as separate PV Charger in the VRM HOT 3
- Falsches Hoymiles Modell wird angezeigt. HOT 1
- half of API missing after update to v24.2.16 HOT 2
- Nach Update < 24.1.26 keine "aktuelle Anzeige" HOT 2
- ESP32-S3 keine PSRAM Anzeige HOT 2
- Yield Day is Not correct when inverter got. to „sleep“ after sundown HOT 5
- DTU hängt sich auf HOT 5
- New 2,4inch OLED display - flipped/shifted HOT 5
- MQTT only working after Enable/Disable HOT 12
- Missing inverter data in /api/livedata/status HOT 2
- Typo in German language HOT 3
- API does not show panel data HOT 2
- Inverter poolt Nachts HOT 5
- [Request] turn off automatic check of update of firmware HOT 5
- Total Yield Day is partly not visible when value is > 10.0000Wh. HOT 7
- [Request] Add description for error 152 HOT 5
- Add Dates in event log in Live-View HOT 6
- [Request] Add library.json files to private libraries in lib/ folder
- Hardware-Model unknown HOT 7
- add AC yieldtotal in HA like sensor and enable expiration for a part of sensor [Request] HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opendtu.