Problem: HUE virtuelles Gerät nicht löschbar

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von srunschke » 14.05.2018, 11:12

Hallo zusammen,

in der Analyse meines "Alle Programme werden nicht mehr ausgeführt" Problems habe ich einfach mal alle meine HUE Geräte gelöscht.
Alle?
Fast alle.
Eine kleine gallische Lampe lässt sich partout nicht löschen...

Ich glaube ich bin hier auch auf eine Abart des "Leerzeichen am Ende"-Problems gestoßen, doch leider lässt sich das Gerät trotzdem nicht löschen - oder ich mache etwas falsch.

Lösche ich es über die GUI, bekomme ich in der hmserver.log:
Gerät kann nicht gelöscht werden, weil es nicht existiert: HU-Wohnzimmer (ist jetzt nur aus dem Kopf - aber ihr kennt die Fehlermeldung sicher...)

Nach etwas suchen kam ich auf das alte Problem "Leerzeichen am Ende" und löschen über Script.
Gesagt, getan - ich habe es dann gleich doppelt mit der Seriennummer und dem Namen versucht:

Code: Alles auswählen

dom.DeleteObject(dom.GetObject('HU-Wohnzimmer '));
dom.DeleteObject(dom.GetObject('VIR-LG-RGB-DIM HU-LOESCHMICH'));
Leider führt das Ausführen des Scriptes zu genau _garkeinem_ Ergebnis. Es gibt nicht mal einen Eintrag im hmserver.log?!

Hat jemand hier eine Idee?

tubozz
Beiträge: 60
Registriert: 11.01.2018, 22:13
Danksagung erhalten: 3 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von tubozz » 14.05.2018, 13:15

Falscher Aufruf?

Code: Alles auswählen

object obj = dom.GetObject("HU-Wohnzimmer ");
if(obj){
WriteLine("Object vorhanden");
dom.DeleteObject(obj.ID());
WriteLine("Object gelöscht");
! system.Save()
! WriteLine("Regadom gespeichert");
}else{WriteLine("Object ist nicht vorhanden");}
Zuletzt geändert von tubozz am 16.05.2018, 11:56, insgesamt 2-mal geändert.

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von srunschke » 16.05.2018, 11:22

tubozz hat geschrieben:Falscher Aufruf?
Danke!
Offensichtlich falscher Aufruf, denn ich hatte das .ID() nicht drin. Ich wusste nicht, dass .DeleteObject() die ID und nicht das Objekt selber benutzt - irgendwie unintuitiv ;) Für sowas gibt es doch eigentlich Funktionsüberladungen - kann die darunterliegende Scriptsprache das nicht?

Ich habe jetzt mal dein Script benutzt und es gibt eine gute und eine schlechte Nachricht.

1. Zumindest in PocketControl sehe ich die Lampe nicht mehr - allerdings weiß ich ehrlich gesagt auch nicht, ob er sie vorher überhaupt angezeigt hat.
2. Ich kann nämlich in der WebUI nicht mehr nachschauen, da diese mit Ausführung des Scriptes instant gestorben ist...

Ich gehe davon aus, dass der ReGaHss komplett abgeschmiert ist. Leider habe ich das Script remote über Cloudmatic gestartet, so dass ich jetzt nicht auf die Konsole gehen kann, um nachzuschauen, was passiert ist. Das werde ich dann heute Abend nachholen - stay tuned.

S

tubozz
Beiträge: 60
Registriert: 11.01.2018, 22:13
Danksagung erhalten: 3 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von tubozz » 16.05.2018, 11:55

Der Aufruf von dom.GetObject("HU-Wohnzimmer "); gibt für das Object den Namen des Objectes als String zurück.

vs.:

.DeleteObject() verlangt die ISE_ID des Objectes.

also ganz normales Prozedere.

Du hättest dir auch die ISE_ID des betreffenden Objectes raussuchen können und mit dom.DeleteObject(1234); dieses löschen können.
Um dir das zu ersparen habe ich das eben so geschrieben, macht es für die normalen User eben leichter mit Namen zu hantieren.

