Hallo,
ich hoffe, ich bin im richtigen Forum gelandet ;) - sonst bitte verschieben!
Ich würde gerne für das pgm2-Frontend eine Suchfunktion schreiben, um schneller und einfacher an ein gesuchtes Modul zu gelangen. Mein Problem ist allerdings nicht die Umsetzung der Suchfunktion sondern, die für die Suchfunktion benötigten Daten. Meine Idee war ein Perl-Modul, das alle Devices in eine externe xml-Datei schreibt. Einen Umweg via PHP zu nehmen halte ich für Schwachsinn, da FHEM einen eigenen Webserver ohne PHP besitzt. Kann ich mir jemand helfen ein Modul für Perl zu schreiben, das alle Module als xml exportiert?
Du musst schon etwas genauer werden. Was willst du nun suchen? Devices oder Module?
Falls du Devices suchen willst, was ist falsch an list, xmllist, jsonlist (mit devspec)? Was heißt für dich "schneller und einfacher"? Bist du sicher, dass es wirklich nicht schon schnell und einfach geht?
was reicht dir am list kommando nicht ? was fehlt dir da bei der suche?
gruss
andre
Mir gehts nur indirekt ums Suchen, ich bin der Freund von freundlichen Web-GUI und das pgm2, ist zwar einfach, aber nicht unbedingt das Modernste.
Ich möchte eine Funktion relaisieren, womit ich per Livesearch direkt auf das Device gelange, sprich die Geräte (HM, Dummys, Weather, usw.) mit einem Mausklick erreiche. Ohne erst den Befehl list zu starten und dann das entsprechende Modul zu suchen. Dafür benötige ich aber im besten Fall eine reine XML-Liste, wo für die Namen der Module stehen, keine Attr. und State usw. Leider bin ich nicht der Meister in Perl, meine Stärken liegen eher in den Websprachen (PHP usw.) ;)
Du verwechselst noch immer Module mit Devices, wie es mir scheint. Es gibt im übrigens andere Frontends (mittlerweile viele brauchbare) und auch Schnittstellen (bspw. fronthem mit websocket). telnet wäre als Schnittstelle ggf. auch etwas für dich.
Xmllist sollte jedoch genau das richtige sein. Zu viel Info kann ja eher nicht schaden. Attribute und Readings können als Informationen für die Art der Darstellung in deinem Frontend ja hilfreich sein.
BTW: Ich bin php-Programmierer und bin der Meinung, dass es nicht ein so großes Problem ist, von php auf Perl zu wechseln.
Suchst Du so etwas in der Art?
attr WEB menuEntries dummies,cmd=list%20TYPE=dummy
Nur um nochmal eben zu berichten. Ich habe das jetzt mit einem PHP-Script, welches auf einem Apache-Server läuft gelöst und einem Ajax-Code der eine Anfrage an das Script stellt. Die Devices ziehe ich mir aus der fhem.cfg und schreibe sie in eine xml-Datei. Das ganze zieht jetzt folgendermaßen aus: