WebUI/ReGaHss Beta für CCU2 & RaspberryMatic (2.29.x)

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
jmaus
Beiträge: 3019
Registriert: 17.02.2015, 15:45
Wohnort: Dresden
Kontaktdaten:

WebUI/ReGaHss Beta für CCU2 & RaspberryMatic (2.29.x)

Beitrag von jmaus » 12.04.2017, 16:32

Hallo Zusammen,

nachdem bereits vor einigen Tagen von eQ3 eine Betaversion von WebUI (ReGaHss) für RaspberryMatic zur Verfügung gestellt worden ist und diese auch in die neueste Version von RaspberryMatic Einzug gehalten wurde heute auch eine Version davon für die CCU2 zur Verfügung zu stehen (siehe https://github.com/eq-3/occu/tree/maste ... WebUI-Beta).

Laut dort verfügbarem ChangeLog beinhaltet diese Version die folgenden Bugfixes und Enhancements:
  • Bugfix: Aufheben der max. 200 Skriptvariablen Limitation (siehe hier).
  • Bugfix: Reparatur der bekanntermaßen defekten ReGa Timer Funktionalität die gerade die Nutzung von regelmäßigen Intervaltimern < 15 min unnutzbar machte (siehe hier).
  • Bugfix: falsche Time format Ausgaben (siehe hier)
  • Bugfix: Aufheben der max. 100KiB Limitation für ReGa-Skripte
  • Bugfix: Abstürze/Speicherfehler beim Beenden/Neustart von ReGaHss/WebUI
  • Bugfix: Crashes beim automatischen Speichern der Konfiguration beim Beenden/Neustart
  • Bugfix: Race Conditions die zu möglichen Abstürzen führen konnte
  • Bugfix: Fehlerausgaben für '11622' Problem zu INFO level verschoben und neue "ScriptRuntimeError" Ausgabe mit Ausgabe des verursachenden Quellcodes hinzugefügt
  • Bugfix: '+' Operator kann nun für Strings verwendet werden
  • Bugfix: ToInteger() nutzt nun eine optimiertere Konvertierung von Gleitkommazahlen in Integerzahlen
  • Bugfix: '!' Operator für Kommentare kann nun alleine auf einer Zeile verwendet werden ohne das die nächste Zeile mit auskommentiert wird
  • Bugfix: Entfernen von inkorrekten Thread-Fehlermeldungen beim Beenden von ReGaHss
  • Bugfix: Unerlaubte Funktionsaufrufe (z.B. .ToInteger() für ein 'object') erzeugen nun korrekterweise eine Fehlermeldung statt in undefinierter Weise andere Funktionen aufzurufen (z.B. o.ToInteger() und o.BuildLabel() gaben das selbe Ergebnis für eine Variable vom type 'object').
  • Bugfix: xmlrpc.ActivateLinkParamset() führt nicht mehr zu einem Absturz von 'rfd'
  • Bugfix: xmlrpc.ActivateLinkParamset() akzeptiert nun entsprechend der XMLRPC Dokumentation einen zusätzlichen optionalen parameter für 'long_press'
  • Bugfix: Alle Methoden des xmlrpc Namespace prüfen vor ausführen eines XMLRPC calls die korrekte Anzahl an übergebenen Parametern
  • Bugfix: Der /bin/hm_startup script konnte mitunter nicht korrekt beim Starten von ReGaHss ausgeführt werden. Durch eine eingeführte Verzögerung sollte dies nun funktionieren
  • Bugfix: inkorrekte Funktionsaufrufe innerhalb while() und foreach() erzeugen jetzt eine entsprechende Fehlerausgabe
  • Bugfix: Eine Anwendung der .AlDestMapDP() Methode auf ein AlarmTrigger Objekt gibt jetzt statt eines Fehlers eine Warnung im Syslog aus damit Entwickler auf notwendige Anpassungen hingewiesen werden.
  • Bugfix: Falsch benannte ID_GW_CHANNEL konstante korrigiert
  • Bugfix: system.Exec() kann nun ohne Fehlerausgabe ohne jegliche Parameter aufgerufen werden.
  • Bugfix: dom.GetObject() Aufrufe mit Objektnamen die mit einer Zahl beginnen jedoch Zeichenketten sind funktionieren nun (siehe hier)
  • Bugfix: Beseitigung von möglichen Abstürzen im Signalhandler von ReGaHss
  • Bugfix: Beseitigung des 50-Zeichen Limits von Objektnamen (vor allem bei Nutzung von HmIP Geräte relevant)
  • Bugfix: HM-Skript – '+' Operator gibt in Kombination mit Strings und anderen Datentypen falsche Ergebnisse zurück (siehe hier)
  • Bugfix: WebUI - Speichern von großen Skripten dauert unverhältnismäßig lange (siehe hier und siehe hier)
  • Bugfix: HM-Skript – Falsch benannter Identifier "ClendarDPs" in "CalendarDPs" umbenannt.
  • Bugfix: HM-Skript – Inkonsistente Ausgaben bei Mehrfachnutzung von EnumTypeName() (siehe hier und siehe hier)
  • Bugfix: HM-Skript – Control Character (z.B. "\t") erzeugten SyntaxError in Methodenaufrufen (z.B. string.Replace("\t", "TAB")), jedoch nicht in Variablendefinitionen.
  • Bugfix: HM-Skript – "RulePRogramID" in "RuleProgramID" umbenannt.
  • Bugfix: HM-Skript – "SINGLECOND" identifier in "SINGLECONDITION" umbenannt.
  • Bugfix: ReGa – HTTPListener Initialisierung überarbeitet damit mehr als 10 parallele Listener Prozesse möglich werden
  • Bugfix: ReGa - Fehler in XmlRpcDataType zu ISE variable Konvertierung behoben der dazu führte das gewisse integer abfragen fälschlicherweise in byte werte konvertiert wurden.
  • Bugfix: ReGa – Inkonsistente Gleitkommazahlenrundung bei Nutzung von ToString(p) vs. Round(p) repariert.
  • Bugfix: ReGa – WriteLine() Ausgaben von Gleitkommazahlen werde nun ungerundet ausgegeben um dem exakten Wert einer Variable näher zu kommen.
  • Bugfix: ReGa – Problem repariert das bei Einsatz von Systemvariablen in Programmbedingungen es zu "CompatibleForCompare" Fehlern kam wenn der Typ der Systemvariable im Nachhinein angepasst wurde.
  • Bugfix: ReGa – Bei Programmbedingungen mit Gleitkommazahle behafteten Dimmerwerten kam es zu weiteren "CompatibleForCompare" Fehlern.
  • Bugfix: ReGa – Bei Nutzung von elseif() kam es zu mehrfachem Ausführen der alternativen Bedingungbranches.
  • Bugfix: ReGa – Problem behoben das bei Übermittlung von Gleitkommazahlenwerten über das BINRPC Protokoll es zu numerischen Ungenauigkeiten kommt, sodass Sensorwerte (z.B. Dimmer) leicht ungenaue Werte lieferten.
  • Bugfix: ReGa – Problem behoben das in Skripten mit Variablen die unvollständige html/xml tags beinhalten es zur Rückgabe eines nicht validen xml Responses kam und damit zu keinerlei Ausgabe im Skript Editor bzw. Skript test Fenster.
  • Bugfix: ReGa - Die Nutzung von Trunc() gibt nun den selben Wert wie ToInteger() zurück. Durch Nutzung von Trunc(p) mit angäbe der Genauigkeit kann jedoch auf eine beliebige Genauigkeit gekürzt werden.
  • Bugfix: ReGa – ToInteger() gibt nun eine Ganzzahl zurück die auf der selben Operation wie ToString() entsprechend gerundet wurde.
  • Bugfix: ReGa – Nutzung von ToString() gibt wieder auf die sechste Nachkommastelle gerundete Gleitkommawerte zurück.
  • Bugfix: ReGa – Nutzung von ToString(p) auf eine leere Zeichenkette gab einen falschen Wert zurück.
  • Bugfix: ReGa – Zeichenketten, Listen- und Binäre Systemvariablen konnten in Programmbedingungen nicht mehr gesetzt werden.
  • Bugfix: ReGa – Zeichenketten-basierte Systemvariablen konnten nicht mehr geleert werden.
  • Bugfix: ReGa – Weiteres Problem mit Nutzung von elseif() behoben.
  • Feature: ToString() Methode zu 'idarray' Datentyp hinzugefügt.
  • Feature: Maximale Anzahl an Interationen für foreach()/while() auf 50000 gesetzt.
  • Feature: Alle Datentypen (inkl. var, object, idarray) können nun via VarType() und Type() nach ihrem Variablentyp geprüft werden
  • Feature: Konfigurationsmöglichkeit für die Erhöhung des HTTP Session Limits
  • Feature: Mögliche Anpassung der Standardwerte für das intervalgetriebene speichern der WebUI Konfiguration geschaffen
  • Feature: Implementierung von Funktionen zur Generierung von Zufallszahlen: system.Random(min, max), system.Srandom(val)
  • Feature: Implementierung folgender gängiger Mathe-Funktionen für die Nutzung mit Gleitkommavariablen: Abs(), Mod(y), Min(y), Max(y), Exp(), Exp2(), Exp10(), Expm1(), Log(), Log2(), Log10(), Log1p(), Sqrt(), Cbrt(), Pow(y), Sin(), Cos(), Tan(), Asin(), Acos(), Atan(), Sinh(), Cosh(), Tanh(), Asinh(), Acosh(), Atanh(), Ceil(), Floor(), Trunc(p), Round(p)
  • Feature: Implementierung folgender gängiger Mathe-Konstanten: M_E, M_LOG2E, M_LOG10E, M_LN2, M_LN10, M_PI, M_PI_2, M_PI_4, M_1_PI, M_2_PI, M_2_SQRTPI, M_SQRT2, M_SQRT1_2
  • Feature: HM-Skript – Hinzufügen aller bekannter interner Enumtypen für EnumTypeName() Methodenausgabe.
  • Feature: HM-Skript – Implementierung von UriEncode() und UriDecode() um einen String RFC3986 konform umzuwandeln (%xx).
  • Feature: HM-Skript – Implementierung von ToUTF8 und ToLatin() um einen String in- bzw. von UTF8 zu konvertieren.
  • Feature: HM-Skript - Implementierung mehrerer String Methoden – z.B. Replace(a,b), Trim(c), LTrim(c), RTrim(c), ToLower(), ToUpper(), StartsWith(), EndsWith(), Contains() (siehe hier und siehe hier)
  • Feature: HM-Skript – Implementierung elseif() (siehe hier)
  • Feature: HM-Skript - fehlende OT Konstanten hinzufügen (siehe hier)
  • Feature: ReGa – Konfigurationsmöglichkeit für die Anzahl maximal paralleler HTTP Verbindungen
  • Feature: HM-Skript – Nutzung der .ToString(p) Methode auch mit Zeichenketten die lediglich eine Gleitkommazahl beinhalten.
  • Feature: HM-Skript – Nutzung von Shell Pipes "|", Redirections ">" und mehr als 9 Argumente in system.Exec() Aufrufen.
  • Feature: HM-Skript – zusätzliche symbolische ID_XXXXXX Identifier für all konstanten ISE ids hinzugefügt (u.a. ID_GW_SYSALARM, ID_GW_SYSSERVICE)
  • Feature: ReGa – Limitierung der ToString() Ausgabe von Gleitkommazahlen auf 15 Nachkommastellen (wie in Dokumentation angegeben) um eine benutzerfreundlichere Ausgabe / Vergleich zu ermöglichen.
  • Feature: ReGa - Gleichheits (==, !=) und Differenzoperatoren (<, >) Nutzen nun einen Epsilon-basierten Vergleich (basierend auf DBL_EPSILON) um den Vergleich von Gleitkommazahlen an das Verhalten der WebUI basierten Vergleiche anzupassen und einen benutzerfreundlicheren Vergleich von Gleitkommazahlen in Skripten zu ermöglichen.
  • Feature: ReGa – Implementierung von ToInteger(p) bei der man die Genauigkeit angeben kann auf der die Rundung durchgeführt wird bevor der ganzzahlige Wert bestimmt wird.
Für die Nutzer die nun gerne einmal auf die neueste Betaversion der WebUI/ReGaHss setzen wollen und die damit dann auch ein mögliches Feedback zu den Bugfixes/Änderungen hoffentlich geben könnten soll hier einmal kurz beschrieben werden wie genau die Installation dieser Betaversion zu erfolgen hat:

WARNUNG:
Als erstes sei hier angemerkt das nur erfahrene Nutzer die vor allem problemlos mit dem SSH Zugang und der Kommandozeile umgehen können die folgende Installation der Betaversion vornehmen sollten. Des Weiteren wird natürlich vorausgesetzt das ein vollständiges Backup der CCU2 existiert bevor die folgenden Anpassungen erfolgen. Auch sollte man sich natürlich vor Augen führen das man hier auf eine Betaversion setzt die ggf. unschöne Nebeneffekte mit sich bringen könnte bis zum kompletten Datenverlust (deshalb ja auch das Backup). Bitte also nicht mich oder die eQ3 Entwickler in irgendeiner Art dahingehend anfeinden das etwas in dieser Betaversion nicht so oder anders funktioniert als vorher. Sinn dieser Betaaktion ist eben mögliche Fehler in den Bugfixes zu finden bzw. weitere mögliche Bugfixes vorzubereiten (sofern es noch weitere dringende Bugs gibt in ReGaHss).

Installation:
Hat man die WARNUNG gelesen und verinnerlicht kann man wie folgt mit der Installation der Betaversion fortfahren:
  1. Sicherstellen das man die CCU/RaspberryMatic Firmware 2.29.x installiert hat (ältere Versionen werden nicht unterstützt).
  2. Erstellen eines Backups via WebUI und Einstellungen->Systemsteuerung->Sicherheit->Backup erstellen
  3. Freischalten des SSH Zugangs + Vergabe eines 'root' Passworts via WebUI und Einstellungen->Systemsteuerung->Sicherheit->SSH
  4. Einloggen in die CCU bzw. RaspberryMatic via SSH (entweder Putty oder Konsolen-SSH) mit Loginname "root" und den vorher vergebenen Passwort.
  5. Beenden eines laufenden ReGaHss via:

    Code: Alles auswählen

    killall crond; /etc/init.d/S70ReGaHss stop
  6. Mounten des Root-Filesystems im ReadWrite Modus:

    Code: Alles auswählen

    mount -o rw,remount /
  7. In Abhängigkeit des genutztes Systems (RaspberryMatic / CCU2) und der Firmwareversion wie folgt vorgehen:
    • RaspberryMatic (2.29.x):
      1. Umbenennen der zu ersetzenden Dateien in *.bak Dateien (als Backup) via

        Code: Alles auswählen

        mv /bin/ReGaHss /bin/ReGaHss.bak
        mv /lib/libxmlparser.so /lib/libxmlparser.so.bak
        mv /lib/libXmlRpc.so /lib/libXmlRpc.so.bak
      2. Herunterladen/Installieren der Betaversion (bitte beachten, dass jeder 'wget' Befehl jeweils in einzelne Zeilen gehört):

        Code: Alles auswählen

        wget --no-check-certificate -O /bin/ReGaHss https://github.com/eq-3/occu/raw/master/arm-gnueabihf/packages-eQ-3/WebUI-Beta/bin/ReGaHss
        wget --no-check-certificate -O /lib/libxmlparser.so https://github.com/eq-3/occu/raw/master/arm-gnueabihf/packages-eQ-3/WebUI-Beta/lib/libxmlparser.so
        wget --no-check-certificate -O /lib/libXmlRpc.so https://github.com/eq-3/occu/raw/master/arm-gnueabihf/packages-eQ-3/WebUI-Beta/lib/libXmlRpc.so
      3. Korrektur der Dateipermissions:

        Code: Alles auswählen

        chmod a+rx /bin/ReGaHss /lib/libxmlparser.so /lib/libXmlRpc.so
    • CCU2 (2.29.x):
      1. Umbenennen der zu ersetzenden Dateien in *.bak Dateien (als Backup) via

        Code: Alles auswählen

        mv /bin/ReGaHss.community /bin/ReGaHss.community.bak
        mv /lib/libxmlparser.so /lib/libxmlparser.so.bak
        mv /lib/libXmlRpc.so /lib/libXmlRpc.so.bak
      2. Herunterladen/Installieren der Betaversion (bitte beachten, dass jeder 'wget' Befehl jeweils in einzelne Zeilen gehört):

        Code: Alles auswählen

        wget --no-check-certificate -O /bin/ReGaHss.community https://github.com/eq-3/occu/raw/master/CCU2/packages-eQ-3/WebUI-Beta/bin/ReGaHss
        wget --no-check-certificate -O /lib/libxmlparser.so https://github.com/eq-3/occu/raw/master/CCU2/packages-eQ-3/WebUI-Beta/lib/libxmlparser.so
        wget --no-check-certificate -O /lib/libXmlRpc.so https://github.com/eq-3/occu/raw/master/CCU2/packages-eQ-3/WebUI-Beta/lib/libXmlRpc.so
        
      3. Korrektur der Dateipermissions:

        Code: Alles auswählen

        chmod a+rx /bin/ReGaHss.community /lib/libxmlparser.so /lib/libXmlRpc.so
  8. Dateisystem wieder Read-Only mounten:

    Code: Alles auswählen

    mount -o ro,remount /
  9. Neustart RaspberryMatic/CCU2:

    Code: Alles auswählen

    reboot
Nach ausführen dieser Kommandos sollte die CCU2 bzw. RaspberryMatic dann neustarten und dann mit der Betaversion von ReGaHss wieder hochfahren (bitte beachten das man bei einer CCU2 mit 2.29.x noch die "Community"-Version der Logikschicht aktiviert haben muss) und die WebUI entsprechend ganz normal zu bedienen sein - jedoch eben die oben genannten Bugfixes/Änderungen mit sich bringen. :D

Um das Feedback zu diesen Betaversionen zu bündeln wäre es schön wenn dies zu diesem Thread hier hinzugefügt werden könnte. Interessant wäre in der Tat ob mit dieser Betaversion in den oben genannten Bereichen wirklich alle Bugs nun beseitigt sind und trotzdem ReGaHss/WebUI immer noch gleich stabil oder gar stabiler läuft als vorher. Diese Information würde eQ3 dann sicherlich sehr helfen einzuschätzen wie schnell diese Version dann in die normale/offizielle nächste Firmwareversion Einzug halten kann.
Zuletzt geändert von jmaus am 05.10.2017, 10:38, insgesamt 21-mal geändert.
RaspberryMatic 2.35.16.20180826 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

Benutzeravatar
Herbert_Testmann
Beiträge: 11102
Registriert: 17.01.2009, 12:30

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von Herbert_Testmann » 12.04.2017, 18:49

Hallo

rebootet grade. Installation war eine Sache von 2 min.
Bin sehr gespannt, ob ich gleich wieder eine WebUi hab ;-)
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

