FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: justme1968 am 11 April 2018, 12:50:01

Titel: vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: justme1968 am 11 April 2018, 12:50:01
der angehängte kleine patch implementiert ein show <devspec> kommando für fhemweb. mit diesem kommando lässt sich ein 'temporärer' raum mit allen devices aus <devspec> anzeigen. d.h. es funktioniert im prinzip wie list, die 'ausgabe' ist aber kein text sondern direkt eine raumansicht mit den geräten.

das ganze hatte ich vor einziger zeit mal gebaut und zufällig wieder entdeckt als jemand im forum nach etwas in dieser art gefragt hat. ich finde den thread leider nicht mehr. vielleicht nützt es ja jemandem.

die implementierung ist nicht ganz sauber da $FW_room zur übergabe der devspec missbraucht wird, so lässt sich das ganze aber mit minimalen änderungen und auch ohne code duplizieren umsetzen.

ps: theoretsich könnte man das ganze vermutlich auch verwenden um z.b. dynamische räume ins menü rechts einzubauen um geräte die bestimmte kriterien erfüllen automatisch zu sammeln. ohne das room attribut zu setzen. also z.b. ein raum in dem alle fs20 devices auftauchen.
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: rudolfkoenig am 13 April 2018, 20:48:31
Habe eigentlich nichts dagegen (auch wenn 'list <devspec>' ungefaehr das Gleiche bietet), aber es scheint nicht mit websocket kompatibel zu sein:

Zitat
fhemweb.js line 1111:Uncaught SyntaxError: Failed to construct 'WebSocket': The URL contains a fragment identifier ('devspec=TYPE=FHEMWEB;since=1523645190.75115;fmt=JSON&fw_id=314×tamp=1523645191933').
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: KernSani am 19 April 2018, 23:03:50
Zitat von: justme1968 am 11 April 2018, 12:50:01
ps: theoretsich könnte man das ganze vermutlich auch verwenden um z.b. dynamische räume ins menü rechts einzubauen um geräte die bestimmte kriterien erfüllen automatisch zu sammeln. ohne das room attribut zu setzen. also z.b. ein raum in dem alle fs20 devices auftauchen.
Funktioniert auch praktisch... Damit kann man sich (z.b. über menuEntries) "smart" rooms bauen :-) Finde ich gut.
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: Benni am 20 April 2018, 07:21:23
Zitat von: justme1968 am 11 April 2018, 12:50:01
ps: theoretsich könnte man das ganze vermutlich auch verwenden um z.b. dynamische räume ins menü rechts einzubauen um geräte die bestimmte kriterien erfüllen automatisch zu sammeln.

Die Idee finde ich sehr interessant!

Im Endeffekt könnte man damit das Raum-Konzept doch auch generell auf Dynamik umstellen, indem man unterschiedliche dynamische Räume auf Baisis des room-Attributs (oder auch eines beliebigen anderen) erzeugt. Dazu müsste es dann aber auch möglich sein, diese Räume aufgrund irgendeines Mappings o.ä. für die Anzeige im Menü "Enduser-tauglich" zu benennen.

Wäre schön, wenn man das noch websocket-kompatibel hinbekommt  ;D

Gruß Benni.
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: justme1968 am 20 April 2018, 10:57:35
websocket schaue ich mir an. auf die schnelle könnte ich mir vorstellen das irgendetwas noch nicht url encoded ist.

für die benennung der dynamischen räume bräuchte man eine art alias für räume. dazu gab es schon mal eine diskussion. oder man erweitert die syntax noch etwas auf etwas in der art: #name=<name>;devspec=$param

ich schau es mir an sobald ich dazu komme.

Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: Benni am 08 Juli 2018, 09:06:38
Weil ich gerade zufällig mal wieder über das Thema gestolpert bin, schubse ich das mal wieder etwas nach vorne  8)
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: justme1968 am 16 Januar 2019, 11:36:39
ich bin ziemlich sicher das das websocket problem am # am anfang von devspec liegt.

ein anderes sonderzeichen oder url encoden sollte helfen.

hat jemand einen vorschlag?
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: justme1968 am 11 Februar 2019, 15:31:44
@rudi: weißt du noch wo genau den fehler bekommen hast?

ich habe es inzwischen auch mit websocket getestet und keinen fehler bekommen. das # wird auch korrekt url encoded.
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: rudolfkoenig am 13 Februar 2019, 08:09:07
Ich konnte auch keine Probleme gerade entdecken, und habe deswegen dein Patch eingecheckt.

Side-Note: da es nirgendwo dokumentiert, und was aehnliches tut:l <devicename>(das ist ein kleines L) oben in der FHEMWEB Kommandozeile ruft die Detailansicht von <devicename>" auf.
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: justme1968 am 13 Februar 2019, 08:10:41
sehr schön. dann mache ich den zweiten teil mit den dynamischen räumen fertig.
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: justme1968 am 13 Februar 2019, 10:07:29
wie versprochen: https://forum.fhem.de/index.php/topic,97351.0.html (https://forum.fhem.de/index.php/topic,97351.0.html)
Titel: Antw:vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen
Beitrag von: betateilchen am 14 Februar 2019, 12:54:25
Und wo ist der passende commandref teil, damit "help show" eine entsprechende Beschreibung liefern kann?