---
title: "Packet parser függvények"
description: "TapHome Packet parser szkriptek: küldj HTTP-kéréseket és olvasd ki a választ, küldj TCP és UDP adatokat, tegyél közzé MQTT üzeneteket, és vigyél át fájlokat FTP-n."
url: "https://taphome.com/hu/docs/script/packet-parser/"
language: hu
lastmod: 2026-10-13
generator: hugo
ai:
  topics: ["packet-parser","http-requests","mqtt","ftp","tcp-udp","scripting-language"]
  questions: ["Milyen függvények érhetők el a TapHome Packet parserben?","Hogyan küldhetek HTTP-kérést egy TapHome szkriptből?","Mit ad vissza a SENDHTTPREQUEST?","Hogyan adhatok HTTP fejléceket egy kéréshez?","Hogyan tehetek közzé MQTT üzenetet a TapHome-ban?","Hogyan tölthetek le vagy fel fájlt FTP-n keresztül a TapHome-ban?","Hol találom a Packet parser dokumentációját?","Hogyan konfigurálhatom a Modbust a TapHome-ban?"]
---

# Packet parser függvények

TapHome szkript Packet parser függvények — HTTPREQUEST, SENDHTTPREQUEST, SENDDATA, MQTTPUBLISH, FTPDOWNLOAD, FTPUPLOAD, COMPLETESERVICEATTRIBUTE és COMPLETESERVICEACTION — HTTP, TCP, UDP, MQTT és FTP kommunikációhoz.

Utoljára frissítve: 2026-10-13

