FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bluefox am 24 Februar 2016, 21:53:00

Titel: Auf FHEM über telnet zugreifen
Beitrag von: Bluefox am 24 Februar 2016, 21:53:00
Ich schreibe gerade einen Adapter für ioBroker und auf dem Konferenz in Karlsruhe wurde mir gesagt, dass man mit Telnet aus FHEM die ganze information raus lesen kann. Ich habe FHEM installiert, aber mit "list" bin ich nicht schlau geworden.

Mich interessieren 3 Sachen:
- wie kriege ich die liste von allen steuerbaren und lesbaren Objekten aus FHEM?
- wie kriege ich die aktuelle Werte von States aus FHEM?
- wie bekomme ich Änderungen von States aus FHEM, so dass ich nicht pollen muss?

fhem> list

Type list <name> for detailed info.

Global:
  global               (<no definition>)

FHEMWEB:
  FHEMWEB:192.168.1.69:50645 (Connected)
  WEB                  (Initialized)
  WEBphone             (Initialized)
  WEBtablet            (Initialized)

eventTypes:
  eventTypes           (active)

notify:
  initialUsbCheck      (2016-02-23 18:42:42)

FileLog:
  Logfile              (active)

autocreate:
  autocreate           (active)

telnet:
  telnet:192.168.1.69:50650 (Connected)
  telnetPort           (Initialized)

fhem> list global
Internals:
   DEF        <no definition>
   NAME       global
   NR         1
   STATE      <no definition>
   TYPE       Global
   currentlogfile ./log/fhem-2016-02.log
   logfile    ./log/fhem-%Y-%m.log
Attributes:
   autoload_undefined_devices 1
   configfile fhem.cfg
   logfile    ./log/fhem-%Y-%m.log
   modpath    .
   motd       SecurityCheck:

WEB,WEBphone,WEBtablet has no basicAuth attribute.
telnetPort has no password/globalpassword attribute.

Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.

   statefile  ./log/fhem.save
   updateInBackground 1
   userattr   cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
   verbose    3
   version    $Id: fhem.pl 9893 2015-11-15 08:43:05Z rudolfkoenig $

fhem> list autocreate
Internals:
   NAME       autocreate
   NOTIFYDEV  global
   NR         14
   NTFY_ORDER 50-autocreate
   STATE      active
   TYPE       autocreate
Attributes:
   filelog    ./log/%NAME-%Y.log

fhem>

Was sind hier die States/Variablen? (nicht die Konfiguration)
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: schka17 am 24 Februar 2016, 21:59:09
Wenn man die commandref aufmerksam liest findet man einige Befehle, z.b. jsonlist2 oder inform on


Sent from my iPad using Tapatalk
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: schka17 am 24 Februar 2016, 22:01:17
achja, die akteullen stati gast du ja schon mit list, das in der Klammer


Sent from my iPad using Tapatalk
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: Bluefox am 24 Februar 2016, 22:31:55
Um "jsonlist2" und "getstate" zu haben muss man vielleicht die Module installieren?

Sind "initialUsbCheck", "eventTypes ", ... States?         
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: schka17 am 24 Februar 2016, 23:10:48
Meines Wissens sind jsonlist2 und getstate keine Module sondern FHEM Befehle, also nichts zu installieren, aber achtung, auf jeden Fall case sensitiv. http://fhem.de/commandref.html#JsonList2 (http://fhem.de/commandref.html#JsonList2)
Mit den Stati meinte ich die Inhalte in den Klammern, z.b. (Initialized), daher nein, das sind keine Stati sondern devices bzw. notify, aber das ist wirklich gut dokumentiert.


