Autor Thema: vorschlag: show kommando in fhemweb um temporären raum über devspec aufzubauen  (Gelesen 1878 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19289
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.
« Letzte Änderung: 11 April 2018, 21:19:50 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20782
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').

Offline KernSani

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2804
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.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2074
  • FHEMinist
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.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19289
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.

FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2074
  • FHEMinist
Weil ich gerade zufällig mal wieder über das Thema gestolpert bin, schubse ich das mal wieder etwas nach vorne  8)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19289
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?
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19289
@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.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20782
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.
Informativ Informativ x 1 Liste anzeigen

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19289
sehr schön. dann mache ich den zweiten teil mit den dynamischen räumen fertig.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19289
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16025
  • s/fhem\.cfg/configDB/g
Und wo ist der passende commandref teil, damit "help show" eine entsprechende Beschreibung liefern kann?
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg Stammtisch am 20.09.2019