Ich habe eine Liste mit Aktionen, welche bei einigen eigenen Aktionen als Beschreibung ‚Ungültige Aktion: Target is no variable‘ anzeigt.
Wo kommt diese Meldung her?
Das Target ist keine Variable, sondern eine Instanz.
Und die Variable ‚TARGET‘ ist gesetzt.
Die Aktion schaut so aus:
{
"id": "{FEE9B3A7-1853-6914-EE2E-4A11D79A57A8}",
"caption": "Control FTP service",
"form": [
{
"type": "CheckBox",
"name": "ACTIVE",
"caption": "FTP service active?"
}
],
"action": "FB_SetFTPServer($_IPS['TARGET'],$_IPS['ACTIVE']);",
"readable": "echo 'FB_SetFTPServer(' . $_IPS['TARGET'] . ',' . ($_IPS['ACTIVE'] ? 'true' : 'false') . ');';",
"category": "target",
"restrictions": {
"objectType": [
1
],
"moduleID": [
"{14588B6C-6F13-A3C1-0C79-88B6624E1D87}"
],
"includeEnvironments": [
"TestCommands",
"Default"
]
},
"locale": {
"de": {
"Control FTP service": "FTP-Dienst steuern",
"Enable or disable the FritzBox's FTP service": "Aktiviert oder deaktiviert den FTP Dienst der FritzBox",
"Switch FTP service {ACTIVE, profile}": "Schalte FTP service {ACTIVE, profile}",
"FTP service active?": "FTP Dienst aktiv?"
}
},
"format": "Switch FTP service {ACTIVE, profile}",
"description": "Enable or disable the FritzBox's FTP service"
}
Witzigerweise funktioniert diese hier aber
{
"id": "{BC658A7A-347C-DAB5-FCB1-432206CA4DEA}",
"caption": "Send WebFront Notification",
"form": [
"$Form[]=['type' => 'ValidationTextBox','name'=>'TITLE','caption'=>'Title'];",
"$Form[]=['type' => 'ValidationTextBox','name'=>'TEXT','caption'=>'Text'];",
"$id = IPS_GetInstanceListByModuleID('{B69010EA-96D5-46DF-B885-24821B8C8DBD}')[0];",
"$Options=[];",
"foreach (UC_GetIconList($id) as $Icon) {",
" $Options[] = [",
" 'caption' => $Icon,",
" 'value' => $Icon",
" ];",
"}",
"sort($Options);",
"array_unshift($Options, ['caption' => '<none>', 'value' => 'Transparent']);",
"$Form[]=['type' => 'Select','name'=>'ICON','caption'=>'Icon','options'=>$Options];",
"$Form[]=['type' => 'NumberSpinner','name'=>'TIMEOUT','caption'=>'Timeout','minimum'=>0,'suffix'=>'seconds'];",
"return $Form;"
],
"action": "WFC_SendNotification($_IPS['TARGET'], $_IPS['TITLE'], $_IPS['TEXT'], $_IPS['ICON'], $_IPS['TIMEOUT']);",
"readable": [
"echo 'WFC_SendNotification(' . $_IPS['TARGET'] .','",
". '\\'' . $_IPS['TITLE'] . '\\','",
". '\\'' . $_IPS['TEXT'] . '\\','",
". '\\'' . $_IPS['ICON'] . '\\','",
". $_IPS['TIMEOUT'] . ",
"');';"
],
"category": "target",
"restrictions": {
"objectType": [
1
],
"moduleID": [
"{3565B1F2-8F7B-4311-A4B6-1BF1D868F39E}"
],
"includeEnvironments": [
"TestCommands",
"Default"
]
},
"locale": {
"de": {
"Send WebFront Notification": "Verschicke WebFront Nachricht",
"<none>": "keins",
"Title": "Titel",
"Text": "Text",
"Icon": "Icon",
"Target of Push Notification": "Ziel der Push Nachricht",
"Send a Notification to all devices showing the the target WebFront": "Senden Sie eine Benachrichtigung an alle Geräte, die das Ziel-WebFront anzeigen",
"Send Webfront Notification \"{TITLE} - {TEXT}\" with the icon {ICON} {TIMEOUT, select, 0 {} other {and timeout of {TIMEOUT, number} seconds}}": "Verschicke WebFront Nachricht \"{TITLE} - {TEXT}\" mit dem Icon {ICON} {TIMEOUT, select, 0 {} other {und einem Timeout von {TIMEOUT, number} Sekunden}}"
}
},
"format": "Send Webfront Notification \"{TITLE} - {TEXT}\" with the icon {ICON} {TIMEOUT, select, 0 {} other {and timeout of {TIMEOUT, number} seconds}}",
"description": "Send a Notification to all devices showing the the target WebFront"
}
Code ist hier verfügbar:
Actions hier:
Michael