[gelöst] notify mit set-Befehl, der ;; enthält

Begonnen von andies, 17 März 2017, 15:35:33

Vorheriges Thema - Nächstes Thema

andies

Guten Tag, ich habe eine Anfängerfrage. Ich möchte nach Auslösen eines Commands ZuAuf einen SIGNALdunio-Befehl auslösen. Dazu habe ich analog der Einleitung ("Erste Schritte") definiert
define Gartentor_Fussgaenger_bewegen notify Gartentor_Fussgaenger:ZuAuf set sduino raw SR;;R=3;;P0=335;;P1=-665;;P2=-335;;P3=665;;P4=-15018;;D=01023102310101023101010234;;

und kriege dann aber
2017.03.17 15:31:16 3: Gartentor_Fussgaenger_bewegen return value: Unknown command R=3, try help.
Unknown command P0=335, try help.
Unknown command P1=-665, try help

Da mache ich wohl was falsch. SIGNALdunio verlangt die doppelten ;; innerhalb der Befehlszeile, und das scheint hier Ärger zu machen. Hat jemand einen Tip, wie ich das hinbekommen kann? Danke im Voraus!
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

Nur eine Vermutung, aber versuche es mal nur mit jeweils einem ";". (so gibt man es beim Signalduino ja auch in das "set"-Eingabefeld ein).

Das doppelte ;; macht dann wohl die Syntaxprüfung/-Übersetzung rein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

r00t2

Oder das Ganze vielleicht in {} setzten - wäre mein Ansatz gewesen.
Dann sollten die doppelten ;; auch passen.
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

andies

Alles probiert, klappt nicht. Zum Verzweifeln.Hier passiert nix
define Gartentor_Fussgaenger_bewegen notify Gartentor_Fussgaenger:ZuAuf {fhem("set sduino raw SR;R=3;P0=335;P1=-665;P2=-335;P3=665;P4=-15018;D=01023102310101023101010234;")}

Fehlermeldung lautet
2017.03.17 16:05:21 1: ERROR evaluating my $TYPE='dummy';my $NAME='Gartentor_Fussgaenger';my $EVTPART0='ZuAuf';my $EVENT='ZuAuf';my $SELF='Gartentor_Fussgaenger_bewegen';{FHEM("set sduino raw SR;R=3;P0=335;P1=-665;P2=-335;P3=665;P4=-15018;D=01023102310101023101010234;")}: Undefined subroutine &main::FHEM called at (eval 79) line 1.

2017.03.17 16:05:21 3: Gartentor_Fussgaenger_bewegen return value: Undefined subroutine &main::FHEM called at (eval 79) line 1.

Nur mit {} lässt sich nichts eingeben, da kommt
Missing right curly or square bracket at (eval 97) line 1, at end of line
syntax error at (eval 97) line 1, at EOF

Unknown command R=3, try help.
usw
Unknown command }, try help.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

Wirklich alles probiert?

m.E. entweder:
define Gartentor_Fussgaenger_bewegen notify Gartentor_Fussgaenger:ZuAuf set sduino raw SR;R=3;P0=335;P1=-665;P2=-335;P3=665;P4=-15018;D=01023102310101023101010234;
oder (da bin ich aber kein "Experte"):
define Gartentor_Fussgaenger_bewegen notify Gartentor_Fussgaenger:ZuAuf {fhem "set sduino raw SR;;R=3;;P0=335;;P1=-665;;P2=-335;;P3=665;;P4=-15018;;D=01023102310101023101010234;;"}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

r00t2

#5
Denke auch, dass die () bei fhem (set...) nicht notwendig sind.
Steht zumindest auch so in der notify Wiki Seite:
define SteckdoseWZein notify LichtWZ { fhem "set Steckdose1 $EVENT;;set Steckdose2 $EVENT " }
Zitat"{ <perlcode> }" alles was zwischen {} steht ist Perl code. Perl kennt das Schlüsselwort fhem. Das Schlüsselwort FHEM dient dazu, FHEM Befehle auszuführen. Es wird also der FHEM Befehl "set RadioKueche on/off" ausgeführt. on oder off ist abhängig vom Pattern. Der eigentliche FHEM Befehl muss in " " stehen.

Wobei das ein (unnötiger?) Wechsel zwischen Perl und Fhem sein könnte - aber hier stehen die Klammern wiederum explizit drin: https://wiki.fhem.de/wiki/Klammerebenen

Könnte es sein, dass hier doppelt escaped werden muss?  :o
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

andies

Zitat von: Beta-User am 17 März 2017, 16:19:07
m.E. entweder:
define Gartentor_Fussgaenger_bewegen notify Gartentor_Fussgaenger:ZuAuf set sduino raw SR;R=3;P0=335;P1=-665;P2=-335;P3=665;P4=-15018;D=01023102310101023101010234;
Da kommt schon bei der Eingabe

Unknown command R=3, try help.
Unknown command P0=335, try help.
Unknown command P1=-665, try help.
Unknown command P2=-335, try help.
Unknown command P3=665, try help.
Unknown command P4=-15018, try help.


Zitat von: Beta-User am 17 März 2017, 16:19:07
oder (da bin ich aber kein "Experte"):
define Gartentor_Fussgaenger_bewegen notify Gartentor_Fussgaenger:ZuAuf {fhem "set sduino raw SR;;R=3;;P0=335;;P1=-665;;P2=-335;;P3=665;;P4=-15018;;D=01023102310101023101010234;;"}
Da wird das notify angelegt, aber im Logfile steht nun bei der Auslösung
2017.03.17 16:41:02 3: set sduino raw SR;R=3;P0=335;P1=-665;P2=-335;P3=665;P4=-15018;D=01010102310101023101010234; : Unknown command R=3, try help.
Unknown command P0=335, try help.
Unknown command P1=-665, try help.
Unknown command P2=-335, try help.
usw


Wirklich alles probiert!

FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

r00t2

FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

andies

Super, danke - das war es!!

(Und ich hätte das schon sehen können, da nach dem Anlegen des devices aus den zwei ;; nur eines ; wurde.)
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

r00t2

Schön, wenns klappt.
Manchmal sieht man vor lauter Klammern und Strichpunkten den Wald vor lauter Bäumen nicht mehr... Vor allem bei Einzeilern :)
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)