Alternatives WebUI: "HQ WebUI"

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Alternatives WebUI

Beitrag von DrTob » 11.11.2012, 19:18

so, nachdem ich die Variablen geleert habe funktioniert es. (was bedeutet das Ausrufezeichen bei Geräten? Servicemeldungen?)

die Anzeige des Scripteditors ist jedoch etwas "kaputt" (Safari 6.0.2 auf OSX 10.8.2)
Scripteditor.png
Scripteditor.png (9.05 KiB) 5484 mal betrachtet

Setzen von Text-Systemvariablen funktioniert auch nicht. Doppelklick öffnet Fenster, man kann einen neuen Wert eingeben, dieser wird jedoch nicht übernommen. (trotz Neuladen). Setzen von Variablen vom Typ "Zahl" funktioniert.

edit: Man kann nur auf numerische Werte setzten. Setzen einer Zeichen-Variable auf "2" funktioniert. Auf "zwei" jedoch nicht.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Alternatives WebUI

Beitrag von hobbyquaker » 11.11.2012, 20:08

Hallo DrTob!

Danke für die Fehlerberichte. Ich kam leider noch nicht dazu im Safari zu testen, ich vermute dass der XML Parser des Safari ein wenig strikter ist als der des Chrome - der parsed bei mir auch (eigentlich invalides) XML mit Sonderzeichen anstandslos. Werde mir das bei Gelegenheit mal genauer anschauen.
Warum die Darstellung des Editors so verhaun ist kann ich im moment nicht sagen, werde ich aber auch bei Gelegenheit versuchen zu fixen.

Das Systemvariablen vom Typ Zeichenkette nicht gesetzt werden konnten lag an der statechange.cgi (aus xmlapi, da haben Anführungszeichen gefehlt). Hab das gefixt und die neue Version 1.2-hq10 zum Download bereitgestellt, mit der lassen sich nun auch Systemvariablen mit Strings befüllen.

Zu dem Ausrufezeichen: ja, das erscheint wenn ein Gerät Servicemeldungen hat. Analog dazu gibt es ein Ausrufezeichen bei Variablen, das erscheint wenn ein Alarm ausgelöst ist.

Grüße,
Hobbyquaker

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Alternatives WebUI

Beitrag von DrTob » 11.11.2012, 23:25

hobbyquaker hat geschrieben:Hallo DrTob!

Danke für die Fehlerberichte. Ich kam leider noch nicht dazu im Safari zu testen, ich vermute dass der XML Parser des Safari ein wenig strikter ist als der des Chrome - der parsed bei mir auch (eigentlich invalides) XML mit Sonderzeichen anstandslos. Werde mir das bei Gelegenheit mal genauer anschauen.
so wird es wohl sein, denn ein direkter Aufruf der sysvarlist.cgi erzeugt in Safari folgende Meldung:
This page contains the following errors:

error on line 1 at column 5610: invalid character in attribute value
Below is a rendering of the page up to the first error.
man könnte hier evtl. in der XMLApi schon das erzeugen von ungültigen Ausgaben verhindern. Ich werde mich aber wohl jetzt doch mal um die korrekte Verarbeitung der Umlaute kümmern ;)

Ansonsten:
Sehr schöne Arbeit. Wenn ich irgend etwas testen soll/kann gerne.


noch eine kleinigkeit: Wenn kein Script im Scriptparser geöffnet ist, kann man trotzdem "Script ausführen" wählen. Man bekommt anschließend die Meldung "Script erfolgreich ausgeführt" :)

Bei einem Fehler in einem Script erhalte ich immer folgende Meldung:
undefined undefined in Zeile undefined

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Alternatives WebUI

Beitrag von DrTob » 11.11.2012, 23:46

arg. Auch für die Meldung "undefined undefined in Zeile undefined" habe ich die Ursache gefunden: Das Log landet bei mir auf einem Syslog-Server und nicht unter /var/log/messages. Das Ergebnis von scripterrors.cgi ist deshalb leer ("<scriptErrors/>")

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Alternatives WebUI

Beitrag von hobbyquaker » 12.11.2012, 17:18

Hallo DrTob!

