mediola

Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/WebUI

Fehler in Firmware und WebUI & Workarounds

Werbung


Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon jmaus » 17.05.2017, 10:24

BadenPower hat geschrieben:Skriptvariablen:
Typ-Prüfung bricht mit Fehler ab bei Variabletyp "var";
.UserSharedObjects() erzeugt Variabletyp "var".


Danke für den Hinweis, hab ich mir angeschaut. UserSharedObjects() gibt nicht "var" als typ zurück sondern einen bisher nicht via Type/VarType erkennbaren Variablentyp "idarray" – da lag der Fehler. In der nächsten Beta sollte man nun in der Lage sein diesen Typ zumindest via Type/VarType zu erkennen.
RaspberryMatic 2.29.18.20170731 @ RPi3 mit ~140 HomeMatic Geräten + ioBroker – GitHubPayPal
Benutzeravatar
jmaus
 
Beiträge: 1258
Registriert: 17.02.2015, 15:45
Wohnort: Dresden

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon BadenPower » 17.05.2017, 11:00

Fehlerhafte Verwendung von Methoden als Parameter in Schleifen erzeugt keinen Fehler im Log.

Dieser fehlerhafte Code wird mit einem Fehler im Log und Skriptabbruch honoriert:
Code: Alles auswählen
object lObj = dom.GetObject("DOM");
string lEnum = "";
WriteLine(lObj);
WriteLine(lObj.Enum());
WriteLine("Ende");

erzeugt:
Code: Alles auswählen
May 17 10:47:23 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 1 0x01 [1] 0 0x00 [2] 1 0x01 [3] 0 0x00 [4] 1 0x01  [../Platform/DOM/iseESPexec.cpp (11622)]


Dieser fehlerhafte Code läuft durch ohne Fehlermeldung:
Code: Alles auswählen
object lObj = dom.GetObject("DOM");
string lEnum = "";
WriteLine(lObj);
foreach(lEnum,lObj.Enum())
{
  WriteLine(lEnum);
}
WriteLine("Ende");

.
Shutdown - alle Aktivitäten für das Forum beendet
Trotzallem war es eine schöne Zeit mit Euch. Danke dafür.
Jedoch ist der Zwiespalt zu groß, um mit Freude und Elan weiterzumachen.
BadenPower
 
Beiträge: 2363
Registriert: 03.12.2015, 12:34

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon BadenPower » 17.05.2017, 11:18

jmaus hat geschrieben: UserSharedObjects() gibt nicht "var" als typ zurück sondern einen bisher nicht via Type/VarType erkennbaren Variablentyp "idarray" – da lag der Fehler. In der nächsten

Ich hatte mich schon gewundert, da ich die Skriptvariable bereits als idarray deklariert hatte und nach der Zuweisung eben eine Typprüfung nicht moglich war.


Da kommt dann aber gleich die nächste Ungereimtheit:

Die Skriptvariabletypen

boolean
integer
real
string
time
xml

kann man nach der Deklariation unterscheiden, da sie Standardwerte automatisch zugewiesen bekommen.

idarray
object
var

erhalten alle null und können daher nicht unterschieden werden.

Ist nicht weiter tragisch, wenn man zuerst eine Prüfung auf null macht. Es macht aber keinen Sinn Variabletypen ohne Wertzuweisung expliziet deklarieren zu können, wenn man sie dann ohne Wertzuweisung gar nicht unterscheiden kann.

So, das reicht vorerst einmal an Fehlermeldungen. Mal schauen was in der CCU-Firmware tatsächlich landet.
.
Shutdown - alle Aktivitäten für das Forum beendet
Trotzallem war es eine schöne Zeit mit Euch. Danke dafür.
Jedoch ist der Zwiespalt zu groß, um mit Freude und Elan weiterzumachen.
BadenPower
 
Beiträge: 2363
Registriert: 03.12.2015, 12:34

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon jmaus » 17.05.2017, 14:10

BadenPower hat geschrieben:
jmaus hat geschrieben: UserSharedObjects() gibt nicht "var" als typ zurück sondern einen bisher nicht via Type/VarType erkennbaren Variablentyp "idarray" – da lag der Fehler. In der nächsten

Ich hatte mich schon gewundert, da ich die Skriptvariable bereits als idarray deklariert hatte und nach der Zuweisung eben eine Typprüfung nicht moglich war.

Da kommt dann aber gleich die nächste Ungereimtheit:


Du wirst sicherlich noch viel mehr davon finden. Die ReGa-Skriptsprache ist leider nicht so durchdacht wie es auf den ersten Anschein vielleicht aussieht. Ob ich alle davon reparieren kann bzw. ob das auch Sinn macht alles davon zu reparieren sei einmal dahin gestellt.

BadenPower hat geschrieben:Die Skriptvariabletypen

boolean
integer
real
string
time
xml

