Auf FHEM über telnet zugreifen

Begonnen von Bluefox, 24 Februar 2016, 21:53:00

Vorheriges Thema - Nächstes Thema

Bluefox

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)

schka17

Wenn man die commandref aufmerksam liest findet man einige Befehle, z.b. jsonlist2 oder inform on


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

schka17

achja, die akteullen stati gast du ja schon mit list, das in der Klammer


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Bluefox

Um "jsonlist2" und "getstate" zu haben muss man vielleicht die Module installieren?

Sind "initialUsbCheck", "eventTypes ", ... States?         

schka17

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
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
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Wzut

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.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

schka17

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.
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Bluefox

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.

schka17

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
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Bluefox

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.