Oh - das hatte ich nicht berücksichigt mit den Script-Fehlermeldungen und remote syslog... Es gäbe da ein weg trotzdem rauszufinden in welcher Zeile die Scriptausführung abbricht - aber der ist sooo unschön dass ich ihn ungern veröffentlichen will ;-)

Man kann einfach jede zweite Zeile eine durchnummerierte Dummy-Variable einfügen (z.B. "var debugDummy00001;") und in der Ausgabe dann schauen welche dieser Variablen noch in der JSON Response stecken. Die mit dem größten Zählerwert gibt dann quasi die Zeile vor dem Fehler an. Hatte das mal testhalber implementiert, funktioniert sogar, aber ich find es technisch echt "hässlich". Wenn Du allerdings möchtest kann ich das wieder ins HQ WebUI aufnehmen und per config.js aktivierbar machen, dann bekommst Du auch ohne /var/log/messages die Zeile des Fehlers ausgespuckt.

Wegen der Sonderzeichen und des XML bin ich noch am testen und überlegen, melde mich wenn mir dazu was einfällt, muss da auch mal Ultrah und Monty drauf ansprechen, vielleicht haben die ne gute Idee..

Edit: habe eben die 1.4.5 bereitgestellt, die behebt ein paar kleinere Fehler, unter anderem auch die "kaputte" Darstellung des Script-Editors im Safari.


Grüße,
Hobbyquaker

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Alternatives WebUI

Beitrag von DrTob » 17.11.2012, 13:35

Hallo hobbyquaker!

hat bei mir etwas länger gedauert, bin gerade beruflich sehr eingespannt. Bin selbst Softwareentwickler und muss dir bezüglich der dummy-Zeilen zustimmen. Ich kann ja, falls ich die Meldungen möchte, die Log-Ausgabe (temporär) umstellen. Du solltest allerdings das potentielle Fehlen der Log-Daten beachten und zumindest eine passende Meldung anzeigen. (Etwa: "Scriptausführung fehlgeschlagen, Log-Informationen nicht vorhanden")

Nach dem Update auf die Aktuelle Version habe ich jetzt allerdings das Problem, dass gar nichts mehr funktioniert. HQ WebUI bleibt beim Laden der Favoritenliste, ohne Fehlermeldung, stehen. (Drehender Pfeil-Kreis auf Favoriten-Tab).

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Alternatives WebUI

Beitrag von hobbyquaker » 17.11.2012, 16:16

Hallo Dr.Tob!

Zu Deinem Problem: kommentier mal bitte die buildFavorites() Aufrufe aus und schau ob er dann bei Variablen weitermacht...
Edit - viel einfacher: Versuch mal bitte im Variablen-Tab unten links auf aktualisieren zu drücken. Lädt es dann weiter?

Bin im Moment heftig am rumschrauben, ich stell grad quasi das komplette Backend noch mal um. Werde in Zukunft auf die Nutzung der XML-API komplett verzichten, will das komplett mit "CCU Bordmitteln" erledigen. Außerdem ist ein CCU Dateibrowser in Planung mit dem man Dateien ansehen/herunterladen und ausführen kann. Der Code steckt jetzt grade so zwischendrin, teils wird schon JSON RPC genutzt, teils noch XML-API, an vielen Stellen herrscht im Moment großes Chaos, ich hoffe die 2.0 nächstes oder übernächstes Wochenende fertigstellt zu haben und zu veröffentlichen. Ich denke aber trotzdem dass sich ein Blick darauf lohnt, hab auch ein paar nette neue Features eingebaut...

Das HQ WebUI hat nun einen (JSON RPC basierten) Login. Wer weiterhin ohne Passwortabfrage sofort loslegen können will kann den Haken "Zugangsdaten speichern" setzen:
Bild

Die Skript-Konsole habe ich nun in "Editor" umbenannt. Mittlerweile ist es auch mehr als eine Skript-Konsole:
Bild

JSON RPC ist bereits implementiert, an XML RPC bin ich gerade dran. (Same-Origin Policy macht es einem hier echt schwer eine "schöne" Lösung zu finden):
Bild