kann man nach der Deklariation unterscheiden, da sie Standardwerte automatisch zugewiesen bekommen.

idarray
object
var

erhalten alle null und können daher nicht unterschieden werden.

Ist nicht weiter tragisch, wenn man zuerst eine Prüfung auf null macht. Es macht aber keinen Sinn Variabletypen ohne Wertzuweisung expliziet deklarieren zu können, wenn man sie dann ohne Wertzuweisung gar nicht unterscheiden kann.


Bei 'idarray' bzw. 'var' ist das kein Problem bzw. hab ich das jetzt schon umgesetzt. Bei 'object' ist das aber z.B. nicht ganz so einfach weil dort z.B. "obj.Type()" schon existiert und bei Aufruf dann z.B. auf das eigentliche Objekt angewendet wird und nicht auf die eigentliche variable. D.h. also das folgender Code nicht ganz eineindeutig wäre:

Code: Alles auswählen
object obj = dom.GetObject("DOM");
WriteLine(obj.Type());


Weil momentan gibt das "9" zurück was einer internen Objektbeschreibung entspricht. Bei anderen variablen ist es aber immer so das das .Type() eben den namen des variablentypes zurück gibt (bei 'boolean' gibt .Type() eben 'boolean') zurück. .VarType() ist zwar noch nicht belegt aber alleine Das macht ggf. wenig sinn?!?

BadenPower hat geschrieben:So, das reicht vorerst einmal an Fehlermeldungen. Mal schauen was in der CCU-Firmware tatsächlich landet.


Warum soll das reichen? Mach weiter so, denn das meiste was du hier gelistet hast habe ich in der Tat bereits repariert. Du solltest also vielleicht mal dazu übergehen die nächsten Betaversionen von ReGaHss zu benutzen damit du darauf basierend dann auch Feedback geben kannst ob es denn jetzt funktioniert, oder nicht.
RaspberryMatic 2.29.18.20170731 @ RPi3 mit ~140 HomeMatic Geräten + ioBroker – GitHubPayPal
Benutzeravatar
jmaus
 
Beiträge: 1258
Registriert: 17.02.2015, 15:45
Wohnort: Dresden

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon BadenPower » 17.05.2017, 15:50

jmaus hat geschrieben:Du wirst sicherlich noch viel mehr davon finden.

Mehr als genug um hier noch Seiten zu füllen.

jmaus hat geschrieben:Weil momentan gibt das "9" zurück was einer internen Objektbeschreibung entspricht.

Logisch, dass das gepostete Beispiel 9 zurück geben muß.
Alles andere wäre ein zusätzlicher Fehler, denn das Objekt DOM ist ja vom Typ OT_DOM was eben 9 entspricht.

Ein Objekt vom Typ Gerät gibt selbstverständlich den Konstantenwert OT_DEVICE aus, was dem Integerwert 17 entspricht und ein XML-Knotenwert eben 16777217 also OT_XMLNODE.

jmaus hat geschrieben:Warum soll das reichen? Mach weiter so, denn das meiste was du hier gelistet hast habe ich in der Tat bereits repariert.

Für den Moment reicht es.
Es war für die Community und nicht für mich.

Ich habe nichts davon, wenn Du die Fehler beseitigst, welche ich Dir poste. Und wenn ich noch hundert weitere liste.

Und wenn ich sage ich habe nichts davon, dann meine ich das auch so, denn:

1. Da ich die Fehler und Stolperfallen kenne, kann ich sie problemlos in den Skripten umgehen.

2. Ich kann dadurch der Community nicht umfangreicher zur Lösungsfindung und Fehlerfindung beiseitestehen als bisher und auch die Entwicklung meiner Projekte, welche für die Community gedacht sind, erleben auch keine Neuerungen durch die Änderungen der RegaHss.

Mein Wissen, welches ich für die Community produktiv einsetzen kann, stagniert auch wenn ich Dir weiterhin zur Seite stehe. Zu deutsch, alle profitieren, aber ich bleibe auf dem gleichen Stand, vor allem im Bezug auf meine Arbeit für die Gemeinschaft. Und da muss ich mir noch im Klaren werden, ob dies auf Dauer sinnvoll ist und ob ich das wirklich will.
.
Shutdown - alle Aktivitäten für das Forum beendet
Trotzallem war es eine schöne Zeit mit Euch. Danke dafür.
Jedoch ist der Zwiespalt zu groß, um mit Freude und Elan weiterzumachen.
BadenPower
 
Beiträge: 2363
Registriert: 03.12.2015, 12:34

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon Cash » 18.05.2017, 12:15

@BadenPower naja Du könntest mit der Beta Dein Mega Kalender Script erweitern da es kein Limit bei der Größe mehr gibt, wenn ich das richtig überschaue :mrgreen: oder bei neuen Scripten musst Du Dir keine großen Gedanken um Variablennamen machen und kannst sie mit sprechenden Namen versehen :D
Cash
 