shivasdream
Beiträge: 61
Registriert: 01.04.2015, 09:57
Wohnort: Dortmund

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von shivasdream » 12.04.2017, 19:11

Habe gerade ebenfalls die neue Rega installiert, auf den ersten Blick ist alles ok. Jetzt heißt es warten und testen...

Benutzeravatar
Herbert_Testmann
Beiträge: 11102
Registriert: 17.01.2009, 12:30

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von Herbert_Testmann » 12.04.2017, 19:16

Hallo

die meisten der aufgeführten Probleme hatte ich nicht, kann also auch nicht sagen, ob es mit der beta besser geworden ist .

Aber zu zwei Punkten hätte ich die Frage, wo das dann einstellbar ist ??

[*] Bugfix / Mögliche Anpassung der Standardwerte für das intervalgetriebene speichern der WebUI Konfiguration

[*] Konfigurationsmöglichkeit für die Erhöhung des HTTP Session Limits (Anzahl Verbindungen)
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

Gluehwurm
Beiträge: 8170
Registriert: 19.03.2014, 01:37

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von Gluehwurm » 12.04.2017, 19:26

Die Einstellmöglichkeiten habe ich auch schon gesucht ... nur, weil sie da sein sollen :wink:

Der Rest läuft

PS: Gibt es den Shutdown-Button auch noch ?