Ich habe das automatische Speichern der Regadom mittels system.Save() aus dem Script auskommentiert auf Grund deiner Meldung.
Da das Speichern der Rega natürlich bis zu mehreren Minuten dauern kann, kommt es vielleicht dadurch zu Problemen, wenn die Abarbeitung des Aufrufes zu lange dauert. :?:
Vielleicht gibt es da je nach rega ein Problem. Normalerweise sollte das zwar nicht passieren, aber gerade bei der Rega ist man ja nie sicher.

Das setzt nun aber voraus, das nach Löschen eines Objectes die Regadom auch gesichert wird, z.B. durch Abmelden von der WebGui.

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von srunschke » 16.05.2018, 22:05

So, kleines Update nachdem ich heute Abend mal auf die Konsole geguckt habe.

Der Absturz lag nicht an deinem Script direkt.
Vielmehr habe ich heute morgen - unbemerkt - wieder den Bug gehabt, dass die Ausführung aller Programme eingefroren ist wegen eines festhängenden ReGaHss Forks. Ich nehme an, dass dann höchstwahrscheinlich das system.Save() die Rega komplett zum Einfrieren gebracht hat.

Nachdem ich heute Abend dann den festhängenden Rega mit seinem sh Zombie Child gekillt habe, wachte die erste Rega wie gehabt wieder auf und einige angetriggerte Programme liefen noch durch.

Danach habe ich dann dein Script noch mal gestartet - aber leider auch mit einem "Gerät existiert nicht". Laut Geräteliste existiert es aber sehr wohl...

Hast du noch eine andere Idee, wie ich dem Problem auf die Spur kommen könnte?
Ich bin schon kurz davor den RM platt zu machen und komplett neu aufzusetzen - wobei das mehrere Tage Arbeit wären wahrscheinlich.
Aber wir fahren nächste Woche für 3 Wochen in den Urlaub und ich kann meiner Schwiegermutter keine Hausautomation "hinterlassen", die plötzlich nicht mehr geht und sie dann im Dunkeln steht...

S

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von alchy » 17.05.2018, 04:45

Wenn das von Tubozz geposteten Script ausgibt, daß es das Object mit dem Namen nicht gibt, dann gibt es das Object auch so nicht.

Du kannst dir natürlich mittels geeigneter Methode die Geräteliste oder ausgeben lassen inklusive der Namen usw. und dann checkst du den Namen


Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von srunschke » 17.05.2018, 12:45

alchy hat geschrieben:Wenn das von Tubozz geposteten Script ausgibt, daß es das Object mit dem Namen nicht gibt, dann gibt es das Object auch so nicht.

Du kannst dir natürlich mittels geeigneter Methode die Geräteliste oder ausgeben lassen inklusive der Namen usw. und dann checkst du den Namen
Ok, ketzerische Gegenfrage ;)
Wenn es das Gerät nicht gibt - warum wird es mir dann in der Geräte-Übersicht angezeigt? Kann es "Leichen" geben?

Ich habe mal ein bisschen im Forum gesucht und mir mittels eines Scriptes die Geräteliste ausgeben lassen:

DevNr,Adresse,HssType,Name
1,XXXXXXXXXXXXXX,HmIP-BROLL,Badezimmerrollo
2,XXXXXXXXXXXXXX,HmIP-KRCA,Fernbedienung Annika
3,XXXXXXXXXXXXXX,HmIP-KRCA,Fernbedienung Sascha
4,XXXXXXXXXXXXXX,HM-Dis-WM55,HM-Dis-WM55 OEQ0104191
5,XXXXXXXXXXXXXX,HmIP-BSM,HmIP-BSM 000858A98A46B8
6,XXXXXXXXXXXXXX,HmIP-ASIR,Innensirene
7,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_Arbeitszimmer
8,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_Badezimmer
9,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_EsszimmerLinks
10,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_EsszimmerRechts
11,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_Küche
12,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_Schlafzimmer
13,XXXXXXXXXXXXXX,HmIP-SWDO-I,K_Terassentür
14,XXXXXXXXXXXXXX,HMIP-SWDO,K_Wohnungstür
15,XXXXXXXXXXXXXX,HmIP-BROLL,Schlafzimmerrollo
16,HU-Wohnzimmer ,,VIR-LG-RGBW-DIM HU-Delete
17,XXXXXXXXXXXXXX,HmIP-BROLL,Wohnzimmerrollo