Sent from my iPad using Tapatalk
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: Wzut am 25 Februar 2016, 07:50:55
Zitat von: Bluefox am 24 Februar 2016, 21:53:00
- wie kriege ich die liste von allen steuerbaren und lesbaren Objekten aus FHEM?
- wie kriege ich die aktuelle Werte von States aus FHEM?
- wie bekomme ich Änderungen von States aus FHEM, so dass ich nicht pollen muss?
Da ich wohl erjenige war der dir am Samstag den list Tipp gab :
die ersten beiden Fragen -> so wie du es gemacht hast :)
Allerdings ist deine aktuelle fhem Inst. doch recht nackt d.h. du hast noch keine Geräte drin die dir die gewünschten Daten liefern könnten. Bsp von mir mit einer Wetterstation erigbt bei list :
Zitat
LaCrosse:
    La1A                 (T: 11.2 H: 76)
Das Gerät nennt sich La1A und zeigt den state
ein list La1A ergibt dann :
Zitat
Internals:
   DEF        1A
   IODev      Jee
   NAME       La1A
   NR         59
   STATE      T: 11.2 H: 76
   TYPE       LaCrosse
   addr       1A
   corr1      0
   corr2      0
   Readings:
     2016-02-22 19:52:59   battery         ok
     2016-02-22 19:52:59   error           0
     2016-02-22 19:52:59   humidity        76
     2016-02-22 19:52:59   rain            72.5
     2016-02-22 19:49:19   state           T: 11.2 H: 76
     2016-02-22 19:52:59   temperature     11.2
     2016-02-22 19:52:59   windDirectionDegree 270
     2016-02-22 19:52:59   windDirectionText W
     2016-02-22 19:52:46   windGust        0
     2016-02-22 19:52:59   windSpeed       0.4
Attributes:
   IODev      Jee
   alias      Wetterstation
   event-on-change-reading .*
   room       Jee
sollten also alle Infos sein die du benötigst
Zitat- wie bekomme ich Änderungen von States aus FHEM, so dass ich nicht pollen muss?
die Änderungen landen entweder in Log Files  oder in einer DB oder im Nirwana, je nach dem wie der User es eben definiert hat.
Um extern alles mitzubekommen was ich intern ändert wirst du wohl ein extra Modul benötigen.
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: schka17 am 25 Februar 2016, 09:54:48
für das mitlesen von Statusänderungen benötigst du keine zusätzlichen Tools, wie ich schon ganz oben geschrieben habe, in der telnet session den Befehl "inform on" eingeben und du siehst alle events. Kann man auch filtern, http://fhem.de/commandref.html#inform (http://fhem.de/commandref.html#inform).
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: Bluefox am 25 Februar 2016, 21:26:34
Vielen Dank!. JsonList2 ist schon was. :)
Eigentlich ich brauche nur 2 Befehle "JsonList2" und dann "inform on"

inform on gibt es in zwei Versionen:
Mit Zeit und und ohne..

Kann mir jemand Ausschnitt posten mit möglich viel Updates (inform on), die keine Geheim-Daten beinhalten. Ich werde dann Tests damit schreiben.
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: schka17 am 26 Februar 2016, 16:14:45
Zitat von: Bluefox am 25 Februar 2016, 21:26:34
Vielen Dank!. JsonList2 ist schon was. :)
Eigentlich ich brauche nur 2 Befehle "JsonList2" und dann "inform on"

inform on gibt es in zwei Versionen:
Mit Zeit und und ohne..

Kann mir jemand Ausschnitt posten mit möglich viel Updates (inform on), die keine Geheim-Daten beinhalten. Ich werde dann Tests damit schreiben.
Viel Spaß damit
Titel: Antw:Auf FHEM über telnet zugreifen
Beitrag von: Bluefox am 31 Mai 2016, 00:09:38
Zitat von: schka17 am 26 Februar 2016, 16:14:45
Viel Spaß damit
Habe wieder die Zeit gefunden FHEM anzuschauen.
Es fehlt mir zu  "inform on" noch passende "jsonlist2" Ausgabe.
Kann jemand jsonlist2 und dann "inform on" ausführen und dann eine weile aufzeichnen was da kommt?
Und natürlich hier posten.