Device Status mit ssh via PHP auslesen

Begonnen von kleinz, 02 Januar 2021, 11:11:35

Vorheriges Thema - Nächstes Thema

kleinz

Hi Leute
Ich kann mit ssh via php schon lange meine Devices schalten
$command = " wget --user=xxxxxxx --password='xxxxxxxx' 'http://localhost:8083/fhem?cmd=set%20HM_647E27_Sw%20on'";

über den cmd   
Aber gibt es auch ein cmd=get   oder ähnlich wo ich einen Status auslesen kann.

Mir geht es darum per Android APP einen Server an zu schalten. Wenn er aber schon an ist ,dann will ich das in der App einlesen.
Kann mir da bitte jemand mal auf die Sprünge helfen.
Danke euch.

rudolfkoenig

get heisst list, siehe https://fhem.de/commandref_modular.html#list
Ansonsten finde ich den gewaehlten Weg (Android=>php=>ssh=>wget) erstaunlich umstaendlich.

MadMax-FHEM

User und Passwort aber kein https!?

Und so wie's aussieht csrfToken deaktiviert!?

Musst du wissen...

Prinzipiell geht auf dem Weg alles, was auch in der FhemWeb-cmd geht.

Z.B. sollte das gegen:


{ReadingsVal("DeviceName","ReadingName","Ersatzert")}


Es gibt auch noch viele andere Möglichkeiten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

Hi,

list HM_647E27_Sw state
also
cmd=list%20HM_647E27_Sw%20state
wäre eine Variante.
Du kannst auch per Perl Befehl und ReadingsVal direkt abfragen. (Wie Joachim schneller schrieb)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

kleinz

'http://localhost:8083/fhem?cmd.list HM_413394_Sw state'
das habe ich auch ausprobiert.

Wie kann ich es denn nicht umständlich machen. Ich habe Fhem auf der einen Seite und eine APP Inventor Android APP auf der anderen
Es geht darum G-Homa Steckdosen zu schalten mit Switches.   Aber ich möchte die Switches auf den zustand der Steckdose setzen
Also Steckdose an dann soll der Schieberegler auch grün sein  und ist die Steckdose aus dann soll der Regler auf rot sein
Ich würde es gerne einfache machen.
Die ssh Methode benutze ich schon einige Jahre .
Ich logge mich via PHP auf den Sshport des Fhem Servers ein und führe dann den cmd Befehl aus.
Schreibe nebenbei noch daten in verschiedene Datenbanken.


kleinz

PS Danke auf jedenfall für das schnelle Antworten

Otto123

#6
Was Du da als "habe ich auch probiert " gepostet hast ist aber grundverkehrt!

Ich kenne Deine App und diese Umgebung gar nicht - aber es klingt in der Tat umständlich.

Du verwendest jetzt mehrere Schnittstellen "in Reihe". Ich würde wenigsten versuchen nur eine und diese direkt zu nutzen:
telnet port 7072
http port 8083
MQTT wäre auch eine Option - habe gelesen das es MQTT auch für App Inventor gibt.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

kleinz