Repository navigation
PL Reference Websocket Api
Integracja rejestruje poniższe polecenia websocket Home Assistanta. Używają ich karta i edytor, a ty możesz ich używać ze skryptów albo z narzędzi deweloperskich przeglądarki. Polecenia oznaczone admin są odrzucane dla użytkowników niebędących administratorami.
Każde polecenie stosuje zwykłą konwencję websocket: wyślij {"id": <n>, "type": "...", ...}, odbierz {"id": <n>, "type": "result", "success": true, "result": ...} albo "success": false z obiektem error.
Zwraca zapisany plan; {} przed pierwszym zapisem. Nie jest ograniczone do administratorów.
{"id": 1, "type": "fns_floorplan/plan/get"}{"id": 1, "type": "result", "success": true, "result": {"rev": 7, "rooms": [], "levels": []}}Wysyła plan natychmiast i ponownie po każdym zapisie. Dzięki temu otwarte karty same się przerysowują.
{"id": 2, "type": "fns_floorplan/plan/subscribe"}{"id": 2, "type": "result", "success": true, "result": null}
{"id": 2, "type": "event", "event": {"rev": 7, "rooms": []}}Admin. Zastępuje cały plan. Zawsze najpierw odczytaj bieżący plan i odeślij go ze swoimi zmianami.
{"id": 3, "type": "fns_floorplan/plan/save", "plan": {"rooms": [], "levels": []}, "rev": 7}{"id": 3, "type": "result", "success": true, "result": {"ok": true, "rev": 8}}Każdy zapis przechowuje plan z rev zwiększonym o jeden. Gdy żądanie zawiera rev, zapis powiedzie się tylko wtedy, gdy jest równe zapisanej rewizji. W przeciwnym razie dostajesz błąd i nic nie jest zapisywane:
{"id": 3, "type": "result", "success": false,
"error": {"code": "conflict", "message": "The plan changed meanwhile (revision 8)"}}Bez rev zapis zawsze nadpisuje (przydatne przy importach). Poprzedni plan jest najpierw odkładany do historii, jeśli zawierał pomieszczenia. Jeśli integracja nie jest skonfigurowana, kodem błędu jest not_loaded.
Admin. Wypisuje ostatnie 20 zapisanych rewizji, od najnowszej.
{"id": 4, "type": "fns_floorplan/history/list"}{"id": 4, "type": "result", "success": true, "result": [
{"rev": 7, "saved_at": "2026-10-04T12:00:00+00:00", "rooms": 3, "items": 12}
]}items liczy meble, urządzenia, czujniki i teksty.
Admin. Zwraca jeden zapisany plan według jego rewizji albo błąd not_found.
{"id": 5, "type": "fns_floorplan/history/get", "rev": 7}Admin. Parsuje tekst YAML własnym loaderem Home Assistanta. Błąd ma kod invalid_yaml.
{"id": 6, "type": "fns_floorplan/yaml/parse", "text": "- if:\n - entity: light.x\n state: 'on'\n color: red"}{"id": 6, "type": "result", "success": true, "result": {"data": [{"if": [{"entity": "light.x", "state": "on"}], "color": "red"}]}}Admin. Operacja odwrotna: dane (lista lub obiekt) na tekst YAML.
{"id": 7, "type": "fns_floorplan/yaml/dump", "data": [{"color": "red"}]}{"id": 7, "type": "result", "success": true, "result": {"text": "- color: red\n"}}Podkłady pięter nie są wgrywane przez websocket, lecz przez endpoint HTTP integracji. Potrzebny jest token dostępu użytkownika-administratora.
| Metoda | URL | Treść | Wynik |
|---|---|---|---|
POST |
/api/fns_floorplan/background |
formularz multipart: level (id piętra), file (png, jpg, jpeg, webp lub svg, najwyżej 15 MB) |
{"url": "/local/fns_floorplan/bg_<level>.<ext>?v=<timestamp>"} |
DELETE |
/api/fns_floorplan/background?level=<id> |
brak | {"ok": true} |
Plik jest przechowywany w www/fns_floorplan/bg_<level>.<ext> (nowe wgranie zastępuje stare dla tego piętra). Błędy: 403 dla nie-administratorów, 400 dla nieobsługiwanego typu, 413 dla zbyt dużego pliku. Zwrócony url trafia do backgrounds[level].url planu, który następnie zapisujesz przez plan/save.
curl -X POST -H "Authorization: Bearer $TOKEN" \
-F level=0 -F file=@floor.png \
http://homeassistant.local:8123/api/fns_floorplan/backgroundZobacz także Format planu.
Documentation site | Repository | Issues | Support: Ko-fi · PayPal · Bitcoin
English
- FNS Floorplan – help
- Installation
- Quick start
- Editor overview
- Rooms
- Doors and windows
- Items
- Rules
- Look
- Card
- Room panel
- Robot vacuum
- History and check
- Plan format
- Websocket API
- FAQ and troubleshooting
- Changelog
- The card is not found after the installation
- "Custom element doesn't exist" or a configuration error appears
- Icons are missing
- Some texts are not translated
- A light does not glow in the colour I expect
- The card shows the old version after an update
- The card is slow or choppy
- Saving says the plan changed meanwhile (conflict)
- The plan is empty
- A rule does not apply
- The sidebar entry is missing
- Something else does not work
- The card says it is waiting for the integration
- Support
Česky
- FNS Floorplan – nápověda
- Instalace
- Rychlý start
- Přehled editoru
- Místnosti
- Dveře a okna
- Položky
- Pravidla
- Vzhled
- Karta
- Panel místnosti
- Robotický vysavač
- Historie a kontrola
- Formát plánu
- Websocket API
- Časté otázky a řešení potíží
- Změny
- Po instalaci se karta nenajde
- Občas se objeví „Custom element doesn't exist“ nebo chyba konfigurace
- Chybí ikony
- Některé texty se nepřekládají
- Světlo nesvítí v barvě, kterou čekám
- Po aktualizaci karta zobrazuje starou verzi
- Karta se seká nebo je pomalá
- Při ukládání se hlásí, že se půdorys mezitím změnil (konflikt)
- Půdorys je prázdný
- Pravidlo se neuplatní
- V postranním menu chybí položka
- Něco jiného nefunguje
- Karta hlásí, že čeká na integraci
- Podpora
Deutsch
- FNS Floorplan – Hilfe
- Installation
- Schnellstart
- Editor-Übersicht
- Räume
- Türen und Fenster
- Elemente
- Regeln
- Aussehen
- Karte
- Raum-Panel
- Saugroboter
- Verlauf und Prüfung
- Planformat
- Websocket-API
- Häufige Fragen und Fehlerbehebung
- Änderungen
- Die Karte wird nach der Installation nicht gefunden
- „Custom element doesn't exist“ oder ein Konfigurationsfehler erscheint
- Symbole fehlen
- Einige Texte werden nicht übersetzt
- Ein Licht leuchtet nicht in der erwarteten Farbe
- Die Karte zeigt nach einem Update die alte Version
- Die Karte ruckelt oder ist langsam
- Beim Speichern heißt es, der Plan habe sich inzwischen geändert (Konflikt)
- Der Plan ist leer
- Eine Regel greift nicht
- Der Seitenleisten-Eintrag fehlt
- Etwas anderes funktioniert nicht
- Die Karte meldet, dass sie auf die Integration wartet
- Unterstützung
Polski
- FNS Floorplan – pomoc
- Instalacja
- Szybki start
- Przegląd edytora
- Pomieszczenia
- Drzwi i okna
- Elementy
- Reguły
- Wygląd
- Karta
- Panel pomieszczenia
- Odkurzacz
- Historia i kontrola
- Format planu
- Websocket API
- FAQ i rozwiązywanie problemów
- Lista zmian
- Karta nie jest znaleziona po instalacji
- Pojawia się „Custom element doesn't exist” lub błąd konfiguracji
- Brakuje ikon
- Niektóre teksty nie są przetłumaczone
- Światło nie świeci w kolorze, jakiego oczekuję
- Karta pokazuje starą wersję po aktualizacji
- Karta działa wolno lub się zacina
- Zapis zgłasza, że plan w międzyczasie się zmienił (konflikt)
- Plan jest pusty
- Reguła nie działa
- Brakuje pozycji w pasku bocznym
- Coś innego nie działa
- Karta pisze, że czeka na integrację
- Wsparcie