Außerdem soll der "Editor" noch die Möglichkeit bekommen Dateien auf der CCU abzuspeichern und von der CCU zu laden. Automatisches Speichern im LocalStorage (im Browser) gibt es weiterhin - CCU ist nur optional (und macht eigentlich auch nur bei TCL und Shellscripten Sinn).

Die Geräteliste zeigt nun die Geräte-Bildchen an die sowieso auf der CCU rumliegen, allerdings etwas kleiner und dezenter als es das originale WebUI tut:
Bild

An der Favoritenansicht hat sich auch einiges getan, ist aber noch ein gutes Stück von "fertig" entfernt.

Eine weiteres große Todo ist es (begrenzt) auch Konfigurations-Tasks zu ermöglichen. Bin hier noch am ausloten was alles via JSON RPC und XMLRPC machbar ist und welchen Aufwand das bedeutet.

Ein großer Pferdefuß der mit dem verzicht auf die XMLAPI einhergeht - ich leide unter der "Same-Origin-Policy". Eine Webseite die von http://homematic:80 geladen wurde darf aus Sicherheitsgründen nicht per Ajax auf http://homematic:2000 zugreifen. Eine schöne Lösung gibt es für dieses Problem nicht. Läuft darauf raus dass das HQ WebUI nur noch bei einer Installation auf der CCU laufen wird (nur dann ist Zugriff auf JSON RPC möglich) und ich außerdem ein "Proxy" bauen muss der XMLRPC Zugriffe auf Port 80 entgegennimmt und (da ich damit die XMLRPC Firewall Settings umgehe) das ganze per JSON RPC Session schützt. (Der Proxy ist schon fast fertig, da war ich heute dran).

Melde mich wieder wenn das ganze (Beta-)Release-reif ist.

Viele Grüße

Benutzeravatar
Markus33
Beiträge: 116
Registriert: 29.10.2012, 11:57
Wohnort: Bayern
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Alternatives WebUI

Beitrag von Markus33 » 17.11.2012, 23:04

Werde in Zukunft auf die Nutzung der XML-API komplett verzichten, will das komplett mit "CCU Bordmitteln" erledigen. Außerdem ist ein CCU Dateibrowser in Planung mit dem man Dateien ansehen/herunterladen und ausführen kann.
:lol: :lol: :lol:

Markus
---------------------------------------------------------------------
RaspberryMatic auf Raspberry Pi 4 (HMIP-RFUSB) mit 1x Lan Gateway RaspberrryPi 3B+ (HMIP-RFUSB) + RS485 Gateway

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Alternatives WebUI

Beitrag von hobbyquaker » 25.11.2012, 09:44

Hallo!

Habe eben die neue Version "2.0-alpha2" auf Github gestellt. Sind noch nicht alle Features die ich mir für die 2.0 vorgenommen habe implementiert, wäre aber dennoch über Test- und Fehlerberichte sehr dankbar :-)

Download wie immer auf Github, hier der direkte Link zur tar.gz Datei: https://github.com/hobbyquaker/hq-webui ... ha2.tar.gz

Die wichtigsten Änderungen + Screenshots siehe 2 Posts weiter oben.

Viele Grüße

Benutzeravatar
Markus33
Beiträge: 116
Registriert: 29.10.2012, 11:57
Wohnort: Bayern
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Alternatives WebUI

Beitrag von Markus33 » 25.11.2012, 12:37

Hallo,

erstes Feedback:

- Installation von hq-webui.2.0-alpha2.tar.gz über Zusatzsoftware lief ohne Probleme.
- Aufruf über http://IP-Adresse-der-CCU/addons/hq/ui/ funktioniert auch
- Nur dann bleibt das Programm in einer Endlosschleife bei Favoriten hängen :?:

--> Sorry. Funktioniert nun. Doppelklick hat mal wieder FireFox geöffnet und nicht Google chrome.
Mit Chrome gehts bis das hier kommt:

XML-API Kommunikationsfehler:
error
not found



Variablen und Programme werden eingelesen. Aber die Geräte nicht.


Markus
---------------------------------------------------------------------
RaspberryMatic auf Raspberry Pi 4 (HMIP-RFUSB) mit 1x Lan Gateway RaspberrryPi 3B+ (HMIP-RFUSB) + RS485 Gateway

Antworten

Zurück zu „CCU.IO“