GithubHelp home page GithubHelp logo

Comments (17)

jp112sdl avatar jp112sdl commented on June 12, 2024 1

d.h. bei HmIP kann man nur mit 0x02 (force) das löschen erzwingen wenn ein Gerät nicht erreichbar ist.

So hatte ich es auch Baxxy geschrieben, um das CCU-Gerät loszuwerden
https://homematic-forum.de/forum/viewtopic.php?f=65&t=80496&p=784099#p784070

xmlrpc http://127.0.0.1:2010 deleteDevice [list string 001F98A9A57E0C] [list int 2]]

Die Flags hatte ich aus der generischen deletedevice.tcl
https://github.com/eq-3/occu/blob/master/WebUI/www/api/methods/interface/deletedevice.tcl

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Danke für das Ticket. Ich denke es wird an folgendem statement liegen in der devconfig.cgi:

xmlrpc $url deleteDevice [list string $device] [list boolean $reset]

Das Problem wird sein das dort das [list boolean $reset] falsch ist laut Doku (https://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/HM_XmlRpc_API.pdf - Seite 16). Laut dokumentation ist das ja kein boolean sondern ein integer als bitfeld. D.h. hier müsste sowas wie [list int 1] sein wenn ein reset erfolgen soll. Ggf. müsste man dann auch noch die anderen Optionen (force und defer) mit umsetzen damit man dort entsprechend auch löschen kann.

Kannst du das mal mit [list int 1] z.B. einfach durch Anpassung der devconfig.cgi testen und zurückmelden?

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Sehe gerade noch das in der neueren HmIP Legacy XMLRPC Doku (https://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/HMIP_XmlRpc_API_Addendum.pdf) unter 2.3.4 davon die Rede ist das es bei homematicIP die Flags 0x01 und 0x04 nicht mehr gibt und quasi immer gesetzt sind. d.h. bei HmIP kann man nur mit 0x02 (force) das löschen erzwingen wenn ein Gerät nicht erreichbar ist.

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Danke. Dann sollte das ja nen easy fix werden von devconfig. Die Frage ist nur inwieweit wir die anderen flags auch noch implementieren wollen/sollen wenn wir schon dabei sind? ;-)

from raspberrymatic.

Baxxy13 avatar Baxxy13 commented on June 12, 2024

Müssen wir jetzt alles umbauen?
Wenn ich es richtig verstanden habe geht bei IP nur 0x02 (0x01 & 0x04 sind "mit drin")
Bei HM gehen alle 3:
0x01 = Deleted
0x02 = Deleted and Reset
0x04 = später löschen

Das würde doch aber bedeuten daß wir die Optionen:

  • Interface abhängig ausblenden müssten
  • oder bei IP alles auf 0x02 mappen müssten

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024
  • oder bei IP alles auf 0x02 mappen müssten

Laut Doku macht das der HMIPServer wohl selbstständig da dort immer 0x01 und 0x04 gesetzt sind.

from raspberrymatic.

jp112sdl avatar jp112sdl commented on June 12, 2024

Wenn ich den Code richtig verstehe, ist es bei HMIP egal, ob 1, 2 oder 4.

2 bildet die Ausnahme, wenn das zu löschende Gerät tatsächlich nicht erreichbar ist.
Es wird dann das Löschen aus dem Geräteinventar erzwungen, ohne einen Request an das Gerät zu schicken bzw. dessen ACK einzuholen.

Wie das nun im konkreten Fall des RPI-RF-MOD Gerätes aussieht, weiß ich nicht. Das kann Baxxy vielleicht noch testen, ob es auch mit den Flags 0x01 oder 0x04 ginge.

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Bitte mal die von mir angepasste devconfig.cgi hier runterladen (https://github.com/jens-maus/RaspberryMatic/blob/master/buildroot-external/patches/occu/0037-WebUI-DevConfig/occu/WebUI/www/tools/devconfig.cgi) und dann ausprobieren ob damit nun das delete geht und die entsprechenden optionen für das delete auch genutzt werden können.

from raspberrymatic.

Baxxy13 avatar Baxxy13 commented on June 12, 2024

Bezüglich löschen des Funkmoduls sieht das nun so aus:
Delete+Force sowie Delete+Reset+Force funktionieren sauber und problemlos.

Alle anderen Optionen:

  • "WebUI-Crash" mit Reload
  • Gerät bleibt in der ReGa
  • Gerät ist aus der Schnittstelle raus
  • Funkmodul-LED blinkt gelb, aber keine Servicemeldungen

Da das Funkmodul ja "besonders" ist müsste man alle Optionen auch mit z.B. IP-Schaltsteckdosen und IP-Batteriesensoren testen.
Da fehlt mir aber aktuell die Zeit auch weil das extrem Zeitaufwendig ist.

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Danke fürs Testen. Ist ja nicht ganz so wichtig, geht ja nur um devconfig und nicht um die allgemeine WebUI. Hauptsache wir haben da jetzt eine Methode die definitiv die Dinge rauslöscht. Und wenn das mit Force geht, dann sei es so.

Was heisst aber "WebUI-Crash"? Was passiert da? vielleicht kann man das ja noch irgendwie abfangen.

from raspberrymatic.

Baxxy13 avatar Baxxy13 commented on June 12, 2024

GIF 09 11 2023 16-32-21

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Nichts unter /usr/local/tmp/cgimail.*?

from raspberrymatic.

Baxxy13 avatar Baxxy13 commented on June 12, 2024

Nein.
In der Browserkonsole sehe ich ganz kurz was mit "Internal Server Error", bekomme es aber nicht eingefangen. Und für jeden neuen Versuch ist ein Reboot nötig.

from raspberrymatic.

Baxxy13 avatar Baxxy13 commented on June 12, 2024

GIF 09 11 2023 17-10-52

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Nein. In der Browserkonsole sehe ich ganz kurz was mit "Internal Server Error", bekomme es aber nicht eingefangen. Und für jeden neuen Versuch ist ein Reboot nötig.

Wenn da ein 500 status code zurückkommt dann logged vielleicht der lighttpd irgendetwas diesbzgl. gibt es da oder in anderen logfiles unter /var/log etwas auffälliges?

from raspberrymatic.

jens-maus avatar jens-maus commented on June 12, 2024

Und vielleicht mal in der Browserkonsole unter "Network" nachschauen ob du da was aufgezeichnet bekommst und dann schauen kannst was da passiert...

from raspberrymatic.

Baxxy13 avatar Baxxy13 commented on June 12, 2024

Sorry Jens, ich bekomme nichts eingefangen und es gibt auch nichts auffälliges in den Logs.
Da musst du wohl mal selbst ein Funkmodul löschen. Nach einem Reboot ist es ja wieder da. 😉

from raspberrymatic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.