Wie man sieht - das Gerät existiert in der Liste. Der lustige Name kommt von mir, damit ich weiß, dass ich das Gerät löschen will.

Meine Konfiguration ist ja für eure Belange wahrscheinlich eher sehr "übersichtlich", da ich erst vor einigen Monaten damit in der neuen Wohnung damit angefangen habe. Also an der übermäßigen Komplexität meiner Umgebung kann es ja nicht liegen...

Ich versuche jetzt mal das Gerät einfach direkt mit der ID zu löschen, denn wenn ich ein GetObject() mache, dann behauptet er dass es "HU-Wohnzimmer " nicht gibt.

Ich habe jetzt mal folgendes gemacht:

Code: Alles auswählen

if (dom.DeleteObject("16")) {
 WriteLine("Object gelöscht");
 system.Save()
 WriteLine("Regadom gespeichert");
}else{WriteLine("Object konnte nicht gelöscht werden");}
Ausgabe: "Object gelöscht"

Schaue ich in die Geräteliste:
2018-05-17 12_43_54-HomeMatic WebUI.png
2018-05-17 12_43_54-HomeMatic WebUI.png (7.35 KiB) 6484 mal betrachtet
Verarscht... :evil:

Irgendwelche weiteren Ideen?

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von alchy » 17.05.2018, 14:24

srunschke hat geschrieben:Ok, ketzerische Gegenfrage
Ich habe keinen Platz mehr auf der Blacklist.
Dein Script (in Zukunft mit posten !!! :twisted: )
ergibt also:

Code: Alles auswählen

DevNr,Adresse,HssType,Name
16,HU-Wohnzimmer ,,VIR-LG-RGBW-DIM HU-Delete
Also ist die Adresse: HU-Wohnzimmer
und
der Name des Objectes wäre: VIR-LG-RGBW-DIM HU-Delete

Was dann beweisst, das es das Object mit dem Namen "HU-Wohnzimmer " nicht gibt und daher auch das Script folgerichtig die Wahrheit ausgibt.
Auch dein Bildausschnitt zeigt den Namen ja als VIR-LG-RGBW-DIM HU-Delete

Und da das Script augenscheinlich alle Geräte zählt und durchnummeriert ist das Gerät einfach mal dein 16. Gerät.
Die ISE_ID ist dabei etwas ganz anderes.
srunschke hat geschrieben:Verarscht...
Aber Gratulation, das Object mit der ISE_ID 16 zu löschen war ein sehr, sehr großer Fehler.
Damit solltest du dir das nächste Problem eingehamstert haben.
Es gab sehr wohl das Object mit der ISE_ID 16 auf deiner CCU - aus dem Gedächnis würde ich sagen, gibt es auf jeder CCU und sollte was mit den history data points zu tun haben, kann aber nicht nachschauen im Moment.
Vielleicht schreibt tubozz noch irgendwas hier ode rein anderer schaut mal nach.


Die Idee war bestimmt nicht (gehe ich zumindest auch im Fall tubozz von aus) hier einfach mal wild die geposteten Scripte umzubasteln wie man sich es gerade denkt.

Wer nicht weiß, was er da macht kann sehr viel Schaden anrichten. Fragt bitte vorher nach ! Und das gilt für alle Mitleser :!: )

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

srunschke
Beiträge: 213
Registriert: 10.01.2018, 12:44
Hat sich bedankt: 3 Mal
Danksagung erhalten: 13 Mal

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von srunschke » 18.05.2018, 07:42