Beiträge: 694
Registriert: 09.01.2016, 18:42
Wohnort: Sauerland

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon jmaus » 18.05.2017, 21:06

Hallo Zusammen,

hier nur der kurze Hinweise das inzwischen beta9 von ReGaHss wie im Folgenden Beitrag beschrieben zur Verfügung steht:

viewtopic.php?f=26&t=36623&p=363485#p363485

Darin wurden wieder einige der hier genannten Probleme beseitigt und auch Erweiterungen durchgeführt.

Ich bitte um ausführliches Testen! ;)
RaspberryMatic 2.29.18.20170731 @ RPi3 mit ~140 HomeMatic Geräten + ioBroker – GitHubPayPal
Benutzeravatar
jmaus
 
Beiträge: 1258
Registriert: 17.02.2015, 15:45
Wohnort: Dresden

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon jmaus » 22.06.2017, 10:20

Hallo Zusammen,

hier nur noch der kurze Hinweis das ich die Feature/Bugliste auf Seite 1 einmal aktualisiert bzw. mit dem aktuellen Stand abgeglichen habe. Wenn jemand noch zwecks aktueller Bugs oder sinnvoller Features hinweise zu ReGaHss/WebUI hat bitte die hier melden damit ich mir das anschauen und ggf. mit auf die Liste setzen kann.

Danke!
RaspberryMatic 2.29.18.20170731 @ RPi3 mit ~140 HomeMatic Geräten + ioBroker – GitHubPayPal
Benutzeravatar
jmaus
 
Beiträge: 1258
Registriert: 17.02.2015, 15:45
Wohnort: Dresden

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon robsdobs » 12.07.2017, 10:05

Hallo,

erst nochmal Vielen Dank. Die neue ReGaHss läuft viel stabiler.

Ich hätte noch was für die Wunschliste.

Für den Typ String hab ich heute nach einer Reihe Methoden gesucht und leider nix in der Doku gefunden:

Code: Alles auswählen
string output = text.Trim(); !entfernt alle führenden und endende Leerzeichen, Tabulatoren (\t), Zeilenumbrüche (\n, \r) aus dem String
string output = text.Trim(string s); !entfernt alle führenden und endende Zeichen aus dem String, welche im String s vorkommen
string output = text.ToLower(); !wandelt alle Zeichen im String in Kleinbuchstaben um
string output = text.ToUpper(); !wandelt alle Zeichen im String in Großbuchstaben um
boolean out = text.StartsWith(string s); !gibt wahr zurück, wenn der Text mit der angegebenen Zeichenfolge beginnt
boolean out = text.EndsWith(string s); !gibt wahr zurück, wenn der Text mit der angegebenen Zeichenfolge endet

!eher Nice to have wäre
boolean out = text.Contains(string s); !gibt wahr zurück, wenn der Text mit der angegebenen Zeichenfolge vorkommt.
!Das ist äquivalent zu (text.Find(string s) >=0), aber macht die Scripte etwas lesbarer.


Entschuldigt, wenn es eine der Methoden schon gibt. Ich ahb die Script Doku durchsucht aber nichts gefunden.

Danke & Gruß
Robert
--------------------------------------------
RPI2 + YAHM, 112 Kanäle in 52 Geräten und 54 CUxD-Kanäle in 5 CUxD-Geräten
--------------------------------------------
Benutzeravatar
robsdobs
 
Beiträge: 169
Registriert: 08.08.2015, 22:52
Wohnort: Dresden

Re: Aufruf Bugs/Enhancements – Weiterentwicklung ReGaHss/Web

Beitragvon jmaus » 12.07.2017, 11:00

robsdobs hat geschrieben:erst nochmal Vielen Dank. Die neue ReGaHss läuft viel stabiler.


Danke für die Blumen. Im Übrigen gibt es inzwischen auch schon wieder eine neuere Beta15 version von ReGaHss die noch zwei weitere wichtige Bugs beseitigt. Wäre schön wenn du auch so stark getestet werden könnte.

Ich hätte noch was für die Wunschliste.

Für den Typ String hab ich heute nach einer Reihe Methoden gesucht und leider nix in der Doku gefunden:

Code: Alles auswählen
[...]



Danke für die ausführliche Beschreibung deiner Wünsche. Habe ich in die Liste aufgenommen und werde ich dann bei weiteren Arbeiten an ReGaHss im Hinterkopf behalten. Falls es noch mehr solcher simplen Wünsche gibt, immer her damit :)
RaspberryMatic 2.29.18.20170731 @ RPi3 mit ~140 HomeMatic Geräten + ioBroker – GitHubPayPal
Benutzeravatar
jmaus
 
Beiträge: 1258
Registriert: 17.02.2015, 15:45
Wohnort: Dresden

VorherigeNächste

Zurück zu HomeMatic - bekannte Bugs

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.