Autor Thema: [Gelöst]Shell Befehl in DOIF Ausführungsteil  (Gelesen 1187 mal)

Offline boesemani

  • New Member
  • *
  • Beiträge: 6
[Gelöst]Shell Befehl in DOIF Ausführungsteil
« am: 05 Juni 2017, 00:02:44 »
Ich möchte, sobald der Wert für eine Variable gesetzt (hier der Dummy POE_tinker) ist, das ein Shell Befehl ausgeführt wird, der ein POE-Port meines Switches hochschaltet. Der Shellbefehl alleine funktioniert in fhem auch. Nur in meinem DOIF scheint ein Problem zu sein, was ich nicht erkennen kann.

#define POE_Tinker_ein DOIF ([POE_tinker] eq "on") {system('snmpset -v2c -c private 192.168.179.100 1.3.6.1.2.1.105.1.1.1.3.1.3 i 1&');;()}
So nimmt fhem den Befehl gar nicht an

#define POE_Tinker_ein DOIF ([POE_tinker] eq "on") ({system('snmpset -v2c -c private 192.168.179.100 1.3.6.1.2.1.105.1.1.1.3.1.3 i 1&');;()})
So passiert nichts.
Jemand ne Idee?
« Letzte Änderung: 05 Juni 2017, 22:59:59 von KernSani »

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4885
Antw:Shell Befehl in DOIF Bedingung
« Antwort #1 am: 05 Juni 2017, 00:13:25 »
Bei mir funktionieren beide (allerdings mit system('ls &') als Befehl).
Was bedeutet
Zitat
So nimmt fhem den Befehl gar nicht an
? Was ist die Fehlermeldung?


EDIT: ein list vom DOIF wäre auch hilfreich.
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline KernSani

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 2804
Antw:Shell Befehl in DOIF Bedingung
« Antwort #2 am: 05 Juni 2017, 00:28:16 »
Idee Nr.1: code immer in code tags (das # oben im Editor), macht das Ganze lesbarer.
Idee Nr.2: Subject ändern in "Shell Befehl in DOIF Ausführungsteil)
Idee Nr.3: Was meinst du mit "So nimmt fhem den Befehl garnicht an"? Am besten postest du relevante Log-Einträge (wenn vorhanden) oder ein list des DOIF.
Idee Nr.4: system liefert vermutlich -1 zurück, was von DOIF als Fehler interpretiert wird... Probier das mal mit backticks (`)




RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4885
Antw:Shell Befehl in DOIF Bedingung
« Antwort #3 am: 05 Juni 2017, 01:07:07 »
Zitat
Idee Nr.4: system liefert vermutlich -1 zurück, was von DOIF als Fehler interpretiert wird

Deswegen das ";;()" am Ende ;)
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3610
Antw:Shell Befehl in DOIF Bedingung
« Antwort #4 am: 05 Juni 2017, 08:00:51 »
Warum "system" und nicht ""? Siehe https://fhem.de/commandref_DE.html#command

Offline boesemani

  • New Member
  • *
  • Beiträge: 6
Antw:Shell Befehl in DOIF Ausführungsteil
« Antwort #5 am: 05 Juni 2017, 17:05:24 »
Hallo Zusammen,
die vielen Hinweise konnte ich gerade verarbeiten. Vielen Dank für die Vorschläge.
Der Hinweis "SHELL-Befehle (diese müssen von doppelten Anführungszeichen "" eingeschlossen werden) " war sehr wertvoll, aber auch, das man Systembefehle lediglich in " " setzt.
Zu guter Letzt klammert das DOIF auch noch in () ein, so dass folgender, funktionierender Befehl resultiert:

#define POE_Tinker_aus DOIF ([POE_tinker] eq "off") ("snmpset -v2c -c private 192.168.179.100 1.3.6.1.2.1.105.1.1.1.3.1.3 i 2&")

Vielen Dank an alle Mitwirkende. Das hat im Feeling echt was gebracht.

Offline KernSani

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 2804
Antw:Shell Befehl in DOIF Ausführungsteil
« Antwort #6 am: 05 Juni 2017, 18:43:22 »
:-) Das nächste Mal dann noch Code in codetags und bitte beim ersten Post noch [Gelöst] vorne ans Subject dran
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 2804
Antw:Shell Befehl in DOIF Ausführungsteil
« Antwort #7 am: 05 Juni 2017, 22:59:40 »
Bitte Threads nicht schließen, dann haben andere User noch die Möglichkeit Folgefragen zu stellen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

 

decade-submarginal