Bedeutung von Type und Model

Begonnen von kingmathers, 08 August 2016, 18:52:05

Vorheriges Thema - Nächstes Thema

kingmathers

Hallo,

ich verwende FHEM schon etwas länger und arbeite gerade an einer Windows 10 App und bin mir unsicher wie ich Type aus den Internals und das model-Attribut interpretieren soll.

1. Ist das model-Attribut alleine ausreichend zur eindeutigen Identifikation von einem Gerätetyp? Ist es theoretisch möglich, dass 2 verschiedene Gerätetypen einen unterschiedlichen Type aber das gleiche model-Attribut haben?

2. Wenn ich in der FHEM Web UI nur ein model auswählen kann (z.B. bei Type=FHT, bei model gibt es nur fht80b), kann ich dann davon ausgehen dass bei Type=FHT immer ein fht80b (mit den entsprechenden Readings und möglichen Set-Befehlen) vorliegt?

3. Gibt es sonst irgendeine empfohlene Art und Weise um den Typ des Geräts zu bestimmen außer Type und model auszuwerten?

LG
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

justme1968

TYPE ist die art des fhem device.

ob es ein model attribut gibt und was es bedeutet hängt vom device ab. es gibt keine übergreifende regel.

ansonsten verfolgst du gerade den falschen ansatz.

um rauszubekommen welche get, set und attr ein device unterstützt ruft man das  jeweilige kommando mit ? als parameter auf.

die liste die hier zurück kommt
ist übrigens oft dynamisch. sie kann vom aktuellen device zustand oder anderen randbedingungen abhängen. sie gibt auch auskunft über mögliche parameter und wertebereiche.

du solltest versuchen dich nicht an irgendwelchen statischen Informationen wie z.b. TYPE festzuhalten. zum einen sagt das nicht genug aus und zum anderen musst du dann für jeden neuen TYPE nachbessern.

ein vernünftiges frontend kommt (fast) ohne statische information aus und sollte mit jedem (auch komplett neuen) device type klar kommen. weder fhemweb noch ftui müssen z.b. angepasst werden wenn jemand ein neues fhem modul entwickelt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

kingmathers

Vielen Dank für die Antwort.

Dass ich am besten ohne statische Informationen auskomme ist mir schon klar, ich verwende jsonlist2 um alle verfügbaren Set-Befehle etc. auszulesen, möchte für einige Geräte jedoch z.B. einen on-off-Toggle Button anbieten und um zu entscheiden für welche Geräte dies sinnvoll ist habe ich keine bessere Lösung gefunden als nach Type und model zu gehen.

Model ist also nicht sicher eindeutig, TYPE aber schon?

Zitatum rauszubekommen welche get, set und attr ein device unterstützt ruft man das  jeweilige kommando mit ? als parameter auf.

Das verstehe ich nicht ganz. Soll ich das Kommando (z.B. on) mit ? als Parameter aufrufen? Das klappt bei mir nicht. Würde das mehr liefern als jsonlist2?

Gruß,
Philipp
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

justme1968

ich meinte z.b. set <device> ?

wenn du die liste per jsonlist holst ist das natürlich auch ok.  denk nur dran das die liste nicht unbedingt statisch ist.

einen on/off button kann man doch anzeigen wenn es ein on und off kommando in den sets gibt. oder wie meinst du das? oder lass es den benutzer konfigurieren. vermutlich hat er manchmal eine andere neinung als das was du fest vorgibst :)

für model gibt es keine regel. die kombination aus TYPE und model wenn vorhanden ist natürlich ziemlich sicher eindeutig.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

kingmathers

Danke für die Antwort.

"set <device> ?" funktioniert bei mir z.B. nicht mit FS20-Geräten, mit Homematic aber schon. Deswegen war ich nur verwirrt, aber dann bleibe ich eh bei der Ergebnissen aus jsonlist2.

Den on/off-Button möchte ich z.B. bei Lichtschaltern anzeigen. Da aber auch andere Geräte (z.B. Jalousieaktoren oder Thermostate) on und off Befehle haben versuche ich dann schon nach TYPE/model zu differenzieren. Ich lese ja trotzdem alle Set-Befehle aus und biete diese dem Nutzer an.

Gruß,
Philipp

Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

justme1968

das set ? sollte mit jedem device funktionieren. das ist der Weg wie fhemweb das dropdown mit den möglichen kommandos bereitstellt. und das geht auch bei fs20 und auch der weg wie jsonlist an die sets kommt.

wenn das bei einem gerät nicht funktioniert stimmt etwas nicht.

aber wie gesagt: wenn du jsonlist verwendet ist es das gleiche.

mach es benutzer konfigurierbar du rennst sonst nur den möglichen devices nach.

es gibt den vorschlag für ein genericDeviceType attribut das in diese richtung geht. zur zeit wird es nur von homebridge ausgewertet. es wäre aber ziemlich genau das was du brauchst. wenn es auf switch oder light steht kannst du deinen schalter einblenden.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968