A Packet parser függvények HTTP-n, TCP-n, UDP-n, MQTT-n és FTP-n kommunikálnak az eszközökkel. Csak olyan Packet parser modul vagy eszköz szkriptjeiben működnek, amelynek protokollja megfelel a függvénynek; máshol a szkript a *PacketParserFunction - PacketParserContext is null* hibával leáll. Szükséges verzió mindegyikhez: Core 2022.2 vagy újabb. A Packet parser modul beállítását a [Packet parser](https://taphome.com/hu/docs/integration/packet-parser/) oldal írja le; a bejövő üzeneteket a [listener szkriptek](https://taphome.com/hu/docs/script/listener-scripts/) kezelik, a Modbus eszközöknek pedig saját [Modbus függvényeik](https://taphome.com/hu/docs/script/modbus/) vannak.

## Protokollok és szkriptek

Minden protokollnak saját függvényei vannak, és jellemző módon oszlik meg a munka a szkriptek között.

| Protokoll | Függvények | Jellemző szkriptek |
|---|---|---|
| HTTP | `HTTPREQUEST`, `SENDHTTPREQUEST` | A modul olvasó szkriptje elküld egy kérést, és a választ egy modulváltozóban tárolja; az eszközök olvasó szkriptjei elemzik. |
| TCP, UDP | `SENDDATA` | Az olvasó vagy író szkriptek kérést küldenek; a válasz a [listener szkriptbe](https://taphome.com/hu/docs/script/listener-scripts/) érkezik. |
| MQTT | `MQTTPUBLISH` | A listener szkript feldolgozza a bejövő üzeneteket; az író szkript közzéteszi a parancsokat. |
| FTP | `FTPDOWNLOAD`, `FTPUPLOAD` | Az olvasó és író szkriptek fájlokat visznek át. |

**Példa — egyetlen HTTP-kérés a modul összes eszközéhez**

```taphome
VAR response := SENDHTTPREQUEST("/status", "GET");
StatusJson := response.Content;
```

```taphome
PARSEJSON(StatusJson, "temperature");
```

Az első szkript a modul olvasó szkriptje, a második egy eszköz olvasó szkriptje; a `StatusJson` modulváltozó.

## HTTPREQUEST

A `HTTPREQUEST` egy `httprequest` értéket hoz létre, amelynek útvonala, metódusa, törzse és fejlécei módosíthatók, mielőtt a [SENDHTTPREQUEST](https://taphome.com/hu/docs/script/packet-parser/#sendhttprequest) elküldi.

```text
HTTPREQUEST(path [, method [, body]])
```

**Megjegyzések** — Az alapértelmezett metódus a `GET`. A `PATH`, `METHOD`, `BODY` és `HEADERS` tulajdonságok olvashatók és írhatók; a `HEADERS` `"Name: value"` alakú szövegek gyűjteménye. A függvény csak egy értéket hoz létre, ezért minden szkriptben működik.

**Példa**

```taphome
VAR request := HTTPREQUEST("/api/v1/state", "POST", "{\"on\":true}");
request.HEADERS := {"Content-Type: application/json", "Authorization: Bearer " + token};
VAR response := SENDHTTPREQUEST(request);
```

## SENDHTTPREQUEST

A `SENDHTTPREQUEST` elküld egy HTTP-kérést, megvárja a választ, és `httpresponse` értékként adja vissza a `Content`, `StatusCode`, `ReasonPhrase`, `IsSuccess` és `Headers` tulajdonságokkal.

```text
SENDHTTPREQUEST(path [, method [, body [, header1, header2, …]]])
SENDHTTPREQUEST(request)
```

| Név | Típus | Leírás |
|---|---|---|
| `path` | szöveg | Útvonal a modulban beállított eszközön, például `"/status"`. |
| `method` | szöveg, opcionális | `GET` (alapértelmezett), `POST`, `PUT`, … |
| `body` | szöveg, opcionális | A kérés törzse. |
| `header1` … | szöveg, opcionális | Legfeljebb 27 fejléc `"Name: value"` alakban. |
| `request` | `httprequest` | A [HTTPREQUEST](https://taphome.com/hu/docs/script/packet-parser/#httprequest) függvénnyel összeállított kérés. |

**Visszatérési érték** — `httpresponse`:

| Tulajdonság | Jelentés |
|---|---|
| `Content` | A válasz törzse szövegként. |
| `StatusCode` | HTTP állapotkód, például 200. |
| `ReasonPhrase` | Az állapot szövege, például `OK`. |
| `IsSuccess` | `TRUE` a 200 – 299 állapotkódoknál. |
| `Headers` | A válasz fejlécei JSON szövegként — `{"Key": …, "Value": [ … ]}` elemek tömbje —, amely a `PARSEJSON` függvénnyel olvasható. |

**Megjegyzések** — Csak HTTP protokollt használó modulhoz. A válasz legfeljebb 128 kB lehet.

**Példa**

```taphome
VAR response := SENDHTTPREQUEST("/status", "GET");   # a kérés elküldése
IF response.IsSuccess
    StatusJson := response.Content;   # siker esetén a válasz törzsének mentése
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");   # hiba esetén az állapotkód jelentése
END
```

```taphome
SENDHTTPREQUEST("/doSomething", "POST", "someData", "header1: value1", "header2: value2");
```

**Hibák** — *Response is too long (Nbytes). Maximum supported length is 128KB*; *PacketParserFunction - unable to use 'SENDHTTPREQUEST' with …* (a modul más protokollt használ).

## SENDDATA

A `SENDDATA` szöveget vagy bájtgyűjteményt küld TCP-n vagy UDP-n, és `TRUE` értéket ad vissza; a válasz a [listener szkriptbe](https://taphome.com/hu/docs/script/listener-scripts/) érkezik.

```text
SENDDATA(data)
```

**Megjegyzések** — A szöveg `iso-8859-1` bájtokként kerül elküldésre. A gyűjteménynek `collection<uint8>` típusúnak kell lennie. A bejövő adatok legfeljebb 4096 bájtos darabokban jutnak el a listener szkripthez.

**Példa**

```taphome
SENDDATA(BYTECOLLECTION("0a dd ef a2"));
SENDDATA("STATUS?\r\n");
```

## MQTTPUBLISH

Az `MQTTPUBLISH` a megadott topickal közzétesz egy üzenetet a modul MQTT brókerén, és `Null` értéket ad vissza.

```text
MQTTPUBLISH(topic, data)
```

**Megjegyzések** — A `data` szöveg vagy `collection<uint8>`. A bróker által jelentett hiba a hiba szövegével leállítja a szkriptet. A brókert az [MQTT Broker](https://taphome.com/hu/docs/integration/packet-parser/mqtt-broker/) oldal szerint állíthatod be.

**Példa**

```taphome
MQTTPUBLISH("shellies/" + plugTopic + "/relay/0/command", IF(St > 0, "on", "off"));
```

## FTPDOWNLOAD

Az `FTPDOWNLOAD` letölt egy fájlt a modul FTP-kiszolgálójáról, és a tartalmát bájtgyűjteményként (`collection<uint8>`) adja vissza.

```text
FTPDOWNLOAD(path)
```

**Példa**

```taphome
VAR data := FTPDOWNLOAD("/export/values.csv");
VAR csv := TOSTRING(data, "utf-8");
```

## FTPUPLOAD

Az `FTPUPLOAD` adatokat ír egy fájlba a modul FTP-kiszolgálóján — a `"write"` móddal (alapértelmezett) lecseréli a fájlt, az `"append"` móddal a végéhez fűzi.

```text
FTPUPLOAD(path, data [, mode])
```

**Megjegyzések** — A `data` szöveg vagy `collection<uint8>`. A `mode` értékét kisbetűvel kell írni.

**Példa**

```taphome
FTPUPLOAD("/path/to/file", "some data", "write");
FTPUPLOAD("/path/to/file", BYTECOLLECTION("a7 ff e2"), "append");
```

**Hibák** — *FTPUPLOAD - invalid argument, upload mode must be 'append' or 'write'*.

## COMPLETESERVICEATTRIBUTE

A `COMPLETESERVICEATTRIBUTE` egy TCP vagy UDP listener szkriptből juttatja el egy szolgáltatási attribútum értékét az alkalmazáshoz, miután az attribútum szkriptje a `SENDDATA` függvénnyel elküldte a kérést.

```text
COMPLETESERVICEATTRIBUTE(name, value [, error])
```

**Megjegyzések** — A `name` a szolgáltatási attribútum neve. Az `error` megadásakor az attribútum érték helyett a hiba szövegét mutatja. `Null` értéket ad vissza.

**Példa**

```taphome
COMPLETESERVICEATTRIBUTE("Uptime", "2d:21h:43m");
COMPLETESERVICEATTRIBUTE("Status", "", "Device is offline");
```

## COMPLETESERVICEACTION

A `COMPLETESERVICEACTION` egy TCP vagy UDP listener szkriptből jelenti az alkalmazásnak egy szolgáltatási művelet eredményét, miután a művelet szkriptje a `SENDDATA` függvénnyel elküldte a kérést.

```text
COMPLETESERVICEACTION(name, result)
```

**Példa**

```taphome
COMPLETESERVICEACTION("Reboot", "Rebooted successfully");
```

**Hibák** — *No service action with name X*.

**Lásd még** — [Listener szkriptek](https://taphome.com/hu/docs/script/listener-scripts/), [Elemző függvények](https://taphome.com/hu/docs/script/parsing-functions/), [Adattípus-konverziók](https://taphome.com/hu/docs/script/data-type-conversions/).
