Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
An interactive map of Vienna's U-Bahn and S-Bahn networks. It shows live
U-Bahn departure estimates and scheduled S-Bahn positions.
The Wiener Linien real-time interface publishes departure predictions, not
vehicle GPS coordinates. This app walks each prediction backwards along its
line's official station sequence and estimated segment timings. Train dots are
therefore position estimates, and the interface fades uncertain estimates.
When a line has no usable live prediction, hollow dashed dots show timetable
simulations so they cannot be mistaken for reported trains.README 전문 보기 ↗Website: https://salarshk.github.io/vienna-ubahn-live-map/ Product overview: https://salarshk.github.io/vienna-ubahn-live-map/overview/
An interactive map of Vienna's U-Bahn and S-Bahn networks. It shows live U-Bahn departure estimates and scheduled S-Bahn positions.
The Wiener Linien real-time interface publishes departure predictions, not vehicle GPS coordinates. This app walks each prediction backwards along its line's official station sequence and estimated segment timings. Train dots are therefore position estimates, and the interface fades uncertain estimates. When a line has no usable live prediction, hollow dashed dots show timetable simulations so they cannot be mistaken for reported trains.
ÖBB's public feed does not provide S-Bahn vehicle GPS. S-Bahn dots are therefore interpolated between the station times in the official 2026 GTFS timetable and are always drawn hollow and labelled as scheduled estimates.
?mode=dashboardThe delay model can publish a clearly marked preliminary score after at least
36 hours spanning two calendar days and a sufficiently large untouched test
period. It is automatically promoted to validated status only after the
seven-day safeguards are met. Its methodology is documented in
docs/ml-delay-model.md.
The AI advisor is an optional, separately hosted secure service and is gated
off in the production build for now. The public website never contains an
OpenAI key and does not call the rail-data Worker for GPT requests. Its evidence
contract and safeguards are documented in
docs/llm-rail-advisor.md.
npm install
npm run dev
Open http://localhost:5173.
The hosted site is also an installable Progressive Web App. On Android/Chrome use the browser's install prompt; on iPhone/Safari choose Share → Add to Home Screen. The installed shell can reopen during a short network interruption, while live departures refresh when connectivity returns.
The map's My commute panel stores saved stations only in local browser storage. Follow me uses the phone's GPS only after the user starts it; it can be stopped at any time. Disruption notifications are also opt-in and are generated from the official service-message feed while the app is open or installed with notification support. A server-backed push system would require an additional subscription backend and is intentionally not enabled here.
npm test
npm run build
Pushes to main are automatically built and published through the Pages
workflow in .github/workflows/deploy-pages.yml. The hosted build routes its
read-only departure requests through the open-source corsproxy.nl relay
because the official endpoint does not provide browser CORS headers. The data
still comes directly from Wiener Linien and the relay receives only public
station identifiers.
The Cloudflare Worker saves a station-level Wiener Linien summary to R2 each minute, full observation snapshots every five minutes, and dated WienMobil Rad samples every five minutes. Public rail and bike history endpoints mark stale data rather than presenting it as live. A separate scheduled job publishes hourly reliability reports. GitHub Actions restores a recent training window from the long-term R2 archive, saves new observations before training, and publishes model and data-quality reports. Each completed model report also has a dated R2 copy. The map's live feed is separate from these archives.
Traffic-counter locations are public metadata, but measured road values and event records require provider access. Configure these Worker variables only when the corresponding licensed or public endpoint is available:
VIENNA_TRAFFIC_API_URL measured Vienna traffic-counter feed
EVIS_TRAFFIC_API_URL EVIS / ITS Vienna Region relay
VIENNA_EVENTS_API_URL Vienna event-record relay
Until configured, the Urban Mobility panel labels traffic as catalog-only and
events as not configured; its forecasts remain time-of-day baselines rather
than pretending to be measured traffic or attendance.
npm run build:vienna-data
That command downloads Wiener Linien's current Open Government Data files and
regenerates the compact line, station, identifier, color and segment-timing
files in src/data/.
To refresh the S-Bahn routes and timetable from ÖBB's annual GTFS feed:
npm run build:sbahn
The scheduled refresh-sbahn.yml workflow checks for a newer annual feed on
the first day of each month, verifies it, and commits the generated timetable
only when the source data changed. If the bundled calendar has expired, the app
withdraws S-Bahn movements rather than presenting stale scheduled positions.
This is an independent project and is not operated or endorsed by Wiener Linien. Live markers are inferred from arrivals and should not be treated as exact train locations.
This Vienna adaptation is based on JieGH's original vibe_VLCmetroMap project. The original Git history and Apache 2.0 license are preserved.
The locate button requests a high-accuracy device GPS fix, with a browser geolocation fallback for the PWA when the Capacitor bridge is unavailable. It compares that one fix against the station list in the browser. The coordinates are not sent to Wiener Linien or to an application server. A visible accuracy ring and freshness fade prevent an old or imprecise fix from looking exact. Continuous follow mode uses the same browser-local path and is explicitly stopped when the user hides the location or closes the page.
Code is licensed under Apache 2.0. Vienna open data is published under CC BY.