alchy hat geschrieben:
srunschke hat geschrieben:Ok, ketzerische Gegenfrage
Ich habe keinen Platz mehr auf der Blacklist.
Dein Script (in Zukunft mit posten !!! :twisted: )
War das ernst gemeint? :roll:
Nur weil ich vielleicht mal etwas voreilig etwas nicht ganz so schlaues gemacht habe? :shock:
Was dann beweisst, das es das Object mit dem Namen "HU-Wohnzimmer " nicht gibt und daher auch das Script folgerichtig die Wahrheit ausgibt.
Auch dein Bildausschnitt zeigt den Namen ja als VIR-LG-RGBW-DIM HU-Delete
Ja, das hat ja auch hmserver.log ebenfalls ausgegeben, wenn ich versucht habe das Gerät über die GUI zu löschen. Was mir ja dann eigentlich suggerieren würde: Die Seriennummer ist die Referenz über die man löscht - habe ich mich wohl getäuscht.
Aber wie bereits auch weiter oben geschrieben: ich habe sowohl den Namen, als auch die Seriennummer ausprobiert - beides hat zu keinem Ergebnis geführt.
Und da das Script augenscheinlich alle Geräte zählt und durchnummeriert ist das Gerät einfach mal dein 16. Gerät.
Die ISE_ID ist dabei etwas ganz anderes.

Aber Gratulation, das Object mit der ISE_ID 16 zu löschen war sehr ein großer Fehler.
Damit solltest du dir das nächste Problem eingehamstert haben.
Es gab sehr wohl das Object mit der ISE_ID 16 auf deiner CCU - aus dem Gedächnis würde ich sagen, gibt es auf jeder CCU und sollte was mit den history data points zu tun haben, kann aber nicht nachschauen im Moment.
Vielleicht schreibt tubozz noch irgendwas hier ode rein anderer schaut mal nach.
Habe ich jetzt auch gemerkt. ;)

ID 16 waren übrigens die Root History Data Points - habe mal im Backup nachgeschaut.
Wer nicht weiß, was er da macht kann sehr viel Schaden anrichten. Fragt bitte vorher nach ! Und das gilt für alle Mitleser :!: )
Ich hake das unter "Lernen durch Schmerzen" ab.
So sehr ich deine Hilfe ich schätze, es ist nicht notwendig mich so oberlehrerhaft zu belehren. Ich denke ich bin alt genug mit meinen Fehlern umzugehen.

Da ich eh nicht mehr weiter weiß mit meinem "Alle Programme werden irgendwann nicht mehr ausgeführt" - Problem, werde ich einfach Tabula Rasa machen und den RM neu installieren. Schade, ich hatte eigentlich gehofft irgendwer interessiert sich vielleicht dafür und möchte dem Bug ebenfalls auf die Spur kommen.

Wenn du mir noch eine letzte Frage beantworten würdest:
Welche Schritte sind notwendig, wenn ich den RM mit einer frischen Installation betanken möchte. Muss ich die Geräte vorher alle ablernen, oder sind die nach einer Neuinstallation sofort wieder da, weil sie zB mit der Hardware des Funkmoduls gekoppelt sind?

Danke
S

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Problem: HUE virtuelles Gerät nicht löschbar

Beitrag von Black » 18.05.2018, 08:11

hat mit deinem funkmodul nix zu tun.. fragestellung ist, hast du sicherheitsschlüssel gesetzt ? wenn ja, musst du jedes gerät ablernen mit werksreset.

ansonsten geräte nur ablernen con ccu. dabei bleiben auch die DV in den Geräten gespeichert. beim Neuanlegen werden dann die DV von den Geräten zurückgelesen und in der CCU angelegt.

den Rest halt neumachen. Programme über Programmedrucken ausdrucken.

Einmal ein schnitt mit Arbeit, dafür hast dann wieder ein sauberes System.


Gruss, Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „RaspberryMatic“