Gruß
Bruno

Benutzeravatar
jmaus
Beiträge: 3019
Registriert: 17.02.2015, 15:45
Wohnort: Dresden
Kontaktdaten:

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von jmaus » 12.04.2017, 19:35

Gluehwurm hat geschrieben:Die Einstellmöglichkeiten habe ich auch schon gesucht ... nur, weil sie da sein sollen :wink:
Dazu muss man die /etc/rega.conf Datei anpassen. Allerdings sollte mannfüe eiwn CCU2 meiner Meinung nach nicht dran rumdrehen und die defaultwerte weiterhin nutzen.
Der Rest läuft

PS: Gibt es den Shutdown-Button auch noch ?
Nein, das ist ein RaspberryMatic-only Feature.
RaspberryMatic 2.35.16.20180826 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

Cash
Beiträge: 1143
Registriert: 09.01.2016, 18:42
Wohnort: Sauerland

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von Cash » 12.04.2017, 19:44

Einige Bugfxes von der Beta finde ich sehr wichtig. Hätte eigentlich auch nie gedacht das eq3 diese jemals fixe wird :-)

Da ich aber kein Risiko eingehe (tue mich mit normalen ccu Updates schon schwer) werde ich hier nur gespannt mitlesen.

Das aussehen der Webui hat sich wahrscheinlich nicht verändert oder?

Bulli
Beiträge: 425
Registriert: 29.04.2014, 18:38

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von Bulli » 12.04.2017, 20:09

Hallo
SUPER. Ich werde das Testen, aktuell hab ich echt keine Zeit. Am Karfreitag sollte ich Zeit dafür haben. Dann werde ich erst mal alles lesen und vielleicht am Sonntag oder Montag was schreiben.

Gruß Bulli

ps wenn das alles so ist wie geschrieben finde ich das Spitze.
pps Ich Wiederhole mich zwar aber wie schon geschrieben finde ich ELV und EQ-3 gut.

Gluehwurm
Beiträge: 8170
Registriert: 19.03.2014, 01:37

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von Gluehwurm » 12.04.2017, 20:20

jmaus hat geschrieben:Nein, das ist ein RaspberryMatic-only Feature.
Du hast doch einen Draht dort hin ... :wink:

nicolas-eric
Beiträge: 2417
Registriert: 08.01.2015, 00:26
Wohnort: Scheeßel

Re: WebUI/ReGaHss Betaversion für CCU2 (2.27.x) verfügbar

Beitrag von nicolas-eric » 12.04.2017, 21:44

jmaus hat geschrieben:Nein, das ist ein RaspberryMatic-only Feature.
War grad unsicher, ob es das auch wirklich macht.
Nach Klicken auf Shutdown stand da:
Bildschirmfoto 2017-04-12 um 21.37.33.jpg
Bildschirmfoto 2017-04-12 um 21.37.33.jpg (21.8 KiB) 10713 mal betrachtet
Aber er ging wirklich aus...

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“